From 41ddde3643ed9158a5354b123c20975ef239a512 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:01:16 +1000 Subject: [PATCH 01/67] chore: ignore vcpkg trees, ARM64EC output and local R installs The R 4.x work introduced several large, fully regenerable trees that should never enter version control: - vcpkg_installed/ under BERT, ControlR, ControlR-45 and Ribbon (~750 MB each, rebuilt from vcpkg.json) - ARM64EC/ and ARM64/ build output alongside the existing x64/Win32 - R-3.5.0/ and R-4.5.2/, which are local R installations used only as build inputs (headers and import libraries) - .vs/ per-machine state and .vscode/ editor-local settings Also ignores package-lock.json under Console, which uses yarn; carrying both lockfiles produces divergent dependency installs. Co-Authored-By: Claude Opus 5 --- .gitignore | 31 +++++++++++++++++++++++++++++++ BERT/.gitignore | 3 +++ Console/.gitignore | 3 +++ ControlJulia-0.7/.gitignore | 3 +++ ControlJulia/.gitignore | 3 +++ ControlR/.gitignore | 8 ++++++++ Ribbon/.gitignore | 3 +++ 7 files changed, 54 insertions(+) diff --git a/.gitignore b/.gitignore index 542d4c51..13f83991 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,34 @@ BERTModule_*.gz notes.md yarn-error.log + +# --------------------------------------------------------------------------- +# added on the r4-support branch +# --------------------------------------------------------------------------- + +# vcpkg manifest-mode install trees. these are regenerated from vcpkg.json +# and vcpkg-configuration.json; they run to hundreds of megabytes each. +vcpkg_installed/ + +# R distributions used as build inputs (headers + import libs). these are +# local installs, not part of the source tree. see docs/BUILDING.md. +/R-3.5.0/ +/R-4.5.2/ + +# visual studio per-user and per-machine state +.vs/ +*.vcxproj.user + +# build output directories, all platforms +[Xx]64/ +Win32/ +ARM64/ +ARM64EC/ + +# editor-local settings and scratch notes +.vscode/ + +# local archives and scratch copies +*.7z +Console/generated/variable_pb_new.js +Console/generated/variable_pb_old.js diff --git a/BERT/.gitignore b/BERT/.gitignore index 866e24b0..40bb80ea 100644 --- a/BERT/.gitignore +++ b/BERT/.gitignore @@ -19,3 +19,6 @@ enc_temp_folder *.exe *.xll +ARM64 +ARM64EC +vcpkg_installed diff --git a/Console/.gitignore b/Console/.gitignore index 0f3ebe29..03d418ec 100644 --- a/Console/.gitignore +++ b/Console/.gitignore @@ -2,3 +2,6 @@ node_modules build dist test + +# this project uses yarn; a stray npm lockfile causes divergent installs +package-lock.json diff --git a/ControlJulia-0.7/.gitignore b/ControlJulia-0.7/.gitignore index d734f815..d0b0737a 100644 --- a/ControlJulia-0.7/.gitignore +++ b/ControlJulia-0.7/.gitignore @@ -1,2 +1,5 @@ x64 *.vcxproj.user +ARM64 +ARM64EC +.vs diff --git a/ControlJulia/.gitignore b/ControlJulia/.gitignore index d734f815..d0b0737a 100644 --- a/ControlJulia/.gitignore +++ b/ControlJulia/.gitignore @@ -1,2 +1,5 @@ x64 *.vcxproj.user +ARM64 +ARM64EC +.vs diff --git a/ControlR/.gitignore b/ControlR/.gitignore index d734f815..6835cc54 100644 --- a/ControlR/.gitignore +++ b/ControlR/.gitignore @@ -1,2 +1,10 @@ x64 *.vcxproj.user +ARM64 +ARM64EC +.vs +vcpkg_installed + +# linker byproducts of lib/RebuildLibs.ps1; the .def and .lib files are +# checked in, the .exp files are regenerated +*.exp diff --git a/Ribbon/.gitignore b/Ribbon/.gitignore index 7dea2cb6..d5ca11f3 100644 --- a/Ribbon/.gitignore +++ b/Ribbon/.gitignore @@ -24,3 +24,6 @@ Win32 *_i.h +ARM64 +ARM64EC +vcpkg_installed From 53348a1baca1e1f82a0a863bcda2a45edcf96541 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:01:28 +1000 Subject: [PATCH 02/67] build: upgrade protobuf to 5.29 (C++) and 3.21 (JavaScript) The tree previously built against a source checkout of protobuf 3.5.0 sitting next to the repository, with each project hard-coding a relative path into ../../protobuf-3.5.0. That version predates R 4.x and no longer compiles cleanly with a current toolset. Protobuf is now consumed through vcpkg in manifest mode. Each native project gains a vcpkg.json declaring the dependency, and a shared vcpkg-configuration.json pins the registry baseline so the resolved version is reproducible. Regenerated the protobuf output to match: - PB/variable.pb.cc and PB/variable.pb.h with protoc 5.29.5 - Console/generated/variable_pb.js with the 3.21 JavaScript generator, and bumped the google-protobuf dependency to ^3.21.4 The .proto schema itself is unchanged, so the wire format between the add-in, the console and the language controllers is unaffected. Co-Authored-By: Claude Opus 5 --- BERT/vcpkg-configuration.json | 14 + BERT/vcpkg.json | 5 + Console/generated/variable_pb.js | 2476 ++-- Console/package.json | 2 +- Console/yarn.lock | 1942 ++-- ControlR/vcpkg.json | 5 + PB/variable.pb.cc | 17580 +++++++++++++---------------- PB/variable.pb.h | 12498 ++++++++++++-------- Ribbon/vcpkg.json | 5 + 9 files changed, 18745 insertions(+), 15782 deletions(-) create mode 100644 BERT/vcpkg-configuration.json create mode 100644 BERT/vcpkg.json create mode 100644 ControlR/vcpkg.json create mode 100644 Ribbon/vcpkg.json diff --git a/BERT/vcpkg-configuration.json b/BERT/vcpkg-configuration.json new file mode 100644 index 00000000..abbe5e39 --- /dev/null +++ b/BERT/vcpkg-configuration.json @@ -0,0 +1,14 @@ +{ + "default-registry": { + "kind": "git", + "baseline": "a48bbf436be0867d0eadc42077f280f3123e3698", + "repository": "https://github.com/microsoft/vcpkg" + }, + "registries": [ + { + "kind": "artifact", + "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip", + "name": "microsoft" + } + ] +} diff --git a/BERT/vcpkg.json b/BERT/vcpkg.json new file mode 100644 index 00000000..4b3fb5d3 --- /dev/null +++ b/BERT/vcpkg.json @@ -0,0 +1,5 @@ +{ + "dependencies": [ + "protobuf" + ] +} diff --git a/Console/generated/variable_pb.js b/Console/generated/variable_pb.js index afeefd76..8aa822a0 100644 --- a/Console/generated/variable_pb.js +++ b/Console/generated/variable_pb.js @@ -1,18 +1,29 @@ +// source: variable.proto /** * @fileoverview * @enhanceable + * @suppress {missingRequire} reports error on implicit type usages. * @suppress {messageConventions} JS Compiler reports an error if a variable or * field starts with 'MSG_' and isn't a translatable message. * @public */ // GENERATED CODE -- DO NOT EDIT! +/* eslint-disable */ +// @ts-nocheck var jspb = require('google-protobuf'); var goog = jspb; -var global = Function('return this')(); +var global = + (typeof globalThis !== 'undefined' && globalThis) || + (typeof window !== 'undefined' && window) || + (typeof global !== 'undefined' && global) || + (typeof self !== 'undefined' && self) || + (function () { return this; }).call(null) || + Function('return this')(); goog.exportSymbol('proto.BERTBuffers.Array', null, global); goog.exportSymbol('proto.BERTBuffers.CallResponse', null, global); +goog.exportSymbol('proto.BERTBuffers.CallResponse.OperationCase', null, global); goog.exportSymbol('proto.BERTBuffers.CallTarget', null, global); goog.exportSymbol('proto.BERTBuffers.CallType', null, global); goog.exportSymbol('proto.BERTBuffers.Code', null, global); @@ -20,6 +31,7 @@ goog.exportSymbol('proto.BERTBuffers.Color', null, global); goog.exportSymbol('proto.BERTBuffers.Complex', null, global); goog.exportSymbol('proto.BERTBuffers.CompositeFunctionCall', null, global); goog.exportSymbol('proto.BERTBuffers.Console', null, global); +goog.exportSymbol('proto.BERTBuffers.Console.MessageCase', null, global); goog.exportSymbol('proto.BERTBuffers.EnumType', null, global); goog.exportSymbol('proto.BERTBuffers.EnumValue', null, global); goog.exportSymbol('proto.BERTBuffers.Error', null, global); @@ -35,7 +47,7 @@ goog.exportSymbol('proto.BERTBuffers.GraphicsUpdateCommand', null, global); goog.exportSymbol('proto.BERTBuffers.MIMEData', null, global); goog.exportSymbol('proto.BERTBuffers.SheetReference', null, global); goog.exportSymbol('proto.BERTBuffers.Variable', null, global); - +goog.exportSymbol('proto.BERTBuffers.Variable.ValueCase', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -51,19 +63,425 @@ proto.BERTBuffers.Complex = function(opt_data) { }; goog.inherits(proto.BERTBuffers.Complex, jspb.Message); if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ proto.BERTBuffers.Complex.displayName = 'proto.BERTBuffers.Complex'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.Array = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.Array.repeatedFields_, null); +}; +goog.inherits(proto.BERTBuffers.Array, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.Array.displayName = 'proto.BERTBuffers.Array'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.Error = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.BERTBuffers.Error, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.Error.displayName = 'proto.BERTBuffers.Error'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.SheetReference = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.BERTBuffers.SheetReference, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.SheetReference.displayName = 'proto.BERTBuffers.SheetReference'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.Variable = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.BERTBuffers.Variable.oneofGroups_); +}; +goog.inherits(proto.BERTBuffers.Variable, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.Variable.displayName = 'proto.BERTBuffers.Variable'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.Code = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.Code.repeatedFields_, null); +}; +goog.inherits(proto.BERTBuffers.Code, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.Code.displayName = 'proto.BERTBuffers.Code'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.CompositeFunctionCall = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.CompositeFunctionCall.repeatedFields_, null); +}; +goog.inherits(proto.BERTBuffers.CompositeFunctionCall, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.CompositeFunctionCall.displayName = 'proto.BERTBuffers.CompositeFunctionCall'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.GraphicsUpdate = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.BERTBuffers.GraphicsUpdate, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.GraphicsUpdate.displayName = 'proto.BERTBuffers.GraphicsUpdate'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.GraphicsCommand = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.GraphicsCommand.repeatedFields_, null); +}; +goog.inherits(proto.BERTBuffers.GraphicsCommand, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.GraphicsCommand.displayName = 'proto.BERTBuffers.GraphicsCommand'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.Color = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.BERTBuffers.Color, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.Color.displayName = 'proto.BERTBuffers.Color'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.GraphicsContext = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.BERTBuffers.GraphicsContext, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.GraphicsContext.displayName = 'proto.BERTBuffers.GraphicsContext'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.MIMEData = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.BERTBuffers.MIMEData, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.MIMEData.displayName = 'proto.BERTBuffers.MIMEData'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.Console = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.BERTBuffers.Console.oneofGroups_); +}; +goog.inherits(proto.BERTBuffers.Console, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.Console.displayName = 'proto.BERTBuffers.Console'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.FunctionElement = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.BERTBuffers.FunctionElement, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.FunctionElement.displayName = 'proto.BERTBuffers.FunctionElement'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.FunctionDescriptor = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.FunctionDescriptor.repeatedFields_, null); +}; +goog.inherits(proto.BERTBuffers.FunctionDescriptor, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.FunctionDescriptor.displayName = 'proto.BERTBuffers.FunctionDescriptor'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.FunctionList = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.FunctionList.repeatedFields_, null); +}; +goog.inherits(proto.BERTBuffers.FunctionList, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.FunctionList.displayName = 'proto.BERTBuffers.FunctionList'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.EnumValue = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.BERTBuffers.EnumValue, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.EnumValue.displayName = 'proto.BERTBuffers.EnumValue'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.EnumType = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.EnumType.repeatedFields_, null); +}; +goog.inherits(proto.BERTBuffers.EnumType, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.EnumType.displayName = 'proto.BERTBuffers.EnumType'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.ExternalPointer = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.ExternalPointer.repeatedFields_, null); +}; +goog.inherits(proto.BERTBuffers.ExternalPointer, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.ExternalPointer.displayName = 'proto.BERTBuffers.ExternalPointer'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.BERTBuffers.CallResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.BERTBuffers.CallResponse.oneofGroups_); +}; +goog.inherits(proto.BERTBuffers.CallResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.BERTBuffers.CallResponse.displayName = 'proto.BERTBuffers.CallResponse'; +} + if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.Complex.prototype.toObject = function(opt_includeInstance) { @@ -73,8 +491,8 @@ proto.BERTBuffers.Complex.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.Complex} msg The msg instance to transform. * @return {!Object} @@ -82,8 +500,8 @@ proto.BERTBuffers.Complex.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.Complex.toObject = function(includeInstance, msg) { var f, obj = { - r: +jspb.Message.getFieldWithDefault(msg, 1, 0.0), - i: +jspb.Message.getFieldWithDefault(msg, 2, 0.0) +r: jspb.Message.getFloatingPointFieldWithDefault(msg, 1, 0.0), +i: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0) }; if (includeInstance) { @@ -179,13 +597,16 @@ proto.BERTBuffers.Complex.serializeBinaryToWriter = function(message, writer) { * @return {number} */ proto.BERTBuffers.Complex.prototype.getR = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 1, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 1, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Complex} returns this + */ proto.BERTBuffers.Complex.prototype.setR = function(value) { - jspb.Message.setProto3FloatField(this, 1, value); + return jspb.Message.setProto3FloatField(this, 1, value); }; @@ -194,34 +615,20 @@ proto.BERTBuffers.Complex.prototype.setR = function(value) { * @return {number} */ proto.BERTBuffers.Complex.prototype.getI = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 2, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Complex} returns this + */ proto.BERTBuffers.Complex.prototype.setI = function(value) { - jspb.Message.setProto3FloatField(this, 2, value); + return jspb.Message.setProto3FloatField(this, 2, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.Array = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.Array.repeatedFields_, null); -}; -goog.inherits(proto.BERTBuffers.Array, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.Array.displayName = 'proto.BERTBuffers.Array'; -} /** * List of repeated fields within this message type. * @private {!Array} @@ -233,13 +640,15 @@ proto.BERTBuffers.Array.repeatedFields_ = [3,4,5]; if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.Array.prototype.toObject = function(opt_includeInstance) { @@ -249,8 +658,8 @@ proto.BERTBuffers.Array.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.Array} msg The msg instance to transform. * @return {!Object} @@ -258,12 +667,12 @@ proto.BERTBuffers.Array.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.Array.toObject = function(includeInstance, msg) { var f, obj = { - rows: jspb.Message.getFieldWithDefault(msg, 1, 0), - cols: jspb.Message.getFieldWithDefault(msg, 2, 0), - dataList: jspb.Message.toObjectList(msg.getDataList(), +rows: jspb.Message.getFieldWithDefault(msg, 1, 0), +cols: jspb.Message.getFieldWithDefault(msg, 2, 0), +dataList: jspb.Message.toObjectList(msg.getDataList(), proto.BERTBuffers.Variable.toObject, includeInstance), - rownamesList: jspb.Message.getRepeatedField(msg, 4), - colnamesList: jspb.Message.getRepeatedField(msg, 5) +rownamesList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f, +colnamesList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f }; if (includeInstance) { @@ -398,9 +807,12 @@ proto.BERTBuffers.Array.prototype.getRows = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Array} returns this + */ proto.BERTBuffers.Array.prototype.setRows = function(value) { - jspb.Message.setProto3IntField(this, 1, value); + return jspb.Message.setProto3IntField(this, 1, value); }; @@ -413,25 +825,31 @@ proto.BERTBuffers.Array.prototype.getCols = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Array} returns this + */ proto.BERTBuffers.Array.prototype.setCols = function(value) { - jspb.Message.setProto3IntField(this, 2, value); + return jspb.Message.setProto3IntField(this, 2, value); }; /** * repeated Variable data = 3; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.Array.prototype.getDataList = function() { - return /** @type{!Array.} */ ( + return /** @type{!Array} */ ( jspb.Message.getRepeatedWrapperField(this, proto.BERTBuffers.Variable, 3)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.Array} returns this +*/ proto.BERTBuffers.Array.prototype.setDataList = function(value) { - jspb.Message.setRepeatedWrapperField(this, 3, value); + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; @@ -445,98 +863,103 @@ proto.BERTBuffers.Array.prototype.addData = function(opt_value, opt_index) { }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.Array} returns this + */ proto.BERTBuffers.Array.prototype.clearDataList = function() { - this.setDataList([]); + return this.setDataList([]); }; /** * repeated string rownames = 4; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.Array.prototype.getRownamesList = function() { - return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 4)); + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.Array} returns this + */ proto.BERTBuffers.Array.prototype.setRownamesList = function(value) { - jspb.Message.setField(this, 4, value || []); + return jspb.Message.setField(this, 4, value || []); }; /** - * @param {!string} value + * @param {string} value * @param {number=} opt_index + * @return {!proto.BERTBuffers.Array} returns this */ proto.BERTBuffers.Array.prototype.addRownames = function(value, opt_index) { - jspb.Message.addToRepeatedField(this, 4, value, opt_index); + return jspb.Message.addToRepeatedField(this, 4, value, opt_index); }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.Array} returns this + */ proto.BERTBuffers.Array.prototype.clearRownamesList = function() { - this.setRownamesList([]); + return this.setRownamesList([]); }; /** * repeated string colnames = 5; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.Array.prototype.getColnamesList = function() { - return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 5)); + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.Array} returns this + */ proto.BERTBuffers.Array.prototype.setColnamesList = function(value) { - jspb.Message.setField(this, 5, value || []); + return jspb.Message.setField(this, 5, value || []); }; /** - * @param {!string} value + * @param {string} value * @param {number=} opt_index + * @return {!proto.BERTBuffers.Array} returns this */ proto.BERTBuffers.Array.prototype.addColnames = function(value, opt_index) { - jspb.Message.addToRepeatedField(this, 5, value, opt_index); + return jspb.Message.addToRepeatedField(this, 5, value, opt_index); }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.Array} returns this + */ proto.BERTBuffers.Array.prototype.clearColnamesList = function() { - this.setColnamesList([]); + return this.setColnamesList([]); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.Error = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.BERTBuffers.Error, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.Error.displayName = 'proto.BERTBuffers.Error'; -} if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.Error.prototype.toObject = function(opt_includeInstance) { @@ -546,8 +969,8 @@ proto.BERTBuffers.Error.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.Error} msg The msg instance to transform. * @return {!Object} @@ -555,8 +978,8 @@ proto.BERTBuffers.Error.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.Error.toObject = function(includeInstance, msg) { var f, obj = { - type: jspb.Message.getFieldWithDefault(msg, 1, 0), - message: jspb.Message.getFieldWithDefault(msg, 2, "") +type: jspb.Message.getFieldWithDefault(msg, 1, 0), +message: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -656,9 +1079,12 @@ proto.BERTBuffers.Error.prototype.getType = function() { }; -/** @param {!proto.BERTBuffers.ErrorType} value */ +/** + * @param {!proto.BERTBuffers.ErrorType} value + * @return {!proto.BERTBuffers.Error} returns this + */ proto.BERTBuffers.Error.prototype.setType = function(value) { - jspb.Message.setProto3EnumField(this, 1, value); + return jspb.Message.setProto3EnumField(this, 1, value); }; @@ -671,41 +1097,29 @@ proto.BERTBuffers.Error.prototype.getMessage = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.Error} returns this + */ proto.BERTBuffers.Error.prototype.setMessage = function(value) { - jspb.Message.setProto3StringField(this, 2, value); + return jspb.Message.setProto3StringField(this, 2, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.SheetReference = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.BERTBuffers.SheetReference, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.SheetReference.displayName = 'proto.BERTBuffers.SheetReference'; -} if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.SheetReference.prototype.toObject = function(opt_includeInstance) { @@ -715,8 +1129,8 @@ proto.BERTBuffers.SheetReference.prototype.toObject = function(opt_includeInstan /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.SheetReference} msg The msg instance to transform. * @return {!Object} @@ -724,11 +1138,11 @@ proto.BERTBuffers.SheetReference.prototype.toObject = function(opt_includeInstan */ proto.BERTBuffers.SheetReference.toObject = function(includeInstance, msg) { var f, obj = { - startRow: jspb.Message.getFieldWithDefault(msg, 1, 0), - startColumn: jspb.Message.getFieldWithDefault(msg, 2, 0), - endRow: jspb.Message.getFieldWithDefault(msg, 3, 0), - endColumn: jspb.Message.getFieldWithDefault(msg, 4, 0), - sheetId: jspb.Message.getFieldWithDefault(msg, 5, 0) +startRow: jspb.Message.getFieldWithDefault(msg, 1, 0), +startColumn: jspb.Message.getFieldWithDefault(msg, 2, 0), +endRow: jspb.Message.getFieldWithDefault(msg, 3, 0), +endColumn: jspb.Message.getFieldWithDefault(msg, 4, 0), +sheetId: jspb.Message.getFieldWithDefault(msg, 5, 0) }; if (includeInstance) { @@ -861,9 +1275,12 @@ proto.BERTBuffers.SheetReference.prototype.getStartRow = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.SheetReference} returns this + */ proto.BERTBuffers.SheetReference.prototype.setStartRow = function(value) { - jspb.Message.setProto3IntField(this, 1, value); + return jspb.Message.setProto3IntField(this, 1, value); }; @@ -876,9 +1293,12 @@ proto.BERTBuffers.SheetReference.prototype.getStartColumn = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.SheetReference} returns this + */ proto.BERTBuffers.SheetReference.prototype.setStartColumn = function(value) { - jspb.Message.setProto3IntField(this, 2, value); + return jspb.Message.setProto3IntField(this, 2, value); }; @@ -891,9 +1311,12 @@ proto.BERTBuffers.SheetReference.prototype.getEndRow = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.SheetReference} returns this + */ proto.BERTBuffers.SheetReference.prototype.setEndRow = function(value) { - jspb.Message.setProto3IntField(this, 3, value); + return jspb.Message.setProto3IntField(this, 3, value); }; @@ -906,9 +1329,12 @@ proto.BERTBuffers.SheetReference.prototype.getEndColumn = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.SheetReference} returns this + */ proto.BERTBuffers.SheetReference.prototype.setEndColumn = function(value) { - jspb.Message.setProto3IntField(this, 4, value); + return jspb.Message.setProto3IntField(this, 4, value); }; @@ -921,30 +1347,16 @@ proto.BERTBuffers.SheetReference.prototype.getSheetId = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.SheetReference} returns this + */ proto.BERTBuffers.SheetReference.prototype.setSheetId = function(value) { - jspb.Message.setProto3IntField(this, 5, value); + return jspb.Message.setProto3IntField(this, 5, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.Variable = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.BERTBuffers.Variable.oneofGroups_); -}; -goog.inherits(proto.BERTBuffers.Variable, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.Variable.displayName = 'proto.BERTBuffers.Variable'; -} /** * Oneof group definitions for this message. Each group defines the field * numbers belonging to that group. When of these fields' value is set, all @@ -986,13 +1398,15 @@ proto.BERTBuffers.Variable.prototype.getValueCase = function() { if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.Variable.prototype.toObject = function(opt_includeInstance) { @@ -1002,8 +1416,8 @@ proto.BERTBuffers.Variable.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.Variable} msg The msg instance to transform. * @return {!Object} @@ -1011,20 +1425,20 @@ proto.BERTBuffers.Variable.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.Variable.toObject = function(includeInstance, msg) { var f, obj = { - nil: jspb.Message.getFieldWithDefault(msg, 1, false), - missing: jspb.Message.getFieldWithDefault(msg, 2, false), - err: (f = msg.getErr()) && proto.BERTBuffers.Error.toObject(includeInstance, f), - integer: jspb.Message.getFieldWithDefault(msg, 5, 0), - real: +jspb.Message.getFieldWithDefault(msg, 6, 0.0), - str: jspb.Message.getFieldWithDefault(msg, 7, ""), - pb_boolean: jspb.Message.getFieldWithDefault(msg, 8, false), - cpx: (f = msg.getCpx()) && proto.BERTBuffers.Complex.toObject(includeInstance, f), - arr: (f = msg.getArr()) && proto.BERTBuffers.Array.toObject(includeInstance, f), - ref: (f = msg.getRef()) && proto.BERTBuffers.SheetReference.toObject(includeInstance, f), - comPointer: (f = msg.getComPointer()) && proto.BERTBuffers.ExternalPointer.toObject(includeInstance, f), - graphics: (f = msg.getGraphics()) && proto.BERTBuffers.GraphicsUpdate.toObject(includeInstance, f), - cacheReference: jspb.Message.getFieldWithDefault(msg, 14, 0), - name: jspb.Message.getFieldWithDefault(msg, 15, "") +nil: (f = jspb.Message.getBooleanField(msg, 1)) == null ? undefined : f, +missing: (f = jspb.Message.getBooleanField(msg, 2)) == null ? undefined : f, +err: (f = msg.getErr()) && proto.BERTBuffers.Error.toObject(includeInstance, f), +integer: (f = jspb.Message.getField(msg, 5)) == null ? undefined : f, +real: (f = jspb.Message.getOptionalFloatingPointField(msg, 6)) == null ? undefined : f, +str: (f = jspb.Message.getField(msg, 7)) == null ? undefined : f, +pb_boolean: (f = jspb.Message.getBooleanField(msg, 8)) == null ? undefined : f, +cpx: (f = msg.getCpx()) && proto.BERTBuffers.Complex.toObject(includeInstance, f), +arr: (f = msg.getArr()) && proto.BERTBuffers.Array.toObject(includeInstance, f), +ref: (f = msg.getRef()) && proto.BERTBuffers.SheetReference.toObject(includeInstance, f), +comPointer: (f = msg.getComPointer()) && proto.BERTBuffers.ExternalPointer.toObject(includeInstance, f), +graphics: (f = msg.getGraphics()) && proto.BERTBuffers.GraphicsUpdate.toObject(includeInstance, f), +cacheReference: (f = jspb.Message.getField(msg, 14)) == null ? undefined : f, +name: jspb.Message.getFieldWithDefault(msg, 15, "") }; if (includeInstance) { @@ -1261,29 +1675,34 @@ proto.BERTBuffers.Variable.serializeBinaryToWriter = function(message, writer) { /** * optional bool nil = 1; - * Note that Boolean fields may be set to 0/1 when serialized from a Java server. - * You should avoid comparisons like {@code val === true/false} in those cases. * @return {boolean} */ proto.BERTBuffers.Variable.prototype.getNil = function() { - return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); }; -/** @param {boolean} value */ +/** + * @param {boolean} value + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.setNil = function(value) { - jspb.Message.setOneofField(this, 1, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 1, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearNil = function() { - jspb.Message.setOneofField(this, 1, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 1, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasNil = function() { return jspb.Message.getField(this, 1) != null; @@ -1292,29 +1711,34 @@ proto.BERTBuffers.Variable.prototype.hasNil = function() { /** * optional bool missing = 2; - * Note that Boolean fields may be set to 0/1 when serialized from a Java server. - * You should avoid comparisons like {@code val === true/false} in those cases. * @return {boolean} */ proto.BERTBuffers.Variable.prototype.getMissing = function() { - return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; -/** @param {boolean} value */ +/** + * @param {boolean} value + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.setMissing = function(value) { - jspb.Message.setOneofField(this, 2, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 2, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearMissing = function() { - jspb.Message.setOneofField(this, 2, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 2, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasMissing = function() { return jspb.Message.getField(this, 2) != null; @@ -1331,20 +1755,27 @@ proto.BERTBuffers.Variable.prototype.getErr = function() { }; -/** @param {?proto.BERTBuffers.Error|undefined} value */ +/** + * @param {?proto.BERTBuffers.Error|undefined} value + * @return {!proto.BERTBuffers.Variable} returns this +*/ proto.BERTBuffers.Variable.prototype.setErr = function(value) { - jspb.Message.setOneofWrapperField(this, 3, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 3, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearErr = function() { - this.setErr(undefined); + return this.setErr(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasErr = function() { return jspb.Message.getField(this, 3) != null; @@ -1360,20 +1791,27 @@ proto.BERTBuffers.Variable.prototype.getInteger = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.setInteger = function(value) { - jspb.Message.setOneofField(this, 5, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 5, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearInteger = function() { - jspb.Message.setOneofField(this, 5, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 5, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasInteger = function() { return jspb.Message.getField(this, 5) != null; @@ -1385,24 +1823,31 @@ proto.BERTBuffers.Variable.prototype.hasInteger = function() { * @return {number} */ proto.BERTBuffers.Variable.prototype.getReal = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 6, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.setReal = function(value) { - jspb.Message.setOneofField(this, 6, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 6, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearReal = function() { - jspb.Message.setOneofField(this, 6, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 6, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasReal = function() { return jspb.Message.getField(this, 6) != null; @@ -1418,20 +1863,27 @@ proto.BERTBuffers.Variable.prototype.getStr = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.setStr = function(value) { - jspb.Message.setOneofField(this, 7, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 7, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearStr = function() { - jspb.Message.setOneofField(this, 7, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 7, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasStr = function() { return jspb.Message.getField(this, 7) != null; @@ -1440,29 +1892,34 @@ proto.BERTBuffers.Variable.prototype.hasStr = function() { /** * optional bool boolean = 8; - * Note that Boolean fields may be set to 0/1 when serialized from a Java server. - * You should avoid comparisons like {@code val === true/false} in those cases. * @return {boolean} */ proto.BERTBuffers.Variable.prototype.getBoolean = function() { - return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 8, false)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false)); }; -/** @param {boolean} value */ +/** + * @param {boolean} value + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.setBoolean = function(value) { - jspb.Message.setOneofField(this, 8, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 8, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearBoolean = function() { - jspb.Message.setOneofField(this, 8, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 8, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasBoolean = function() { return jspb.Message.getField(this, 8) != null; @@ -1479,20 +1936,27 @@ proto.BERTBuffers.Variable.prototype.getCpx = function() { }; -/** @param {?proto.BERTBuffers.Complex|undefined} value */ +/** + * @param {?proto.BERTBuffers.Complex|undefined} value + * @return {!proto.BERTBuffers.Variable} returns this +*/ proto.BERTBuffers.Variable.prototype.setCpx = function(value) { - jspb.Message.setOneofWrapperField(this, 9, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 9, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearCpx = function() { - this.setCpx(undefined); + return this.setCpx(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasCpx = function() { return jspb.Message.getField(this, 9) != null; @@ -1509,20 +1973,27 @@ proto.BERTBuffers.Variable.prototype.getArr = function() { }; -/** @param {?proto.BERTBuffers.Array|undefined} value */ +/** + * @param {?proto.BERTBuffers.Array|undefined} value + * @return {!proto.BERTBuffers.Variable} returns this +*/ proto.BERTBuffers.Variable.prototype.setArr = function(value) { - jspb.Message.setOneofWrapperField(this, 10, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 10, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearArr = function() { - this.setArr(undefined); + return this.setArr(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasArr = function() { return jspb.Message.getField(this, 10) != null; @@ -1539,20 +2010,27 @@ proto.BERTBuffers.Variable.prototype.getRef = function() { }; -/** @param {?proto.BERTBuffers.SheetReference|undefined} value */ +/** + * @param {?proto.BERTBuffers.SheetReference|undefined} value + * @return {!proto.BERTBuffers.Variable} returns this +*/ proto.BERTBuffers.Variable.prototype.setRef = function(value) { - jspb.Message.setOneofWrapperField(this, 11, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 11, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearRef = function() { - this.setRef(undefined); + return this.setRef(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasRef = function() { return jspb.Message.getField(this, 11) != null; @@ -1569,20 +2047,27 @@ proto.BERTBuffers.Variable.prototype.getComPointer = function() { }; -/** @param {?proto.BERTBuffers.ExternalPointer|undefined} value */ +/** + * @param {?proto.BERTBuffers.ExternalPointer|undefined} value + * @return {!proto.BERTBuffers.Variable} returns this +*/ proto.BERTBuffers.Variable.prototype.setComPointer = function(value) { - jspb.Message.setOneofWrapperField(this, 12, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 12, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearComPointer = function() { - this.setComPointer(undefined); + return this.setComPointer(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasComPointer = function() { return jspb.Message.getField(this, 12) != null; @@ -1599,20 +2084,27 @@ proto.BERTBuffers.Variable.prototype.getGraphics = function() { }; -/** @param {?proto.BERTBuffers.GraphicsUpdate|undefined} value */ +/** + * @param {?proto.BERTBuffers.GraphicsUpdate|undefined} value + * @return {!proto.BERTBuffers.Variable} returns this +*/ proto.BERTBuffers.Variable.prototype.setGraphics = function(value) { - jspb.Message.setOneofWrapperField(this, 13, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 13, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearGraphics = function() { - this.setGraphics(undefined); + return this.setGraphics(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasGraphics = function() { return jspb.Message.getField(this, 13) != null; @@ -1628,20 +2120,27 @@ proto.BERTBuffers.Variable.prototype.getCacheReference = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.setCacheReference = function(value) { - jspb.Message.setOneofField(this, 14, proto.BERTBuffers.Variable.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 14, proto.BERTBuffers.Variable.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.clearCacheReference = function() { - jspb.Message.setOneofField(this, 14, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 14, proto.BERTBuffers.Variable.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Variable.prototype.hasCacheReference = function() { return jspb.Message.getField(this, 14) != null; @@ -1657,30 +2156,16 @@ proto.BERTBuffers.Variable.prototype.getName = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.Variable} returns this + */ proto.BERTBuffers.Variable.prototype.setName = function(value) { - jspb.Message.setProto3StringField(this, 15, value); + return jspb.Message.setProto3StringField(this, 15, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.Code = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.Code.repeatedFields_, null); -}; -goog.inherits(proto.BERTBuffers.Code, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.Code.displayName = 'proto.BERTBuffers.Code'; -} /** * List of repeated fields within this message type. * @private {!Array} @@ -1692,13 +2177,15 @@ proto.BERTBuffers.Code.repeatedFields_ = [1]; if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.Code.prototype.toObject = function(opt_includeInstance) { @@ -1708,8 +2195,8 @@ proto.BERTBuffers.Code.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.Code} msg The msg instance to transform. * @return {!Object} @@ -1717,8 +2204,8 @@ proto.BERTBuffers.Code.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.Code.toObject = function(includeInstance, msg) { var f, obj = { - lineList: jspb.Message.getRepeatedField(msg, 1), - startup: jspb.Message.getFieldWithDefault(msg, 2, false) +lineList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f, +startup: jspb.Message.getBooleanFieldWithDefault(msg, 2, false) }; if (includeInstance) { @@ -1811,68 +2298,60 @@ proto.BERTBuffers.Code.serializeBinaryToWriter = function(message, writer) { /** * repeated string line = 1; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.Code.prototype.getLineList = function() { - return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 1)); + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.Code} returns this + */ proto.BERTBuffers.Code.prototype.setLineList = function(value) { - jspb.Message.setField(this, 1, value || []); + return jspb.Message.setField(this, 1, value || []); }; /** - * @param {!string} value + * @param {string} value * @param {number=} opt_index + * @return {!proto.BERTBuffers.Code} returns this */ proto.BERTBuffers.Code.prototype.addLine = function(value, opt_index) { - jspb.Message.addToRepeatedField(this, 1, value, opt_index); + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.Code} returns this + */ proto.BERTBuffers.Code.prototype.clearLineList = function() { - this.setLineList([]); + return this.setLineList([]); }; /** * optional bool startup = 2; - * Note that Boolean fields may be set to 0/1 when serialized from a Java server. - * You should avoid comparisons like {@code val === true/false} in those cases. * @return {boolean} */ proto.BERTBuffers.Code.prototype.getStartup = function() { - return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; -/** @param {boolean} value */ +/** + * @param {boolean} value + * @return {!proto.BERTBuffers.Code} returns this + */ proto.BERTBuffers.Code.prototype.setStartup = function(value) { - jspb.Message.setProto3BooleanField(this, 2, value); + return jspb.Message.setProto3BooleanField(this, 2, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.CompositeFunctionCall = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.CompositeFunctionCall.repeatedFields_, null); -}; -goog.inherits(proto.BERTBuffers.CompositeFunctionCall, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.CompositeFunctionCall.displayName = 'proto.BERTBuffers.CompositeFunctionCall'; -} /** * List of repeated fields within this message type. * @private {!Array} @@ -1884,13 +2363,15 @@ proto.BERTBuffers.CompositeFunctionCall.repeatedFields_ = [2]; if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.CompositeFunctionCall.prototype.toObject = function(opt_includeInstance) { @@ -1900,8 +2381,8 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.toObject = function(opt_includ /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.CompositeFunctionCall} msg The msg instance to transform. * @return {!Object} @@ -1909,14 +2390,14 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.toObject = function(opt_includ */ proto.BERTBuffers.CompositeFunctionCall.toObject = function(includeInstance, msg) { var f, obj = { - pb_function: jspb.Message.getFieldWithDefault(msg, 1, ""), - argumentsList: jspb.Message.toObjectList(msg.getArgumentsList(), +pb_function: jspb.Message.getFieldWithDefault(msg, 1, ""), +argumentsList: jspb.Message.toObjectList(msg.getArgumentsList(), proto.BERTBuffers.Variable.toObject, includeInstance), - pointer: jspb.Message.getFieldWithDefault(msg, 3, 0), - index: jspb.Message.getFieldWithDefault(msg, 4, 0), - type: jspb.Message.getFieldWithDefault(msg, 5, 0), - target: jspb.Message.getFieldWithDefault(msg, 6, 0), - flags: jspb.Message.getFieldWithDefault(msg, 7, 0) +pointer: jspb.Message.getFieldWithDefault(msg, 3, 0), +index: jspb.Message.getFieldWithDefault(msg, 4, 0), +type: jspb.Message.getFieldWithDefault(msg, 5, 0), +target: jspb.Message.getFieldWithDefault(msg, 6, 0), +flags: jspb.Message.getFieldWithDefault(msg, 7, 0) }; if (includeInstance) { @@ -2073,25 +2554,31 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.getFunction = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.CompositeFunctionCall} returns this + */ proto.BERTBuffers.CompositeFunctionCall.prototype.setFunction = function(value) { - jspb.Message.setProto3StringField(this, 1, value); + return jspb.Message.setProto3StringField(this, 1, value); }; /** * repeated Variable arguments = 2; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.CompositeFunctionCall.prototype.getArgumentsList = function() { - return /** @type{!Array.} */ ( + return /** @type{!Array} */ ( jspb.Message.getRepeatedWrapperField(this, proto.BERTBuffers.Variable, 2)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.CompositeFunctionCall} returns this +*/ proto.BERTBuffers.CompositeFunctionCall.prototype.setArgumentsList = function(value) { - jspb.Message.setRepeatedWrapperField(this, 2, value); + return jspb.Message.setRepeatedWrapperField(this, 2, value); }; @@ -2105,8 +2592,12 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.addArguments = function(opt_va }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.CompositeFunctionCall} returns this + */ proto.BERTBuffers.CompositeFunctionCall.prototype.clearArgumentsList = function() { - this.setArgumentsList([]); + return this.setArgumentsList([]); }; @@ -2119,9 +2610,12 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.getPointer = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.CompositeFunctionCall} returns this + */ proto.BERTBuffers.CompositeFunctionCall.prototype.setPointer = function(value) { - jspb.Message.setProto3IntField(this, 3, value); + return jspb.Message.setProto3IntField(this, 3, value); }; @@ -2134,9 +2628,12 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.getIndex = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.CompositeFunctionCall} returns this + */ proto.BERTBuffers.CompositeFunctionCall.prototype.setIndex = function(value) { - jspb.Message.setProto3IntField(this, 4, value); + return jspb.Message.setProto3IntField(this, 4, value); }; @@ -2149,9 +2646,12 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.getType = function() { }; -/** @param {!proto.BERTBuffers.CallType} value */ +/** + * @param {!proto.BERTBuffers.CallType} value + * @return {!proto.BERTBuffers.CompositeFunctionCall} returns this + */ proto.BERTBuffers.CompositeFunctionCall.prototype.setType = function(value) { - jspb.Message.setProto3EnumField(this, 5, value); + return jspb.Message.setProto3EnumField(this, 5, value); }; @@ -2164,9 +2664,12 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.getTarget = function() { }; -/** @param {!proto.BERTBuffers.CallTarget} value */ +/** + * @param {!proto.BERTBuffers.CallTarget} value + * @return {!proto.BERTBuffers.CompositeFunctionCall} returns this + */ proto.BERTBuffers.CompositeFunctionCall.prototype.setTarget = function(value) { - jspb.Message.setProto3EnumField(this, 6, value); + return jspb.Message.setProto3EnumField(this, 6, value); }; @@ -2179,41 +2682,29 @@ proto.BERTBuffers.CompositeFunctionCall.prototype.getFlags = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.CompositeFunctionCall} returns this + */ proto.BERTBuffers.CompositeFunctionCall.prototype.setFlags = function(value) { - jspb.Message.setProto3IntField(this, 7, value); + return jspb.Message.setProto3IntField(this, 7, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.GraphicsUpdate = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.BERTBuffers.GraphicsUpdate, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.GraphicsUpdate.displayName = 'proto.BERTBuffers.GraphicsUpdate'; -} if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.GraphicsUpdate.prototype.toObject = function(opt_includeInstance) { @@ -2223,8 +2714,8 @@ proto.BERTBuffers.GraphicsUpdate.prototype.toObject = function(opt_includeInstan /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.GraphicsUpdate} msg The msg instance to transform. * @return {!Object} @@ -2232,11 +2723,11 @@ proto.BERTBuffers.GraphicsUpdate.prototype.toObject = function(opt_includeInstan */ proto.BERTBuffers.GraphicsUpdate.toObject = function(includeInstance, msg) { var f, obj = { - command: jspb.Message.getFieldWithDefault(msg, 1, 0), - name: jspb.Message.getFieldWithDefault(msg, 2, ""), - path: jspb.Message.getFieldWithDefault(msg, 3, ""), - width: jspb.Message.getFieldWithDefault(msg, 4, 0), - height: jspb.Message.getFieldWithDefault(msg, 5, 0) +command: jspb.Message.getFieldWithDefault(msg, 1, 0), +name: jspb.Message.getFieldWithDefault(msg, 2, ""), +path: jspb.Message.getFieldWithDefault(msg, 3, ""), +width: jspb.Message.getFieldWithDefault(msg, 4, 0), +height: jspb.Message.getFieldWithDefault(msg, 5, 0) }; if (includeInstance) { @@ -2369,9 +2860,12 @@ proto.BERTBuffers.GraphicsUpdate.prototype.getCommand = function() { }; -/** @param {!proto.BERTBuffers.GraphicsUpdateCommand} value */ +/** + * @param {!proto.BERTBuffers.GraphicsUpdateCommand} value + * @return {!proto.BERTBuffers.GraphicsUpdate} returns this + */ proto.BERTBuffers.GraphicsUpdate.prototype.setCommand = function(value) { - jspb.Message.setProto3EnumField(this, 1, value); + return jspb.Message.setProto3EnumField(this, 1, value); }; @@ -2384,9 +2878,12 @@ proto.BERTBuffers.GraphicsUpdate.prototype.getName = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.GraphicsUpdate} returns this + */ proto.BERTBuffers.GraphicsUpdate.prototype.setName = function(value) { - jspb.Message.setProto3StringField(this, 2, value); + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -2399,9 +2896,12 @@ proto.BERTBuffers.GraphicsUpdate.prototype.getPath = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.GraphicsUpdate} returns this + */ proto.BERTBuffers.GraphicsUpdate.prototype.setPath = function(value) { - jspb.Message.setProto3StringField(this, 3, value); + return jspb.Message.setProto3StringField(this, 3, value); }; @@ -2414,9 +2914,12 @@ proto.BERTBuffers.GraphicsUpdate.prototype.getWidth = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsUpdate} returns this + */ proto.BERTBuffers.GraphicsUpdate.prototype.setWidth = function(value) { - jspb.Message.setProto3IntField(this, 4, value); + return jspb.Message.setProto3IntField(this, 4, value); }; @@ -2429,30 +2932,16 @@ proto.BERTBuffers.GraphicsUpdate.prototype.getHeight = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsUpdate} returns this + */ proto.BERTBuffers.GraphicsUpdate.prototype.setHeight = function(value) { - jspb.Message.setProto3IntField(this, 5, value); + return jspb.Message.setProto3IntField(this, 5, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.GraphicsCommand = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.GraphicsCommand.repeatedFields_, null); -}; -goog.inherits(proto.BERTBuffers.GraphicsCommand, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.GraphicsCommand.displayName = 'proto.BERTBuffers.GraphicsCommand'; -} /** * List of repeated fields within this message type. * @private {!Array} @@ -2464,13 +2953,15 @@ proto.BERTBuffers.GraphicsCommand.repeatedFields_ = [2,3]; if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.GraphicsCommand.prototype.toObject = function(opt_includeInstance) { @@ -2480,8 +2971,8 @@ proto.BERTBuffers.GraphicsCommand.prototype.toObject = function(opt_includeInsta /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.GraphicsCommand} msg The msg instance to transform. * @return {!Object} @@ -2489,18 +2980,18 @@ proto.BERTBuffers.GraphicsCommand.prototype.toObject = function(opt_includeInsta */ proto.BERTBuffers.GraphicsCommand.toObject = function(includeInstance, msg) { var f, obj = { - command: jspb.Message.getFieldWithDefault(msg, 1, ""), - xList: jspb.Message.getRepeatedFloatingPointField(msg, 2), - yList: jspb.Message.getRepeatedFloatingPointField(msg, 3), - r: +jspb.Message.getFieldWithDefault(msg, 4, 0.0), - rot: +jspb.Message.getFieldWithDefault(msg, 5, 0.0), - text: jspb.Message.getFieldWithDefault(msg, 6, ""), - filled: jspb.Message.getFieldWithDefault(msg, 7, false), - hadj: +jspb.Message.getFieldWithDefault(msg, 8, 0.0), - raster: msg.getRaster_asB64(), - interpolate: jspb.Message.getFieldWithDefault(msg, 10, false), - deviceType: jspb.Message.getFieldWithDefault(msg, 14, ""), - context: (f = msg.getContext()) && proto.BERTBuffers.GraphicsContext.toObject(includeInstance, f) +command: jspb.Message.getFieldWithDefault(msg, 1, ""), +xList: (f = jspb.Message.getRepeatedFloatingPointField(msg, 2)) == null ? undefined : f, +yList: (f = jspb.Message.getRepeatedFloatingPointField(msg, 3)) == null ? undefined : f, +r: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0.0), +rot: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0), +text: jspb.Message.getFieldWithDefault(msg, 6, ""), +filled: jspb.Message.getBooleanFieldWithDefault(msg, 7, false), +hadj: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0), +raster: msg.getRaster_asB64(), +interpolate: jspb.Message.getBooleanFieldWithDefault(msg, 10, false), +deviceType: jspb.Message.getFieldWithDefault(msg, 14, ""), +context: (f = msg.getContext()) && proto.BERTBuffers.GraphicsContext.toObject(includeInstance, f) }; if (includeInstance) { @@ -2542,12 +3033,16 @@ proto.BERTBuffers.GraphicsCommand.deserializeBinaryFromReader = function(msg, re msg.setCommand(value); break; case 2: - var value = /** @type {!Array.} */ (reader.readPackedDouble()); - msg.setXList(value); + var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedDouble() : [reader.readDouble()]); + for (var i = 0; i < values.length; i++) { + msg.addX(values[i]); + } break; case 3: - var value = /** @type {!Array.} */ (reader.readPackedDouble()); - msg.setYList(value); + var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedDouble() : [reader.readDouble()]); + for (var i = 0; i < values.length; i++) { + msg.addY(values[i]); + } break; case 4: var value = /** @type {number} */ (reader.readDouble()); @@ -2712,67 +3207,86 @@ proto.BERTBuffers.GraphicsCommand.prototype.getCommand = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setCommand = function(value) { - jspb.Message.setProto3StringField(this, 1, value); + return jspb.Message.setProto3StringField(this, 1, value); }; /** * repeated double x = 2; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.GraphicsCommand.prototype.getXList = function() { - return /** @type {!Array.} */ (jspb.Message.getRepeatedFloatingPointField(this, 2)); + return /** @type {!Array} */ (jspb.Message.getRepeatedFloatingPointField(this, 2)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setXList = function(value) { - jspb.Message.setField(this, 2, value || []); + return jspb.Message.setField(this, 2, value || []); }; /** - * @param {!number} value + * @param {number} value * @param {number=} opt_index + * @return {!proto.BERTBuffers.GraphicsCommand} returns this */ proto.BERTBuffers.GraphicsCommand.prototype.addX = function(value, opt_index) { - jspb.Message.addToRepeatedField(this, 2, value, opt_index); + return jspb.Message.addToRepeatedField(this, 2, value, opt_index); }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.clearXList = function() { - this.setXList([]); + return this.setXList([]); }; /** * repeated double y = 3; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.GraphicsCommand.prototype.getYList = function() { - return /** @type {!Array.} */ (jspb.Message.getRepeatedFloatingPointField(this, 3)); + return /** @type {!Array} */ (jspb.Message.getRepeatedFloatingPointField(this, 3)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setYList = function(value) { - jspb.Message.setField(this, 3, value || []); + return jspb.Message.setField(this, 3, value || []); }; /** - * @param {!number} value + * @param {number} value * @param {number=} opt_index + * @return {!proto.BERTBuffers.GraphicsCommand} returns this */ proto.BERTBuffers.GraphicsCommand.prototype.addY = function(value, opt_index) { - jspb.Message.addToRepeatedField(this, 3, value, opt_index); + return jspb.Message.addToRepeatedField(this, 3, value, opt_index); }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.clearYList = function() { - this.setYList([]); + return this.setYList([]); }; @@ -2781,13 +3295,16 @@ proto.BERTBuffers.GraphicsCommand.prototype.clearYList = function() { * @return {number} */ proto.BERTBuffers.GraphicsCommand.prototype.getR = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 4, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setR = function(value) { - jspb.Message.setProto3FloatField(this, 4, value); + return jspb.Message.setProto3FloatField(this, 4, value); }; @@ -2796,13 +3313,16 @@ proto.BERTBuffers.GraphicsCommand.prototype.setR = function(value) { * @return {number} */ proto.BERTBuffers.GraphicsCommand.prototype.getRot = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 5, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setRot = function(value) { - jspb.Message.setProto3FloatField(this, 5, value); + return jspb.Message.setProto3FloatField(this, 5, value); }; @@ -2815,26 +3335,30 @@ proto.BERTBuffers.GraphicsCommand.prototype.getText = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setText = function(value) { - jspb.Message.setProto3StringField(this, 6, value); + return jspb.Message.setProto3StringField(this, 6, value); }; /** * optional bool filled = 7; - * Note that Boolean fields may be set to 0/1 when serialized from a Java server. - * You should avoid comparisons like {@code val === true/false} in those cases. * @return {boolean} */ proto.BERTBuffers.GraphicsCommand.prototype.getFilled = function() { - return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 7, false)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false)); }; -/** @param {boolean} value */ +/** + * @param {boolean} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setFilled = function(value) { - jspb.Message.setProto3BooleanField(this, 7, value); + return jspb.Message.setProto3BooleanField(this, 7, value); }; @@ -2843,13 +3367,16 @@ proto.BERTBuffers.GraphicsCommand.prototype.setFilled = function(value) { * @return {number} */ proto.BERTBuffers.GraphicsCommand.prototype.getHadj = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 8, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setHadj = function(value) { - jspb.Message.setProto3FloatField(this, 8, value); + return jspb.Message.setProto3FloatField(this, 8, value); }; @@ -2886,26 +3413,30 @@ proto.BERTBuffers.GraphicsCommand.prototype.getRaster_asU8 = function() { }; -/** @param {!(string|Uint8Array)} value */ +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setRaster = function(value) { - jspb.Message.setProto3BytesField(this, 9, value); + return jspb.Message.setProto3BytesField(this, 9, value); }; /** * optional bool interpolate = 10; - * Note that Boolean fields may be set to 0/1 when serialized from a Java server. - * You should avoid comparisons like {@code val === true/false} in those cases. * @return {boolean} */ proto.BERTBuffers.GraphicsCommand.prototype.getInterpolate = function() { - return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 10, false)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false)); }; -/** @param {boolean} value */ +/** + * @param {boolean} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setInterpolate = function(value) { - jspb.Message.setProto3BooleanField(this, 10, value); + return jspb.Message.setProto3BooleanField(this, 10, value); }; @@ -2918,9 +3449,12 @@ proto.BERTBuffers.GraphicsCommand.prototype.getDeviceType = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.setDeviceType = function(value) { - jspb.Message.setProto3StringField(this, 14, value); + return jspb.Message.setProto3StringField(this, 14, value); }; @@ -2934,20 +3468,27 @@ proto.BERTBuffers.GraphicsCommand.prototype.getContext = function() { }; -/** @param {?proto.BERTBuffers.GraphicsContext|undefined} value */ +/** + * @param {?proto.BERTBuffers.GraphicsContext|undefined} value + * @return {!proto.BERTBuffers.GraphicsCommand} returns this +*/ proto.BERTBuffers.GraphicsCommand.prototype.setContext = function(value) { - jspb.Message.setWrapperField(this, 15, value); + return jspb.Message.setWrapperField(this, 15, value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.GraphicsCommand} returns this + */ proto.BERTBuffers.GraphicsCommand.prototype.clearContext = function() { - this.setContext(undefined); + return this.setContext(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.GraphicsCommand.prototype.hasContext = function() { return jspb.Message.getField(this, 15) != null; @@ -2955,34 +3496,19 @@ proto.BERTBuffers.GraphicsCommand.prototype.hasContext = function() { -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.Color = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.BERTBuffers.Color, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.Color.displayName = 'proto.BERTBuffers.Color'; -} if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.Color.prototype.toObject = function(opt_includeInstance) { @@ -2992,8 +3518,8 @@ proto.BERTBuffers.Color.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.Color} msg The msg instance to transform. * @return {!Object} @@ -3001,10 +3527,10 @@ proto.BERTBuffers.Color.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.Color.toObject = function(includeInstance, msg) { var f, obj = { - a: jspb.Message.getFieldWithDefault(msg, 1, 0), - r: jspb.Message.getFieldWithDefault(msg, 2, 0), - g: jspb.Message.getFieldWithDefault(msg, 3, 0), - b: jspb.Message.getFieldWithDefault(msg, 4, 0) +a: jspb.Message.getFieldWithDefault(msg, 1, 0), +r: jspb.Message.getFieldWithDefault(msg, 2, 0), +g: jspb.Message.getFieldWithDefault(msg, 3, 0), +b: jspb.Message.getFieldWithDefault(msg, 4, 0) }; if (includeInstance) { @@ -3126,9 +3652,12 @@ proto.BERTBuffers.Color.prototype.getA = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Color} returns this + */ proto.BERTBuffers.Color.prototype.setA = function(value) { - jspb.Message.setProto3IntField(this, 1, value); + return jspb.Message.setProto3IntField(this, 1, value); }; @@ -3141,9 +3670,12 @@ proto.BERTBuffers.Color.prototype.getR = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Color} returns this + */ proto.BERTBuffers.Color.prototype.setR = function(value) { - jspb.Message.setProto3IntField(this, 2, value); + return jspb.Message.setProto3IntField(this, 2, value); }; @@ -3156,9 +3688,12 @@ proto.BERTBuffers.Color.prototype.getG = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Color} returns this + */ proto.BERTBuffers.Color.prototype.setG = function(value) { - jspb.Message.setProto3IntField(this, 3, value); + return jspb.Message.setProto3IntField(this, 3, value); }; @@ -3171,41 +3706,29 @@ proto.BERTBuffers.Color.prototype.getB = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.Color} returns this + */ proto.BERTBuffers.Color.prototype.setB = function(value) { - jspb.Message.setProto3IntField(this, 4, value); + return jspb.Message.setProto3IntField(this, 4, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.GraphicsContext = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.BERTBuffers.GraphicsContext, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.GraphicsContext.displayName = 'proto.BERTBuffers.GraphicsContext'; -} if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.GraphicsContext.prototype.toObject = function(opt_includeInstance) { @@ -3215,8 +3738,8 @@ proto.BERTBuffers.GraphicsContext.prototype.toObject = function(opt_includeInsta /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.GraphicsContext} msg The msg instance to transform. * @return {!Object} @@ -3224,19 +3747,19 @@ proto.BERTBuffers.GraphicsContext.prototype.toObject = function(opt_includeInsta */ proto.BERTBuffers.GraphicsContext.toObject = function(includeInstance, msg) { var f, obj = { - col: (f = msg.getCol()) && proto.BERTBuffers.Color.toObject(includeInstance, f), - fill: (f = msg.getFill()) && proto.BERTBuffers.Color.toObject(includeInstance, f), - gamma: +jspb.Message.getFieldWithDefault(msg, 3, 0.0), - lwd: +jspb.Message.getFieldWithDefault(msg, 4, 0.0), - lty: jspb.Message.getFieldWithDefault(msg, 5, 0), - lend: jspb.Message.getFieldWithDefault(msg, 6, 0), - ljoin: jspb.Message.getFieldWithDefault(msg, 7, 0), - lmitre: +jspb.Message.getFieldWithDefault(msg, 8, 0.0), - cex: +jspb.Message.getFieldWithDefault(msg, 9, 0.0), - ps: +jspb.Message.getFieldWithDefault(msg, 10, 0.0), - lineheight: +jspb.Message.getFieldWithDefault(msg, 11, 0.0), - fontface: jspb.Message.getFieldWithDefault(msg, 12, 0), - fontfamily: jspb.Message.getFieldWithDefault(msg, 13, "") +col: (f = msg.getCol()) && proto.BERTBuffers.Color.toObject(includeInstance, f), +fill: (f = msg.getFill()) && proto.BERTBuffers.Color.toObject(includeInstance, f), +gamma: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0), +lwd: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0.0), +lty: jspb.Message.getFieldWithDefault(msg, 5, 0), +lend: jspb.Message.getFieldWithDefault(msg, 6, 0), +ljoin: jspb.Message.getFieldWithDefault(msg, 7, 0), +lmitre: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0), +cex: jspb.Message.getFloatingPointFieldWithDefault(msg, 9, 0.0), +ps: jspb.Message.getFloatingPointFieldWithDefault(msg, 10, 0.0), +lineheight: jspb.Message.getFloatingPointFieldWithDefault(msg, 11, 0.0), +fontface: jspb.Message.getFieldWithDefault(msg, 12, 0), +fontfamily: jspb.Message.getFieldWithDefault(msg, 13, "") }; if (includeInstance) { @@ -3462,20 +3985,27 @@ proto.BERTBuffers.GraphicsContext.prototype.getCol = function() { }; -/** @param {?proto.BERTBuffers.Color|undefined} value */ +/** + * @param {?proto.BERTBuffers.Color|undefined} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this +*/ proto.BERTBuffers.GraphicsContext.prototype.setCol = function(value) { - jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setWrapperField(this, 1, value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.clearCol = function() { - this.setCol(undefined); + return this.setCol(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.GraphicsContext.prototype.hasCol = function() { return jspb.Message.getField(this, 1) != null; @@ -3492,20 +4022,27 @@ proto.BERTBuffers.GraphicsContext.prototype.getFill = function() { }; -/** @param {?proto.BERTBuffers.Color|undefined} value */ +/** + * @param {?proto.BERTBuffers.Color|undefined} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this +*/ proto.BERTBuffers.GraphicsContext.prototype.setFill = function(value) { - jspb.Message.setWrapperField(this, 2, value); + return jspb.Message.setWrapperField(this, 2, value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.clearFill = function() { - this.setFill(undefined); + return this.setFill(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.GraphicsContext.prototype.hasFill = function() { return jspb.Message.getField(this, 2) != null; @@ -3517,13 +4054,16 @@ proto.BERTBuffers.GraphicsContext.prototype.hasFill = function() { * @return {number} */ proto.BERTBuffers.GraphicsContext.prototype.getGamma = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 3, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setGamma = function(value) { - jspb.Message.setProto3FloatField(this, 3, value); + return jspb.Message.setProto3FloatField(this, 3, value); }; @@ -3532,13 +4072,16 @@ proto.BERTBuffers.GraphicsContext.prototype.setGamma = function(value) { * @return {number} */ proto.BERTBuffers.GraphicsContext.prototype.getLwd = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 4, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setLwd = function(value) { - jspb.Message.setProto3FloatField(this, 4, value); + return jspb.Message.setProto3FloatField(this, 4, value); }; @@ -3551,9 +4094,12 @@ proto.BERTBuffers.GraphicsContext.prototype.getLty = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setLty = function(value) { - jspb.Message.setProto3IntField(this, 5, value); + return jspb.Message.setProto3IntField(this, 5, value); }; @@ -3566,9 +4112,12 @@ proto.BERTBuffers.GraphicsContext.prototype.getLend = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setLend = function(value) { - jspb.Message.setProto3IntField(this, 6, value); + return jspb.Message.setProto3IntField(this, 6, value); }; @@ -3581,9 +4130,12 @@ proto.BERTBuffers.GraphicsContext.prototype.getLjoin = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setLjoin = function(value) { - jspb.Message.setProto3IntField(this, 7, value); + return jspb.Message.setProto3IntField(this, 7, value); }; @@ -3592,13 +4144,16 @@ proto.BERTBuffers.GraphicsContext.prototype.setLjoin = function(value) { * @return {number} */ proto.BERTBuffers.GraphicsContext.prototype.getLmitre = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 8, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setLmitre = function(value) { - jspb.Message.setProto3FloatField(this, 8, value); + return jspb.Message.setProto3FloatField(this, 8, value); }; @@ -3607,13 +4162,16 @@ proto.BERTBuffers.GraphicsContext.prototype.setLmitre = function(value) { * @return {number} */ proto.BERTBuffers.GraphicsContext.prototype.getCex = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 9, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 9, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setCex = function(value) { - jspb.Message.setProto3FloatField(this, 9, value); + return jspb.Message.setProto3FloatField(this, 9, value); }; @@ -3622,13 +4180,16 @@ proto.BERTBuffers.GraphicsContext.prototype.setCex = function(value) { * @return {number} */ proto.BERTBuffers.GraphicsContext.prototype.getPs = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 10, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 10, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setPs = function(value) { - jspb.Message.setProto3FloatField(this, 10, value); + return jspb.Message.setProto3FloatField(this, 10, value); }; @@ -3637,13 +4198,16 @@ proto.BERTBuffers.GraphicsContext.prototype.setPs = function(value) { * @return {number} */ proto.BERTBuffers.GraphicsContext.prototype.getLineheight = function() { - return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 11, 0.0)); + return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 11, 0.0)); }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setLineheight = function(value) { - jspb.Message.setProto3FloatField(this, 11, value); + return jspb.Message.setProto3FloatField(this, 11, value); }; @@ -3656,9 +4220,12 @@ proto.BERTBuffers.GraphicsContext.prototype.getFontface = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setFontface = function(value) { - jspb.Message.setProto3IntField(this, 12, value); + return jspb.Message.setProto3IntField(this, 12, value); }; @@ -3671,41 +4238,29 @@ proto.BERTBuffers.GraphicsContext.prototype.getFontfamily = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.GraphicsContext} returns this + */ proto.BERTBuffers.GraphicsContext.prototype.setFontfamily = function(value) { - jspb.Message.setProto3StringField(this, 13, value); + return jspb.Message.setProto3StringField(this, 13, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.MIMEData = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.BERTBuffers.MIMEData, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.MIMEData.displayName = 'proto.BERTBuffers.MIMEData'; -} if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.MIMEData.prototype.toObject = function(opt_includeInstance) { @@ -3715,8 +4270,8 @@ proto.BERTBuffers.MIMEData.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.MIMEData} msg The msg instance to transform. * @return {!Object} @@ -3724,8 +4279,8 @@ proto.BERTBuffers.MIMEData.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.MIMEData.toObject = function(includeInstance, msg) { var f, obj = { - mimeType: jspb.Message.getFieldWithDefault(msg, 1, ""), - data: msg.getData_asB64() +mimeType: jspb.Message.getFieldWithDefault(msg, 1, ""), +data: msg.getData_asB64() }; if (includeInstance) { @@ -3825,9 +4380,12 @@ proto.BERTBuffers.MIMEData.prototype.getMimeType = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.MIMEData} returns this + */ proto.BERTBuffers.MIMEData.prototype.setMimeType = function(value) { - jspb.Message.setProto3StringField(this, 1, value); + return jspb.Message.setProto3StringField(this, 1, value); }; @@ -3859,35 +4417,21 @@ proto.BERTBuffers.MIMEData.prototype.getData_asB64 = function() { * @return {!Uint8Array} */ proto.BERTBuffers.MIMEData.prototype.getData_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getData())); -}; - - -/** @param {!(string|Uint8Array)} value */ -proto.BERTBuffers.MIMEData.prototype.setData = function(value) { - jspb.Message.setProto3BytesField(this, 2, value); -}; - - - -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getData())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.BERTBuffers.MIMEData} returns this */ -proto.BERTBuffers.Console = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.BERTBuffers.Console.oneofGroups_); +proto.BERTBuffers.MIMEData.prototype.setData = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); }; -goog.inherits(proto.BERTBuffers.Console, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.Console.displayName = 'proto.BERTBuffers.Console'; -} + + + /** * Oneof group definitions for this message. Each group defines the field * numbers belonging to that group. When of these fields' value is set, all @@ -3922,13 +4466,15 @@ proto.BERTBuffers.Console.prototype.getMessageCase = function() { if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.Console.prototype.toObject = function(opt_includeInstance) { @@ -3938,8 +4484,8 @@ proto.BERTBuffers.Console.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.Console} msg The msg instance to transform. * @return {!Object} @@ -3947,12 +4493,12 @@ proto.BERTBuffers.Console.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.Console.toObject = function(includeInstance, msg) { var f, obj = { - text: jspb.Message.getFieldWithDefault(msg, 1, ""), - err: jspb.Message.getFieldWithDefault(msg, 2, ""), - prompt: jspb.Message.getFieldWithDefault(msg, 3, ""), - graphics: (f = msg.getGraphics()) && proto.BERTBuffers.GraphicsCommand.toObject(includeInstance, f), - mimeData: (f = msg.getMimeData()) && proto.BERTBuffers.MIMEData.toObject(includeInstance, f), - history: (f = msg.getHistory()) && proto.BERTBuffers.Variable.toObject(includeInstance, f) +text: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f, +err: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f, +prompt: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f, +graphics: (f = msg.getGraphics()) && proto.BERTBuffers.GraphicsCommand.toObject(includeInstance, f), +mimeData: (f = msg.getMimeData()) && proto.BERTBuffers.MIMEData.toObject(includeInstance, f), +history: (f = msg.getHistory()) && proto.BERTBuffers.Variable.toObject(includeInstance, f) }; if (includeInstance) { @@ -4102,20 +4648,27 @@ proto.BERTBuffers.Console.prototype.getText = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.setText = function(value) { - jspb.Message.setOneofField(this, 1, proto.BERTBuffers.Console.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 1, proto.BERTBuffers.Console.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.clearText = function() { - jspb.Message.setOneofField(this, 1, proto.BERTBuffers.Console.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 1, proto.BERTBuffers.Console.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Console.prototype.hasText = function() { return jspb.Message.getField(this, 1) != null; @@ -4131,20 +4684,27 @@ proto.BERTBuffers.Console.prototype.getErr = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.setErr = function(value) { - jspb.Message.setOneofField(this, 2, proto.BERTBuffers.Console.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 2, proto.BERTBuffers.Console.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.clearErr = function() { - jspb.Message.setOneofField(this, 2, proto.BERTBuffers.Console.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 2, proto.BERTBuffers.Console.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Console.prototype.hasErr = function() { return jspb.Message.getField(this, 2) != null; @@ -4160,20 +4720,27 @@ proto.BERTBuffers.Console.prototype.getPrompt = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.setPrompt = function(value) { - jspb.Message.setOneofField(this, 3, proto.BERTBuffers.Console.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 3, proto.BERTBuffers.Console.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.clearPrompt = function() { - jspb.Message.setOneofField(this, 3, proto.BERTBuffers.Console.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 3, proto.BERTBuffers.Console.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Console.prototype.hasPrompt = function() { return jspb.Message.getField(this, 3) != null; @@ -4190,20 +4757,27 @@ proto.BERTBuffers.Console.prototype.getGraphics = function() { }; -/** @param {?proto.BERTBuffers.GraphicsCommand|undefined} value */ +/** + * @param {?proto.BERTBuffers.GraphicsCommand|undefined} value + * @return {!proto.BERTBuffers.Console} returns this +*/ proto.BERTBuffers.Console.prototype.setGraphics = function(value) { - jspb.Message.setOneofWrapperField(this, 4, proto.BERTBuffers.Console.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 4, proto.BERTBuffers.Console.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.clearGraphics = function() { - this.setGraphics(undefined); + return this.setGraphics(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Console.prototype.hasGraphics = function() { return jspb.Message.getField(this, 4) != null; @@ -4220,20 +4794,27 @@ proto.BERTBuffers.Console.prototype.getMimeData = function() { }; -/** @param {?proto.BERTBuffers.MIMEData|undefined} value */ +/** + * @param {?proto.BERTBuffers.MIMEData|undefined} value + * @return {!proto.BERTBuffers.Console} returns this +*/ proto.BERTBuffers.Console.prototype.setMimeData = function(value) { - jspb.Message.setOneofWrapperField(this, 5, proto.BERTBuffers.Console.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 5, proto.BERTBuffers.Console.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.clearMimeData = function() { - this.setMimeData(undefined); + return this.setMimeData(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Console.prototype.hasMimeData = function() { return jspb.Message.getField(this, 5) != null; @@ -4250,20 +4831,27 @@ proto.BERTBuffers.Console.prototype.getHistory = function() { }; -/** @param {?proto.BERTBuffers.Variable|undefined} value */ +/** + * @param {?proto.BERTBuffers.Variable|undefined} value + * @return {!proto.BERTBuffers.Console} returns this +*/ proto.BERTBuffers.Console.prototype.setHistory = function(value) { - jspb.Message.setOneofWrapperField(this, 6, proto.BERTBuffers.Console.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 6, proto.BERTBuffers.Console.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.Console} returns this + */ proto.BERTBuffers.Console.prototype.clearHistory = function() { - this.setHistory(undefined); + return this.setHistory(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.Console.prototype.hasHistory = function() { return jspb.Message.getField(this, 6) != null; @@ -4271,34 +4859,19 @@ proto.BERTBuffers.Console.prototype.hasHistory = function() { -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.FunctionElement = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.BERTBuffers.FunctionElement, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.FunctionElement.displayName = 'proto.BERTBuffers.FunctionElement'; -} if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.FunctionElement.prototype.toObject = function(opt_includeInstance) { @@ -4308,8 +4881,8 @@ proto.BERTBuffers.FunctionElement.prototype.toObject = function(opt_includeInsta /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.FunctionElement} msg The msg instance to transform. * @return {!Object} @@ -4317,11 +4890,11 @@ proto.BERTBuffers.FunctionElement.prototype.toObject = function(opt_includeInsta */ proto.BERTBuffers.FunctionElement.toObject = function(includeInstance, msg) { var f, obj = { - name: jspb.Message.getFieldWithDefault(msg, 1, ""), - typeName: jspb.Message.getFieldWithDefault(msg, 2, ""), - defaultValue: (f = msg.getDefaultValue()) && proto.BERTBuffers.Variable.toObject(includeInstance, f), - description: jspb.Message.getFieldWithDefault(msg, 4, ""), - index: jspb.Message.getFieldWithDefault(msg, 5, 0) +name: jspb.Message.getFieldWithDefault(msg, 1, ""), +typeName: jspb.Message.getFieldWithDefault(msg, 2, ""), +defaultValue: (f = msg.getDefaultValue()) && proto.BERTBuffers.Variable.toObject(includeInstance, f), +description: jspb.Message.getFieldWithDefault(msg, 4, ""), +index: jspb.Message.getFieldWithDefault(msg, 5, 0) }; if (includeInstance) { @@ -4456,9 +5029,12 @@ proto.BERTBuffers.FunctionElement.prototype.getName = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.FunctionElement} returns this + */ proto.BERTBuffers.FunctionElement.prototype.setName = function(value) { - jspb.Message.setProto3StringField(this, 1, value); + return jspb.Message.setProto3StringField(this, 1, value); }; @@ -4471,9 +5047,12 @@ proto.BERTBuffers.FunctionElement.prototype.getTypeName = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.FunctionElement} returns this + */ proto.BERTBuffers.FunctionElement.prototype.setTypeName = function(value) { - jspb.Message.setProto3StringField(this, 2, value); + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -4487,20 +5066,27 @@ proto.BERTBuffers.FunctionElement.prototype.getDefaultValue = function() { }; -/** @param {?proto.BERTBuffers.Variable|undefined} value */ +/** + * @param {?proto.BERTBuffers.Variable|undefined} value + * @return {!proto.BERTBuffers.FunctionElement} returns this +*/ proto.BERTBuffers.FunctionElement.prototype.setDefaultValue = function(value) { - jspb.Message.setWrapperField(this, 3, value); + return jspb.Message.setWrapperField(this, 3, value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.FunctionElement} returns this + */ proto.BERTBuffers.FunctionElement.prototype.clearDefaultValue = function() { - this.setDefaultValue(undefined); + return this.setDefaultValue(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.FunctionElement.prototype.hasDefaultValue = function() { return jspb.Message.getField(this, 3) != null; @@ -4516,9 +5102,12 @@ proto.BERTBuffers.FunctionElement.prototype.getDescription = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.FunctionElement} returns this + */ proto.BERTBuffers.FunctionElement.prototype.setDescription = function(value) { - jspb.Message.setProto3StringField(this, 4, value); + return jspb.Message.setProto3StringField(this, 4, value); }; @@ -4531,30 +5120,16 @@ proto.BERTBuffers.FunctionElement.prototype.getIndex = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.FunctionElement} returns this + */ proto.BERTBuffers.FunctionElement.prototype.setIndex = function(value) { - jspb.Message.setProto3IntField(this, 5, value); + return jspb.Message.setProto3IntField(this, 5, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.FunctionDescriptor = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.FunctionDescriptor.repeatedFields_, null); -}; -goog.inherits(proto.BERTBuffers.FunctionDescriptor, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.FunctionDescriptor.displayName = 'proto.BERTBuffers.FunctionDescriptor'; -} /** * List of repeated fields within this message type. * @private {!Array} @@ -4566,13 +5141,15 @@ proto.BERTBuffers.FunctionDescriptor.repeatedFields_ = [5]; if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.FunctionDescriptor.prototype.toObject = function(opt_includeInstance) { @@ -4582,8 +5159,8 @@ proto.BERTBuffers.FunctionDescriptor.prototype.toObject = function(opt_includeIn /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.FunctionDescriptor} msg The msg instance to transform. * @return {!Object} @@ -4591,11 +5168,11 @@ proto.BERTBuffers.FunctionDescriptor.prototype.toObject = function(opt_includeIn */ proto.BERTBuffers.FunctionDescriptor.toObject = function(includeInstance, msg) { var f, obj = { - pb_function: (f = msg.getFunction()) && proto.BERTBuffers.FunctionElement.toObject(includeInstance, f), - callType: jspb.Message.getFieldWithDefault(msg, 2, 0), - flags: jspb.Message.getFieldWithDefault(msg, 3, 0), - category: jspb.Message.getFieldWithDefault(msg, 4, ""), - argumentsList: jspb.Message.toObjectList(msg.getArgumentsList(), +pb_function: (f = msg.getFunction()) && proto.BERTBuffers.FunctionElement.toObject(includeInstance, f), +callType: jspb.Message.getFieldWithDefault(msg, 2, 0), +flags: jspb.Message.getFieldWithDefault(msg, 3, 0), +category: jspb.Message.getFieldWithDefault(msg, 4, ""), +argumentsList: jspb.Message.toObjectList(msg.getArgumentsList(), proto.BERTBuffers.FunctionElement.toObject, includeInstance) }; @@ -4734,20 +5311,27 @@ proto.BERTBuffers.FunctionDescriptor.prototype.getFunction = function() { }; -/** @param {?proto.BERTBuffers.FunctionElement|undefined} value */ +/** + * @param {?proto.BERTBuffers.FunctionElement|undefined} value + * @return {!proto.BERTBuffers.FunctionDescriptor} returns this +*/ proto.BERTBuffers.FunctionDescriptor.prototype.setFunction = function(value) { - jspb.Message.setWrapperField(this, 1, value); + return jspb.Message.setWrapperField(this, 1, value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.FunctionDescriptor} returns this + */ proto.BERTBuffers.FunctionDescriptor.prototype.clearFunction = function() { - this.setFunction(undefined); + return this.setFunction(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.FunctionDescriptor.prototype.hasFunction = function() { return jspb.Message.getField(this, 1) != null; @@ -4763,9 +5347,12 @@ proto.BERTBuffers.FunctionDescriptor.prototype.getCallType = function() { }; -/** @param {!proto.BERTBuffers.CallType} value */ +/** + * @param {!proto.BERTBuffers.CallType} value + * @return {!proto.BERTBuffers.FunctionDescriptor} returns this + */ proto.BERTBuffers.FunctionDescriptor.prototype.setCallType = function(value) { - jspb.Message.setProto3EnumField(this, 2, value); + return jspb.Message.setProto3EnumField(this, 2, value); }; @@ -4778,9 +5365,12 @@ proto.BERTBuffers.FunctionDescriptor.prototype.getFlags = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.FunctionDescriptor} returns this + */ proto.BERTBuffers.FunctionDescriptor.prototype.setFlags = function(value) { - jspb.Message.setProto3IntField(this, 3, value); + return jspb.Message.setProto3IntField(this, 3, value); }; @@ -4793,25 +5383,31 @@ proto.BERTBuffers.FunctionDescriptor.prototype.getCategory = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.FunctionDescriptor} returns this + */ proto.BERTBuffers.FunctionDescriptor.prototype.setCategory = function(value) { - jspb.Message.setProto3StringField(this, 4, value); + return jspb.Message.setProto3StringField(this, 4, value); }; /** * repeated FunctionElement arguments = 5; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.FunctionDescriptor.prototype.getArgumentsList = function() { - return /** @type{!Array.} */ ( + return /** @type{!Array} */ ( jspb.Message.getRepeatedWrapperField(this, proto.BERTBuffers.FunctionElement, 5)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.FunctionDescriptor} returns this +*/ proto.BERTBuffers.FunctionDescriptor.prototype.setArgumentsList = function(value) { - jspb.Message.setRepeatedWrapperField(this, 5, value); + return jspb.Message.setRepeatedWrapperField(this, 5, value); }; @@ -4825,29 +5421,16 @@ proto.BERTBuffers.FunctionDescriptor.prototype.addArguments = function(opt_value }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.FunctionDescriptor} returns this + */ proto.BERTBuffers.FunctionDescriptor.prototype.clearArgumentsList = function() { - this.setArgumentsList([]); + return this.setArgumentsList([]); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.FunctionList = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.FunctionList.repeatedFields_, null); -}; -goog.inherits(proto.BERTBuffers.FunctionList, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.FunctionList.displayName = 'proto.BERTBuffers.FunctionList'; -} /** * List of repeated fields within this message type. * @private {!Array} @@ -4859,13 +5442,15 @@ proto.BERTBuffers.FunctionList.repeatedFields_ = [1]; if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.FunctionList.prototype.toObject = function(opt_includeInstance) { @@ -4875,8 +5460,8 @@ proto.BERTBuffers.FunctionList.prototype.toObject = function(opt_includeInstance /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.FunctionList} msg The msg instance to transform. * @return {!Object} @@ -4884,7 +5469,7 @@ proto.BERTBuffers.FunctionList.prototype.toObject = function(opt_includeInstance */ proto.BERTBuffers.FunctionList.toObject = function(includeInstance, msg) { var f, obj = { - functionsList: jspb.Message.toObjectList(msg.getFunctionsList(), +functionsList: jspb.Message.toObjectList(msg.getFunctionsList(), proto.BERTBuffers.FunctionDescriptor.toObject, includeInstance) }; @@ -4969,17 +5554,20 @@ proto.BERTBuffers.FunctionList.serializeBinaryToWriter = function(message, write /** * repeated FunctionDescriptor functions = 1; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.FunctionList.prototype.getFunctionsList = function() { - return /** @type{!Array.} */ ( + return /** @type{!Array} */ ( jspb.Message.getRepeatedWrapperField(this, proto.BERTBuffers.FunctionDescriptor, 1)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.FunctionList} returns this +*/ proto.BERTBuffers.FunctionList.prototype.setFunctionsList = function(value) { - jspb.Message.setRepeatedWrapperField(this, 1, value); + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; @@ -4993,40 +5581,29 @@ proto.BERTBuffers.FunctionList.prototype.addFunctions = function(opt_value, opt_ }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.FunctionList} returns this + */ proto.BERTBuffers.FunctionList.prototype.clearFunctionsList = function() { - this.setFunctionsList([]); + return this.setFunctionsList([]); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.EnumValue = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.BERTBuffers.EnumValue, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.EnumValue.displayName = 'proto.BERTBuffers.EnumValue'; -} if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.EnumValue.prototype.toObject = function(opt_includeInstance) { @@ -5036,8 +5613,8 @@ proto.BERTBuffers.EnumValue.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.EnumValue} msg The msg instance to transform. * @return {!Object} @@ -5045,8 +5622,8 @@ proto.BERTBuffers.EnumValue.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.EnumValue.toObject = function(includeInstance, msg) { var f, obj = { - name: jspb.Message.getFieldWithDefault(msg, 1, ""), - value: jspb.Message.getFieldWithDefault(msg, 2, 0) +name: jspb.Message.getFieldWithDefault(msg, 1, ""), +value: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -5146,9 +5723,12 @@ proto.BERTBuffers.EnumValue.prototype.getName = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.EnumValue} returns this + */ proto.BERTBuffers.EnumValue.prototype.setName = function(value) { - jspb.Message.setProto3StringField(this, 1, value); + return jspb.Message.setProto3StringField(this, 1, value); }; @@ -5161,30 +5741,16 @@ proto.BERTBuffers.EnumValue.prototype.getValue = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.EnumValue} returns this + */ proto.BERTBuffers.EnumValue.prototype.setValue = function(value) { - jspb.Message.setProto3IntField(this, 2, value); + return jspb.Message.setProto3IntField(this, 2, value); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.EnumType = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.EnumType.repeatedFields_, null); -}; -goog.inherits(proto.BERTBuffers.EnumType, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.EnumType.displayName = 'proto.BERTBuffers.EnumType'; -} /** * List of repeated fields within this message type. * @private {!Array} @@ -5196,13 +5762,15 @@ proto.BERTBuffers.EnumType.repeatedFields_ = [2]; if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.EnumType.prototype.toObject = function(opt_includeInstance) { @@ -5212,8 +5780,8 @@ proto.BERTBuffers.EnumType.prototype.toObject = function(opt_includeInstance) { /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.EnumType} msg The msg instance to transform. * @return {!Object} @@ -5221,8 +5789,8 @@ proto.BERTBuffers.EnumType.prototype.toObject = function(opt_includeInstance) { */ proto.BERTBuffers.EnumType.toObject = function(includeInstance, msg) { var f, obj = { - name: jspb.Message.getFieldWithDefault(msg, 1, ""), - valuesList: jspb.Message.toObjectList(msg.getValuesList(), +name: jspb.Message.getFieldWithDefault(msg, 1, ""), +valuesList: jspb.Message.toObjectList(msg.getValuesList(), proto.BERTBuffers.EnumValue.toObject, includeInstance) }; @@ -5325,25 +5893,31 @@ proto.BERTBuffers.EnumType.prototype.getName = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.EnumType} returns this + */ proto.BERTBuffers.EnumType.prototype.setName = function(value) { - jspb.Message.setProto3StringField(this, 1, value); + return jspb.Message.setProto3StringField(this, 1, value); }; /** * repeated EnumValue values = 2; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.EnumType.prototype.getValuesList = function() { - return /** @type{!Array.} */ ( + return /** @type{!Array} */ ( jspb.Message.getRepeatedWrapperField(this, proto.BERTBuffers.EnumValue, 2)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.EnumType} returns this +*/ proto.BERTBuffers.EnumType.prototype.setValuesList = function(value) { - jspb.Message.setRepeatedWrapperField(this, 2, value); + return jspb.Message.setRepeatedWrapperField(this, 2, value); }; @@ -5357,29 +5931,16 @@ proto.BERTBuffers.EnumType.prototype.addValues = function(opt_value, opt_index) }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.EnumType} returns this + */ proto.BERTBuffers.EnumType.prototype.clearValuesList = function() { - this.setValuesList([]); + return this.setValuesList([]); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.ExternalPointer = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, proto.BERTBuffers.ExternalPointer.repeatedFields_, null); -}; -goog.inherits(proto.BERTBuffers.ExternalPointer, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.ExternalPointer.displayName = 'proto.BERTBuffers.ExternalPointer'; -} /** * List of repeated fields within this message type. * @private {!Array} @@ -5391,13 +5952,15 @@ proto.BERTBuffers.ExternalPointer.repeatedFields_ = [3,4]; if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.ExternalPointer.prototype.toObject = function(opt_includeInstance) { @@ -5407,8 +5970,8 @@ proto.BERTBuffers.ExternalPointer.prototype.toObject = function(opt_includeInsta /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.ExternalPointer} msg The msg instance to transform. * @return {!Object} @@ -5416,11 +5979,11 @@ proto.BERTBuffers.ExternalPointer.prototype.toObject = function(opt_includeInsta */ proto.BERTBuffers.ExternalPointer.toObject = function(includeInstance, msg) { var f, obj = { - interfaceName: jspb.Message.getFieldWithDefault(msg, 1, ""), - pointer: jspb.Message.getFieldWithDefault(msg, 2, 0), - functionsList: jspb.Message.toObjectList(msg.getFunctionsList(), +interfaceName: jspb.Message.getFieldWithDefault(msg, 1, ""), +pointer: jspb.Message.getFieldWithDefault(msg, 2, 0), +functionsList: jspb.Message.toObjectList(msg.getFunctionsList(), proto.BERTBuffers.FunctionDescriptor.toObject, includeInstance), - enumsList: jspb.Message.toObjectList(msg.getEnumsList(), +enumsList: jspb.Message.toObjectList(msg.getEnumsList(), proto.BERTBuffers.EnumType.toObject, includeInstance) }; @@ -5547,9 +6110,12 @@ proto.BERTBuffers.ExternalPointer.prototype.getInterfaceName = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.ExternalPointer} returns this + */ proto.BERTBuffers.ExternalPointer.prototype.setInterfaceName = function(value) { - jspb.Message.setProto3StringField(this, 1, value); + return jspb.Message.setProto3StringField(this, 1, value); }; @@ -5562,25 +6128,31 @@ proto.BERTBuffers.ExternalPointer.prototype.getPointer = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.ExternalPointer} returns this + */ proto.BERTBuffers.ExternalPointer.prototype.setPointer = function(value) { - jspb.Message.setProto3IntField(this, 2, value); + return jspb.Message.setProto3IntField(this, 2, value); }; /** * repeated FunctionDescriptor functions = 3; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.ExternalPointer.prototype.getFunctionsList = function() { - return /** @type{!Array.} */ ( + return /** @type{!Array} */ ( jspb.Message.getRepeatedWrapperField(this, proto.BERTBuffers.FunctionDescriptor, 3)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.ExternalPointer} returns this +*/ proto.BERTBuffers.ExternalPointer.prototype.setFunctionsList = function(value) { - jspb.Message.setRepeatedWrapperField(this, 3, value); + return jspb.Message.setRepeatedWrapperField(this, 3, value); }; @@ -5594,24 +6166,31 @@ proto.BERTBuffers.ExternalPointer.prototype.addFunctions = function(opt_value, o }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.ExternalPointer} returns this + */ proto.BERTBuffers.ExternalPointer.prototype.clearFunctionsList = function() { - this.setFunctionsList([]); + return this.setFunctionsList([]); }; /** * repeated EnumType enums = 4; - * @return {!Array.} + * @return {!Array} */ proto.BERTBuffers.ExternalPointer.prototype.getEnumsList = function() { - return /** @type{!Array.} */ ( + return /** @type{!Array} */ ( jspb.Message.getRepeatedWrapperField(this, proto.BERTBuffers.EnumType, 4)); }; -/** @param {!Array.} value */ +/** + * @param {!Array} value + * @return {!proto.BERTBuffers.ExternalPointer} returns this +*/ proto.BERTBuffers.ExternalPointer.prototype.setEnumsList = function(value) { - jspb.Message.setRepeatedWrapperField(this, 4, value); + return jspb.Message.setRepeatedWrapperField(this, 4, value); }; @@ -5625,29 +6204,16 @@ proto.BERTBuffers.ExternalPointer.prototype.addEnums = function(opt_value, opt_i }; +/** + * Clears the list making it empty but non-null. + * @return {!proto.BERTBuffers.ExternalPointer} returns this + */ proto.BERTBuffers.ExternalPointer.prototype.clearEnumsList = function() { - this.setEnumsList([]); + return this.setEnumsList([]); }; -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.BERTBuffers.CallResponse = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, proto.BERTBuffers.CallResponse.oneofGroups_); -}; -goog.inherits(proto.BERTBuffers.CallResponse, jspb.Message); -if (goog.DEBUG && !COMPILED) { - proto.BERTBuffers.CallResponse.displayName = 'proto.BERTBuffers.CallResponse'; -} /** * Oneof group definitions for this message. Each group defines the field * numbers belonging to that group. When of these fields' value is set, all @@ -5684,13 +6250,15 @@ proto.BERTBuffers.CallResponse.prototype.getOperationCase = function() { if (jspb.Message.GENERATE_TO_OBJECT) { /** - * Creates an object representation of this proto suitable for use in Soy templates. + * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_, eg, foo.pb_default. * For the list of reserved names please see: - * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. - * @param {boolean=} opt_includeInstance Whether to include the JSPB instance - * for transitional soy proto support: http://goto/soy-param-migration + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration * @return {!Object} */ proto.BERTBuffers.CallResponse.prototype.toObject = function(opt_includeInstance) { @@ -5700,8 +6268,8 @@ proto.BERTBuffers.CallResponse.prototype.toObject = function(opt_includeInstance /** * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Whether to include the JSPB - * instance for transitional soy proto support: + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.BERTBuffers.CallResponse} msg The msg instance to transform. * @return {!Object} @@ -5709,16 +6277,16 @@ proto.BERTBuffers.CallResponse.prototype.toObject = function(opt_includeInstance */ proto.BERTBuffers.CallResponse.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, 0), - wait: jspb.Message.getFieldWithDefault(msg, 2, false), - err: jspb.Message.getFieldWithDefault(msg, 3, ""), - result: (f = msg.getResult()) && proto.BERTBuffers.Variable.toObject(includeInstance, f), - console: (f = msg.getConsole()) && proto.BERTBuffers.Console.toObject(includeInstance, f), - code: (f = msg.getCode()) && proto.BERTBuffers.Code.toObject(includeInstance, f), - shellCommand: jspb.Message.getFieldWithDefault(msg, 7, ""), - functionCall: (f = msg.getFunctionCall()) && proto.BERTBuffers.CompositeFunctionCall.toObject(includeInstance, f), - functionList: (f = msg.getFunctionList()) && proto.BERTBuffers.FunctionList.toObject(includeInstance, f), - userCommand: jspb.Message.getFieldWithDefault(msg, 10, 0) +id: jspb.Message.getFieldWithDefault(msg, 1, 0), +wait: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), +err: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f, +result: (f = msg.getResult()) && proto.BERTBuffers.Variable.toObject(includeInstance, f), +console: (f = msg.getConsole()) && proto.BERTBuffers.Console.toObject(includeInstance, f), +code: (f = msg.getCode()) && proto.BERTBuffers.Code.toObject(includeInstance, f), +shellCommand: (f = jspb.Message.getField(msg, 7)) == null ? undefined : f, +functionCall: (f = msg.getFunctionCall()) && proto.BERTBuffers.CompositeFunctionCall.toObject(includeInstance, f), +functionList: (f = msg.getFunctionList()) && proto.BERTBuffers.FunctionList.toObject(includeInstance, f), +userCommand: (f = jspb.Message.getField(msg, 10)) == null ? undefined : f }; if (includeInstance) { @@ -5916,26 +6484,30 @@ proto.BERTBuffers.CallResponse.prototype.getId = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.setId = function(value) { - jspb.Message.setProto3IntField(this, 1, value); + return jspb.Message.setProto3IntField(this, 1, value); }; /** * optional bool wait = 2; - * Note that Boolean fields may be set to 0/1 when serialized from a Java server. - * You should avoid comparisons like {@code val === true/false} in those cases. * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.getWait = function() { - return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 2, false)); + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; -/** @param {boolean} value */ +/** + * @param {boolean} value + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.setWait = function(value) { - jspb.Message.setProto3BooleanField(this, 2, value); + return jspb.Message.setProto3BooleanField(this, 2, value); }; @@ -5948,20 +6520,27 @@ proto.BERTBuffers.CallResponse.prototype.getErr = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.setErr = function(value) { - jspb.Message.setOneofField(this, 3, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 3, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.clearErr = function() { - jspb.Message.setOneofField(this, 3, proto.BERTBuffers.CallResponse.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 3, proto.BERTBuffers.CallResponse.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.hasErr = function() { return jspb.Message.getField(this, 3) != null; @@ -5978,20 +6557,27 @@ proto.BERTBuffers.CallResponse.prototype.getResult = function() { }; -/** @param {?proto.BERTBuffers.Variable|undefined} value */ +/** + * @param {?proto.BERTBuffers.Variable|undefined} value + * @return {!proto.BERTBuffers.CallResponse} returns this +*/ proto.BERTBuffers.CallResponse.prototype.setResult = function(value) { - jspb.Message.setOneofWrapperField(this, 4, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 4, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.clearResult = function() { - this.setResult(undefined); + return this.setResult(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.hasResult = function() { return jspb.Message.getField(this, 4) != null; @@ -6008,20 +6594,27 @@ proto.BERTBuffers.CallResponse.prototype.getConsole = function() { }; -/** @param {?proto.BERTBuffers.Console|undefined} value */ +/** + * @param {?proto.BERTBuffers.Console|undefined} value + * @return {!proto.BERTBuffers.CallResponse} returns this +*/ proto.BERTBuffers.CallResponse.prototype.setConsole = function(value) { - jspb.Message.setOneofWrapperField(this, 5, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 5, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.clearConsole = function() { - this.setConsole(undefined); + return this.setConsole(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.hasConsole = function() { return jspb.Message.getField(this, 5) != null; @@ -6038,20 +6631,27 @@ proto.BERTBuffers.CallResponse.prototype.getCode = function() { }; -/** @param {?proto.BERTBuffers.Code|undefined} value */ +/** + * @param {?proto.BERTBuffers.Code|undefined} value + * @return {!proto.BERTBuffers.CallResponse} returns this +*/ proto.BERTBuffers.CallResponse.prototype.setCode = function(value) { - jspb.Message.setOneofWrapperField(this, 6, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 6, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.clearCode = function() { - this.setCode(undefined); + return this.setCode(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.hasCode = function() { return jspb.Message.getField(this, 6) != null; @@ -6067,20 +6667,27 @@ proto.BERTBuffers.CallResponse.prototype.getShellCommand = function() { }; -/** @param {string} value */ +/** + * @param {string} value + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.setShellCommand = function(value) { - jspb.Message.setOneofField(this, 7, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 7, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.clearShellCommand = function() { - jspb.Message.setOneofField(this, 7, proto.BERTBuffers.CallResponse.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 7, proto.BERTBuffers.CallResponse.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.hasShellCommand = function() { return jspb.Message.getField(this, 7) != null; @@ -6097,20 +6704,27 @@ proto.BERTBuffers.CallResponse.prototype.getFunctionCall = function() { }; -/** @param {?proto.BERTBuffers.CompositeFunctionCall|undefined} value */ +/** + * @param {?proto.BERTBuffers.CompositeFunctionCall|undefined} value + * @return {!proto.BERTBuffers.CallResponse} returns this +*/ proto.BERTBuffers.CallResponse.prototype.setFunctionCall = function(value) { - jspb.Message.setOneofWrapperField(this, 8, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 8, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.clearFunctionCall = function() { - this.setFunctionCall(undefined); + return this.setFunctionCall(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.hasFunctionCall = function() { return jspb.Message.getField(this, 8) != null; @@ -6127,20 +6741,27 @@ proto.BERTBuffers.CallResponse.prototype.getFunctionList = function() { }; -/** @param {?proto.BERTBuffers.FunctionList|undefined} value */ +/** + * @param {?proto.BERTBuffers.FunctionList|undefined} value + * @return {!proto.BERTBuffers.CallResponse} returns this +*/ proto.BERTBuffers.CallResponse.prototype.setFunctionList = function(value) { - jspb.Message.setOneofWrapperField(this, 9, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); + return jspb.Message.setOneofWrapperField(this, 9, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); }; +/** + * Clears the message field making it undefined. + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.clearFunctionList = function() { - this.setFunctionList(undefined); + return this.setFunctionList(undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.hasFunctionList = function() { return jspb.Message.getField(this, 9) != null; @@ -6156,20 +6777,27 @@ proto.BERTBuffers.CallResponse.prototype.getUserCommand = function() { }; -/** @param {number} value */ +/** + * @param {number} value + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.setUserCommand = function(value) { - jspb.Message.setOneofField(this, 10, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); + return jspb.Message.setOneofField(this, 10, proto.BERTBuffers.CallResponse.oneofGroups_[0], value); }; +/** + * Clears the field making it undefined. + * @return {!proto.BERTBuffers.CallResponse} returns this + */ proto.BERTBuffers.CallResponse.prototype.clearUserCommand = function() { - jspb.Message.setOneofField(this, 10, proto.BERTBuffers.CallResponse.oneofGroups_[0], undefined); + return jspb.Message.setOneofField(this, 10, proto.BERTBuffers.CallResponse.oneofGroups_[0], undefined); }; /** * Returns whether this field is set. - * @return {!boolean} + * @return {boolean} */ proto.BERTBuffers.CallResponse.prototype.hasUserCommand = function() { return jspb.Message.getField(this, 10) != null; diff --git a/Console/package.json b/Console/package.json index f43735ba..a74beea9 100644 --- a/Console/package.json +++ b/Console/package.json @@ -40,7 +40,7 @@ "chokidar": "^2.0.1", "electron-reload": "^1.2.2", "electron-window-state": "^4.1.1", - "google-protobuf": "^3.5.0", + "google-protobuf": "^3.21.4", "js-base64": "^2.4.3", "less": "^3.0.1", "markdown-it": "^8.4.0", diff --git a/Console/yarn.lock b/Console/yarn.lock index 6e584047..10fdae4c 100644 --- a/Console/yarn.lock +++ b/Console/yarn.lock @@ -2,56 +2,52 @@ # yarn lockfile v1 -"7zip-bin-linux@~1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/7zip-bin-linux/-/7zip-bin-linux-1.3.1.tgz#4856db1ab1bf5b6ee8444f93f5a8ad71446d00d5" +"@types/node@^8.0.24", "@types/node@^8.9.1": + version "8.9.1" + resolved "https://registry.npmjs.org/@types/node/-/node-8.9.1.tgz" + integrity sha512-4JFGIC1RSoFngVsT5EZcL793/uRi/OJ3ilsp9DQUr4LZOaMhNM1pPrt9TqlXOnXj3h73hl6NF31v87eQAPXYTg== -"7zip-bin-mac@~1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz#3e68778bbf0926adc68159427074505d47555c02" +"@types/text-encoding@^0.0.32": + version "0.0.32" + resolved "https://registry.npmjs.org/@types/text-encoding/-/text-encoding-0.0.32.tgz" + integrity sha512-kQ79aFmYcD/DR3QKo6wXyvNrKi7PunY0KYTBUhHjHl0SXwWuLRl9Leh73YtnsSJMBi9qSiK+fxWhdJNQPbhc9A== "7zip-bin-win@~2.1.1": version "2.1.1" - resolved "https://registry.yarnpkg.com/7zip-bin-win/-/7zip-bin-win-2.1.1.tgz#8acfc28bb34e53a9476b46ae85a97418e6035c20" + resolved "https://registry.npmjs.org/7zip-bin-win/-/7zip-bin-win-2.1.1.tgz" + integrity sha512-6VGEW7PXGroTsoI2QW3b0ea95HJmbVBHvfANKLLMzSzFA1zKqVX5ybNuhmeGpf6vA0x8FJTt6twpprDANsY5WQ== "7zip-bin@^2.4.1": version "2.4.1" - resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-2.4.1.tgz#88cf99736d35b104dab1d430c4edd1d51e58aade" + resolved "https://registry.npmjs.org/7zip-bin/-/7zip-bin-2.4.1.tgz" + integrity sha512-QU3oR1dLLVrYGRkb7LU17jMCpIkWtXXW7q71ECXWXkR9vOv37VjykqpvFgs29HgSCNLZHnNKJzdG6RwAW0LwIA== optionalDependencies: "7zip-bin-linux" "~1.3.1" "7zip-bin-mac" "~1.0.1" "7zip-bin-win" "~2.1.1" -"7zip-bin@~3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-3.0.0.tgz#17416dc542f41511b26a9667b92847d75ef150fe" - -"@types/node@^8.0.24", "@types/node@^8.9.1": - version "8.9.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.9.1.tgz#5a329d73a97f3c5a626dfe0ed8c0b831fee5357a" - -"@types/text-encoding@^0.0.32": - version "0.0.32" - resolved "https://registry.yarnpkg.com/@types/text-encoding/-/text-encoding-0.0.32.tgz#52289b320a406850b14f08f48b475ca021218048" - abbrev@1: version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== ajv-keywords@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz" + integrity sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA== ajv@^4.9.1: version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + resolved "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz" + integrity sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ== dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.1.0, ajv@^5.5.0: +ajv@^5.0.0, ajv@^5.5.0: version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + resolved "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz" + integrity sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw== dependencies: co "^4.6.0" fast-deep-equal "^1.0.0" @@ -60,103 +56,110 @@ ajv@^5.1.0, ajv@^5.5.0: "amdefine@>= 0.1.0": version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== ansi-align@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz" + integrity sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA== dependencies: string-width "^2.0.0" ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== ansi-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + integrity sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ== ansi-styles@^3.1.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz" + integrity sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug== dependencies: color-convert "^1.9.0" anymatch@^1.3.0: version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz" + integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== dependencies: micromatch "^2.1.5" normalize-path "^2.0.0" anymatch@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: micromatch "^3.1.4" normalize-path "^2.1.1" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - argparse@^1.0.7: version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz" + integrity sha512-iK7YPKV+GsvihPUTKcM3hh2gq47zSFCpVDv/Ay2O9mzuD7dfvLV4vhms4XcjZvv4VRgXuGLMEts51IlTjS11/A== dependencies: sprintf-js "~1.0.2" arr-diff@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz" + integrity sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA== dependencies: arr-flatten "^1.0.1" arr-diff@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== arr-union@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== array-find-index@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== array-unique@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" + integrity sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg== array-unique@^0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== asap@~2.0.3: version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== asar-integrity@0.2.4: version "0.2.4" - resolved "https://registry.yarnpkg.com/asar-integrity/-/asar-integrity-0.2.4.tgz#b7867c9720e08c461d12bc42f005c239af701733" + resolved "https://registry.npmjs.org/asar-integrity/-/asar-integrity-0.2.4.tgz" + integrity sha512-6UDOmyl4RUo8i/0Sem/UKFJ70XZrXLCDQcILTbjTjAKZrSA3JbXVnWRFi2ZFEbeZxQ2LVCc3CWHnDlqj2AyVXg== dependencies: bluebird-lst "^1.0.5" fs-extra-p "^4.5.0" asar@^0.14.1: version "0.14.1" - resolved "https://registry.yarnpkg.com/asar/-/asar-0.14.1.tgz#30002f12161024f7424e0e0ece8b6a78cb5cc999" + resolved "https://registry.npmjs.org/asar/-/asar-0.14.1.tgz" + integrity sha512-zLifD8peD4VeEj4QblUv63xTvPOLDXPRRDInzbm23QxGzXjcZQzo3CfLKnBbxbOrKILCTrPLVOyWYc4d+BnPPg== dependencies: chromium-pickle-js "^0.2.0" commander "^2.9.0" @@ -169,59 +172,68 @@ asar@^0.14.1: asn1@~0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + integrity sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w== assert-plus@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + integrity sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw== + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +assert-plus@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== assign-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== async-each@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz" + integrity sha512-STDwmg+1mv249vNFx+s+sF4HrdLxlF5Z6L4npilrkgchWPEuW4X13gKzSJq51qJy9InOgwmPepgfMb9/Qu0fSg== async-exit-hook@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" + resolved "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz" + integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== atob@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" + resolved "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz" + integrity sha512-Yxttd2MoIWl3oCSKqG85cu2FkbPtv3P8nDirIpelp4/Pwl7rQ3diJDthXEueFZxxLgjGNrtB2oRej1ONzC9sug== aws-sign2@~0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + integrity sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw== -aws4@^1.2.1, aws4@^1.6.0: +aws4@^1.2.1: version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + resolved "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz" + integrity sha512-tkleq4Df8UWu/7xf/tfbo7t2vDa07bcONGnKhl0QXKQsh3fJ0yJ1M5wzpy8BtBSENQw/9VTsthMhLG+yXHfStQ== balanced-match@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-js@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + integrity sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg== base@^0.11.1: version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== dependencies: cache-base "^1.0.1" class-utils "^0.3.5" @@ -231,60 +243,54 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +base64-js@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz" + integrity sha512-hURVuTTGLOppKhjSe9lZy4NCjnvaIAF/juwazv4WtHwsk5rxKrU1WbxN+XtwKDSvkrNbIIaTBQd9wUsSwruZUg== + bcrypt-pbkdf@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz" + integrity sha512-vY4sOrSlpwNZXsinfJ0HpbSkFft4nhSVLeUrQ4j2ydGmBOiVY83aMJStJATBy0C3+XdaYa990kIA1qkC2mUq6g== dependencies: tweetnacl "^0.14.3" binary-extensions@^1.0.0: version "1.11.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz" + integrity sha512-9XXbu17rAPSov41Lvd1NwrwA3Wvh2WRpxJptRjVTw55R+ZIQ9QrzuEPMMPhxXry2GTpmmUXwd8rSvp50H+7uQA== binary@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + resolved "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz" + integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== dependencies: buffers "~0.1.1" chainsaw "~0.1.0" -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - bluebird-lst@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.5.tgz#bebc83026b7e92a72871a3dc599e219cbfb002a9" + resolved "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.5.tgz" + integrity sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA== dependencies: bluebird "^3.5.1" bluebird@^3.5.0, bluebird@^3.5.1: version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz" + integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== boom@2.x.x: version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + resolved "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + integrity sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q== dependencies: hoek "2.x.x" -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - boxen@^1.2.1: version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + resolved "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz" + integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== dependencies: ansi-align "^2.0.0" camelcase "^4.0.0" @@ -296,14 +302,16 @@ boxen@^1.2.1: brace-expansion@^1.1.7: version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz" + integrity sha512-Dnfc9ROAPrkkeLIUweEbh7LFT9Mc53tO/bbM044rKjhgAEyIGKvKXg97PM/kRizZIfUHaROZIoeEaWao+Unzfw== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" braces@^1.8.2: version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + resolved "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz" + integrity sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw== dependencies: expand-range "^1.8.1" preserve "^0.2.0" @@ -311,7 +319,8 @@ braces@^1.8.2: braces@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.0.tgz#a46941cb5fb492156b3d6a656e06c35364e3e66e" + resolved "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz" + integrity sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA== dependencies: arr-flatten "^1.1.0" array-unique "^0.3.2" @@ -327,29 +336,23 @@ braces@^2.3.0: buffers@~0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + resolved "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz" + integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== -builder-util-runtime@4.0.4: +builder-util-runtime@^4.0.4, builder-util-runtime@4.0.4: version "4.0.4" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.0.4.tgz#c92c352097006a07f3324ea200fa815440cba198" + resolved "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.0.4.tgz" + integrity sha512-WyTMyWXX7zahY0MyR8Fh8SRxH//ugUaBgsgrCT/orwTv5ud4s0htLlucNiQdDTiWdHyQFqAigTfqILED4bAXUA== dependencies: bluebird-lst "^1.0.5" debug "^3.1.0" fs-extra-p "^4.5.0" sax "^1.2.4" -builder-util-runtime@^4.0.4, builder-util-runtime@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.0.5.tgz#5340cf9886b9283ea6e5b20dc09b5e3e461aef62" - dependencies: - bluebird-lst "^1.0.5" - debug "^3.1.0" - fs-extra-p "^4.5.0" - sax "^1.2.4" - -builder-util@4.2.2: +builder-util@^4.2.2, builder-util@4.2.2: version "4.2.2" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-4.2.2.tgz#366b2bc32324bfe5565a7e4f13f86238fef5e92b" + resolved "https://registry.npmjs.org/builder-util/-/builder-util-4.2.2.tgz" + integrity sha512-B+xyCkbhUSXfyKnEyuLgxzWaEfkyVQVTH8EFGYF+38a8HMgd7UAvXBZdxxrRL/lHZULSoA31OWuzZzliWQRnTQ== dependencies: "7zip-bin" "^2.4.1" bluebird-lst "^1.0.5" @@ -367,33 +370,15 @@ builder-util@4.2.2: temp-file "^3.1.1" tunnel-agent "^0.6.0" -builder-util@^4.2.2: - version "4.2.5" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-4.2.5.tgz#babc190e2f2c3681497632b5cc274f1543aa9264" - dependencies: - "7zip-bin" "~3.0.0" - bluebird-lst "^1.0.5" - builder-util-runtime "^4.0.5" - chalk "^2.3.0" - debug "^3.1.0" - fs-extra-p "^4.5.0" - ini "^1.3.5" - is-ci "^1.1.0" - js-yaml "^3.10.0" - lazy-val "^1.0.3" - semver "^5.5.0" - source-map-support "^0.5.3" - stat-mode "^0.2.2" - temp-file "^3.1.1" - tunnel-agent "^0.6.0" - builtin-modules@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" + integrity sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ== cache-base@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== dependencies: collection-visit "^1.0.0" component-emitter "^1.2.1" @@ -407,36 +392,48 @@ cache-base@^1.0.1: camelcase-keys@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" + integrity sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ== dependencies: camelcase "^2.0.0" map-obj "^1.0.0" camelcase@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" + integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw== -camelcase@^4.0.0, camelcase@^4.1.0: +camelcase@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz" + integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz" + integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== capture-stack-trace@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" + resolved "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz" + integrity sha512-8Yf8Cckt0aVhGIdBV0hOkN+xWECIfItME3K/auxEQw803TndhW5DkPxHvNBoYxxUJ8YG/896rAhpna2u3hG/5A== caseless@~0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== chainsaw@~0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + resolved "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz" + integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== dependencies: traverse ">=0.3.0 <0.4" chalk@^2.0.1, chalk@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz" + integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q== dependencies: ansi-styles "^3.1.0" escape-string-regexp "^1.0.5" @@ -444,7 +441,8 @@ chalk@^2.0.1, chalk@^2.3.0: chokidar@^1.5.1: version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz" + integrity sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg== dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -459,7 +457,8 @@ chokidar@^1.5.1: chokidar@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.1.tgz#6e67e9998fe10e8f651e975ca62460456ff8e297" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.0.1.tgz" + integrity sha512-rv5iP8ENhpqvDWr677rAXcB+SMoPQ1urd4ch79+PhM4lQwbATdJUQK69t0lJIKNB+VXpqxt5V1gvqs59XEPKnw== dependencies: anymatch "^2.0.0" async-each "^1.0.0" @@ -477,15 +476,18 @@ chokidar@^2.0.1: chromium-pickle-js@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" + resolved "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz" + integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== ci-info@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz" + integrity sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA== class-utils@^0.3.5: version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== dependencies: arr-union "^3.1.0" define-property "^0.2.5" @@ -494,11 +496,13 @@ class-utils@^0.3.5: cli-boxes@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz" + integrity sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg== cliui@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" + resolved "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz" + integrity sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" @@ -506,58 +510,70 @@ cliui@^4.0.0: co@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== code-point-at@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== collection-visit@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== dependencies: map-visit "^1.0.0" object-visit "^1.0.0" color-convert@^1.9.0: version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz" + integrity sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ== dependencies: color-name "^1.1.1" color-convert@~0.5.0: version "0.5.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz" + integrity sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling== color-name@^1.1.1: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" + integrity sha512-JgSRe4l4UzPwpJuxfcPWEK1SCrL4dxNjp1uqrQLMop3QZUVo+hDU8w9BJKA4JPbulTWI+UzrI2UA3tK12yQ6bg== dependencies: delayed-stream "~1.0.0" commander@^2.9.0: version "2.14.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" + resolved "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz" + integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw== compare-version@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" + resolved "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz" + integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A== component-emitter@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz" + integrity sha512-jPatnhd33viNplKjqXKRkGU345p263OIWzDL2wH3LGIGp5Kojo+uXizHmOADRvhGFFTnJqX3jBAKP6vvmSDKcA== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz" + integrity sha512-afaQKFIg+fob6EzbytOlXZZTYrdZWaegQx2b6AWg9MoALXgctIcbRQrjcu6Wsh5801lVXaQYVwBw6vlATW0qPA== dependencies: inherits "^2.0.3" readable-stream "^2.2.2" @@ -565,7 +581,8 @@ concat-stream@1.6.0: configstore@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" + resolved "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz" + integrity sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw== dependencies: dot-prop "^4.1.0" graceful-fs "^4.1.2" @@ -574,27 +591,27 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - copy-descriptor@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@~1.0.0, core-util-is@1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== create-error-class@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + resolved "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz" + integrity sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw== dependencies: capture-stack-trace "^1.0.0" cross-spawn@^5.0.1: version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== dependencies: lru-cache "^4.0.1" shebang-command "^1.2.0" @@ -602,59 +619,91 @@ cross-spawn@^5.0.1: cryptiles@2.x.x: version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + resolved "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + integrity sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog== dependencies: boom "2.x.x" -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - crypto-random-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz" + integrity sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg== cuint@^0.2.1: version "0.2.2" - resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" + resolved "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz" + integrity sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw== currently-unhandled@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" + integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng== dependencies: array-find-index "^1.0.1" dashdash@^1.12.0: version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== dependencies: assert-plus "^1.0.0" -debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: +debug@^2.1.3: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.3.3: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.6.8: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@^3.0.0, debug@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decode-uri-component@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== decompress-zip@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/decompress-zip/-/decompress-zip-0.3.0.tgz#ae3bcb7e34c65879adfe77e19c30f86602b4bdb0" + resolved "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.0.tgz" + integrity sha512-xzje4HUZr/jdpqnggH6QPOXJEkq6Vx7J0ULgJa5WCtoF5s7rDf1BjAebTLDkLAKFwYiU4bCJptTuQxeNb3SAzg== dependencies: binary "^0.3.0" graceful-fs "^4.1.3" @@ -666,39 +715,37 @@ decompress-zip@0.3.0: deep-equal@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz" + integrity sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw== deep-extend@~0.4.0: version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz" + integrity sha512-cQ0iXSEKi3JRNhjUsLWvQ+MVPxLVqpwCd0cFsWbJxlCim2TlCo1JvN5WaPdPvSpUdEnkJ/X+mPGcq5RJ68EK8g== define-property@^0.2.5: version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== dependencies: is-descriptor "^1.0.0" delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== dmg-builder@3.1.4: version "3.1.4" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-3.1.4.tgz#57c53a2b5a1e28526a837430b6ecc7110cadcf63" + resolved "https://registry.npmjs.org/dmg-builder/-/dmg-builder-3.1.4.tgz" + integrity sha512-nobhBdmpA8XmJM13rjvhLQOMUUM9HNyZjXmvFWCZPK8A8sP2rJciQDOzvJoc2ioFehR7vfLbWHNpKgYQrSPIPw== dependencies: bluebird-lst "^1.0.5" builder-util "^4.2.2" @@ -709,39 +756,47 @@ dmg-builder@3.1.4: dom-walk@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + resolved "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz" + integrity sha512-8CGZnLAdYN/o0SHjlP3nLvliHpi2f/prVU63/Hc4DTDpBgsNVAJekegjFtxfZ7NTUEDzHUByjX1gT3eYakIKqg== dot-prop@^4.1.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== dependencies: is-obj "^1.0.0" dotenv-expand@^4.0.1: version "4.2.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz" + integrity sha512-pHWVt6L/YkqbBCMb1hG6e7oO0WdMhlapDIibl+BZ9PncVE3i+G77uvNr8GUxW2ItSituOK8QOYC9oOJjwWD94A== dotenv@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz" + integrity sha512-XcaMACOr3JMVcEv0Y/iUM2XaOsATRZ3U1In41/1jjK6vJZ2PZbQ1bzCG8uvaByfaBpl9gqc9QWJovpUGBXLLYQ== duplexer3@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" + integrity sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA== ecc-jsbn@~0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + integrity sha512-8Pvg9QY16SYajEL9W1Lk+9yM7XCK/MOq2wibslLZYAAEEkbAIO6mLkW+GFYbvvw8qTuDFzFMg40rS9IxkNCWPg== dependencies: jsbn "~0.1.0" ejs@^2.5.7: version "2.5.7" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" + resolved "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz" + integrity sha512-ukpoEmMkRXdzig9UGWFSY+GqurZ+PROb/Q/6NUf+FYlIAI4fO79XFcFzob3TikfbaZZ3OGQAmryINW6/ELWPAg== electron-builder-lib@19.56.0: version "19.56.0" - resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-19.56.0.tgz#26a6754f89c3e732afbd97868f1fc3f666884149" + resolved "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-19.56.0.tgz" + integrity sha512-7uZRo/bh/o8MLS1PZQyXKua7GZ5qwJbQgvsnSanXIp/qBisaPMOyydYEcJcJDLomfStgRubbtWG82eDNKCeiLA== dependencies: "7zip-bin" "^2.4.1" asar-integrity "0.2.4" @@ -771,7 +826,8 @@ electron-builder-lib@19.56.0: electron-builder@^19.56.0: version "19.56.0" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-19.56.0.tgz#ad5a64c73ce50b561fc8e2bcf9309de0f6ad4e5e" + resolved "https://registry.npmjs.org/electron-builder/-/electron-builder-19.56.0.tgz" + integrity sha512-3jlhgF/KuwzJRuPIa4YmZc1OrE1y2L+QEHk4W9B8Sx3ig3hK84b+yW8MfhQxwwEhYnA1q9XkzcNK5xToZPqpWQ== dependencies: bluebird-lst "^1.0.5" builder-util "4.2.2" @@ -789,7 +845,8 @@ electron-builder@^19.56.0: electron-download-tf@4.3.4: version "4.3.4" - resolved "https://registry.yarnpkg.com/electron-download-tf/-/electron-download-tf-4.3.4.tgz#b03740b2885aa2ad3f8784fae74df427f66d5165" + resolved "https://registry.npmjs.org/electron-download-tf/-/electron-download-tf-4.3.4.tgz" + integrity sha512-SQYDGMLpTgty1bx3NycuDb7dNPzktVSdK2sqPZjyRocauq/uN/V4S2lcpFVLupaHhKlD8zozm9fTpm5UdohvTg== dependencies: debug "^3.0.0" env-paths "^1.0.0" @@ -803,7 +860,8 @@ electron-download-tf@4.3.4: electron-download@^3.0.1: version "3.3.0" - resolved "https://registry.yarnpkg.com/electron-download/-/electron-download-3.3.0.tgz#2cfd54d6966c019c4d49ad65fbe65cc9cdef68c8" + resolved "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz" + integrity sha512-F/p1+fwr/UAMl6NXp2w6Ke5x5WReguHp6EDm/1tIIqUyXfOW7JezoMoAUNL0ZaKDDCbciydllMwq8qq/f9ks0w== dependencies: debug "^2.2.0" fs-extra "^0.30.0" @@ -817,7 +875,8 @@ electron-download@^3.0.1: electron-osx-sign@0.4.8: version "0.4.8" - resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.4.8.tgz#f0b9fadded9e1e54ec35fa89877b5c6c34c7bc40" + resolved "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.8.tgz" + integrity sha512-fQXB2/8ZmA4HkVTTrlFJB9LZMGue5HsQILq9GshAwqCzTtt1fFt3y0vjuBYX4GFZbgtO7+LJWHnYBDOMLDwOUw== dependencies: bluebird "^3.5.0" compare-version "^0.1.2" @@ -828,7 +887,8 @@ electron-osx-sign@0.4.8: electron-publish@19.56.0: version "19.56.0" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-19.56.0.tgz#1a0446e69b3085a905c0abdf16125c1c97d108d9" + resolved "https://registry.npmjs.org/electron-publish/-/electron-publish-19.56.0.tgz" + integrity sha512-mJYJLaDKdxq/F1VAZwqany4LuWt9fEm2FMsKVCXdzYp1WAXhK5+J5Ng6rxc8n1BUWqYbs99tkRWp+5iyxiGcfA== dependencies: bluebird-lst "^1.0.5" builder-util "^4.2.2" @@ -839,13 +899,15 @@ electron-publish@19.56.0: electron-reload@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/electron-reload/-/electron-reload-1.2.2.tgz#621ddb443b9fbba1c5e29a5fdd683322b5c42284" + resolved "https://registry.npmjs.org/electron-reload/-/electron-reload-1.2.2.tgz" + integrity sha512-dPZrcqjgFR3Gu5TOOVK3GQx63JcB2WJ0hki/4M5tlenDF7epFSnKkcAZyKYwUGEqk1TkUkUUOl7ZyzAK6QNuNQ== dependencies: chokidar "^1.5.1" electron-window-state@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-4.1.1.tgz#6b34fdc31b38514dfec8b7c8f7b5d4addb67632d" + resolved "https://registry.npmjs.org/electron-window-state/-/electron-window-state-4.1.1.tgz" + integrity sha512-7KhUFCXmYwvL+++GBaAS7eIZwM8Nql3MyMaQmk8D9JzDAY/Tnmv9y+X2l/Xioij8KvgVfZ1AOhENkUhHk4YkTA== dependencies: deep-equal "^1.0.1" jsonfile "^2.2.3" @@ -853,7 +915,8 @@ electron-window-state@^4.1.1: electron@^1.8.2: version "1.8.2" - resolved "https://registry.yarnpkg.com/electron/-/electron-1.8.2.tgz#a817cd733c2972b3c7cc4f777caf6e424b88014d" + resolved "https://registry.npmjs.org/electron/-/electron-1.8.2.tgz" + integrity sha512-0TV5Hy92g8ACnPn+PVol6a/2uk+khzmRtWxhah/FcKs6StCytm5hD14QqOdZxEdJN8HljXIVCayN/wJX+0wDiQ== dependencies: "@types/node" "^8.0.24" electron-download "^3.0.1" @@ -861,39 +924,47 @@ electron@^1.8.2: entities@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + resolved "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" + integrity sha512-bWStsIg5+vWzgtKoA/pkAIJzRAeUatnImqcK4CyHd2KoNq3fCg/tHDoE/7e81yRq9Xg8XUSvAcsSaMCp4a3HuQ== env-paths@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" + resolved "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz" + integrity sha512-+6r/UAzikJWJPcQZpBQS+bVmjAMz2BkDP/N4n2Uz1zz8lyw1IHWUeVdh/85gs0dp5A+z76LOQhCZkR6F88mlUw== errno@^0.1.1: version "0.1.6" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" + resolved "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz" + integrity sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw== dependencies: prr "~1.0.1" error-ex@^1.2.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz" + integrity sha512-FfmVxYsm1QOFoPI2xQmNnEH10Af42mCxtGrKvS1JfDTXlPLYiAz2T+QpjHPxf+OGniMfWZah9ULAhPoKQ3SEqg== dependencies: is-arrayish "^0.2.1" es6-promise@^4.0.5: version "4.2.4" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" + resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz" + integrity sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== esprima@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz" + integrity sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw== execa@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + resolved "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz" + integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" @@ -905,13 +976,15 @@ execa@^0.7.0: expand-brackets@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz" + integrity sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA== dependencies: is-posix-bracket "^0.1.0" expand-brackets@^2.1.4: version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -923,36 +996,42 @@ expand-brackets@^2.1.4: expand-range@^1.8.1: version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + resolved "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz" + integrity sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA== dependencies: fill-range "^2.1.0" extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" -"extend@>= 2.0.0", extend@~3.0.0, extend@~3.0.1: +"extend@>= 2.0.0", extend@~3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz" + integrity sha512-u1aUSYGdAQxyguoP919qsgj24krDCtaO/DJFNPwFmojMmKp14gtCTVsc8lQSqRDFrwAch+mxMWC8/6ZJPz5Hpw== extglob@^0.3.1: version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + resolved "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz" + integrity sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg== dependencies: is-extglob "^1.0.0" extglob@^2.0.2: version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== dependencies: array-unique "^0.3.2" define-property "^1.0.0" @@ -965,42 +1044,45 @@ extglob@^2.0.2: extract-zip@^1.0.3: version "1.6.6" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.6.tgz#1290ede8d20d0872b429fd3f351ca128ec5ef85c" + resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz" + integrity sha512-zzFIURH1cHodCESbwDsIijbki47jXAvffc044IpX4uBiTWldwQ2viYkYrb94x49ZvAcanD0gobvQwgAaaQOUvQ== dependencies: concat-stream "1.6.0" debug "2.6.9" mkdirp "0.5.0" yauzl "2.4.1" -extsprintf@1.3.0: +extsprintf@^1.2.0, extsprintf@1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== fast-deep-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz" + integrity sha512-46+Jxk9Yj/nQY+3a1KTnpbBTemcAbPySTKya8iM9D7EsiONpSWbvzesalcCJ6tmJrCUITT2fmAQfNHFG+OHM6Q== fast-json-stable-stringify@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz" + integrity sha512-eIgZvM9C3P05kg0qxfqaVU6Tma4QedCPIByQOcemV0vju8ot3cS2DpHi4m2G2JvbSMI152rjfLX0p1pkSdyPlQ== fd-slicer@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz" + integrity sha512-MX1ZLPIuKED51hrI4++K+1B0VX87Cs4EkybD2q12Ysuf5p4vkmHqMvQJRlDwROqFr4D2Pzyit5wGQxf30grIcw== dependencies: pend "~1.2.0" filename-regex@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + resolved "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz" + integrity sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ== fill-range@^2.1.0: version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz" + integrity sha512-P1WnpaJQ8BQdSEIjEmgyCHm9ESwkO6sMu+0Moa4s0u9B+iQ5M9tBbbCYvWmF7vRvqyMO2ENqC+w4Hev8wErQcg== dependencies: is-number "^2.1.0" isobject "^2.0.0" @@ -1010,7 +1092,8 @@ fill-range@^2.1.0: fill-range@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" @@ -1019,42 +1102,40 @@ fill-range@^4.0.0: find-up@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" find-up@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== for-own@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + resolved "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz" + integrity sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw== dependencies: for-in "^1.0.1" forever-agent@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== form-data@~2.1.1: version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -form-data@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz" + integrity sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" @@ -1062,30 +1143,23 @@ form-data@~2.3.1: fragment-cache@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== dependencies: map-cache "^0.2.2" fs-extra-p@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-4.5.0.tgz#b79f3f3fcc0b5e57b7e7caeb06159f958ef15fe8" + resolved "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.5.0.tgz" + integrity sha512-V/sdZmV+Yx3+nfXmjRTdBP4mVWCt7hZ0+ZOv+IZo+6fdkBxafaGsI7mYeNv/J3rWyz+mIToCFQORFSwt1bZw8Q== dependencies: bluebird-lst "^1.0.5" fs-extra "^5.0.0" -fs-extra@0.26.7: - version "0.26.7" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - fs-extra@^0.30.0: version "0.30.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz" + integrity sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA== dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" @@ -1095,7 +1169,8 @@ fs-extra@^0.30.0: fs-extra@^4.0.1: version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" @@ -1103,98 +1178,83 @@ fs-extra@^4.0.1: fs-extra@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz" + integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" universalify "^0.1.0" -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.39" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" +fs-extra@0.26.7: + version "0.26.7" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz" + integrity sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q== dependencies: graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" + jsonfile "^2.1.0" + klaw "^1.0.0" + path-is-absolute "^1.0.0" + rimraf "^2.2.8" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== get-caller-file@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz" + integrity sha512-A6srK23btrgde1mUYEzplvRPjdwkZXrHsIRNRZnG5p8ZEJHG+QB8ENw16MtH7NWiyDGiSF2giAlJpcls/y2wxQ== get-stdin@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== get-stream@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== getpass@^0.1.1: version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== dependencies: assert-plus "^1.0.0" glob-base@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + resolved "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz" + integrity sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA== dependencies: glob-parent "^2.0.0" is-glob "^2.0.0" glob-parent@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz" + integrity sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w== dependencies: is-glob "^2.0.0" glob-parent@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" glob@^6.0.4: version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + resolved "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" + integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== dependencies: inflight "^1.0.4" inherits "2" @@ -1202,9 +1262,22 @@ glob@^6.0.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.5: +glob@^7.0.0: version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" + integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.5: + version "7.1.2" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" + integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -1215,24 +1288,28 @@ glob@^7.0.0, glob@^7.0.5: global-dirs@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz" + integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== dependencies: ini "^1.3.4" global@^4.3.1: version "4.3.2" - resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + resolved "https://registry.npmjs.org/global/-/global-4.3.2.tgz" + integrity sha512-/4AybdwIDU4HkCUbJkZdWpe4P6vuw/CUtu+0I1YlLIPe7OlUO7KNJ+q/rO70CW2/NW6Jc6I62++Hzsf5Alu6rQ== dependencies: min-document "^2.19.0" process "~0.5.1" -google-protobuf@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.5.0.tgz#b8cc63c74d83457bd8a9a904503c8efb26bca339" +google-protobuf@^3.21.4: + version "3.21.4" + resolved "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz" + integrity sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ== got@^6.7.1: version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + resolved "https://registry.npmjs.org/got/-/got-6.7.1.tgz" + integrity sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg== dependencies: create-error-class "^3.0.0" duplexer3 "^0.1.4" @@ -1248,41 +1325,31 @@ got@^6.7.1: graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" + integrity sha512-9x6DLUuW+ROFdMTII9ec9t/FK8va6kYcC8/LggumssLM8kNv7IdFl3VrNUqgir2tJuBVxBga1QBoRziZacO5Zg== har-schema@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + resolved "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz" + integrity sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ== har-validator@~4.2.1: version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + resolved "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz" + integrity sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw== dependencies: ajv "^4.9.1" har-schema "^1.0.5" -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - has-flag@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" + integrity sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng== has-value@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -1290,7 +1357,8 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -1298,163 +1366,169 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== has-values@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== dependencies: is-number "^3.0.0" kind-of "^4.0.0" -hawk@3.1.3, hawk@~3.1.3: +hawk@~3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + resolved "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" + integrity sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg== dependencies: boom "2.x.x" cryptiles "2.x.x" hoek "2.x.x" sntp "1.x.x" -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - hoek@2.x.x: version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hoek@4.x.x: - version "4.2.0" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" + resolved "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + integrity sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ== home-path@^1.0.1: version "1.0.5" - resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f" + resolved "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz" + integrity sha512-xAC3eONvA+pV35Vm6X2zrEpP+/pzeMnA/PYEit1KAYcZPJoXyRqgLRx91FyShXNH6QGbwDB/1vGOXr8warHcWw== hosted-git-info@^2.1.4, hosted-git-info@^2.5.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz" + integrity sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg== http-signature@~1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" + integrity sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg== dependencies: assert-plus "^0.2.0" jsprim "^1.2.2" sshpk "^1.7.0" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - iconv-lite@^0.4.19: version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz" + integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ== image-size@~0.5.0: version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== import-lazy@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" + integrity sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg== dependencies: repeating "^2.0.0" inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3, inherits@2: version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== interpret@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz" + integrity sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA== invert-kv@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" + integrity sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ== is-accessor-descriptor@^0.1.6: version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== dependencies: kind-of "^6.0.0" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-binary-path@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" + integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== dependencies: binary-extensions "^1.0.0" is-buffer@^1.1.5: version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-builtin-module@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" + integrity sha512-C2wz7Juo5pUZTFQVer9c+9b4qw3I5T/CHQxQyhVu7BJel6C22FmsLIWsdseYyOw6xz9Pqy9eJWSkQ7+3iN1HVw== dependencies: builtin-modules "^1.0.0" is-ci@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz" + integrity sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg== dependencies: ci-info "^1.0.0" is-data-descriptor@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== dependencies: kind-of "^6.0.0" is-descriptor@^0.1.0: version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== dependencies: is-accessor-descriptor "^0.1.6" is-data-descriptor "^0.1.4" @@ -1462,7 +1536,8 @@ is-descriptor@^0.1.0: is-descriptor@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== dependencies: is-accessor-descriptor "^1.0.0" is-data-descriptor "^1.0.0" @@ -1470,282 +1545,350 @@ is-descriptor@^1.0.0: is-dotfile@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + resolved "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz" + integrity sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg== is-equal-shallow@^0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + resolved "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" + integrity sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA== dependencies: is-primitive "^2.0.0" is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extendable@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== dependencies: is-plain-object "^2.0.4" is-extglob@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" + integrity sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww== is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-finite@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz" + integrity sha512-e+gU0KGrlbqjEcV80SAqg4g7PQYOm3/IrdwAJ+kPwHqGhLKhtuTJGGxGtrsc8RXlHt2A8Vlnv+79Vq2B1GQasg== dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" + integrity sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg== dependencies: is-extglob "^1.0.0" is-glob@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== dependencies: is-extglob "^2.1.0" is-glob@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz" + integrity sha512-IEg9HSCKitWUYBRkCSztkm2Lenav8e04mlxHjiMRg2w9Bx82TFIDEDamwfn0RgwFgLNLSkZd0YJT2ColdN8KCw== dependencies: is-extglob "^2.1.1" is-installed-globally@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz" + integrity sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw== dependencies: global-dirs "^0.1.0" is-path-inside "^1.0.0" is-npm@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + resolved "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz" + integrity sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg== is-number@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + resolved "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz" + integrity sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg== dependencies: kind-of "^3.0.2" is-number@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== dependencies: kind-of "^3.0.2" is-obj@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== is-odd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-1.0.0.tgz#3b8a932eb028b3775c39bb09e91767accdb69088" + resolved "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz" + integrity sha512-yIhxkKCK7pZnj48WBvaTQ36Or7PymGYqmZrSNqkrhmU3pakkp2TWhuN7hH25bqJgH+Xq4IZ3QNd3+QVshldEHA== dependencies: is-number "^3.0.0" is-path-inside@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz" + integrity sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g== dependencies: path-is-inside "^1.0.1" is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-posix-bracket@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + resolved "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" + integrity sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ== is-primitive@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + resolved "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" + integrity sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q== is-redirect@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + resolved "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz" + integrity sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw== is-retry-allowed@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz" + integrity sha512-leC1bcIRBHjXtaZSM2gAXNeZsIOdDMgq/kHKAVKQ05JTwvb7hnvrHBEm6mnnMRyE7yu+ljNlcG8YUmALCevSxg== is-stream@^1.0.0, is-stream@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== is-typedarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-utf8@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== + +isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isarray@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isbinaryfile@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" + resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz" + integrity sha512-ndp0qbtJMB5d8CCDtk6yxz0GnvRzlnrxp2qXA/DJEbhn8PKvpQBjB0xN4mjnLGovEF47aywIytHqZCPFBNSjfQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== isstream@~0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== js-base64@^2.4.3: version "2.4.3" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582" + resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz" + integrity sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw== js-yaml@^3.10.0: version "3.10.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz" + integrity sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA== dependencies: argparse "^1.0.7" esprima "^4.0.0" jsbn@~0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== json-schema-traverse@^0.3.0: version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz" + integrity sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA== json-schema@0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" + integrity sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ== json-stable-stringify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" + integrity sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg== dependencies: jsonify "~0.0.0" json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + resolved "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" + integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== jsonfile@^2.1.0, jsonfile@^2.2.3: version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz" + integrity sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw== optionalDependencies: graceful-fs "^4.1.6" jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" jsonify@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" + integrity sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA== jsprim@^1.2.2: version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" + integrity sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog== dependencies: assert-plus "1.0.0" extsprintf "1.3.0" json-schema "0.2.3" verror "1.10.0" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: +kind-of@^3.0.2, kind-of@^3.0.3: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^3.2.0: version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0, kind-of@^5.0.2: +kind-of@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^5.0.2: + version "5.1.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== klaw@^1.0.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + resolved "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz" + integrity sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw== optionalDependencies: graceful-fs "^4.1.9" latest-version@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + resolved "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz" + integrity sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w== dependencies: package-json "^4.0.0" lazy-cache@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" + resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz" + integrity sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA== dependencies: set-getter "^0.1.0" lazy-val@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.3.tgz#bb97b200ef00801d94c317e29dc6ed39e31c5edc" + resolved "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz" + integrity sha512-pjCf3BYk+uv3ZcPzEVM0BFvO9Uw58TmlrU0oG5tTrr9Kcid3+kdKxapH8CjdYmVa2nO5wOoZn2rdvZx2PKj/xg== lcid@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" + integrity sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw== dependencies: invert-kv "^1.0.0" less-watch-compiler@^1.11.0: version "1.11.0" - resolved "https://registry.yarnpkg.com/less-watch-compiler/-/less-watch-compiler-1.11.0.tgz#41120d53593c0c3598e5dc6f79e197ec87c707b7" + resolved "https://registry.npmjs.org/less-watch-compiler/-/less-watch-compiler-1.11.0.tgz" + integrity sha512-JrNGaBl3RZoJ4lKuDTc0WzsF7Xo7JwOl8Ak+jdjgjf05k6OCM8Ogzow1pNE9msGwiCUmBujY1SO8o4vQBC977w== dependencies: amdefine ">= 0.1.0" commander "^2.9.0" @@ -1756,7 +1899,8 @@ less-watch-compiler@^1.11.0: less@^2.7.1: version "2.7.3" - resolved "https://registry.yarnpkg.com/less/-/less-2.7.3.tgz#cc1260f51c900a9ec0d91fb6998139e02507b63b" + resolved "https://registry.npmjs.org/less/-/less-2.7.3.tgz" + integrity sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ== optionalDependencies: errno "^0.1.1" graceful-fs "^4.1.2" @@ -1769,7 +1913,8 @@ less@^2.7.1: less@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/less/-/less-3.0.1.tgz#ba2fea24a5632ccb8c84230d6043c0bf91855e37" + resolved "https://registry.npmjs.org/less/-/less-3.0.1.tgz" + integrity sha512-qUR4uNv88/c0mpnGOULgMLRXXSD6X0tYo4cVrokzsvn68+nuj8rskInCSe2eLAVYWGD/oAlq8P7J/FeZ/euKiw== optionalDependencies: errno "^0.1.1" graceful-fs "^4.1.2" @@ -1782,13 +1927,15 @@ less@^3.0.1: linkify-it@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f" + resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz" + integrity sha512-eMNKghlRbOz74oeCO61NHixBXtKifyBAxs3YQRLthhViT8T/9reBq00NIWYEC1CdwQmn/xShUl8JqgWFYxo6gw== dependencies: uc.micro "^1.0.1" load-json-file@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -1798,60 +1945,71 @@ load-json-file@^1.0.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" path-exists "^3.0.0" lodash@3.x: version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + resolved "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" + integrity sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ== loud-rejection@^1.0.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + resolved "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" + integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ== dependencies: currently-unhandled "^0.4.1" signal-exit "^3.0.0" lowercase-keys@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz" + integrity sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A== lru-cache@^4.0.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz" + integrity sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew== dependencies: pseudomap "^1.0.2" yallist "^2.1.2" make-dir@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz" + integrity sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA== dependencies: pify "^3.0.0" map-cache@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-visit@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== dependencies: object-visit "^1.0.0" markdown-it-task-lists@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/markdown-it-task-lists/-/markdown-it-task-lists-2.1.0.tgz#4594f750f70df053d1dad68024388007c1d20783" + resolved "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.0.tgz" + integrity sha512-3mT1oQ/brZiV719l3iY/ZIEQLIn60Y9U840l4hh3sA1seHM+ZZjzE5Env1+V1bWqKE1BeVffiuE7qNALzh7r2Q== markdown-it@^8.4.0: version "8.4.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.0.tgz#e2400881bf171f7018ed1bd9da441dac8af6306d" + resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.0.tgz" + integrity sha512-tNuOCCfunY5v5uhcO2AUMArvKAyKMygX8tfup/JrgnsDqcCATQsAExBq7o5Ml9iMmO82bk6jYNLj6khcrl0JGA== dependencies: argparse "^1.0.7" entities "~1.1.1" @@ -1861,17 +2019,20 @@ markdown-it@^8.4.0: mdurl@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== mem@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + resolved "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz" + integrity sha512-nOBDrc/wgpkd3X/JOhMqYR+/eLqlfLP4oQfoBA6QExIxEl+GU01oyEkwWyueyO8110pUKijtiHGhEmYoOn88oQ== dependencies: mimic-fn "^1.0.0" meow@^3.1.0: version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" + integrity sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA== dependencies: camelcase-keys "^2.0.0" decamelize "^1.1.2" @@ -1886,7 +2047,8 @@ meow@^3.1.0: micromatch@^2.1.5: version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" + integrity sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA== dependencies: arr-diff "^2.0.0" array-unique "^0.2.1" @@ -1904,7 +2066,8 @@ micromatch@^2.1.5: micromatch@^3.1.4: version "3.1.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.5.tgz#d05e168c206472dfbca985bfef4f57797b4cd4ba" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz" + integrity sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -1922,72 +2085,91 @@ micromatch@^3.1.4: mime-db@~1.30.0: version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz" + integrity sha512-SUaL89ROHF5P6cwrhLxE1Xmk60cFcctcJl3zwMeQWcoQzt0Al/X8qxUz2gi19NECqYspzbYpAJryIRnLcjp20g== -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: +mime-types@^2.1.12, mime-types@~2.1.7: version "2.1.17" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz" + integrity sha512-rOFZoFAbaupSpzARUe5CU1P9mwfX+lIFAuj0soNsEZEnrHu6LZNyV7/FClEB/oF9A1o5KStlumRjW6D4Q2FRCA== dependencies: mime-db "~1.30.0" -mime@^1.2.11, mime@^1.4.1: +mime@^1.2.11: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^1.4.1: version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.2.0.tgz#161e541965551d3b549fa1114391e3a3d55b923b" + resolved "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz" + integrity sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA== mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== min-document@^2.19.0: version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + resolved "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== dependencies: dom-walk "^0.1.0" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, "minimatch@2 || 3": version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + integrity sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw== + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + integrity sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q== mixin-deep@^1.2.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== dependencies: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" +mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + integrity sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA== dependencies: minimist "0.0.8" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" +mkdirp@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz" + integrity sha512-xjjNGy+ry1lhtIKcr2PT6ok3aszhQfgrUDp4OZLHacgRgFmF6XR9XCOJVcXlVGQonIqXcK1DvqgKKQOPWYGSfw== dependencies: minimist "0.0.8" mkpath@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/mkpath/-/mkpath-0.1.0.tgz#7554a6f8d871834cc97b5462b122c4c124d6de91" + resolved "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz" + integrity sha512-bauHShmaxVQiEvlrAPWxSPn8spSL8gDVRl11r8vLT4r/KdnknLqtqwQbToZ2Oa8sJkExYY1z6/d+X7pNiqo4yg== mksnapshot@^0.3.0: version "0.3.1" - resolved "https://registry.yarnpkg.com/mksnapshot/-/mksnapshot-0.3.1.tgz#2501c05657436d742ce958a4ff92c77e40dd37e6" + resolved "https://registry.npmjs.org/mksnapshot/-/mksnapshot-0.3.1.tgz" + integrity sha512-7QXruE/gZfnu91Ewnl2KAAKtr7/5XPt6raMtse3KJuI/d4WwqovZsQTWC/Zw63CEm5N51CTvIB5Sbty4UKNX2Q== dependencies: decompress-zip "0.3.0" fs-extra "0.26.7" @@ -1995,19 +2177,18 @@ mksnapshot@^0.3.0: monaco-editor@^0.10.1: version "0.10.1" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.10.1.tgz#8c96c4f15b6b5258bf92cbde93cad8a7e3007e14" + resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.10.1.tgz" + integrity sha512-cAd8PNlDnX6C6RQgv6dbddgg7oeAwKYB8OijP7HRiUA0Og+7XOs+SYZeZ4CzyYlkaHqHrzNVgjw7UjGIldA7bA== ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -nan@^2.3.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== nanomatch@^1.2.5: version "1.2.7" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.7.tgz#53cd4aa109ff68b7f869591fdc9d10daeeea3e79" + resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz" + integrity sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -2021,44 +2202,24 @@ nanomatch@^1.2.5: snapdragon "^0.8.1" to-regex "^3.0.1" -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" - dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - nopt@^3.0.1: version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + resolved "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" + integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== dependencies: abbrev "1" -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - nopt@~1.0.10: version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + resolved "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== dependencies: abbrev "1" normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz" + integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" @@ -2067,28 +2228,22 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package- normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== dependencies: remove-trailing-separator "^1.0.1" npm-run-path@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== dependencies: path-key "^2.0.0" -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - nugget@^2.0.0, nugget@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/nugget/-/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0" + resolved "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz" + integrity sha512-4KCQZJuw6bdKTIWZYMN9Q//ust0W7CT0UDy7Y/l5KbJEFM/fQpqKIRTtHujRh9lqBkQm06k+driOS6rB5RgMzQ== dependencies: debug "^2.1.3" minimist "^1.1.0" @@ -2100,19 +2255,23 @@ nugget@^2.0.0, nugget@^2.0.1: number-is-nan@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== -oauth-sign@~0.8.1, oauth-sign@~0.8.2: +oauth-sign@~0.8.1: version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" + integrity sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg== -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.0.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-copy@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" @@ -2120,79 +2279,80 @@ object-copy@^0.1.0: object-keys@~0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" + integrity sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== object-visit@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== dependencies: isobject "^3.0.0" object.omit@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + resolved "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz" + integrity sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA== dependencies: for-own "^0.1.4" is-extendable "^0.1.1" object.pick@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== dependencies: isobject "^3.0.1" -once@^1.3.0, once@^1.3.3: +once@^1.3.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - os-locale@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + resolved "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== dependencies: execa "^0.7.0" lcid "^1.0.0" mem "^1.1.0" -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1: +os-tmpdir@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== p-limit@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz" + integrity sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng== dependencies: p-try "^1.0.0" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== package-json@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + resolved "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz" + integrity sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA== dependencies: got "^6.7.1" registry-auth-token "^3.0.1" @@ -2201,13 +2361,15 @@ package-json@^4.0.0: parse-color@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-color/-/parse-color-1.0.0.tgz#7b748b95a83f03f16a94f535e52d7f3d94658619" + resolved "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz" + integrity sha512-fuDHYgFHJGbpGMgw9skY/bj3HL/Jrn4l/5rSspy00DoT4RyLnDcRvPxdZ+r6OFwIsgAuhDh4I09tAId4mI12bw== dependencies: color-convert "~0.5.0" parse-glob@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + resolved "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz" + integrity sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA== dependencies: glob-base "^0.3.0" is-dotfile "^1.0.0" @@ -2216,47 +2378,57 @@ parse-glob@^3.0.4: parse-json@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== dependencies: error-ex "^1.2.0" pascalcase@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== path-dirname@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== path-exists@^2.0.0, path-exists@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-is-inside@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== path-key@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-parse@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz" + integrity sha512-u4e4H/UUeMbJ1UnBnePf6r4cm4fFZs57BMocUSFeea807JTYk2HJnE9GjUpWHaDZk1OQGoArnWW1yEo9nd57ww== path-type@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== dependencies: graceful-fs "^4.1.2" pify "^2.0.0" @@ -2264,37 +2436,40 @@ path-type@^1.0.0: pend@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== performance-now@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz" + integrity sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg== pify@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== plist@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/plist/-/plist-2.1.0.tgz#57ccdb7a0821df21831217a3cad54e3e146a1025" + resolved "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz" + integrity sha512-yirJ+8SSb8o7pkfyNv+fTzUP0GbK52HMvh0MjMycCxvpL8rHiAfKhXU/3R5znSJnrGakV0WNZhr8yTR4//PjyA== dependencies: base64-js "1.2.0" xmlbuilder "8.2.2" @@ -2302,78 +2477,89 @@ plist@^2.1.0: posix-character-classes@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== prepend-http@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz" + integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg== preserve@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + resolved "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz" + integrity sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ== pretty-bytes@^1.0.2: version "1.0.4" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" + resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz" + integrity sha512-LNisJvAjy+hruxp3GV4IkZZscTI34+ISfeM1hesB9V6ezIDfXYrBi9TIXVjjMcEB4QFN7tL+dFDEk4s8jMBMyA== dependencies: get-stdin "^4.0.1" meow "^3.1.0" process-nextick-args@~1.0.6: version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + integrity sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw== process@~0.5.1: version "0.5.2" - resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + resolved "https://registry.npmjs.org/process/-/process-0.5.2.tgz" + integrity sha512-oNpcutj+nYX2FjdEW7PGltWhXulAnFlM0My/k48L90hARCOJtvBbQXc/6itV2jDvU5xAAtonP+r6wmQgCcbAUA== progress-stream@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/progress-stream/-/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77" + resolved "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz" + integrity sha512-MIBPjZz6oGNSw5rn2mSp+nP9FGoaVo6QsPyPVEaD4puilz5hZNa3kfnrlqRNYFsugslbU3An4mnkLLtZOaWvrA== dependencies: speedometer "~0.1.2" through2 "~0.2.3" promise@^7.1.1: version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" prr@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== pseudomap@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== punycode@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== q@^1.1.2: version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qs@~6.4.0: version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -qs@~6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + resolved "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz" + integrity sha512-Qs6dfgR5OksK/PSxl1kGxiZgEQe8RqJMB9wZqVlKQfU+zzV+HY77pWJnoJENACKDQByWdpr8ZPIh1TBi4lpiSQ== randomatic@^1.1.3: version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + resolved "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz" + integrity sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how== dependencies: is-number "^3.0.0" kind-of "^4.0.0" -rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.1.7, rc@^1.2.1: +rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.2.1: version "1.2.5" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz" + integrity sha512-W9DW3KA9AMPhH/9ptNc+yy6BgL8xSAJINMdA8NRi3XKbb3FFUp/szBcNb4BdV3VAma8CinXnWxlrPjP5tEGBug== dependencies: deep-extend "~0.4.0" ini "~1.3.0" @@ -2382,7 +2568,8 @@ rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.1.7, rc@^1.2.1: read-config-file@2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-2.1.1.tgz#bd6c2b93e97a82a35f71a3c9eb43161e16692054" + resolved "https://registry.npmjs.org/read-config-file/-/read-config-file-2.1.1.tgz" + integrity sha512-tzV5MRYA1OIbjy0ZC3cKlQZMLyRYMJ7k37Inff0CH0fQGXFP9p0s0eJ3bQxnnvQDhPSspnW9fw9v2K0b+6TODg== dependencies: ajv "^5.5.0" ajv-keywords "^2.1.0" @@ -2396,31 +2583,35 @@ read-config-file@2.1.1: read-pkg-up@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== dependencies: find-up "^1.0.0" read-pkg "^1.0.0" read-pkg@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" path-type "^1.0.0" -readable-stream@^1.1.8, readable-stream@~1.1.9: +readable-stream@^1.1.8: version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== dependencies: core-util-is "~1.0.0" inherits "~2.0.1" isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2: +readable-stream@^2.0.2, readable-stream@^2.2.2: version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" + integrity sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -2430,9 +2621,20 @@ readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable string_decoder "~1.0.3" util-deprecate "~1.0.1" +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz" + integrity sha512-LgQ8mdp6hbxJUZz27qxVl7gmFM/0DfHRO52c5RUbKAgMvr81tour7YYWW1JYNmrXyD/o0Myy9/DC3fUYkqnyzg== dependencies: graceful-fs "^4.1.2" minimatch "^3.0.2" @@ -2441,63 +2643,74 @@ readdirp@^2.0.0: rechoir@^0.6.2: version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== dependencies: resolve "^1.1.6" redent@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + resolved "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" + integrity sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g== dependencies: indent-string "^2.1.0" strip-indent "^1.0.1" regex-cache@^0.4.2: version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + resolved "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== dependencies: is-equal-shallow "^0.1.3" regex-not@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.0.tgz#42f83e39771622df826b02af176525d6a5f157f9" + resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz" + integrity sha512-bZ6ng7U/JpG63F9+br3N+dh8QsE1Jm24CEXfUir8lyvZRYZsbQyNy5gflhttrAlmjMtE1JTSKQCx5aVGQGWRKA== dependencies: extend-shallow "^2.0.1" registry-auth-token@^3.0.1: version "3.3.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" + resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz" + integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== dependencies: rc "^1.1.6" safe-buffer "^5.0.1" registry-url@^3.0.3: version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + resolved "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz" + integrity sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA== dependencies: rc "^1.0.1" remove-trailing-separator@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== repeat-element@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" + integrity sha512-PJn5P/wQgXwp0Bpmzv9JU693QYky9P5bwntpuw8SsMXgUZHlcEyr9Vajgp/zhGSFX56/lv9Bz2k9mKrkpxLI4A== repeat-string@^1.5.2, repeat-string@^1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== repeating@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" + integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== dependencies: is-finite "^1.0.0" -request@2.81.0: +request@^2.45.0, request@^2.79.0, request@2.81.0: version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + resolved "https://registry.npmjs.org/request/-/request-2.81.0.tgz" + integrity sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw== dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -2522,104 +2735,92 @@ request@2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@^2.45.0, request@^2.79.0: - version "2.83.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-main-filename@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" + integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== resolve-url@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== resolve@^1.1.6: version "1.5.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz" + integrity sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw== dependencies: path-parse "^1.0.5" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: +rimraf@^2.2.8: version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz" + integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== dependencies: glob "^7.0.5" rxjs@^5.5.6: version "5.5.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.6.tgz#e31fb96d6fd2ff1fd84bcea8ae9c02d007179c02" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz" + integrity sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg== dependencies: symbol-observable "1.0.1" -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== sanitize-filename@^1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.1.tgz#612da1c96473fa02dccda92dcd5b4ab164a6772a" + resolved "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz" + integrity sha512-XJty6Im+yPTLWiF7mW6BeZogNpYLk4jCSHJh1Xm8MyTcjajC1NDB/SwJEN5rDop3hp0AV2FFipwaTnmtKJMyRQ== dependencies: truncate-utf8-bytes "^1.0.0" sax@^1.2.4: version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== semver-diff@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz" + integrity sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw== dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: +semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, "semver@2 || 3 || 4 || 5": version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + resolved "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz" + integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== set-getter@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" + resolved "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz" + integrity sha512-lIj6AWViymAQLQyq1qehP44w4iGbSv6pYOKRQCDzqlmxctLyCrecuge0bxRPrNSnV8EeMHKR2fVTRl3LniQLNg== dependencies: to-object-path "^0.3.0" set-immediate-shim@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + resolved "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz" + integrity sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ== set-value@^0.4.3: version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + resolved "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz" + integrity sha512-2Z0LRUUvYeF7gIFFep48ksPq0NR09e5oKoFXznaMGNcu+EZAfGnyL0K6xno2gCqX6dZYEZRjrcn04/gvZzcKhQ== dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -2628,7 +2829,8 @@ set-value@^0.4.3: set-value@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -2637,17 +2839,20 @@ set-value@^2.0.0: shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== "shelljs@>= 0.4.0": version "0.8.1" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.1.tgz#729e038c413a2254c4078b95ed46e0397154a9f1" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz" + integrity sha512-YA/iYtZpzFe5HyWVGrb02FjPxc4EMCfpoU/Phg9fQoyMC72u9598OUBrsU8IrtwAKG0tO8IYaqbaLIw+k3IRGA== dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -2655,17 +2860,20 @@ shebang-regex@^1.0.0: signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" + integrity sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA== single-line-log@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-1.1.2.tgz#c2f83f273a3e1a16edb0995661da0ed5ef033364" + resolved "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz" + integrity sha512-awzaaIPtYFdexLr6TBpcZSGPB6D1RInNO/qNetgaJloPDF/D0GkVtLvGEp8InfmLV7CyLyQ5fIRP+tVN/JmWQA== dependencies: string-width "^1.0.1" snapdragon-node@^2.0.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== dependencies: define-property "^1.0.0" isobject "^3.0.0" @@ -2673,13 +2881,15 @@ snapdragon-node@^2.0.1: snapdragon-util@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== dependencies: kind-of "^3.2.0" snapdragon@^0.8.1: version "0.8.1" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370" + resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz" + integrity sha512-fdVXpAHhS009K1+ldH0ZNPLgRK8TNw6KyOMohBhzufiYrVI2v/zIhQ16/W9mdKB7vrAJhYCtvmdSjnZGbG7/Zg== dependencies: base "^0.11.1" debug "^2.2.0" @@ -2692,19 +2902,15 @@ snapdragon@^0.8.1: sntp@1.x.x: version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + resolved "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + integrity sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A== dependencies: hoek "2.x.x" -sntp@2.x.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" - dependencies: - hoek "4.x.x" - source-map-resolve@^0.5.0: version "0.5.1" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" + resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz" + integrity sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A== dependencies: atob "^2.0.0" decode-uri-component "^0.2.0" @@ -2714,53 +2920,64 @@ source-map-resolve@^0.5.0: source-map-support@^0.5.3: version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz" + integrity sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w== dependencies: source-map "^0.6.0" source-map-url@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz" + integrity sha512-liJwHPI9x9d9w5WSIjM58MqGmmb7XzNqwdUA3kSBQ4lmDngexlKwawGzK3J1mKXi6+sysoMDlpVyZh9sv5vRfw== source-map@^0.5.3, source-map@^0.5.6: version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spdx-correct@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz" + integrity sha512-A6UuuDdsSvKK2bqmUetv33zJVv0iczyaQZ536YL9+GAvbC4HceGKvXDtptnU9YZ/zGgryaFFsR4YaUCq+N/53g== dependencies: spdx-license-ids "^1.0.2" spdx-expression-parse@~1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz" + integrity sha512-xMXXC4eLKaIskvZm89nZi/MstVv1UtGk3nJz9BBKjreMVyoWisWFKfboH+kJS97+wUyBLpO/8ghV9M5VvrwwrA== spdx-license-ids@^1.0.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz" + integrity sha512-qIBFhkh6ILCWNeWEe3ODFPKDYhPJrZpqdNCI2Z+w9lNdH5hoVEkfRLLbRfoIi8fb4xRYmpEOaaMH4G2pwYp/iQ== speedometer@~0.1.2: version "0.1.4" - resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d" + resolved "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz" + integrity sha512-phdEoDlA6EUIVtzwq1UiNMXDUogczp204aYF/yfOhjNePWFfIpBJ1k5wLMuXQhEOOMjuTJEcc4vdZa+vuP+n/Q== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== dependencies: extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== sshpk@^1.7.0: version "1.13.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" + resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz" + integrity sha512-oKPL4k+ld5d737ZPB4VM99bqNb3JH+ZkxwWXR1iSPtqYbZv81hkLD7v8gmclrgR7aA8uh8ar+q0IF7gHFHg7PQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -2774,123 +2991,128 @@ sshpk@^1.7.0: stat-mode@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" + resolved "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz" + integrity sha512-o+7DC0OM5Jt3+gratXXqfXf62V/CBoqQbT7Kp7jCxTYW2PLOB2/ZSGIfm9T5/QZe1Vw1MCbu6DoB6JnhVtxcJw== static-extend@^0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== dependencies: define-property "^0.2.5" object-copy "^0.1.0" -string-width@^1.0.1, string-width@^1.0.2: +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" + integrity sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ== + dependencies: + safe-buffer "~5.1.0" + +string-width@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0, string-width@^2.1.1: +string-width@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: - safe-buffer "~5.1.0" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" -stringstream@~0.0.4, stringstream@~0.0.5: +stringstream@~0.0.4: version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + resolved "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + integrity sha512-QUQ1kThMjLRt4jA8lsn9lyIkE9bKafE7LDOL/nBBUY9Tfv2i3x1NAsVHG0uMCusFOWeeI6COhY/F20+avxRWSw== strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== dependencies: ansi-regex "^3.0.0" strip-bom@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== dependencies: is-utf8 "^0.2.0" strip-eof@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== strip-indent@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + integrity sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA== dependencies: get-stdin "^4.0.1" strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== sumchecker@^1.2.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-1.3.1.tgz#79bb3b4456dd04f18ebdbc0d703a1d1daec5105d" + resolved "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz" + integrity sha512-ZfWTnMBdeHaXR7ncH96vRUI07B+wLuXxGPGUMR+EM4QJRJoD535ALIdpc+vHB8eA+1DXJztu3CgHZ1zEhbDF4A== dependencies: debug "^2.2.0" es6-promise "^4.0.5" sumchecker@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e" + resolved "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz" + integrity sha512-16O54scwFPgX60Of/+QJSufmklGqnHZyBK6uewBvtcp3VxT5RM65c/OnGCeEPnjBF8TJoO5Pf6gHAOXfxIjNpA== dependencies: debug "^2.2.0" supports-color@^4.0.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" + integrity sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw== dependencies: has-flag "^2.0.0" symbol-observable@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz" + integrity sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw== temp-file@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.1.1.tgz#8823649aa4e8a6e419eb71b601a2e4d472b0f24f" + resolved "https://registry.npmjs.org/temp-file/-/temp-file-3.1.1.tgz" + integrity sha512-W/6SJgtg2SE/5rxgwUwoDhdSXrvUWQBpgKJglaAe6S7mk1kLkI+LUbY/jPZBu3UhydDJZstNNd7AJhnZ0UZHtw== dependencies: async-exit-hook "^2.0.1" bluebird-lst "^1.0.5" @@ -2899,47 +3121,55 @@ temp-file@^3.1.1: term-size@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + resolved "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz" + integrity sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ== dependencies: execa "^0.7.0" throttleit@0.0.2: version "0.0.2" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf" + resolved "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz" + integrity sha512-HtlTFeyYs1elDM2txiIGsdXHaq8kffVaZH/QEBRbo95zQqzlsBx5ELKhkPOZVad9OK9oxzwx6UrQN8Vfh/+yag== through2@~0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f" + resolved "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz" + integrity sha512-mLa8Bn2mZurjyomGKWRu3Bo2mvoQojFks9NvOK8H+k4kDJNkdEqG522KFZsEFBEl6rKkxTgFbE5+OPcgfvPEHA== dependencies: readable-stream "~1.1.9" xtend "~2.1.1" timed-out@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" + integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== tmp@0.0.28: version "0.0.28" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz" + integrity sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg== dependencies: os-tmpdir "~1.0.1" to-object-path@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== dependencies: is-number "^3.0.0" repeat-string "^1.6.1" to-regex@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae" + resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz" + integrity sha512-lSIz7PKxfLbP/dbEiTKL9Ove+h5AZ1VwI4TB3rF619tU4mFPvtA8tDuf3skAuKYtvZ3+zTqENZs07xyynLHswg== dependencies: define-property "^0.2.5" extend-shallow "^2.0.1" @@ -2947,63 +3177,71 @@ to-regex@^3.0.1: touch@0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/touch/-/touch-0.0.3.tgz#51aef3d449571d4f287a5d87c9c8b49181a0db1d" + resolved "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz" + integrity sha512-/LQ54KM9rPf3rGXGo2UPQWx3ol242Zg6Whq27H5DEmZhCJo+pm9N5BzRGepO9vTVhYxpXJdcc1+3uaYt9NyeKg== dependencies: nopt "~1.0.10" -tough-cookie@~2.3.0, tough-cookie@~2.3.3: +tough-cookie@~2.3.0: version "2.3.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz" + integrity sha512-WR9pjSY3qO0z3yC6g33CRcVt2Wbevh0gP1XiSFql0/xRioi9qbDs3C+g4Nv2N8jmv/BloIi/SYoy/mfw5vus2A== dependencies: punycode "^1.4.1" "traverse@>=0.3.0 <0.4": version "0.3.9" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz" + integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== trim-newlines@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + integrity sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw== truncate-utf8-bytes@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + resolved "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== dependencies: utf8-byte-length "^1.0.1" tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript@^2.7.2: version "2.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" + resolved "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz" + integrity sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw== uc.micro@^1.0.1, uc.micro@^1.0.3: version "1.0.5" - resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.5.tgz#0c65f15f815aa08b560a61ce8b4db7ffc3f45376" - -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz" + integrity sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg== underscore.string@2.3.x: version "2.3.3" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.3.3.tgz#71c08bf6b428b1133f37e78fa3a21c82f7329b0d" + resolved "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" + integrity sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg== union-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz" + integrity sha512-gKXL/GYJJ6/EUcUoTJ0wvupGylrP1Q0QhkgTMixasTn8J5mEZY3fbcj25gOL3opWToztz7/BUHGm78npw7J57Q== dependencies: arr-union "^3.1.0" get-value "^2.0.6" @@ -3012,35 +3250,41 @@ union-value@^1.0.0: unique-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz" + integrity sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg== dependencies: crypto-random-string "^1.0.0" universalify@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz" + integrity sha512-MVi79HEPwGk0grI7/Kl6H51fX7wcDTe6gGoCdK22pkRG6IPsi9L6NltClWJfBLUoIE5y3pKy3SplFAs/b0G+QQ== unset-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== dependencies: has-value "^0.3.1" isobject "^3.0.0" unzip-response@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + resolved "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz" + integrity sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw== upath@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.0.tgz#b4706b9461ca8473adf89133d235689ca17f3656" + resolved "https://registry.npmjs.org/upath/-/upath-1.0.0.tgz" + integrity sha512-0vACkN+o0lRwiR2jnvY3eaKyqlpWEbR3W3CXpCMSzOPmSGK4Q7X3fLPJwGT6MCJAATkU5LhGma7ZHNjC7TbYxQ== dependencies: lodash "3.x" underscore.string "2.3.x" update-notifier@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz" + integrity sha512-KBLtk9uq+79OJkHB+hdxbikPrYwPc1JoiSbpU/bKknBG3z2gzFzYabHI7jNkQXzMDqipUnvNsKnowCq6PoEakg== dependencies: boxen "^1.2.1" chalk "^2.0.1" @@ -3054,17 +3298,20 @@ update-notifier@^2.3.0: urix@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== url-parse-lax@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz" + integrity sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA== dependencies: prepend-http "^1.0.1" use@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" + resolved "https://registry.npmjs.org/use/-/use-2.0.2.tgz" + integrity sha512-RrhWfFWkNCz3djfSFZh7uSwu491QRhwNaHyAgB2sGl4kmmznb5ZUuuHpiWLVEsXOdpDakYK/x5+9o4lgg41UMw== dependencies: define-property "^0.2.5" isobject "^3.0.0" @@ -3072,26 +3319,31 @@ use@^2.0.0: utf8-byte-length@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" + resolved "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz" + integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uuid@^3.0.0, uuid@^3.1.0: +uuid@^3.0.0: version "3.2.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz" + integrity sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA== validate-npm-package-license@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" + integrity sha512-VD0zBfAttoSxzPa+I+rF6ckOEEPSbifYNTSgRW5BsyfaD7gSE/uge00r2Xqa0d/yhF1MyHnMPHqLUdQRNimR2A== dependencies: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" verror@1.10.0: version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" @@ -3099,40 +3351,40 @@ verror@1.10.0: which-module@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== which@^1.2.9: version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + resolved "https://registry.npmjs.org/which/-/which-1.3.0.tgz" + integrity sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg== dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" - dependencies: - string-width "^1.0.2" - widest-line@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz" + integrity sha512-qtJMTOlxGeYU2euDtbbhxBMCSDM02Yd+0W1CShkwpf4mufD9Jmc33cdQjYyZXSHvArpEhlaCqI/gxob/J4/AyA== dependencies: string-width "^2.1.1" wrap-ansi@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" + integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz" + integrity sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA== dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -3140,43 +3392,52 @@ write-file-atomic@^2.0.0: xdg-basedir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz" + integrity sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ== xmlbuilder@8.2.2: version "8.2.2" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz" + integrity sha512-eKRAFz04jghooy8muekqzo8uCSVNeyRedbuJrp0fovbLIi7wlsYtdUn3vBAAPq2Y3/0xMz2WMEUQ8yhVVO9Stw== xmldom@0.1.x: version "0.1.27" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz" + integrity sha512-7WpJBYwyhvsddFJA51SOIU0Be9W44sbGGjc6Z3ly8Wx/Wl7nriMPZ5xf6Np9ASlJ6gACfXcTLukm4DtX372lFw== xtend@~2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + resolved "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz" + integrity sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== dependencies: object-keys "~0.4.0" xterm@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/xterm/-/xterm-3.2.0.tgz#da50f54a83d81463c0a2c9f2e0a5d14d3867df02" + resolved "https://registry.npmjs.org/xterm/-/xterm-3.2.0.tgz" + integrity sha512-WH1V7eOwybpZoms8zQmMsAVcF3NlW3bVUdftCRt7TYs1E7tYgr59QknJ/pfVqQh5Ao8I8XiPGVKn//6U/yJ9ew== y18n@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz" + integrity sha512-Vd1yWKYGMtzFB6bAuTI7/POwJnwQStQXOe1PW1GmjUZgkaKYGc6/Pl3IDGFgplEklF65niuwBHeS5yve4+U01Q== yallist@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== yargs-parser@^9.0.2: version "9.0.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz" + integrity sha512-CswCfdOgCr4MMsT1GzbEJ7Z2uYudWyrGX8Bgh/0eyCzj/DXWdKq6a/ADufkzI1WAOIW6jYaXJvRyLhDO0kfqBw== dependencies: camelcase "^4.1.0" yargs@^11.0.0: version "11.0.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" + resolved "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz" + integrity sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw== dependencies: cliui "^4.0.0" decamelize "^1.1.1" @@ -3193,6 +3454,7 @@ yargs@^11.0.0: yauzl@2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" + resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz" + integrity sha512-TXNR2Feu/p/8k5YRy4z45wCUhoncIrZywmRd+xW0IvB3lWTAM7F6wVbeJvRjO0dplQ8oqmJEj/TpJuULBV/hbw== dependencies: fd-slicer "~1.0.1" diff --git a/ControlR/vcpkg.json b/ControlR/vcpkg.json new file mode 100644 index 00000000..4b3fb5d3 --- /dev/null +++ b/ControlR/vcpkg.json @@ -0,0 +1,5 @@ +{ + "dependencies": [ + "protobuf" + ] +} diff --git a/PB/variable.pb.cc b/PB/variable.pb.cc index e67449ee..00cfac1c 100644 --- a/PB/variable.pb.cc +++ b/PB/variable.pb.cc @@ -1,9349 +1,8107 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: variable.proto +// Protobuf C++ Version: 5.29.5 #include "variable.pb.h" #include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -// This is a temporary google only hack -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS -#include "third_party/protobuf/version.h" -#endif +#include +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/generated_message_tctable_impl.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" // @@protoc_insertion_point(includes) -namespace BERTBuffers { -class ComplexDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _Complex_default_instance_; -class ArrayDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _Array_default_instance_; -class ErrorDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _Error_default_instance_; -class SheetReferenceDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _SheetReference_default_instance_; -class VariableDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; - bool nil_; - bool missing_; - const ::BERTBuffers::Error* err_; - ::google::protobuf::int32 integer_; - double real_; - ::google::protobuf::internal::ArenaStringPtr str_; - bool boolean_; - const ::BERTBuffers::Complex* cpx_; - const ::BERTBuffers::Array* arr_; - const ::BERTBuffers::SheetReference* ref_; - const ::BERTBuffers::ExternalPointer* com_pointer_; - const ::BERTBuffers::GraphicsUpdate* graphics_; - ::google::protobuf::uint32 cache_reference_; -} _Variable_default_instance_; -class CodeDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _Code_default_instance_; -class CompositeFunctionCallDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _CompositeFunctionCall_default_instance_; -class GraphicsUpdateDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _GraphicsUpdate_default_instance_; -class GraphicsCommandDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _GraphicsCommand_default_instance_; -class ColorDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _Color_default_instance_; -class GraphicsContextDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _GraphicsContext_default_instance_; -class MIMEDataDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _MIMEData_default_instance_; -class ConsoleDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; - ::google::protobuf::internal::ArenaStringPtr text_; - ::google::protobuf::internal::ArenaStringPtr err_; - ::google::protobuf::internal::ArenaStringPtr prompt_; - const ::BERTBuffers::GraphicsCommand* graphics_; - const ::BERTBuffers::MIMEData* mime_data_; - const ::BERTBuffers::Variable* history_; -} _Console_default_instance_; -class FunctionElementDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _FunctionElement_default_instance_; -class FunctionDescriptorDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _FunctionDescriptor_default_instance_; -class FunctionListDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _FunctionList_default_instance_; -class EnumValueDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _EnumValue_default_instance_; -class EnumTypeDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _EnumType_default_instance_; -class ExternalPointerDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _ExternalPointer_default_instance_; -class CallResponseDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; - ::google::protobuf::internal::ArenaStringPtr err_; - const ::BERTBuffers::Variable* result_; - const ::BERTBuffers::Console* console_; - const ::BERTBuffers::Code* code_; - ::google::protobuf::internal::ArenaStringPtr shell_command_; - const ::BERTBuffers::CompositeFunctionCall* function_call_; - const ::BERTBuffers::FunctionList* function_list_; - ::google::protobuf::uint32 user_command_; -} _CallResponse_default_instance_; -} // namespace BERTBuffers -namespace protobuf_variable_2eproto { -void InitDefaultsComplexImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::BERTBuffers::_Complex_default_instance_; - new (ptr) ::BERTBuffers::Complex(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::Complex::InitAsDefaultInstance(); -} - -void InitDefaultsComplex() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsComplexImpl); -} - -void InitDefaultsArrayImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_variable_2eproto::InitDefaultsEnumType(); - protobuf_variable_2eproto::InitDefaultsError(); - protobuf_variable_2eproto::InitDefaultsComplex(); - protobuf_variable_2eproto::InitDefaultsSheetReference(); - protobuf_variable_2eproto::InitDefaultsGraphicsUpdate(); - { - void* ptr = &::BERTBuffers::_Array_default_instance_; - new (ptr) ::BERTBuffers::Array(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - { - void* ptr = &::BERTBuffers::_Variable_default_instance_; - new (ptr) ::BERTBuffers::Variable(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - { - void* ptr = &::BERTBuffers::_FunctionElement_default_instance_; - new (ptr) ::BERTBuffers::FunctionElement(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - { - void* ptr = &::BERTBuffers::_FunctionDescriptor_default_instance_; - new (ptr) ::BERTBuffers::FunctionDescriptor(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - { - void* ptr = &::BERTBuffers::_ExternalPointer_default_instance_; - new (ptr) ::BERTBuffers::ExternalPointer(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::Array::InitAsDefaultInstance(); - ::BERTBuffers::Variable::InitAsDefaultInstance(); - ::BERTBuffers::FunctionElement::InitAsDefaultInstance(); - ::BERTBuffers::FunctionDescriptor::InitAsDefaultInstance(); - ::BERTBuffers::ExternalPointer::InitAsDefaultInstance(); -} - -void InitDefaultsArray() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsArrayImpl); -} - -void InitDefaultsErrorImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::BERTBuffers::_Error_default_instance_; - new (ptr) ::BERTBuffers::Error(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::Error::InitAsDefaultInstance(); -} - -void InitDefaultsError() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsErrorImpl); -} - -void InitDefaultsSheetReferenceImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::BERTBuffers::_SheetReference_default_instance_; - new (ptr) ::BERTBuffers::SheetReference(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::SheetReference::InitAsDefaultInstance(); -} - -void InitDefaultsSheetReference() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSheetReferenceImpl); -} - -void InitDefaultsCodeImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::BERTBuffers::_Code_default_instance_; - new (ptr) ::BERTBuffers::Code(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::Code::InitAsDefaultInstance(); -} - -void InitDefaultsCode() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCodeImpl); -} -void InitDefaultsCompositeFunctionCallImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_variable_2eproto::InitDefaultsArray(); - { - void* ptr = &::BERTBuffers::_CompositeFunctionCall_default_instance_; - new (ptr) ::BERTBuffers::CompositeFunctionCall(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::CompositeFunctionCall::InitAsDefaultInstance(); -} - -void InitDefaultsCompositeFunctionCall() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCompositeFunctionCallImpl); -} - -void InitDefaultsGraphicsUpdateImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::BERTBuffers::_GraphicsUpdate_default_instance_; - new (ptr) ::BERTBuffers::GraphicsUpdate(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::GraphicsUpdate::InitAsDefaultInstance(); -} - -void InitDefaultsGraphicsUpdate() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsGraphicsUpdateImpl); -} - -void InitDefaultsGraphicsCommandImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_variable_2eproto::InitDefaultsGraphicsContext(); - { - void* ptr = &::BERTBuffers::_GraphicsCommand_default_instance_; - new (ptr) ::BERTBuffers::GraphicsCommand(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::GraphicsCommand::InitAsDefaultInstance(); -} - -void InitDefaultsGraphicsCommand() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsGraphicsCommandImpl); -} - -void InitDefaultsColorImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace BERTBuffers { -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::BERTBuffers::_Color_default_instance_; - new (ptr) ::BERTBuffers::Color(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::Color::InitAsDefaultInstance(); -} +inline constexpr SheetReference::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : start_row_{0u}, + start_column_{0u}, + end_row_{0u}, + end_column_{0u}, + sheet_id_{::uint64_t{0u}}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR SheetReference::SheetReference(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SheetReferenceDefaultTypeInternal { + PROTOBUF_CONSTEXPR SheetReferenceDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SheetReferenceDefaultTypeInternal() {} + union { + SheetReference _instance; + }; +}; -void InitDefaultsColor() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsColorImpl); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SheetReferenceDefaultTypeInternal _SheetReference_default_instance_; + +inline constexpr MIMEData::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : mime_type_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + data_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR MIMEData::MIMEData(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct MIMEDataDefaultTypeInternal { + PROTOBUF_CONSTEXPR MIMEDataDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~MIMEDataDefaultTypeInternal() {} + union { + MIMEData _instance; + }; +}; -void InitDefaultsGraphicsContextImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MIMEDataDefaultTypeInternal _MIMEData_default_instance_; + +inline constexpr GraphicsUpdate::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + path_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + command_{static_cast< ::BERTBuffers::GraphicsUpdateCommand >(0)}, + width_{0u}, + height_{0u}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR GraphicsUpdate::GraphicsUpdate(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct GraphicsUpdateDefaultTypeInternal { + PROTOBUF_CONSTEXPR GraphicsUpdateDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~GraphicsUpdateDefaultTypeInternal() {} + union { + GraphicsUpdate _instance; + }; +}; -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_variable_2eproto::InitDefaultsColor(); - { - void* ptr = &::BERTBuffers::_GraphicsContext_default_instance_; - new (ptr) ::BERTBuffers::GraphicsContext(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::GraphicsContext::InitAsDefaultInstance(); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GraphicsUpdateDefaultTypeInternal _GraphicsUpdate_default_instance_; + +inline constexpr Error::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : message_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + type_{static_cast< ::BERTBuffers::ErrorType >(0)}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR Error::Error(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ErrorDefaultTypeInternal { + PROTOBUF_CONSTEXPR ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ErrorDefaultTypeInternal() {} + union { + Error _instance; + }; +}; -void InitDefaultsGraphicsContext() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsGraphicsContextImpl); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ErrorDefaultTypeInternal _Error_default_instance_; + +inline constexpr EnumValue::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + value_{0}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR EnumValue::EnumValue(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct EnumValueDefaultTypeInternal { + PROTOBUF_CONSTEXPR EnumValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~EnumValueDefaultTypeInternal() {} + union { + EnumValue _instance; + }; +}; -void InitDefaultsMIMEDataImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueDefaultTypeInternal _EnumValue_default_instance_; + +inline constexpr Complex::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : r_{0}, + i_{0}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR Complex::Complex(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ComplexDefaultTypeInternal { + PROTOBUF_CONSTEXPR ComplexDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ComplexDefaultTypeInternal() {} + union { + Complex _instance; + }; +}; -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::BERTBuffers::_MIMEData_default_instance_; - new (ptr) ::BERTBuffers::MIMEData(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::MIMEData::InitAsDefaultInstance(); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ComplexDefaultTypeInternal _Complex_default_instance_; + +inline constexpr Color::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : a_{0u}, + r_{0u}, + g_{0u}, + b_{0u}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR Color::Color(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ColorDefaultTypeInternal { + PROTOBUF_CONSTEXPR ColorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ColorDefaultTypeInternal() {} + union { + Color _instance; + }; +}; -void InitDefaultsMIMEData() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsMIMEDataImpl); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColorDefaultTypeInternal _Color_default_instance_; + +inline constexpr Code::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : line_{}, + startup_{false}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR Code::Code(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct CodeDefaultTypeInternal { + PROTOBUF_CONSTEXPR CodeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~CodeDefaultTypeInternal() {} + union { + Code _instance; + }; +}; -void InitDefaultsConsoleImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeDefaultTypeInternal _Code_default_instance_; + +inline constexpr GraphicsContext::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + fontfamily_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + col_{nullptr}, + fill_{nullptr}, + gamma_{0}, + lwd_{0}, + lty_{0}, + lend_{0}, + lmitre_{0}, + cex_{0}, + ljoin_{0}, + fontface_{0}, + ps_{0}, + lineheight_{0} {} + +template +PROTOBUF_CONSTEXPR GraphicsContext::GraphicsContext(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct GraphicsContextDefaultTypeInternal { + PROTOBUF_CONSTEXPR GraphicsContextDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~GraphicsContextDefaultTypeInternal() {} + union { + GraphicsContext _instance; + }; +}; -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_variable_2eproto::InitDefaultsGraphicsCommand(); - protobuf_variable_2eproto::InitDefaultsMIMEData(); - protobuf_variable_2eproto::InitDefaultsArray(); - { - void* ptr = &::BERTBuffers::_Console_default_instance_; - new (ptr) ::BERTBuffers::Console(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::Console::InitAsDefaultInstance(); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GraphicsContextDefaultTypeInternal _GraphicsContext_default_instance_; + +inline constexpr EnumType::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : values_{}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR EnumType::EnumType(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct EnumTypeDefaultTypeInternal { + PROTOBUF_CONSTEXPR EnumTypeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~EnumTypeDefaultTypeInternal() {} + union { + EnumType _instance; + }; +}; -void InitDefaultsConsole() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsConsoleImpl); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumTypeDefaultTypeInternal _EnumType_default_instance_; + +inline constexpr GraphicsCommand::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + x_{}, + y_{}, + command_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + text_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + raster_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + device_type_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + context_{nullptr}, + r_{0}, + rot_{0}, + hadj_{0}, + filled_{false}, + interpolate_{false} {} + +template +PROTOBUF_CONSTEXPR GraphicsCommand::GraphicsCommand(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct GraphicsCommandDefaultTypeInternal { + PROTOBUF_CONSTEXPR GraphicsCommandDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~GraphicsCommandDefaultTypeInternal() {} + union { + GraphicsCommand _instance; + }; +}; -void InitDefaultsFunctionListImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GraphicsCommandDefaultTypeInternal _GraphicsCommand_default_instance_; + +inline constexpr Array::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : data_{}, + rownames_{}, + colnames_{}, + rows_{0}, + cols_{0}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR Array::Array(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ArrayDefaultTypeInternal { + PROTOBUF_CONSTEXPR ArrayDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ArrayDefaultTypeInternal() {} + union { + Array _instance; + }; +}; -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_variable_2eproto::InitDefaultsArray(); - { - void* ptr = &::BERTBuffers::_FunctionList_default_instance_; - new (ptr) ::BERTBuffers::FunctionList(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::FunctionList::InitAsDefaultInstance(); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ArrayDefaultTypeInternal _Array_default_instance_; + +inline constexpr ExternalPointer::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : functions_{}, + enums_{}, + interface_name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + pointer_{::uint64_t{0u}}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR ExternalPointer::ExternalPointer(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ExternalPointerDefaultTypeInternal { + PROTOBUF_CONSTEXPR ExternalPointerDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ExternalPointerDefaultTypeInternal() {} + union { + ExternalPointer _instance; + }; +}; -void InitDefaultsFunctionList() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsFunctionListImpl); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExternalPointerDefaultTypeInternal _ExternalPointer_default_instance_; + +inline constexpr FunctionDescriptor::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + arguments_{}, + category_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + function_{nullptr}, + call_type_{static_cast< ::BERTBuffers::CallType >(0)}, + flags_{0u} {} + +template +PROTOBUF_CONSTEXPR FunctionDescriptor::FunctionDescriptor(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct FunctionDescriptorDefaultTypeInternal { + PROTOBUF_CONSTEXPR FunctionDescriptorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FunctionDescriptorDefaultTypeInternal() {} + union { + FunctionDescriptor _instance; + }; +}; -void InitDefaultsEnumValueImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FunctionDescriptorDefaultTypeInternal _FunctionDescriptor_default_instance_; + +inline constexpr FunctionElement::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + type_name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + description_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + default_value_{nullptr}, + index_{0u} {} + +template +PROTOBUF_CONSTEXPR FunctionElement::FunctionElement(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct FunctionElementDefaultTypeInternal { + PROTOBUF_CONSTEXPR FunctionElementDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FunctionElementDefaultTypeInternal() {} + union { + FunctionElement _instance; + }; +}; -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::BERTBuffers::_EnumValue_default_instance_; - new (ptr) ::BERTBuffers::EnumValue(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::EnumValue::InitAsDefaultInstance(); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FunctionElementDefaultTypeInternal _FunctionElement_default_instance_; + +inline constexpr Variable::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + value_{}, + _cached_size_{0}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Variable::Variable(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct VariableDefaultTypeInternal { + PROTOBUF_CONSTEXPR VariableDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~VariableDefaultTypeInternal() {} + union { + Variable _instance; + }; +}; -void InitDefaultsEnumValue() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsEnumValueImpl); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VariableDefaultTypeInternal _Variable_default_instance_; + +inline constexpr FunctionList::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : functions_{}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR FunctionList::FunctionList(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct FunctionListDefaultTypeInternal { + PROTOBUF_CONSTEXPR FunctionListDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FunctionListDefaultTypeInternal() {} + union { + FunctionList _instance; + }; +}; -void InitDefaultsEnumTypeImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FunctionListDefaultTypeInternal _FunctionList_default_instance_; + +inline constexpr Console::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : message_{}, + _cached_size_{0}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Console::Console(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ConsoleDefaultTypeInternal { + PROTOBUF_CONSTEXPR ConsoleDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ConsoleDefaultTypeInternal() {} + union { + Console _instance; + }; +}; -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_variable_2eproto::InitDefaultsEnumValue(); - { - void* ptr = &::BERTBuffers::_EnumType_default_instance_; - new (ptr) ::BERTBuffers::EnumType(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::EnumType::InitAsDefaultInstance(); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConsoleDefaultTypeInternal _Console_default_instance_; + +inline constexpr CompositeFunctionCall::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : arguments_{}, + function_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + pointer_{::uint64_t{0u}}, + index_{0u}, + type_{static_cast< ::BERTBuffers::CallType >(0)}, + target_{static_cast< ::BERTBuffers::CallTarget >(0)}, + flags_{0u}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR CompositeFunctionCall::CompositeFunctionCall(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct CompositeFunctionCallDefaultTypeInternal { + PROTOBUF_CONSTEXPR CompositeFunctionCallDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~CompositeFunctionCallDefaultTypeInternal() {} + union { + CompositeFunctionCall _instance; + }; +}; -void InitDefaultsEnumType() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsEnumTypeImpl); -} +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CompositeFunctionCallDefaultTypeInternal _CompositeFunctionCall_default_instance_; + +inline constexpr CallResponse::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : id_{0u}, + wait_{false}, + operation_{}, + _cached_size_{0}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR CallResponse::CallResponse(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct CallResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR CallResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~CallResponseDefaultTypeInternal() {} + union { + CallResponse _instance; + }; +}; -void InitDefaultsCallResponseImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CallResponseDefaultTypeInternal _CallResponse_default_instance_; +} // namespace BERTBuffers +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_variable_2eproto[4]; +static constexpr const ::_pb::ServiceDescriptor** + file_level_service_descriptors_variable_2eproto = nullptr; +const ::uint32_t + TableStruct_variable_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Complex, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Complex, _impl_.r_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Complex, _impl_.i_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Array, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Array, _impl_.rows_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Array, _impl_.cols_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Array, _impl_.data_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Array, _impl_.rownames_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Array, _impl_.colnames_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Error, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Error, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Error, _impl_.message_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::SheetReference, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::SheetReference, _impl_.start_row_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::SheetReference, _impl_.start_column_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::SheetReference, _impl_.end_row_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::SheetReference, _impl_.end_column_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::SheetReference, _impl_.sheet_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Variable, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Variable, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Variable, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Variable, _impl_.value_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Code, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Code, _impl_.line_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Code, _impl_.startup_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _impl_.function_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _impl_.arguments_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _impl_.pointer_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _impl_.index_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _impl_.target_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _impl_.flags_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, _impl_.command_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, _impl_.path_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, _impl_.width_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, _impl_.height_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.command_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.x_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.y_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.r_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.rot_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.text_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.filled_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.hadj_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.raster_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.interpolate_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.device_type_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _impl_.context_), + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Color, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Color, _impl_.a_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Color, _impl_.r_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Color, _impl_.g_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Color, _impl_.b_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.col_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.fill_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.gamma_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.lwd_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.lty_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.lend_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.ljoin_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.lmitre_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.cex_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.ps_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.lineheight_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.fontface_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _impl_.fontfamily_), + 0, + 1, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::MIMEData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::MIMEData, _impl_.mime_type_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::MIMEData, _impl_.data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Console, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Console, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Console, _impl_.message_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionElement, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionElement, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionElement, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionElement, _impl_.type_name_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionElement, _impl_.default_value_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionElement, _impl_.description_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionElement, _impl_.index_), + ~0u, + ~0u, + 0, + ~0u, + ~0u, + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, _impl_.function_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, _impl_.call_type_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, _impl_.flags_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, _impl_.category_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, _impl_.arguments_), + 0, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionList, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::FunctionList, _impl_.functions_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::EnumValue, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::EnumValue, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::EnumValue, _impl_.value_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::EnumType, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::EnumType, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::EnumType, _impl_.values_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::ExternalPointer, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::ExternalPointer, _impl_.interface_name_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::ExternalPointer, _impl_.pointer_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::ExternalPointer, _impl_.functions_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::ExternalPointer, _impl_.enums_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CallResponse, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CallResponse, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CallResponse, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CallResponse, _impl_.wait_), + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CallResponse, _impl_.operation_), +}; -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_variable_2eproto::InitDefaultsArray(); - protobuf_variable_2eproto::InitDefaultsConsole(); - protobuf_variable_2eproto::InitDefaultsCode(); - protobuf_variable_2eproto::InitDefaultsCompositeFunctionCall(); - protobuf_variable_2eproto::InitDefaultsFunctionList(); - { - void* ptr = &::BERTBuffers::_CallResponse_default_instance_; - new (ptr) ::BERTBuffers::CallResponse(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::BERTBuffers::CallResponse::InitAsDefaultInstance(); -} - -void InitDefaultsCallResponse() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCallResponseImpl); -} - -::google::protobuf::Metadata file_level_metadata[20]; -const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[4]; - -const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Complex, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Complex, r_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Complex, i_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Array, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Array, rows_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Array, cols_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Array, data_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Array, rownames_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Array, colnames_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Error, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Error, type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Error, message_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::SheetReference, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::SheetReference, start_row_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::SheetReference, start_column_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::SheetReference, end_row_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::SheetReference, end_column_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::SheetReference, sheet_id_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Variable, _internal_metadata_), - ~0u, // no _extensions_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Variable, _oneof_case_[0]), - ~0u, // no _weak_field_map_ - offsetof(::BERTBuffers::VariableDefaultTypeInternal, nil_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, missing_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, err_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, integer_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, real_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, str_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, boolean_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, cpx_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, arr_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, ref_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, com_pointer_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, graphics_), - offsetof(::BERTBuffers::VariableDefaultTypeInternal, cache_reference_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Variable, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Variable, value_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Code, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Code, line_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Code, startup_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, function_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, arguments_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, pointer_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, index_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, target_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CompositeFunctionCall, flags_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, command_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, path_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, width_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsUpdate, height_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, command_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, x_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, y_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, r_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, rot_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, text_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, filled_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, hadj_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, raster_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, interpolate_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, device_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsCommand, context_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Color, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Color, a_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Color, r_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Color, g_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Color, b_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, col_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, fill_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, gamma_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, lwd_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, lty_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, lend_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, ljoin_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, lmitre_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, cex_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, ps_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, lineheight_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, fontface_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::GraphicsContext, fontfamily_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::MIMEData, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::MIMEData, mime_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::MIMEData, data_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Console, _internal_metadata_), - ~0u, // no _extensions_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Console, _oneof_case_[0]), - ~0u, // no _weak_field_map_ - offsetof(::BERTBuffers::ConsoleDefaultTypeInternal, text_), - offsetof(::BERTBuffers::ConsoleDefaultTypeInternal, err_), - offsetof(::BERTBuffers::ConsoleDefaultTypeInternal, prompt_), - offsetof(::BERTBuffers::ConsoleDefaultTypeInternal, graphics_), - offsetof(::BERTBuffers::ConsoleDefaultTypeInternal, mime_data_), - offsetof(::BERTBuffers::ConsoleDefaultTypeInternal, history_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::Console, message_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionElement, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionElement, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionElement, type_name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionElement, default_value_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionElement, description_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionElement, index_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, function_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, call_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, flags_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, category_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionDescriptor, arguments_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionList, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::FunctionList, functions_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::EnumValue, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::EnumValue, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::EnumValue, value_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::EnumType, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::EnumType, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::EnumType, values_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::ExternalPointer, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::ExternalPointer, interface_name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::ExternalPointer, pointer_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::ExternalPointer, functions_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::ExternalPointer, enums_), - ~0u, // no _has_bits_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CallResponse, _internal_metadata_), - ~0u, // no _extensions_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CallResponse, _oneof_case_[0]), - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CallResponse, id_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CallResponse, wait_), - offsetof(::BERTBuffers::CallResponseDefaultTypeInternal, err_), - offsetof(::BERTBuffers::CallResponseDefaultTypeInternal, result_), - offsetof(::BERTBuffers::CallResponseDefaultTypeInternal, console_), - offsetof(::BERTBuffers::CallResponseDefaultTypeInternal, code_), - offsetof(::BERTBuffers::CallResponseDefaultTypeInternal, shell_command_), - offsetof(::BERTBuffers::CallResponseDefaultTypeInternal, function_call_), - offsetof(::BERTBuffers::CallResponseDefaultTypeInternal, function_list_), - offsetof(::BERTBuffers::CallResponseDefaultTypeInternal, user_command_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::BERTBuffers::CallResponse, operation_), +static const ::_pbi::MigrationSchema + schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { + {0, -1, -1, sizeof(::BERTBuffers::Complex)}, + {10, -1, -1, sizeof(::BERTBuffers::Array)}, + {23, -1, -1, sizeof(::BERTBuffers::Error)}, + {33, -1, -1, sizeof(::BERTBuffers::SheetReference)}, + {46, -1, -1, sizeof(::BERTBuffers::Variable)}, + {69, -1, -1, sizeof(::BERTBuffers::Code)}, + {79, -1, -1, sizeof(::BERTBuffers::CompositeFunctionCall)}, + {94, -1, -1, sizeof(::BERTBuffers::GraphicsUpdate)}, + {107, 127, -1, sizeof(::BERTBuffers::GraphicsCommand)}, + {139, -1, -1, sizeof(::BERTBuffers::Color)}, + {151, 172, -1, sizeof(::BERTBuffers::GraphicsContext)}, + {185, -1, -1, sizeof(::BERTBuffers::MIMEData)}, + {195, -1, -1, sizeof(::BERTBuffers::Console)}, + {210, 223, -1, sizeof(::BERTBuffers::FunctionElement)}, + {228, 241, -1, sizeof(::BERTBuffers::FunctionDescriptor)}, + {246, -1, -1, sizeof(::BERTBuffers::FunctionList)}, + {255, -1, -1, sizeof(::BERTBuffers::EnumValue)}, + {265, -1, -1, sizeof(::BERTBuffers::EnumType)}, + {275, -1, -1, sizeof(::BERTBuffers::ExternalPointer)}, + {287, -1, -1, sizeof(::BERTBuffers::CallResponse)}, }; -static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { - { 0, -1, sizeof(::BERTBuffers::Complex)}, - { 7, -1, sizeof(::BERTBuffers::Array)}, - { 17, -1, sizeof(::BERTBuffers::Error)}, - { 24, -1, sizeof(::BERTBuffers::SheetReference)}, - { 34, -1, sizeof(::BERTBuffers::Variable)}, - { 54, -1, sizeof(::BERTBuffers::Code)}, - { 61, -1, sizeof(::BERTBuffers::CompositeFunctionCall)}, - { 73, -1, sizeof(::BERTBuffers::GraphicsUpdate)}, - { 83, -1, sizeof(::BERTBuffers::GraphicsCommand)}, - { 100, -1, sizeof(::BERTBuffers::Color)}, - { 109, -1, sizeof(::BERTBuffers::GraphicsContext)}, - { 127, -1, sizeof(::BERTBuffers::MIMEData)}, - { 134, -1, sizeof(::BERTBuffers::Console)}, - { 146, -1, sizeof(::BERTBuffers::FunctionElement)}, - { 156, -1, sizeof(::BERTBuffers::FunctionDescriptor)}, - { 166, -1, sizeof(::BERTBuffers::FunctionList)}, - { 172, -1, sizeof(::BERTBuffers::EnumValue)}, - { 179, -1, sizeof(::BERTBuffers::EnumType)}, - { 186, -1, sizeof(::BERTBuffers::ExternalPointer)}, - { 195, -1, sizeof(::BERTBuffers::CallResponse)}, +static const ::_pb::Message* const file_default_instances[] = { + &::BERTBuffers::_Complex_default_instance_._instance, + &::BERTBuffers::_Array_default_instance_._instance, + &::BERTBuffers::_Error_default_instance_._instance, + &::BERTBuffers::_SheetReference_default_instance_._instance, + &::BERTBuffers::_Variable_default_instance_._instance, + &::BERTBuffers::_Code_default_instance_._instance, + &::BERTBuffers::_CompositeFunctionCall_default_instance_._instance, + &::BERTBuffers::_GraphicsUpdate_default_instance_._instance, + &::BERTBuffers::_GraphicsCommand_default_instance_._instance, + &::BERTBuffers::_Color_default_instance_._instance, + &::BERTBuffers::_GraphicsContext_default_instance_._instance, + &::BERTBuffers::_MIMEData_default_instance_._instance, + &::BERTBuffers::_Console_default_instance_._instance, + &::BERTBuffers::_FunctionElement_default_instance_._instance, + &::BERTBuffers::_FunctionDescriptor_default_instance_._instance, + &::BERTBuffers::_FunctionList_default_instance_._instance, + &::BERTBuffers::_EnumValue_default_instance_._instance, + &::BERTBuffers::_EnumType_default_instance_._instance, + &::BERTBuffers::_ExternalPointer_default_instance_._instance, + &::BERTBuffers::_CallResponse_default_instance_._instance, }; - -static ::google::protobuf::Message const * const file_default_instances[] = { - reinterpret_cast(&::BERTBuffers::_Complex_default_instance_), - reinterpret_cast(&::BERTBuffers::_Array_default_instance_), - reinterpret_cast(&::BERTBuffers::_Error_default_instance_), - reinterpret_cast(&::BERTBuffers::_SheetReference_default_instance_), - reinterpret_cast(&::BERTBuffers::_Variable_default_instance_), - reinterpret_cast(&::BERTBuffers::_Code_default_instance_), - reinterpret_cast(&::BERTBuffers::_CompositeFunctionCall_default_instance_), - reinterpret_cast(&::BERTBuffers::_GraphicsUpdate_default_instance_), - reinterpret_cast(&::BERTBuffers::_GraphicsCommand_default_instance_), - reinterpret_cast(&::BERTBuffers::_Color_default_instance_), - reinterpret_cast(&::BERTBuffers::_GraphicsContext_default_instance_), - reinterpret_cast(&::BERTBuffers::_MIMEData_default_instance_), - reinterpret_cast(&::BERTBuffers::_Console_default_instance_), - reinterpret_cast(&::BERTBuffers::_FunctionElement_default_instance_), - reinterpret_cast(&::BERTBuffers::_FunctionDescriptor_default_instance_), - reinterpret_cast(&::BERTBuffers::_FunctionList_default_instance_), - reinterpret_cast(&::BERTBuffers::_EnumValue_default_instance_), - reinterpret_cast(&::BERTBuffers::_EnumType_default_instance_), - reinterpret_cast(&::BERTBuffers::_ExternalPointer_default_instance_), - reinterpret_cast(&::BERTBuffers::_CallResponse_default_instance_), +const char descriptor_table_protodef_variable_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + "\n\016variable.proto\022\013BERTBuffers\"\037\n\007Complex" + "\022\t\n\001r\030\001 \001(\001\022\t\n\001i\030\002 \001(\001\"l\n\005Array\022\014\n\004rows\030" + "\001 \001(\005\022\014\n\004cols\030\002 \001(\005\022#\n\004data\030\003 \003(\0132\025.BERT" + "Buffers.Variable\022\020\n\010rownames\030\004 \003(\t\022\020\n\010co" + "lnames\030\005 \003(\t\">\n\005Error\022$\n\004type\030\001 \001(\0162\026.BE" + "RTBuffers.ErrorType\022\017\n\007message\030\002 \001(\t\"p\n\016" + "SheetReference\022\021\n\tstart_row\030\001 \001(\r\022\024\n\014sta" + "rt_column\030\002 \001(\r\022\017\n\007end_row\030\003 \001(\r\022\022\n\nend_" + "column\030\004 \001(\r\022\020\n\010sheet_id\030\005 \001(\004\"\240\003\n\010Varia" + "ble\022\r\n\003nil\030\001 \001(\010H\000\022\021\n\007missing\030\002 \001(\010H\000\022!\n" + "\003err\030\003 \001(\0132\022.BERTBuffers.ErrorH\000\022\021\n\007inte" + "ger\030\005 \001(\005H\000\022\016\n\004real\030\006 \001(\001H\000\022\r\n\003str\030\007 \001(\t" + "H\000\022\021\n\007boolean\030\010 \001(\010H\000\022#\n\003cpx\030\t \001(\0132\024.BER" + "TBuffers.ComplexH\000\022!\n\003arr\030\n \001(\0132\022.BERTBu" + "ffers.ArrayH\000\022*\n\003ref\030\013 \001(\0132\033.BERTBuffers" + ".SheetReferenceH\000\0223\n\013com_pointer\030\014 \001(\0132\034" + ".BERTBuffers.ExternalPointerH\000\022/\n\010graphi" + "cs\030\r \001(\0132\033.BERTBuffers.GraphicsUpdateH\000\022" + "\031\n\017cache_reference\030\016 \001(\rH\000\022\014\n\004name\030\017 \001(\t" + "B\007\n\005value\"%\n\004Code\022\014\n\004line\030\001 \003(\t\022\017\n\007start" + "up\030\002 \001(\010\"\320\001\n\025CompositeFunctionCall\022\020\n\010fu" + "nction\030\001 \001(\t\022(\n\targuments\030\002 \003(\0132\025.BERTBu" + "ffers.Variable\022\017\n\007pointer\030\003 \001(\004\022\r\n\005index" + "\030\004 \001(\r\022#\n\004type\030\005 \001(\0162\025.BERTBuffers.CallT" + "ype\022\'\n\006target\030\006 \001(\0162\027.BERTBuffers.CallTa" + "rget\022\r\n\005flags\030\007 \001(\r\"\200\001\n\016GraphicsUpdate\0223" + "\n\007command\030\001 \001(\0162\".BERTBuffers.GraphicsUp" + "dateCommand\022\014\n\004name\030\002 \001(\t\022\014\n\004path\030\003 \001(\t\022" + "\r\n\005width\030\004 \001(\r\022\016\n\006height\030\005 \001(\r\"\345\001\n\017Graph" + "icsCommand\022\017\n\007command\030\001 \001(\t\022\t\n\001x\030\002 \003(\001\022\t" + "\n\001y\030\003 \003(\001\022\t\n\001r\030\004 \001(\001\022\013\n\003rot\030\005 \001(\001\022\014\n\004tex" + "t\030\006 \001(\t\022\016\n\006filled\030\007 \001(\010\022\014\n\004hadj\030\010 \001(\001\022\016\n" + "\006raster\030\t \001(\014\022\023\n\013interpolate\030\n \001(\010\022\023\n\013de" + "vice_type\030\016 \001(\t\022-\n\007context\030\017 \001(\0132\034.BERTB" + "uffers.GraphicsContext\"3\n\005Color\022\t\n\001a\030\001 \001" + "(\r\022\t\n\001r\030\002 \001(\r\022\t\n\001g\030\003 \001(\r\022\t\n\001b\030\004 \001(\r\"\375\001\n\017" + "GraphicsContext\022\037\n\003col\030\001 \001(\0132\022.BERTBuffe" + "rs.Color\022 \n\004fill\030\002 \001(\0132\022.BERTBuffers.Col" + "or\022\r\n\005gamma\030\003 \001(\001\022\013\n\003lwd\030\004 \001(\001\022\013\n\003lty\030\005 " + "\001(\005\022\014\n\004lend\030\006 \001(\005\022\r\n\005ljoin\030\007 \001(\005\022\016\n\006lmit" + "re\030\010 \001(\001\022\013\n\003cex\030\t \001(\001\022\n\n\002ps\030\n \001(\001\022\022\n\nlin" + "eheight\030\013 \001(\001\022\020\n\010fontface\030\014 \001(\005\022\022\n\nfontf" + "amily\030\r \001(\t\"+\n\010MIMEData\022\021\n\tmime_type\030\001 \001" + "(\t\022\014\n\004data\030\002 \001(\014\"\315\001\n\007Console\022\016\n\004text\030\001 \001" + "(\tH\000\022\r\n\003err\030\002 \001(\tH\000\022\020\n\006prompt\030\003 \001(\tH\000\0220\n" + "\010graphics\030\004 \001(\0132\034.BERTBuffers.GraphicsCo" + "mmandH\000\022*\n\tmime_data\030\005 \001(\0132\025.BERTBuffers" + ".MIMEDataH\000\022(\n\007history\030\006 \001(\0132\025.BERTBuffe" + "rs.VariableH\000B\t\n\007message\"\204\001\n\017FunctionEle" + "ment\022\014\n\004name\030\001 \001(\t\022\021\n\ttype_name\030\002 \001(\t\022,\n" + "\rdefault_value\030\003 \001(\0132\025.BERTBuffers.Varia" + "ble\022\023\n\013description\030\004 \001(\t\022\r\n\005index\030\005 \001(\r\"" + "\300\001\n\022FunctionDescriptor\022.\n\010function\030\001 \001(\013" + "2\034.BERTBuffers.FunctionElement\022(\n\tcall_t" + "ype\030\002 \001(\0162\025.BERTBuffers.CallType\022\r\n\005flag" + "s\030\003 \001(\r\022\020\n\010category\030\004 \001(\t\022/\n\targuments\030\005" + " \003(\0132\034.BERTBuffers.FunctionElement\"B\n\014Fu" + "nctionList\0222\n\tfunctions\030\001 \003(\0132\037.BERTBuff" + "ers.FunctionDescriptor\"(\n\tEnumValue\022\014\n\004n" + "ame\030\001 \001(\t\022\r\n\005value\030\002 \001(\005\"@\n\010EnumType\022\014\n\004" + "name\030\001 \001(\t\022&\n\006values\030\002 \003(\0132\026.BERTBuffers" + ".EnumValue\"\224\001\n\017ExternalPointer\022\026\n\016interf" + "ace_name\030\001 \001(\t\022\017\n\007pointer\030\002 \001(\004\0222\n\tfunct" + "ions\030\003 \003(\0132\037.BERTBuffers.FunctionDescrip" + "tor\022$\n\005enums\030\004 \003(\0132\025.BERTBuffers.EnumTyp" + "e\"\333\002\n\014CallResponse\022\n\n\002id\030\001 \001(\r\022\014\n\004wait\030\002" + " \001(\010\022\r\n\003err\030\003 \001(\tH\000\022\'\n\006result\030\004 \001(\0132\025.BE" + "RTBuffers.VariableH\000\022\'\n\007console\030\005 \001(\0132\024." + "BERTBuffers.ConsoleH\000\022!\n\004code\030\006 \001(\0132\021.BE" + "RTBuffers.CodeH\000\022\027\n\rshell_command\030\007 \001(\tH" + "\000\022;\n\rfunction_call\030\010 \001(\0132\".BERTBuffers.C" + "ompositeFunctionCallH\000\0222\n\rfunction_list\030" + "\t \001(\0132\031.BERTBuffers.FunctionListH\000\022\026\n\014us" + "er_command\030\n \001(\rH\000B\013\n\toperation*N\n\tError" + "Type\022\013\n\007GENERIC\020\000\022\006\n\002NA\020\001\022\007\n\003INF\020\002\022\t\n\005PA" + "RSE\020\003\022\r\n\tEXECUTION\020\004\022\t\n\005OTHER\020\017*(\n\010CallT" + "ype\022\n\n\006method\020\000\022\007\n\003get\020\001\022\007\n\003put\020\002*=\n\nCal" + "lTarget\022\014\n\010language\020\000\022\007\n\003COM\020\001\022\n\n\006system" + "\020\002\022\014\n\010graphics\020\003*3\n\025GraphicsUpdateComman" + "d\022\n\n\006update\020\000\022\016\n\nquery_size\020\001B\002H\001b\006proto" + "3" +}; +static ::absl::once_flag descriptor_table_variable_2eproto_once; +PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_variable_2eproto = { + false, + false, + 3201, + descriptor_table_protodef_variable_2eproto, + "variable.proto", + &descriptor_table_variable_2eproto_once, + nullptr, + 0, + 20, + schemas, + file_default_instances, + TableStruct_variable_2eproto::offsets, + file_level_enum_descriptors_variable_2eproto, + file_level_service_descriptors_variable_2eproto, }; - -void protobuf_AssignDescriptors() { - AddDescriptors(); - ::google::protobuf::MessageFactory* factory = NULL; - AssignDescriptors( - "variable.proto", schemas, file_default_instances, TableStruct::offsets, factory, - file_level_metadata, file_level_enum_descriptors, NULL); -} - -void protobuf_AssignDescriptorsOnce() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors); -} - -void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD; -void protobuf_RegisterTypes(const ::std::string&) { - protobuf_AssignDescriptorsOnce(); - ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 20); -} - -void AddDescriptorsImpl() { - InitDefaults(); - static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { - "\n\016variable.proto\022\013BERTBuffers\"\037\n\007Complex" - "\022\t\n\001r\030\001 \001(\001\022\t\n\001i\030\002 \001(\001\"l\n\005Array\022\014\n\004rows\030" - "\001 \001(\005\022\014\n\004cols\030\002 \001(\005\022#\n\004data\030\003 \003(\0132\025.BERT" - "Buffers.Variable\022\020\n\010rownames\030\004 \003(\t\022\020\n\010co" - "lnames\030\005 \003(\t\">\n\005Error\022$\n\004type\030\001 \001(\0162\026.BE" - "RTBuffers.ErrorType\022\017\n\007message\030\002 \001(\t\"p\n\016" - "SheetReference\022\021\n\tstart_row\030\001 \001(\r\022\024\n\014sta" - "rt_column\030\002 \001(\r\022\017\n\007end_row\030\003 \001(\r\022\022\n\nend_" - "column\030\004 \001(\r\022\020\n\010sheet_id\030\005 \001(\004\"\240\003\n\010Varia" - "ble\022\r\n\003nil\030\001 \001(\010H\000\022\021\n\007missing\030\002 \001(\010H\000\022!\n" - "\003err\030\003 \001(\0132\022.BERTBuffers.ErrorH\000\022\021\n\007inte" - "ger\030\005 \001(\005H\000\022\016\n\004real\030\006 \001(\001H\000\022\r\n\003str\030\007 \001(\t" - "H\000\022\021\n\007boolean\030\010 \001(\010H\000\022#\n\003cpx\030\t \001(\0132\024.BER" - "TBuffers.ComplexH\000\022!\n\003arr\030\n \001(\0132\022.BERTBu" - "ffers.ArrayH\000\022*\n\003ref\030\013 \001(\0132\033.BERTBuffers" - ".SheetReferenceH\000\0223\n\013com_pointer\030\014 \001(\0132\034" - ".BERTBuffers.ExternalPointerH\000\022/\n\010graphi" - "cs\030\r \001(\0132\033.BERTBuffers.GraphicsUpdateH\000\022" - "\031\n\017cache_reference\030\016 \001(\rH\000\022\014\n\004name\030\017 \001(\t" - "B\007\n\005value\"%\n\004Code\022\014\n\004line\030\001 \003(\t\022\017\n\007start" - "up\030\002 \001(\010\"\320\001\n\025CompositeFunctionCall\022\020\n\010fu" - "nction\030\001 \001(\t\022(\n\targuments\030\002 \003(\0132\025.BERTBu" - "ffers.Variable\022\017\n\007pointer\030\003 \001(\004\022\r\n\005index" - "\030\004 \001(\r\022#\n\004type\030\005 \001(\0162\025.BERTBuffers.CallT" - "ype\022\'\n\006target\030\006 \001(\0162\027.BERTBuffers.CallTa" - "rget\022\r\n\005flags\030\007 \001(\r\"\200\001\n\016GraphicsUpdate\0223" - "\n\007command\030\001 \001(\0162\".BERTBuffers.GraphicsUp" - "dateCommand\022\014\n\004name\030\002 \001(\t\022\014\n\004path\030\003 \001(\t\022" - "\r\n\005width\030\004 \001(\r\022\016\n\006height\030\005 \001(\r\"\345\001\n\017Graph" - "icsCommand\022\017\n\007command\030\001 \001(\t\022\t\n\001x\030\002 \003(\001\022\t" - "\n\001y\030\003 \003(\001\022\t\n\001r\030\004 \001(\001\022\013\n\003rot\030\005 \001(\001\022\014\n\004tex" - "t\030\006 \001(\t\022\016\n\006filled\030\007 \001(\010\022\014\n\004hadj\030\010 \001(\001\022\016\n" - "\006raster\030\t \001(\014\022\023\n\013interpolate\030\n \001(\010\022\023\n\013de" - "vice_type\030\016 \001(\t\022-\n\007context\030\017 \001(\0132\034.BERTB" - "uffers.GraphicsContext\"3\n\005Color\022\t\n\001a\030\001 \001" - "(\r\022\t\n\001r\030\002 \001(\r\022\t\n\001g\030\003 \001(\r\022\t\n\001b\030\004 \001(\r\"\375\001\n\017" - "GraphicsContext\022\037\n\003col\030\001 \001(\0132\022.BERTBuffe" - "rs.Color\022 \n\004fill\030\002 \001(\0132\022.BERTBuffers.Col" - "or\022\r\n\005gamma\030\003 \001(\001\022\013\n\003lwd\030\004 \001(\001\022\013\n\003lty\030\005 " - "\001(\005\022\014\n\004lend\030\006 \001(\005\022\r\n\005ljoin\030\007 \001(\005\022\016\n\006lmit" - "re\030\010 \001(\001\022\013\n\003cex\030\t \001(\001\022\n\n\002ps\030\n \001(\001\022\022\n\nlin" - "eheight\030\013 \001(\001\022\020\n\010fontface\030\014 \001(\005\022\022\n\nfontf" - "amily\030\r \001(\t\"+\n\010MIMEData\022\021\n\tmime_type\030\001 \001" - "(\t\022\014\n\004data\030\002 \001(\014\"\315\001\n\007Console\022\016\n\004text\030\001 \001" - "(\tH\000\022\r\n\003err\030\002 \001(\tH\000\022\020\n\006prompt\030\003 \001(\tH\000\0220\n" - "\010graphics\030\004 \001(\0132\034.BERTBuffers.GraphicsCo" - "mmandH\000\022*\n\tmime_data\030\005 \001(\0132\025.BERTBuffers" - ".MIMEDataH\000\022(\n\007history\030\006 \001(\0132\025.BERTBuffe" - "rs.VariableH\000B\t\n\007message\"\204\001\n\017FunctionEle" - "ment\022\014\n\004name\030\001 \001(\t\022\021\n\ttype_name\030\002 \001(\t\022,\n" - "\rdefault_value\030\003 \001(\0132\025.BERTBuffers.Varia" - "ble\022\023\n\013description\030\004 \001(\t\022\r\n\005index\030\005 \001(\r\"" - "\300\001\n\022FunctionDescriptor\022.\n\010function\030\001 \001(\013" - "2\034.BERTBuffers.FunctionElement\022(\n\tcall_t" - "ype\030\002 \001(\0162\025.BERTBuffers.CallType\022\r\n\005flag" - "s\030\003 \001(\r\022\020\n\010category\030\004 \001(\t\022/\n\targuments\030\005" - " \003(\0132\034.BERTBuffers.FunctionElement\"B\n\014Fu" - "nctionList\0222\n\tfunctions\030\001 \003(\0132\037.BERTBuff" - "ers.FunctionDescriptor\"(\n\tEnumValue\022\014\n\004n" - "ame\030\001 \001(\t\022\r\n\005value\030\002 \001(\005\"@\n\010EnumType\022\014\n\004" - "name\030\001 \001(\t\022&\n\006values\030\002 \003(\0132\026.BERTBuffers" - ".EnumValue\"\224\001\n\017ExternalPointer\022\026\n\016interf" - "ace_name\030\001 \001(\t\022\017\n\007pointer\030\002 \001(\004\0222\n\tfunct" - "ions\030\003 \003(\0132\037.BERTBuffers.FunctionDescrip" - "tor\022$\n\005enums\030\004 \003(\0132\025.BERTBuffers.EnumTyp" - "e\"\333\002\n\014CallResponse\022\n\n\002id\030\001 \001(\r\022\014\n\004wait\030\002" - " \001(\010\022\r\n\003err\030\003 \001(\tH\000\022\'\n\006result\030\004 \001(\0132\025.BE" - "RTBuffers.VariableH\000\022\'\n\007console\030\005 \001(\0132\024." - "BERTBuffers.ConsoleH\000\022!\n\004code\030\006 \001(\0132\021.BE" - "RTBuffers.CodeH\000\022\027\n\rshell_command\030\007 \001(\tH" - "\000\022;\n\rfunction_call\030\010 \001(\0132\".BERTBuffers.C" - "ompositeFunctionCallH\000\0222\n\rfunction_list\030" - "\t \001(\0132\031.BERTBuffers.FunctionListH\000\022\026\n\014us" - "er_command\030\n \001(\rH\000B\013\n\toperation*N\n\tError" - "Type\022\013\n\007GENERIC\020\000\022\006\n\002NA\020\001\022\007\n\003INF\020\002\022\t\n\005PA" - "RSE\020\003\022\r\n\tEXECUTION\020\004\022\t\n\005OTHER\020\017*(\n\010CallT" - "ype\022\n\n\006method\020\000\022\007\n\003get\020\001\022\007\n\003put\020\002*=\n\nCal" - "lTarget\022\014\n\010language\020\000\022\007\n\003COM\020\001\022\n\n\006system" - "\020\002\022\014\n\010graphics\020\003*3\n\025GraphicsUpdateComman" - "d\022\n\n\006update\020\000\022\016\n\nquery_size\020\001B\002H\001b\006proto" - "3" - }; - ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( - descriptor, 3201); - ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( - "variable.proto", &protobuf_RegisterTypes); -} - -void AddDescriptors() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl); -} -// Force AddDescriptors() to be called at dynamic initialization time. -struct StaticDescriptorInitializer { - StaticDescriptorInitializer() { - AddDescriptors(); - } -} static_descriptor_initializer; -} // namespace protobuf_variable_2eproto namespace BERTBuffers { const ::google::protobuf::EnumDescriptor* ErrorType_descriptor() { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return protobuf_variable_2eproto::file_level_enum_descriptors[0]; + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_variable_2eproto); + return file_level_enum_descriptors_variable_2eproto[0]; } +PROTOBUF_CONSTINIT const uint32_t ErrorType_internal_data_[] = { + 327680u, 32u, 1024u, }; bool ErrorType_IsValid(int value) { - switch (value) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 15: - return true; - default: - return false; - } + return 0 <= value && value <= 15 && ((32799u >> value) & 1) != 0; } - const ::google::protobuf::EnumDescriptor* CallType_descriptor() { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return protobuf_variable_2eproto::file_level_enum_descriptors[1]; + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_variable_2eproto); + return file_level_enum_descriptors_variable_2eproto[1]; } +PROTOBUF_CONSTINIT const uint32_t CallType_internal_data_[] = { + 196608u, 0u, }; bool CallType_IsValid(int value) { - switch (value) { - case 0: - case 1: - case 2: - return true; - default: - return false; - } + return 0 <= value && value <= 2; } - const ::google::protobuf::EnumDescriptor* CallTarget_descriptor() { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return protobuf_variable_2eproto::file_level_enum_descriptors[2]; + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_variable_2eproto); + return file_level_enum_descriptors_variable_2eproto[2]; } +PROTOBUF_CONSTINIT const uint32_t CallTarget_internal_data_[] = { + 262144u, 0u, }; bool CallTarget_IsValid(int value) { - switch (value) { - case 0: - case 1: - case 2: - case 3: - return true; - default: - return false; - } + return 0 <= value && value <= 3; } - const ::google::protobuf::EnumDescriptor* GraphicsUpdateCommand_descriptor() { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return protobuf_variable_2eproto::file_level_enum_descriptors[3]; + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_variable_2eproto); + return file_level_enum_descriptors_variable_2eproto[3]; } +PROTOBUF_CONSTINIT const uint32_t GraphicsUpdateCommand_internal_data_[] = { + 131072u, 0u, }; bool GraphicsUpdateCommand_IsValid(int value) { - switch (value) { - case 0: - case 1: - return true; - default: - return false; - } + return 0 <= value && value <= 1; } - - // =================================================================== -void Complex::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int Complex::kRFieldNumber; -const int Complex::kIFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 +class Complex::_Internal { + public: +}; -Complex::Complex() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsComplex(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.Complex) -} -Complex::Complex(const Complex& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::memcpy(&r_, &from.r_, - static_cast(reinterpret_cast(&i_) - - reinterpret_cast(&r_)) + sizeof(i_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.Complex) +Complex::Complex(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.Complex) +} +Complex::Complex( + ::google::protobuf::Arena* arena, const Complex& from) + : Complex(arena) { + MergeFrom(from); } +inline PROTOBUF_NDEBUG_INLINE Complex::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0} {} -void Complex::SharedCtor() { - ::memset(&r_, 0, static_cast( - reinterpret_cast(&i_) - - reinterpret_cast(&r_)) + sizeof(i_)); - _cached_size_ = 0; +inline void Complex::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, r_), + 0, + offsetof(Impl_, i_) - + offsetof(Impl_, r_) + + sizeof(Impl_::i_)); } - Complex::~Complex() { // @@protoc_insertion_point(destructor:BERTBuffers.Complex) - SharedDtor(); -} - -void Complex::SharedDtor() { -} - -void Complex::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* Complex::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const Complex& Complex::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsComplex(); - return *internal_default_instance(); -} - -Complex* Complex::New(::google::protobuf::Arena* arena) const { - Complex* n = new Complex; - if (arena != NULL) { - arena->Own(n); - } - return n; + SharedDtor(*this); +} +inline void Complex::SharedDtor(MessageLite& self) { + Complex& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* Complex::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) Complex(arena); +} +constexpr auto Complex::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Complex), + alignof(Complex)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull Complex::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Complex_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Complex::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Complex::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Complex::ByteSizeLong, + &Complex::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Complex, _impl_._cached_size_), + false, + }, + &Complex::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* Complex::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 0, 2> Complex::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::Complex>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // double i = 2; + {::_pbi::TcParser::FastF64S1, + {17, 63, 0, PROTOBUF_FIELD_OFFSET(Complex, _impl_.i_)}}, + // double r = 1; + {::_pbi::TcParser::FastF64S1, + {9, 63, 0, PROTOBUF_FIELD_OFFSET(Complex, _impl_.r_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // double r = 1; + {PROTOBUF_FIELD_OFFSET(Complex, _impl_.r_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // double i = 2; + {PROTOBUF_FIELD_OFFSET(Complex, _impl_.i_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + }}, + // no aux_entries + {{ + }}, +}; -void Complex::Clear() { +PROTOBUF_NOINLINE void Complex::Clear() { // @@protoc_insertion_point(message_clear_start:BERTBuffers.Complex) - ::google::protobuf::uint32 cached_has_bits = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - ::memset(&r_, 0, static_cast( - reinterpret_cast(&i_) - - reinterpret_cast(&r_)) + sizeof(i_)); - _internal_metadata_.Clear(); -} - -bool Complex::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.Complex) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // double r = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(9u /* 9 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &r_))); - } else { - goto handle_unusual; - } - break; - } - - // double i = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &i_))); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.Complex) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.Complex) - return false; -#undef DO_ -} - -void Complex::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.Complex) - ::google::protobuf::uint32 cached_has_bits = 0; + ::memset(&_impl_.r_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.i_) - + reinterpret_cast(&_impl_.r_)) + sizeof(_impl_.i_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* Complex::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const Complex& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* Complex::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const Complex& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Complex) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // double r = 1; + if (::absl::bit_cast<::uint64_t>(this_._internal_r()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 1, this_._internal_r(), target); + } + + // double i = 2; + if (::absl::bit_cast<::uint64_t>(this_._internal_i()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 2, this_._internal_i(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Complex) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t Complex::ByteSizeLong(const MessageLite& base) { + const Complex& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t Complex::ByteSizeLong() const { + const Complex& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Complex) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // double r = 1; + if (::absl::bit_cast<::uint64_t>(this_._internal_r()) != 0) { + total_size += 9; + } + // double i = 2; + if (::absl::bit_cast<::uint64_t>(this_._internal_i()) != 0) { + total_size += 9; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void Complex::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Complex) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; (void) cached_has_bits; - // double r = 1; - if (this->r() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(1, this->r(), output); - } - - // double i = 2; - if (this->i() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->i(), output); + if (::absl::bit_cast<::uint64_t>(from._internal_r()) != 0) { + _this->_impl_.r_ = from._impl_.r_; } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); + if (::absl::bit_cast<::uint64_t>(from._internal_i()) != 0) { + _this->_impl_.i_ = from._impl_.i_; } - // @@protoc_insertion_point(serialize_end:BERTBuffers.Complex) + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -::google::protobuf::uint8* Complex::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Complex) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // double r = 1; - if (this->r() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(1, this->r(), target); - } +void Complex::CopyFrom(const Complex& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Complex) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - // double i = 2; - if (this->i() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->i(), target); - } - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Complex) - return target; +void Complex::InternalSwap(Complex* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Complex, _impl_.i_) + + sizeof(Complex::_impl_.i_) + - PROTOBUF_FIELD_OFFSET(Complex, _impl_.r_)>( + reinterpret_cast(&_impl_.r_), + reinterpret_cast(&other->_impl_.r_)); } -size_t Complex::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Complex) - size_t total_size = 0; +::google::protobuf::Metadata Complex::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // double r = 1; - if (this->r() != 0) { - total_size += 1 + 8; - } +class Array::_Internal { + public: +}; - // double i = 2; - if (this->i() != 0) { - total_size += 1 + 8; - } +Array::Array(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.Array) +} +inline PROTOBUF_NDEBUG_INLINE Array::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::Array& from_msg) + : data_{visibility, arena, from.data_}, + rownames_{visibility, arena, from.rownames_}, + colnames_{visibility, arena, from.colnames_}, + _cached_size_{0} {} + +Array::Array( + ::google::protobuf::Arena* arena, + const Array& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Array* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, rows_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, rows_), + offsetof(Impl_, cols_) - + offsetof(Impl_, rows_) + + sizeof(Impl_::cols_)); - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void Complex::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.Complex) - GOOGLE_DCHECK_NE(&from, this); - const Complex* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.Complex) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); + // @@protoc_insertion_point(copy_constructor:BERTBuffers.Array) +} +inline PROTOBUF_NDEBUG_INLINE Array::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : data_{visibility, arena}, + rownames_{visibility, arena}, + colnames_{visibility, arena}, + _cached_size_{0} {} + +inline void Array::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, rows_), + 0, + offsetof(Impl_, cols_) - + offsetof(Impl_, rows_) + + sizeof(Impl_::cols_)); +} +Array::~Array() { + // @@protoc_insertion_point(destructor:BERTBuffers.Array) + SharedDtor(*this); +} +inline void Array::SharedDtor(MessageLite& self) { + Array& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* Array::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) Array(arena); +} +constexpr auto Array::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Array, _impl_.data_) + + decltype(Array::_impl_.data_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Array, _impl_.rownames_) + + decltype(Array::_impl_.rownames_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Array, _impl_.colnames_) + + decltype(Array::_impl_.colnames_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Array), alignof(Array), *arena_bits); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.Complex) - MergeFrom(*source); - } + return ::google::protobuf::internal::MessageCreator(&Array::PlacementNew_, + sizeof(Array), + alignof(Array)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull Array::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Array_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Array::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Array::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Array::ByteSizeLong, + &Array::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Array, _impl_._cached_size_), + false, + }, + &Array::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* Array::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 1, 42, 2> Array::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967264, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::Array>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // int32 rows = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Array, _impl_.rows_), 63>(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(Array, _impl_.rows_)}}, + // int32 cols = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Array, _impl_.cols_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(Array, _impl_.cols_)}}, + // repeated .BERTBuffers.Variable data = 3; + {::_pbi::TcParser::FastMtR1, + {26, 63, 0, PROTOBUF_FIELD_OFFSET(Array, _impl_.data_)}}, + // repeated string rownames = 4; + {::_pbi::TcParser::FastUR1, + {34, 63, 0, PROTOBUF_FIELD_OFFSET(Array, _impl_.rownames_)}}, + // repeated string colnames = 5; + {::_pbi::TcParser::FastUR1, + {42, 63, 0, PROTOBUF_FIELD_OFFSET(Array, _impl_.colnames_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // int32 rows = 1; + {PROTOBUF_FIELD_OFFSET(Array, _impl_.rows_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // int32 cols = 2; + {PROTOBUF_FIELD_OFFSET(Array, _impl_.cols_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // repeated .BERTBuffers.Variable data = 3; + {PROTOBUF_FIELD_OFFSET(Array, _impl_.data_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated string rownames = 4; + {PROTOBUF_FIELD_OFFSET(Array, _impl_.rownames_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)}, + // repeated string colnames = 5; + {PROTOBUF_FIELD_OFFSET(Array, _impl_.colnames_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::Variable>()}, + }}, {{ + "\21\0\0\0\10\10\0\0" + "BERTBuffers.Array" + "rownames" + "colnames" + }}, +}; + +PROTOBUF_NOINLINE void Array::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.Array) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; -void Complex::MergeFrom(const Complex& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Complex) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; + _impl_.data_.Clear(); + _impl_.rownames_.Clear(); + _impl_.colnames_.Clear(); + ::memset(&_impl_.rows_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.cols_) - + reinterpret_cast(&_impl_.rows_)) + sizeof(_impl_.cols_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* Array::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const Array& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* Array::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const Array& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Array) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // int32 rows = 1; + if (this_._internal_rows() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<1>( + stream, this_._internal_rows(), target); + } + + // int32 cols = 2; + if (this_._internal_cols() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<2>( + stream, this_._internal_cols(), target); + } + + // repeated .BERTBuffers.Variable data = 3; + for (unsigned i = 0, n = static_cast( + this_._internal_data_size()); + i < n; i++) { + const auto& repfield = this_._internal_data().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, repfield, repfield.GetCachedSize(), + target, stream); + } + + // repeated string rownames = 4; + for (int i = 0, n = this_._internal_rownames_size(); i < n; ++i) { + const auto& s = this_._internal_rownames().Get(i); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Array.rownames"); + target = stream->WriteString(4, s, target); + } + + // repeated string colnames = 5; + for (int i = 0, n = this_._internal_colnames_size(); i < n; ++i) { + const auto& s = this_._internal_colnames().Get(i); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Array.colnames"); + target = stream->WriteString(5, s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Array) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t Array::ByteSizeLong(const MessageLite& base) { + const Array& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t Array::ByteSizeLong() const { + const Array& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Array) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .BERTBuffers.Variable data = 3; + { + total_size += 1UL * this_._internal_data_size(); + for (const auto& msg : this_._internal_data()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated string rownames = 4; + { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_rownames().size()); + for (int i = 0, n = this_._internal_rownames().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_rownames().Get(i)); + } + } + // repeated string colnames = 5; + { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_colnames().size()); + for (int i = 0, n = this_._internal_colnames().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_colnames().Get(i)); + } + } + } + { + // int32 rows = 1; + if (this_._internal_rows() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_rows()); + } + // int32 cols = 2; + if (this_._internal_cols() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_cols()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void Array::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Array) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from.r() != 0) { - set_r(from.r()); + _this->_internal_mutable_data()->MergeFrom( + from._internal_data()); + _this->_internal_mutable_rownames()->MergeFrom(from._internal_rownames()); + _this->_internal_mutable_colnames()->MergeFrom(from._internal_colnames()); + if (from._internal_rows() != 0) { + _this->_impl_.rows_ = from._impl_.rows_; } - if (from.i() != 0) { - set_i(from.i()); + if (from._internal_cols() != 0) { + _this->_impl_.cols_ = from._impl_.cols_; } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void Complex::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.Complex) +void Array::CopyFrom(const Array& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Array) if (&from == this) return; Clear(); MergeFrom(from); } -void Complex::CopyFrom(const Complex& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Complex) - if (&from == this) return; - Clear(); - MergeFrom(from); -} -bool Complex::IsInitialized() const { - return true; +void Array::InternalSwap(Array* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.data_.InternalSwap(&other->_impl_.data_); + _impl_.rownames_.InternalSwap(&other->_impl_.rownames_); + _impl_.colnames_.InternalSwap(&other->_impl_.colnames_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Array, _impl_.cols_) + + sizeof(Array::_impl_.cols_) + - PROTOBUF_FIELD_OFFSET(Array, _impl_.rows_)>( + reinterpret_cast(&_impl_.rows_), + reinterpret_cast(&other->_impl_.rows_)); } -void Complex::Swap(Complex* other) { - if (other == this) return; - InternalSwap(other); -} -void Complex::InternalSwap(Complex* other) { - using std::swap; - swap(r_, other->r_); - swap(i_, other->i_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata Complex::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; +::google::protobuf::Metadata Array::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } - - // =================================================================== -void Array::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int Array::kRowsFieldNumber; -const int Array::kColsFieldNumber; -const int Array::kDataFieldNumber; -const int Array::kRownamesFieldNumber; -const int Array::kColnamesFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -Array::Array() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsArray(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.Array) -} -Array::Array(const Array& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - data_(from.data_), - rownames_(from.rownames_), - colnames_(from.colnames_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::memcpy(&rows_, &from.rows_, - static_cast(reinterpret_cast(&cols_) - - reinterpret_cast(&rows_)) + sizeof(cols_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.Array) -} - -void Array::SharedCtor() { - ::memset(&rows_, 0, static_cast( - reinterpret_cast(&cols_) - - reinterpret_cast(&rows_)) + sizeof(cols_)); - _cached_size_ = 0; -} - -Array::~Array() { - // @@protoc_insertion_point(destructor:BERTBuffers.Array) - SharedDtor(); -} +class Error::_Internal { + public: +}; -void Array::SharedDtor() { -} +Error::Error(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.Error) +} +inline PROTOBUF_NDEBUG_INLINE Error::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::Error& from_msg) + : message_(arena, from.message_), + _cached_size_{0} {} + +Error::Error( + ::google::protobuf::Arena* arena, + const Error& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Error* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.type_ = from._impl_.type_; -void Array::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* Array::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; + // @@protoc_insertion_point(copy_constructor:BERTBuffers.Error) } +inline PROTOBUF_NDEBUG_INLINE Error::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : message_(arena), + _cached_size_{0} {} -const Array& Array::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsArray(); - return *internal_default_instance(); +inline void Error::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.type_ = {}; } - -Array* Array::New(::google::protobuf::Arena* arena) const { - Array* n = new Array; - if (arena != NULL) { - arena->Own(n); - } - return n; +Error::~Error() { + // @@protoc_insertion_point(destructor:BERTBuffers.Error) + SharedDtor(*this); +} +inline void Error::SharedDtor(MessageLite& self) { + Error& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.message_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* Error::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) Error(arena); +} +constexpr auto Error::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Error), + alignof(Error)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull Error::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Error_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Error::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Error::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Error::ByteSizeLong, + &Error::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Error, _impl_._cached_size_), + false, + }, + &Error::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* Error::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 33, 2> Error::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::Error>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string message = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(Error, _impl_.message_)}}, + // .BERTBuffers.ErrorType type = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Error, _impl_.type_), 63>(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(Error, _impl_.type_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .BERTBuffers.ErrorType type = 1; + {PROTOBUF_FIELD_OFFSET(Error, _impl_.type_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)}, + // string message = 2; + {PROTOBUF_FIELD_OFFSET(Error, _impl_.message_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + "\21\0\7\0\0\0\0\0" + "BERTBuffers.Error" + "message" + }}, +}; -void Array::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.Array) - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void Error::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.Error) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - data_.Clear(); - rownames_.Clear(); - colnames_.Clear(); - ::memset(&rows_, 0, static_cast( - reinterpret_cast(&cols_) - - reinterpret_cast(&rows_)) + sizeof(cols_)); - _internal_metadata_.Clear(); -} - -bool Array::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.Array) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // int32 rows = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &rows_))); - } else { - goto handle_unusual; - } - break; - } - - // int32 cols = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &cols_))); - } else { - goto handle_unusual; - } - break; - } - - // repeated .BERTBuffers.Variable data = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_data())); - } else { - goto handle_unusual; - } - break; - } - - // repeated string rownames = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->add_rownames())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->rownames(this->rownames_size() - 1).data(), - static_cast(this->rownames(this->rownames_size() - 1).length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Array.rownames")); - } else { - goto handle_unusual; - } - break; - } - - // repeated string colnames = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->add_colnames())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->colnames(this->colnames_size() - 1).data(), - static_cast(this->colnames(this->colnames_size() - 1).length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Array.colnames")); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.Array) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.Array) - return false; -#undef DO_ -} - -void Array::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.Array) - ::google::protobuf::uint32 cached_has_bits = 0; + _impl_.message_.ClearToEmpty(); + _impl_.type_ = 0; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* Error::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const Error& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* Error::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const Error& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Error) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // .BERTBuffers.ErrorType type = 1; + if (this_._internal_type() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 1, this_._internal_type(), target); + } + + // string message = 2; + if (!this_._internal_message().empty()) { + const std::string& _s = this_._internal_message(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Error.message"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Error) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t Error::ByteSizeLong(const MessageLite& base) { + const Error& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t Error::ByteSizeLong() const { + const Error& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Error) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string message = 2; + if (!this_._internal_message().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_message()); + } + // .BERTBuffers.ErrorType type = 1; + if (this_._internal_type() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_type()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void Error::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Error) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; (void) cached_has_bits; - // int32 rows = 1; - if (this->rows() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->rows(), output); + if (!from._internal_message().empty()) { + _this->_internal_set_message(from._internal_message()); } - - // int32 cols = 2; - if (this->cols() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->cols(), output); - } - - // repeated .BERTBuffers.Variable data = 3; - for (unsigned int i = 0, - n = static_cast(this->data_size()); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, this->data(static_cast(i)), output); - } - - // repeated string rownames = 4; - for (int i = 0, n = this->rownames_size(); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->rownames(i).data(), static_cast(this->rownames(i).length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Array.rownames"); - ::google::protobuf::internal::WireFormatLite::WriteString( - 4, this->rownames(i), output); - } - - // repeated string colnames = 5; - for (int i = 0, n = this->colnames_size(); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->colnames(i).data(), static_cast(this->colnames(i).length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Array.colnames"); - ::google::protobuf::internal::WireFormatLite::WriteString( - 5, this->colnames(i), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); + if (from._internal_type() != 0) { + _this->_impl_.type_ = from._impl_.type_; } - // @@protoc_insertion_point(serialize_end:BERTBuffers.Array) + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -::google::protobuf::uint8* Array::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Array) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // int32 rows = 1; - if (this->rows() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->rows(), target); - } +void Error::CopyFrom(const Error& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Error) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - // int32 cols = 2; - if (this->cols() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->cols(), target); - } - // repeated .BERTBuffers.Variable data = 3; - for (unsigned int i = 0, - n = static_cast(this->data_size()); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 3, this->data(static_cast(i)), deterministic, target); - } +void Error::InternalSwap(Error* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.message_, &other->_impl_.message_, arena); + swap(_impl_.type_, other->_impl_.type_); +} - // repeated string rownames = 4; - for (int i = 0, n = this->rownames_size(); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->rownames(i).data(), static_cast(this->rownames(i).length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Array.rownames"); - target = ::google::protobuf::internal::WireFormatLite:: - WriteStringToArray(4, this->rownames(i), target); - } +::google::protobuf::Metadata Error::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== - // repeated string colnames = 5; - for (int i = 0, n = this->colnames_size(); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->colnames(i).data(), static_cast(this->colnames(i).length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Array.colnames"); - target = ::google::protobuf::internal::WireFormatLite:: - WriteStringToArray(5, this->colnames(i), target); - } +class SheetReference::_Internal { + public: +}; - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Array) - return target; +SheetReference::SheetReference(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.SheetReference) +} +SheetReference::SheetReference( + ::google::protobuf::Arena* arena, const SheetReference& from) + : SheetReference(arena) { + MergeFrom(from); } +inline PROTOBUF_NDEBUG_INLINE SheetReference::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0} {} -size_t Array::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Array) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // repeated .BERTBuffers.Variable data = 3; +inline void SheetReference::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, start_row_), + 0, + offsetof(Impl_, sheet_id_) - + offsetof(Impl_, start_row_) + + sizeof(Impl_::sheet_id_)); +} +SheetReference::~SheetReference() { + // @@protoc_insertion_point(destructor:BERTBuffers.SheetReference) + SharedDtor(*this); +} +inline void SheetReference::SharedDtor(MessageLite& self) { + SheetReference& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* SheetReference::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) SheetReference(arena); +} +constexpr auto SheetReference::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SheetReference), + alignof(SheetReference)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull SheetReference::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_SheetReference_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SheetReference::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SheetReference::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SheetReference::ByteSizeLong, + &SheetReference::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SheetReference, _impl_._cached_size_), + false, + }, + &SheetReference::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* SheetReference::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 0, 0, 2> SheetReference::_table_ = { { - unsigned int count = static_cast(this->data_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSize( - this->data(static_cast(i))); - } - } + 0, // no _has_bits_ + 0, // no _extensions_ + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967264, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::SheetReference>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // uint32 start_row = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SheetReference, _impl_.start_row_), 63>(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.start_row_)}}, + // uint32 start_column = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SheetReference, _impl_.start_column_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.start_column_)}}, + // uint32 end_row = 3; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SheetReference, _impl_.end_row_), 63>(), + {24, 63, 0, PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.end_row_)}}, + // uint32 end_column = 4; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SheetReference, _impl_.end_column_), 63>(), + {32, 63, 0, PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.end_column_)}}, + // uint64 sheet_id = 5; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SheetReference, _impl_.sheet_id_), 63>(), + {40, 63, 0, PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.sheet_id_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // uint32 start_row = 1; + {PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.start_row_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // uint32 start_column = 2; + {PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.start_column_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // uint32 end_row = 3; + {PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.end_row_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // uint32 end_column = 4; + {PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.end_column_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // uint64 sheet_id = 5; + {PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.sheet_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt64)}, + }}, + // no aux_entries + {{ + }}, +}; - // repeated string rownames = 4; - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->rownames_size()); - for (int i = 0, n = this->rownames_size(); i < n; i++) { - total_size += ::google::protobuf::internal::WireFormatLite::StringSize( - this->rownames(i)); - } +PROTOBUF_NOINLINE void SheetReference::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.SheetReference) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; - // repeated string colnames = 5; - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->colnames_size()); - for (int i = 0, n = this->colnames_size(); i < n; i++) { - total_size += ::google::protobuf::internal::WireFormatLite::StringSize( - this->colnames(i)); - } + ::memset(&_impl_.start_row_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.sheet_id_) - + reinterpret_cast(&_impl_.start_row_)) + sizeof(_impl_.sheet_id_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* SheetReference::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const SheetReference& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* SheetReference::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const SheetReference& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.SheetReference) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // uint32 start_row = 1; + if (this_._internal_start_row() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 1, this_._internal_start_row(), target); + } + + // uint32 start_column = 2; + if (this_._internal_start_column() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 2, this_._internal_start_column(), target); + } + + // uint32 end_row = 3; + if (this_._internal_end_row() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 3, this_._internal_end_row(), target); + } + + // uint32 end_column = 4; + if (this_._internal_end_column() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 4, this_._internal_end_column(), target); + } + + // uint64 sheet_id = 5; + if (this_._internal_sheet_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 5, this_._internal_sheet_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.SheetReference) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t SheetReference::ByteSizeLong(const MessageLite& base) { + const SheetReference& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t SheetReference::ByteSizeLong() const { + const SheetReference& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.SheetReference) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // uint32 start_row = 1; + if (this_._internal_start_row() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_start_row()); + } + // uint32 start_column = 2; + if (this_._internal_start_column() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_start_column()); + } + // uint32 end_row = 3; + if (this_._internal_end_row() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_end_row()); + } + // uint32 end_column = 4; + if (this_._internal_end_column() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_end_column()); + } + // uint64 sheet_id = 5; + if (this_._internal_sheet_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_sheet_id()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void SheetReference::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.SheetReference) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - // int32 rows = 1; - if (this->rows() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->rows()); + if (from._internal_start_row() != 0) { + _this->_impl_.start_row_ = from._impl_.start_row_; } - - // int32 cols = 2; - if (this->cols() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->cols()); + if (from._internal_start_column() != 0) { + _this->_impl_.start_column_ = from._impl_.start_column_; } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void Array::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.Array) - GOOGLE_DCHECK_NE(&from, this); - const Array* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.Array) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.Array) - MergeFrom(*source); + if (from._internal_end_row() != 0) { + _this->_impl_.end_row_ = from._impl_.end_row_; } -} - -void Array::MergeFrom(const Array& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Array) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - data_.MergeFrom(from.data_); - rownames_.MergeFrom(from.rownames_); - colnames_.MergeFrom(from.colnames_); - if (from.rows() != 0) { - set_rows(from.rows()); + if (from._internal_end_column() != 0) { + _this->_impl_.end_column_ = from._impl_.end_column_; } - if (from.cols() != 0) { - set_cols(from.cols()); + if (from._internal_sheet_id() != 0) { + _this->_impl_.sheet_id_ = from._impl_.sheet_id_; } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void Array::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.Array) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void Array::CopyFrom(const Array& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Array) +void SheetReference::CopyFrom(const SheetReference& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.SheetReference) if (&from == this) return; Clear(); MergeFrom(from); } -bool Array::IsInitialized() const { - return true; -} -void Array::Swap(Array* other) { - if (other == this) return; - InternalSwap(other); -} -void Array::InternalSwap(Array* other) { +void SheetReference::InternalSwap(SheetReference* PROTOBUF_RESTRICT other) { using std::swap; - data_.InternalSwap(&other->data_); - rownames_.InternalSwap(&other->rownames_); - colnames_.InternalSwap(&other->colnames_); - swap(rows_, other->rows_); - swap(cols_, other->cols_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.sheet_id_) + + sizeof(SheetReference::_impl_.sheet_id_) + - PROTOBUF_FIELD_OFFSET(SheetReference, _impl_.start_row_)>( + reinterpret_cast(&_impl_.start_row_), + reinterpret_cast(&other->_impl_.start_row_)); } -::google::protobuf::Metadata Array::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; +::google::protobuf::Metadata SheetReference::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } - - // =================================================================== -void Error::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int Error::kTypeFieldNumber; -const int Error::kMessageFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 +class Variable::_Internal { + public: + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Variable, _impl_._oneof_case_); +}; -Error::Error() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsError(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.Error) -} -Error::Error(const Error& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.message().size() > 0) { - message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_); +void Variable::set_allocated_err(::BERTBuffers::Error* err) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_value(); + if (err) { + ::google::protobuf::Arena* submessage_arena = err->GetArena(); + if (message_arena != submessage_arena) { + err = ::google::protobuf::internal::GetOwnedMessage(message_arena, err, submessage_arena); + } + set_has_err(); + _impl_.value_.err_ = err; } - type_ = from.type_; - // @@protoc_insertion_point(copy_constructor:BERTBuffers.Error) -} - -void Error::SharedCtor() { - message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - type_ = 0; - _cached_size_ = 0; -} - -Error::~Error() { - // @@protoc_insertion_point(destructor:BERTBuffers.Error) - SharedDtor(); + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.err) } - -void Error::SharedDtor() { - message_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +void Variable::set_allocated_cpx(::BERTBuffers::Complex* cpx) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_value(); + if (cpx) { + ::google::protobuf::Arena* submessage_arena = cpx->GetArena(); + if (message_arena != submessage_arena) { + cpx = ::google::protobuf::internal::GetOwnedMessage(message_arena, cpx, submessage_arena); + } + set_has_cpx(); + _impl_.value_.cpx_ = cpx; + } + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.cpx) } - -void Error::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); +void Variable::set_allocated_arr(::BERTBuffers::Array* arr) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_value(); + if (arr) { + ::google::protobuf::Arena* submessage_arena = arr->GetArena(); + if (message_arena != submessage_arena) { + arr = ::google::protobuf::internal::GetOwnedMessage(message_arena, arr, submessage_arena); + } + set_has_arr(); + _impl_.value_.arr_ = arr; + } + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.arr) } -const ::google::protobuf::Descriptor* Error::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; +void Variable::set_allocated_ref(::BERTBuffers::SheetReference* ref) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_value(); + if (ref) { + ::google::protobuf::Arena* submessage_arena = ref->GetArena(); + if (message_arena != submessage_arena) { + ref = ::google::protobuf::internal::GetOwnedMessage(message_arena, ref, submessage_arena); + } + set_has_ref(); + _impl_.value_.ref_ = ref; + } + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.ref) } - -const Error& Error::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsError(); - return *internal_default_instance(); +void Variable::set_allocated_com_pointer(::BERTBuffers::ExternalPointer* com_pointer) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_value(); + if (com_pointer) { + ::google::protobuf::Arena* submessage_arena = com_pointer->GetArena(); + if (message_arena != submessage_arena) { + com_pointer = ::google::protobuf::internal::GetOwnedMessage(message_arena, com_pointer, submessage_arena); + } + set_has_com_pointer(); + _impl_.value_.com_pointer_ = com_pointer; + } + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.com_pointer) } - -Error* Error::New(::google::protobuf::Arena* arena) const { - Error* n = new Error; - if (arena != NULL) { - arena->Own(n); +void Variable::set_allocated_graphics(::BERTBuffers::GraphicsUpdate* graphics) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_value(); + if (graphics) { + ::google::protobuf::Arena* submessage_arena = graphics->GetArena(); + if (message_arena != submessage_arena) { + graphics = ::google::protobuf::internal::GetOwnedMessage(message_arena, graphics, submessage_arena); + } + set_has_graphics(); + _impl_.value_.graphics_ = graphics; } - return n; + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.graphics) } - -void Error::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.Error) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - type_ = 0; - _internal_metadata_.Clear(); -} - -bool Error::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.Error) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // .BERTBuffers.ErrorType type = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { - int value; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( - input, &value))); - set_type(static_cast< ::BERTBuffers::ErrorType >(value)); - } else { - goto handle_unusual; - } +Variable::Variable(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.Variable) +} +inline PROTOBUF_NDEBUG_INLINE Variable::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::Variable& from_msg) + : name_(arena, from.name_), + value_{}, + _cached_size_{0}, + _oneof_case_{from._oneof_case_[0]} {} + +Variable::Variable( + ::google::protobuf::Arena* arena, + const Variable& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Variable* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + switch (value_case()) { + case VALUE_NOT_SET: + break; + case kNil: + _impl_.value_.nil_ = from._impl_.value_.nil_; break; - } - - // string message = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_message())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->message().data(), static_cast(this->message().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Error.message")); - } else { - goto handle_unusual; - } + case kMissing: + _impl_.value_.missing_ = from._impl_.value_.missing_; break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); + case kErr: + _impl_.value_.err_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Error>(arena, *from._impl_.value_.err_); + break; + case kInteger: + _impl_.value_.integer_ = from._impl_.value_.integer_; + break; + case kReal: + _impl_.value_.real_ = from._impl_.value_.real_; + break; + case kStr: + new (&_impl_.value_.str_) decltype(_impl_.value_.str_){arena, from._impl_.value_.str_}; + break; + case kBoolean: + _impl_.value_.boolean_ = from._impl_.value_.boolean_; + break; + case kCpx: + _impl_.value_.cpx_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Complex>(arena, *from._impl_.value_.cpx_); + break; + case kArr: + _impl_.value_.arr_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Array>(arena, *from._impl_.value_.arr_); + break; + case kRef: + _impl_.value_.ref_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::SheetReference>(arena, *from._impl_.value_.ref_); + break; + case kComPointer: + _impl_.value_.com_pointer_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::ExternalPointer>(arena, *from._impl_.value_.com_pointer_); + break; + case kGraphics: + _impl_.value_.graphics_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::GraphicsUpdate>(arena, *from._impl_.value_.graphics_); + break; + case kCacheReference: + _impl_.value_.cache_reference_ = from._impl_.value_.cache_reference_; break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.Error) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.Error) - return false; -#undef DO_ -} - -void Error::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.Error) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // .BERTBuffers.ErrorType type = 1; - if (this->type() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteEnum( - 1, this->type(), output); - } - - // string message = 2; - if (this->message().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->message().data(), static_cast(this->message().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Error.message"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 2, this->message(), output); } - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.Error) + // @@protoc_insertion_point(copy_constructor:BERTBuffers.Variable) } +inline PROTOBUF_NDEBUG_INLINE Variable::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : name_(arena), + value_{}, + _cached_size_{0}, + _oneof_case_{} {} -::google::protobuf::uint8* Error::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Error) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // .BERTBuffers.ErrorType type = 1; - if (this->type() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( - 1, this->type(), target); - } - - // string message = 2; - if (this->message().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->message().data(), static_cast(this->message().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Error.message"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 2, this->message(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Error) - return target; +inline void Variable::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); } - -size_t Error::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Error) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // string message = 2; - if (this->message().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->message()); - } - - // .BERTBuffers.ErrorType type = 1; - if (this->type() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->type()); - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void Error::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.Error) - GOOGLE_DCHECK_NE(&from, this); - const Error* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.Error) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.Error) - MergeFrom(*source); - } +Variable::~Variable() { + // @@protoc_insertion_point(destructor:BERTBuffers.Variable) + SharedDtor(*this); } - -void Error::MergeFrom(const Error& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Error) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.message().size() > 0) { - - message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_); - } - if (from.type() != 0) { - set_type(from.type()); +inline void Variable::SharedDtor(MessageLite& self) { + Variable& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + if (this_.has_value()) { + this_.clear_value(); } + this_._impl_.~Impl_(); } -void Error::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.Error) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void Error::CopyFrom(const Error& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Error) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Error::IsInitialized() const { - return true; -} - -void Error::Swap(Error* other) { - if (other == this) return; - InternalSwap(other); -} -void Error::InternalSwap(Error* other) { - using std::swap; - message_.Swap(&other->message_); - swap(type_, other->type_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata Error::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void SheetReference::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int SheetReference::kStartRowFieldNumber; -const int SheetReference::kStartColumnFieldNumber; -const int SheetReference::kEndRowFieldNumber; -const int SheetReference::kEndColumnFieldNumber; -const int SheetReference::kSheetIdFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -SheetReference::SheetReference() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsSheetReference(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.SheetReference) -} -SheetReference::SheetReference(const SheetReference& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::memcpy(&start_row_, &from.start_row_, - static_cast(reinterpret_cast(&sheet_id_) - - reinterpret_cast(&start_row_)) + sizeof(sheet_id_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.SheetReference) -} - -void SheetReference::SharedCtor() { - ::memset(&start_row_, 0, static_cast( - reinterpret_cast(&sheet_id_) - - reinterpret_cast(&start_row_)) + sizeof(sheet_id_)); - _cached_size_ = 0; -} - -SheetReference::~SheetReference() { - // @@protoc_insertion_point(destructor:BERTBuffers.SheetReference) - SharedDtor(); -} - -void SheetReference::SharedDtor() { -} - -void SheetReference::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* SheetReference::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const SheetReference& SheetReference::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsSheetReference(); - return *internal_default_instance(); -} - -SheetReference* SheetReference::New(::google::protobuf::Arena* arena) const { - SheetReference* n = new SheetReference; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void SheetReference::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.SheetReference) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - ::memset(&start_row_, 0, static_cast( - reinterpret_cast(&sheet_id_) - - reinterpret_cast(&start_row_)) + sizeof(sheet_id_)); - _internal_metadata_.Clear(); -} - -bool SheetReference::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.SheetReference) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // uint32 start_row = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &start_row_))); - } else { - goto handle_unusual; - } - break; - } - - // uint32 start_column = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &start_column_))); - } else { - goto handle_unusual; - } - break; - } - - // uint32 end_row = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &end_row_))); - } else { - goto handle_unusual; - } - break; - } - - // uint32 end_column = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &end_column_))); - } else { - goto handle_unusual; - } - break; - } - - // uint64 sheet_id = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( - input, &sheet_id_))); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.SheetReference) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.SheetReference) - return false; -#undef DO_ -} - -void SheetReference::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.SheetReference) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // uint32 start_row = 1; - if (this->start_row() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->start_row(), output); - } - - // uint32 start_column = 2; - if (this->start_column() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->start_column(), output); - } - - // uint32 end_row = 3; - if (this->end_row() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->end_row(), output); - } - - // uint32 end_column = 4; - if (this->end_column() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->end_column(), output); - } - - // uint64 sheet_id = 5; - if (this->sheet_id() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt64(5, this->sheet_id(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.SheetReference) -} - -::google::protobuf::uint8* SheetReference::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.SheetReference) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // uint32 start_row = 1; - if (this->start_row() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->start_row(), target); - } - - // uint32 start_column = 2; - if (this->start_column() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->start_column(), target); - } - - // uint32 end_row = 3; - if (this->end_row() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->end_row(), target); - } - - // uint32 end_column = 4; - if (this->end_column() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->end_column(), target); - } - - // uint64 sheet_id = 5; - if (this->sheet_id() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(5, this->sheet_id(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.SheetReference) - return target; -} - -size_t SheetReference::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.SheetReference) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // uint32 start_row = 1; - if (this->start_row() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->start_row()); - } - - // uint32 start_column = 2; - if (this->start_column() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->start_column()); - } - - // uint32 end_row = 3; - if (this->end_row() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->end_row()); - } - - // uint32 end_column = 4; - if (this->end_column() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->end_column()); - } - - // uint64 sheet_id = 5; - if (this->sheet_id() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt64Size( - this->sheet_id()); - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void SheetReference::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.SheetReference) - GOOGLE_DCHECK_NE(&from, this); - const SheetReference* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.SheetReference) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.SheetReference) - MergeFrom(*source); - } -} - -void SheetReference::MergeFrom(const SheetReference& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.SheetReference) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.start_row() != 0) { - set_start_row(from.start_row()); - } - if (from.start_column() != 0) { - set_start_column(from.start_column()); - } - if (from.end_row() != 0) { - set_end_row(from.end_row()); - } - if (from.end_column() != 0) { - set_end_column(from.end_column()); - } - if (from.sheet_id() != 0) { - set_sheet_id(from.sheet_id()); - } -} - -void SheetReference::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.SheetReference) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void SheetReference::CopyFrom(const SheetReference& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.SheetReference) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SheetReference::IsInitialized() const { - return true; -} - -void SheetReference::Swap(SheetReference* other) { - if (other == this) return; - InternalSwap(other); -} -void SheetReference::InternalSwap(SheetReference* other) { - using std::swap; - swap(start_row_, other->start_row_); - swap(start_column_, other->start_column_); - swap(end_row_, other->end_row_); - swap(end_column_, other->end_column_); - swap(sheet_id_, other->sheet_id_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata SheetReference::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void Variable::InitAsDefaultInstance() { - ::BERTBuffers::_Variable_default_instance_.nil_ = false; - ::BERTBuffers::_Variable_default_instance_.missing_ = false; - ::BERTBuffers::_Variable_default_instance_.err_ = const_cast< ::BERTBuffers::Error*>( - ::BERTBuffers::Error::internal_default_instance()); - ::BERTBuffers::_Variable_default_instance_.integer_ = 0; - ::BERTBuffers::_Variable_default_instance_.real_ = 0; - ::BERTBuffers::_Variable_default_instance_.str_.UnsafeSetDefault( - &::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::BERTBuffers::_Variable_default_instance_.boolean_ = false; - ::BERTBuffers::_Variable_default_instance_.cpx_ = const_cast< ::BERTBuffers::Complex*>( - ::BERTBuffers::Complex::internal_default_instance()); - ::BERTBuffers::_Variable_default_instance_.arr_ = const_cast< ::BERTBuffers::Array*>( - ::BERTBuffers::Array::internal_default_instance()); - ::BERTBuffers::_Variable_default_instance_.ref_ = const_cast< ::BERTBuffers::SheetReference*>( - ::BERTBuffers::SheetReference::internal_default_instance()); - ::BERTBuffers::_Variable_default_instance_.com_pointer_ = const_cast< ::BERTBuffers::ExternalPointer*>( - ::BERTBuffers::ExternalPointer::internal_default_instance()); - ::BERTBuffers::_Variable_default_instance_.graphics_ = const_cast< ::BERTBuffers::GraphicsUpdate*>( - ::BERTBuffers::GraphicsUpdate::internal_default_instance()); - ::BERTBuffers::_Variable_default_instance_.cache_reference_ = 0u; -} -void Variable::set_allocated_err(::BERTBuffers::Error* err) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_value(); - if (err) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - err = ::google::protobuf::internal::GetOwnedMessage( - message_arena, err, submessage_arena); - } - set_has_err(); - value_.err_ = err; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.err) -} -void Variable::set_allocated_cpx(::BERTBuffers::Complex* cpx) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_value(); - if (cpx) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - cpx = ::google::protobuf::internal::GetOwnedMessage( - message_arena, cpx, submessage_arena); - } - set_has_cpx(); - value_.cpx_ = cpx; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.cpx) -} -void Variable::set_allocated_arr(::BERTBuffers::Array* arr) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_value(); - if (arr) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - arr = ::google::protobuf::internal::GetOwnedMessage( - message_arena, arr, submessage_arena); - } - set_has_arr(); - value_.arr_ = arr; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.arr) -} -void Variable::set_allocated_ref(::BERTBuffers::SheetReference* ref) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_value(); - if (ref) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - ref = ::google::protobuf::internal::GetOwnedMessage( - message_arena, ref, submessage_arena); - } - set_has_ref(); - value_.ref_ = ref; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.ref) -} -void Variable::set_allocated_com_pointer(::BERTBuffers::ExternalPointer* com_pointer) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_value(); - if (com_pointer) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - com_pointer = ::google::protobuf::internal::GetOwnedMessage( - message_arena, com_pointer, submessage_arena); - } - set_has_com_pointer(); - value_.com_pointer_ = com_pointer; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.com_pointer) -} -void Variable::set_allocated_graphics(::BERTBuffers::GraphicsUpdate* graphics) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_value(); - if (graphics) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - graphics = ::google::protobuf::internal::GetOwnedMessage( - message_arena, graphics, submessage_arena); - } - set_has_graphics(); - value_.graphics_ = graphics; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.graphics) -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int Variable::kNilFieldNumber; -const int Variable::kMissingFieldNumber; -const int Variable::kErrFieldNumber; -const int Variable::kIntegerFieldNumber; -const int Variable::kRealFieldNumber; -const int Variable::kStrFieldNumber; -const int Variable::kBooleanFieldNumber; -const int Variable::kCpxFieldNumber; -const int Variable::kArrFieldNumber; -const int Variable::kRefFieldNumber; -const int Variable::kComPointerFieldNumber; -const int Variable::kGraphicsFieldNumber; -const int Variable::kCacheReferenceFieldNumber; -const int Variable::kNameFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -Variable::Variable() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsArray(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.Variable) -} -Variable::Variable(const Variable& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.name().size() > 0) { - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } - clear_has_value(); - switch (from.value_case()) { +void Variable::clear_value() { +// @@protoc_insertion_point(one_of_clear_start:BERTBuffers.Variable) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (value_case()) { case kNil: { - set_nil(from.nil()); + // No need to clear break; } case kMissing: { - set_missing(from.missing()); + // No need to clear break; } case kErr: { - mutable_err()->::BERTBuffers::Error::MergeFrom(from.err()); + if (GetArena() == nullptr) { + delete _impl_.value_.err_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.err_); + } break; } case kInteger: { - set_integer(from.integer()); + // No need to clear break; } case kReal: { - set_real(from.real()); + // No need to clear break; } case kStr: { - set_str(from.str()); + _impl_.value_.str_.Destroy(); break; } case kBoolean: { - set_boolean(from.boolean()); + // No need to clear break; } case kCpx: { - mutable_cpx()->::BERTBuffers::Complex::MergeFrom(from.cpx()); + if (GetArena() == nullptr) { + delete _impl_.value_.cpx_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.cpx_); + } break; } case kArr: { - mutable_arr()->::BERTBuffers::Array::MergeFrom(from.arr()); + if (GetArena() == nullptr) { + delete _impl_.value_.arr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.arr_); + } break; } case kRef: { - mutable_ref()->::BERTBuffers::SheetReference::MergeFrom(from.ref()); + if (GetArena() == nullptr) { + delete _impl_.value_.ref_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.ref_); + } break; } case kComPointer: { - mutable_com_pointer()->::BERTBuffers::ExternalPointer::MergeFrom(from.com_pointer()); - break; - } - case kGraphics: { - mutable_graphics()->::BERTBuffers::GraphicsUpdate::MergeFrom(from.graphics()); - break; - } - case kCacheReference: { - set_cache_reference(from.cache_reference()); - break; - } - case VALUE_NOT_SET: { + if (GetArena() == nullptr) { + delete _impl_.value_.com_pointer_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.com_pointer_); + } + break; + } + case kGraphics: { + if (GetArena() == nullptr) { + delete _impl_.value_.graphics_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.graphics_); + } + break; + } + case kCacheReference: { + // No need to clear + break; + } + case VALUE_NOT_SET: { break; } } - // @@protoc_insertion_point(copy_constructor:BERTBuffers.Variable) -} - -void Variable::SharedCtor() { - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - clear_has_value(); - _cached_size_ = 0; -} - -Variable::~Variable() { - // @@protoc_insertion_point(destructor:BERTBuffers.Variable) - SharedDtor(); -} - -void Variable::SharedDtor() { - name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (has_value()) { - clear_value(); - } -} - -void Variable::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* Variable::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const Variable& Variable::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsArray(); - return *internal_default_instance(); -} - -Variable* Variable::New(::google::protobuf::Arena* arena) const { - Variable* n = new Variable; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void Variable::clear_value() { -// @@protoc_insertion_point(one_of_clear_start:BERTBuffers.Variable) - switch (value_case()) { - case kNil: { - // No need to clear - break; - } - case kMissing: { - // No need to clear - break; - } - case kErr: { - delete value_.err_; - break; - } - case kInteger: { - // No need to clear - break; - } - case kReal: { - // No need to clear - break; - } - case kStr: { - value_.str_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - break; - } - case kBoolean: { - // No need to clear - break; - } - case kCpx: { - delete value_.cpx_; - break; - } - case kArr: { - delete value_.arr_; - break; - } - case kRef: { - delete value_.ref_; - break; - } - case kComPointer: { - delete value_.com_pointer_; - break; - } - case kGraphics: { - delete value_.graphics_; - break; - } - case kCacheReference: { - // No need to clear - break; - } - case VALUE_NOT_SET: { - break; - } - } - _oneof_case_[0] = VALUE_NOT_SET; -} - - -void Variable::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.Variable) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - clear_value(); - _internal_metadata_.Clear(); -} - -bool Variable::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.Variable) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // bool nil = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { - clear_value(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &value_.nil_))); - set_has_nil(); - } else { - goto handle_unusual; - } - break; - } - - // bool missing = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { - clear_value(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &value_.missing_))); - set_has_missing(); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.Error err = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_err())); - } else { - goto handle_unusual; - } - break; - } - - // int32 integer = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) { - clear_value(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &value_.integer_))); - set_has_integer(); - } else { - goto handle_unusual; - } - break; - } - - // double real = 6; - case 6: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(49u /* 49 & 0xFF */)) { - clear_value(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &value_.real_))); - set_has_real(); - } else { - goto handle_unusual; - } - break; - } - - // string str = 7; - case 7: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_str())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->str().data(), static_cast(this->str().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Variable.str")); - } else { - goto handle_unusual; - } - break; - } - - // bool boolean = 8; - case 8: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(64u /* 64 & 0xFF */)) { - clear_value(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &value_.boolean_))); - set_has_boolean(); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.Complex cpx = 9; - case 9: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_cpx())); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.Array arr = 10; - case 10: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(82u /* 82 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_arr())); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.SheetReference ref = 11; - case 11: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(90u /* 90 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_ref())); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.ExternalPointer com_pointer = 12; - case 12: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(98u /* 98 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_com_pointer())); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.GraphicsUpdate graphics = 13; - case 13: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(106u /* 106 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_graphics())); - } else { - goto handle_unusual; - } - break; - } - - // uint32 cache_reference = 14; - case 14: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(112u /* 112 & 0xFF */)) { - clear_value(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &value_.cache_reference_))); - set_has_cache_reference(); - } else { - goto handle_unusual; - } - break; - } - - // string name = 15; - case 15: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(122u /* 122 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_name())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Variable.name")); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.Variable) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.Variable) - return false; -#undef DO_ -} - -void Variable::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.Variable) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // bool nil = 1; - if (has_nil()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->nil(), output); - } - - // bool missing = 2; - if (has_missing()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->missing(), output); - } - - // .BERTBuffers.Error err = 3; - if (has_err()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, *value_.err_, output); - } - - // int32 integer = 5; - if (has_integer()) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->integer(), output); - } - - // double real = 6; - if (has_real()) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(6, this->real(), output); - } - - // string str = 7; - if (has_str()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->str().data(), static_cast(this->str().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Variable.str"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 7, this->str(), output); - } - - // bool boolean = 8; - if (has_boolean()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->boolean(), output); - } - - // .BERTBuffers.Complex cpx = 9; - if (has_cpx()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 9, *value_.cpx_, output); - } - - // .BERTBuffers.Array arr = 10; - if (has_arr()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 10, *value_.arr_, output); - } - - // .BERTBuffers.SheetReference ref = 11; - if (has_ref()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 11, *value_.ref_, output); - } - - // .BERTBuffers.ExternalPointer com_pointer = 12; - if (has_com_pointer()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 12, *value_.com_pointer_, output); - } - - // .BERTBuffers.GraphicsUpdate graphics = 13; - if (has_graphics()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 13, *value_.graphics_, output); - } - - // uint32 cache_reference = 14; - if (has_cache_reference()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(14, this->cache_reference(), output); - } - - // string name = 15; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Variable.name"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 15, this->name(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.Variable) -} - -::google::protobuf::uint8* Variable::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Variable) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // bool nil = 1; - if (has_nil()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->nil(), target); - } - - // bool missing = 2; - if (has_missing()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->missing(), target); - } - - // .BERTBuffers.Error err = 3; - if (has_err()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 3, *value_.err_, deterministic, target); - } - - // int32 integer = 5; - if (has_integer()) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->integer(), target); - } - - // double real = 6; - if (has_real()) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(6, this->real(), target); - } - - // string str = 7; - if (has_str()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->str().data(), static_cast(this->str().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Variable.str"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 7, this->str(), target); - } - - // bool boolean = 8; - if (has_boolean()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->boolean(), target); - } - - // .BERTBuffers.Complex cpx = 9; - if (has_cpx()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 9, *value_.cpx_, deterministic, target); - } - - // .BERTBuffers.Array arr = 10; - if (has_arr()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 10, *value_.arr_, deterministic, target); - } - - // .BERTBuffers.SheetReference ref = 11; - if (has_ref()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 11, *value_.ref_, deterministic, target); - } - - // .BERTBuffers.ExternalPointer com_pointer = 12; - if (has_com_pointer()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 12, *value_.com_pointer_, deterministic, target); - } - - // .BERTBuffers.GraphicsUpdate graphics = 13; - if (has_graphics()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 13, *value_.graphics_, deterministic, target); - } - - // uint32 cache_reference = 14; - if (has_cache_reference()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(14, this->cache_reference(), target); - } - - // string name = 15; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Variable.name"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 15, this->name(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Variable) - return target; -} - -size_t Variable::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Variable) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // string name = 15; - if (this->name().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->name()); - } - - switch (value_case()) { - // bool nil = 1; - case kNil: { - total_size += 1 + 1; - break; - } - // bool missing = 2; - case kMissing: { - total_size += 1 + 1; - break; - } - // .BERTBuffers.Error err = 3; - case kErr: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *value_.err_); - break; - } - // int32 integer = 5; - case kInteger: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->integer()); - break; - } - // double real = 6; - case kReal: { - total_size += 1 + 8; - break; - } - // string str = 7; - case kStr: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->str()); - break; - } - // bool boolean = 8; - case kBoolean: { - total_size += 1 + 1; - break; - } - // .BERTBuffers.Complex cpx = 9; - case kCpx: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *value_.cpx_); - break; - } - // .BERTBuffers.Array arr = 10; - case kArr: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *value_.arr_); - break; - } - // .BERTBuffers.SheetReference ref = 11; - case kRef: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *value_.ref_); - break; - } - // .BERTBuffers.ExternalPointer com_pointer = 12; - case kComPointer: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *value_.com_pointer_); - break; - } - // .BERTBuffers.GraphicsUpdate graphics = 13; - case kGraphics: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *value_.graphics_); - break; - } - // uint32 cache_reference = 14; - case kCacheReference: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->cache_reference()); - break; - } - case VALUE_NOT_SET: { - break; - } - } - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void Variable::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.Variable) - GOOGLE_DCHECK_NE(&from, this); - const Variable* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.Variable) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.Variable) - MergeFrom(*source); - } -} - -void Variable::MergeFrom(const Variable& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Variable) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.name().size() > 0) { - - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } - switch (from.value_case()) { - case kNil: { - set_nil(from.nil()); - break; - } - case kMissing: { - set_missing(from.missing()); - break; - } - case kErr: { - mutable_err()->::BERTBuffers::Error::MergeFrom(from.err()); - break; - } - case kInteger: { - set_integer(from.integer()); - break; - } - case kReal: { - set_real(from.real()); - break; - } - case kStr: { - set_str(from.str()); - break; - } - case kBoolean: { - set_boolean(from.boolean()); - break; - } - case kCpx: { - mutable_cpx()->::BERTBuffers::Complex::MergeFrom(from.cpx()); - break; - } - case kArr: { - mutable_arr()->::BERTBuffers::Array::MergeFrom(from.arr()); - break; - } - case kRef: { - mutable_ref()->::BERTBuffers::SheetReference::MergeFrom(from.ref()); - break; - } - case kComPointer: { - mutable_com_pointer()->::BERTBuffers::ExternalPointer::MergeFrom(from.com_pointer()); - break; - } - case kGraphics: { - mutable_graphics()->::BERTBuffers::GraphicsUpdate::MergeFrom(from.graphics()); - break; - } - case kCacheReference: { - set_cache_reference(from.cache_reference()); - break; - } - case VALUE_NOT_SET: { - break; - } - } -} - -void Variable::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.Variable) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void Variable::CopyFrom(const Variable& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Variable) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Variable::IsInitialized() const { - return true; -} - -void Variable::Swap(Variable* other) { - if (other == this) return; - InternalSwap(other); -} -void Variable::InternalSwap(Variable* other) { - using std::swap; - name_.Swap(&other->name_); - swap(value_, other->value_); - swap(_oneof_case_[0], other->_oneof_case_[0]); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata Variable::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void Code::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int Code::kLineFieldNumber; -const int Code::kStartupFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -Code::Code() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsCode(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.Code) -} -Code::Code(const Code& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - line_(from.line_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - startup_ = from.startup_; - // @@protoc_insertion_point(copy_constructor:BERTBuffers.Code) -} - -void Code::SharedCtor() { - startup_ = false; - _cached_size_ = 0; -} - -Code::~Code() { - // @@protoc_insertion_point(destructor:BERTBuffers.Code) - SharedDtor(); -} - -void Code::SharedDtor() { -} - -void Code::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* Code::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const Code& Code::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsCode(); - return *internal_default_instance(); -} - -Code* Code::New(::google::protobuf::Arena* arena) const { - Code* n = new Code; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void Code::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.Code) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - line_.Clear(); - startup_ = false; - _internal_metadata_.Clear(); -} - -bool Code::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.Code) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // repeated string line = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->add_line())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->line(this->line_size() - 1).data(), - static_cast(this->line(this->line_size() - 1).length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Code.line")); - } else { - goto handle_unusual; - } - break; - } - - // bool startup = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &startup_))); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.Code) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.Code) - return false; -#undef DO_ -} - -void Code::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.Code) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // repeated string line = 1; - for (int i = 0, n = this->line_size(); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->line(i).data(), static_cast(this->line(i).length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Code.line"); - ::google::protobuf::internal::WireFormatLite::WriteString( - 1, this->line(i), output); - } - - // bool startup = 2; - if (this->startup() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->startup(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.Code) -} - -::google::protobuf::uint8* Code::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Code) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // repeated string line = 1; - for (int i = 0, n = this->line_size(); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->line(i).data(), static_cast(this->line(i).length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Code.line"); - target = ::google::protobuf::internal::WireFormatLite:: - WriteStringToArray(1, this->line(i), target); - } - - // bool startup = 2; - if (this->startup() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->startup(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Code) - return target; -} - -size_t Code::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Code) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // repeated string line = 1; - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->line_size()); - for (int i = 0, n = this->line_size(); i < n; i++) { - total_size += ::google::protobuf::internal::WireFormatLite::StringSize( - this->line(i)); - } - - // bool startup = 2; - if (this->startup() != 0) { - total_size += 1 + 1; - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void Code::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.Code) - GOOGLE_DCHECK_NE(&from, this); - const Code* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.Code) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.Code) - MergeFrom(*source); - } -} - -void Code::MergeFrom(const Code& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Code) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - line_.MergeFrom(from.line_); - if (from.startup() != 0) { - set_startup(from.startup()); - } -} - -void Code::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.Code) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void Code::CopyFrom(const Code& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Code) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Code::IsInitialized() const { - return true; -} - -void Code::Swap(Code* other) { - if (other == this) return; - InternalSwap(other); -} -void Code::InternalSwap(Code* other) { - using std::swap; - line_.InternalSwap(&other->line_); - swap(startup_, other->startup_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata Code::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void CompositeFunctionCall::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int CompositeFunctionCall::kFunctionFieldNumber; -const int CompositeFunctionCall::kArgumentsFieldNumber; -const int CompositeFunctionCall::kPointerFieldNumber; -const int CompositeFunctionCall::kIndexFieldNumber; -const int CompositeFunctionCall::kTypeFieldNumber; -const int CompositeFunctionCall::kTargetFieldNumber; -const int CompositeFunctionCall::kFlagsFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -CompositeFunctionCall::CompositeFunctionCall() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsCompositeFunctionCall(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.CompositeFunctionCall) -} -CompositeFunctionCall::CompositeFunctionCall(const CompositeFunctionCall& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - arguments_(from.arguments_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - function_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.function().size() > 0) { - function_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.function_); - } - ::memcpy(&pointer_, &from.pointer_, - static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&pointer_)) + sizeof(flags_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.CompositeFunctionCall) -} - -void CompositeFunctionCall::SharedCtor() { - function_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&pointer_, 0, static_cast( - reinterpret_cast(&flags_) - - reinterpret_cast(&pointer_)) + sizeof(flags_)); - _cached_size_ = 0; -} - -CompositeFunctionCall::~CompositeFunctionCall() { - // @@protoc_insertion_point(destructor:BERTBuffers.CompositeFunctionCall) - SharedDtor(); -} - -void CompositeFunctionCall::SharedDtor() { - function_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} - -void CompositeFunctionCall::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* CompositeFunctionCall::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const CompositeFunctionCall& CompositeFunctionCall::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsCompositeFunctionCall(); - return *internal_default_instance(); -} - -CompositeFunctionCall* CompositeFunctionCall::New(::google::protobuf::Arena* arena) const { - CompositeFunctionCall* n = new CompositeFunctionCall; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void CompositeFunctionCall::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.CompositeFunctionCall) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - arguments_.Clear(); - function_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&pointer_, 0, static_cast( - reinterpret_cast(&flags_) - - reinterpret_cast(&pointer_)) + sizeof(flags_)); - _internal_metadata_.Clear(); -} - -bool CompositeFunctionCall::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.CompositeFunctionCall) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string function = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_function())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->function().data(), static_cast(this->function().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.CompositeFunctionCall.function")); - } else { - goto handle_unusual; - } - break; - } - - // repeated .BERTBuffers.Variable arguments = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_arguments())); - } else { - goto handle_unusual; - } - break; - } - - // uint64 pointer = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( - input, &pointer_))); - } else { - goto handle_unusual; - } - break; - } - - // uint32 index = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &index_))); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.CallType type = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) { - int value; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( - input, &value))); - set_type(static_cast< ::BERTBuffers::CallType >(value)); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.CallTarget target = 6; - case 6: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) { - int value; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( - input, &value))); - set_target(static_cast< ::BERTBuffers::CallTarget >(value)); - } else { - goto handle_unusual; - } - break; - } - - // uint32 flags = 7; - case 7: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &flags_))); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.CompositeFunctionCall) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.CompositeFunctionCall) - return false; -#undef DO_ -} - -void CompositeFunctionCall::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.CompositeFunctionCall) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string function = 1; - if (this->function().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->function().data(), static_cast(this->function().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.CompositeFunctionCall.function"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->function(), output); - } - - // repeated .BERTBuffers.Variable arguments = 2; - for (unsigned int i = 0, - n = static_cast(this->arguments_size()); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, this->arguments(static_cast(i)), output); - } - - // uint64 pointer = 3; - if (this->pointer() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt64(3, this->pointer(), output); - } - - // uint32 index = 4; - if (this->index() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->index(), output); - } - - // .BERTBuffers.CallType type = 5; - if (this->type() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteEnum( - 5, this->type(), output); - } - - // .BERTBuffers.CallTarget target = 6; - if (this->target() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteEnum( - 6, this->target(), output); - } - - // uint32 flags = 7; - if (this->flags() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->flags(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.CompositeFunctionCall) -} - -::google::protobuf::uint8* CompositeFunctionCall::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.CompositeFunctionCall) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string function = 1; - if (this->function().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->function().data(), static_cast(this->function().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.CompositeFunctionCall.function"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->function(), target); - } - - // repeated .BERTBuffers.Variable arguments = 2; - for (unsigned int i = 0, - n = static_cast(this->arguments_size()); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 2, this->arguments(static_cast(i)), deterministic, target); - } - - // uint64 pointer = 3; - if (this->pointer() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(3, this->pointer(), target); - } - - // uint32 index = 4; - if (this->index() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->index(), target); - } - - // .BERTBuffers.CallType type = 5; - if (this->type() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( - 5, this->type(), target); - } - - // .BERTBuffers.CallTarget target = 6; - if (this->target() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( - 6, this->target(), target); - } - - // uint32 flags = 7; - if (this->flags() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->flags(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.CompositeFunctionCall) - return target; -} - -size_t CompositeFunctionCall::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.CompositeFunctionCall) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // repeated .BERTBuffers.Variable arguments = 2; - { - unsigned int count = static_cast(this->arguments_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSize( - this->arguments(static_cast(i))); - } - } - - // string function = 1; - if (this->function().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->function()); - } - - // uint64 pointer = 3; - if (this->pointer() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt64Size( - this->pointer()); - } - - // uint32 index = 4; - if (this->index() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->index()); - } - - // .BERTBuffers.CallType type = 5; - if (this->type() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->type()); - } - - // .BERTBuffers.CallTarget target = 6; - if (this->target() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->target()); - } - - // uint32 flags = 7; - if (this->flags() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->flags()); - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void CompositeFunctionCall::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.CompositeFunctionCall) - GOOGLE_DCHECK_NE(&from, this); - const CompositeFunctionCall* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.CompositeFunctionCall) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.CompositeFunctionCall) - MergeFrom(*source); - } -} - -void CompositeFunctionCall::MergeFrom(const CompositeFunctionCall& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.CompositeFunctionCall) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - arguments_.MergeFrom(from.arguments_); - if (from.function().size() > 0) { - - function_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.function_); - } - if (from.pointer() != 0) { - set_pointer(from.pointer()); - } - if (from.index() != 0) { - set_index(from.index()); - } - if (from.type() != 0) { - set_type(from.type()); - } - if (from.target() != 0) { - set_target(from.target()); - } - if (from.flags() != 0) { - set_flags(from.flags()); - } -} - -void CompositeFunctionCall::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.CompositeFunctionCall) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void CompositeFunctionCall::CopyFrom(const CompositeFunctionCall& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.CompositeFunctionCall) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool CompositeFunctionCall::IsInitialized() const { - return true; -} - -void CompositeFunctionCall::Swap(CompositeFunctionCall* other) { - if (other == this) return; - InternalSwap(other); -} -void CompositeFunctionCall::InternalSwap(CompositeFunctionCall* other) { - using std::swap; - arguments_.InternalSwap(&other->arguments_); - function_.Swap(&other->function_); - swap(pointer_, other->pointer_); - swap(index_, other->index_); - swap(type_, other->type_); - swap(target_, other->target_); - swap(flags_, other->flags_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata CompositeFunctionCall::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void GraphicsUpdate::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int GraphicsUpdate::kCommandFieldNumber; -const int GraphicsUpdate::kNameFieldNumber; -const int GraphicsUpdate::kPathFieldNumber; -const int GraphicsUpdate::kWidthFieldNumber; -const int GraphicsUpdate::kHeightFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -GraphicsUpdate::GraphicsUpdate() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsGraphicsUpdate(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.GraphicsUpdate) -} -GraphicsUpdate::GraphicsUpdate(const GraphicsUpdate& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.name().size() > 0) { - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } - path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.path().size() > 0) { - path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_); - } - ::memcpy(&command_, &from.command_, - static_cast(reinterpret_cast(&height_) - - reinterpret_cast(&command_)) + sizeof(height_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.GraphicsUpdate) -} - -void GraphicsUpdate::SharedCtor() { - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&command_, 0, static_cast( - reinterpret_cast(&height_) - - reinterpret_cast(&command_)) + sizeof(height_)); - _cached_size_ = 0; -} - -GraphicsUpdate::~GraphicsUpdate() { - // @@protoc_insertion_point(destructor:BERTBuffers.GraphicsUpdate) - SharedDtor(); -} - -void GraphicsUpdate::SharedDtor() { - name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} - -void GraphicsUpdate::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* GraphicsUpdate::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const GraphicsUpdate& GraphicsUpdate::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsGraphicsUpdate(); - return *internal_default_instance(); -} - -GraphicsUpdate* GraphicsUpdate::New(::google::protobuf::Arena* arena) const { - GraphicsUpdate* n = new GraphicsUpdate; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void GraphicsUpdate::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.GraphicsUpdate) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&command_, 0, static_cast( - reinterpret_cast(&height_) - - reinterpret_cast(&command_)) + sizeof(height_)); - _internal_metadata_.Clear(); -} - -bool GraphicsUpdate::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.GraphicsUpdate) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // .BERTBuffers.GraphicsUpdateCommand command = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { - int value; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( - input, &value))); - set_command(static_cast< ::BERTBuffers::GraphicsUpdateCommand >(value)); - } else { - goto handle_unusual; - } - break; - } - - // string name = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_name())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.GraphicsUpdate.name")); - } else { - goto handle_unusual; - } - break; - } - - // string path = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_path())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->path().data(), static_cast(this->path().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.GraphicsUpdate.path")); - } else { - goto handle_unusual; - } - break; - } - - // uint32 width = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &width_))); - } else { - goto handle_unusual; - } - break; - } - - // uint32 height = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &height_))); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.GraphicsUpdate) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.GraphicsUpdate) - return false; -#undef DO_ -} - -void GraphicsUpdate::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.GraphicsUpdate) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // .BERTBuffers.GraphicsUpdateCommand command = 1; - if (this->command() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteEnum( - 1, this->command(), output); - } - - // string name = 2; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsUpdate.name"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 2, this->name(), output); - } - - // string path = 3; - if (this->path().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->path().data(), static_cast(this->path().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsUpdate.path"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 3, this->path(), output); - } - - // uint32 width = 4; - if (this->width() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->width(), output); - } - - // uint32 height = 5; - if (this->height() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->height(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.GraphicsUpdate) -} - -::google::protobuf::uint8* GraphicsUpdate::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.GraphicsUpdate) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // .BERTBuffers.GraphicsUpdateCommand command = 1; - if (this->command() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( - 1, this->command(), target); - } - - // string name = 2; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsUpdate.name"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 2, this->name(), target); - } - - // string path = 3; - if (this->path().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->path().data(), static_cast(this->path().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsUpdate.path"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 3, this->path(), target); - } - - // uint32 width = 4; - if (this->width() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->width(), target); - } - - // uint32 height = 5; - if (this->height() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->height(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.GraphicsUpdate) - return target; -} - -size_t GraphicsUpdate::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.GraphicsUpdate) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // string name = 2; - if (this->name().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->name()); - } - - // string path = 3; - if (this->path().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->path()); - } - - // .BERTBuffers.GraphicsUpdateCommand command = 1; - if (this->command() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->command()); - } - - // uint32 width = 4; - if (this->width() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->width()); - } - - // uint32 height = 5; - if (this->height() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->height()); - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void GraphicsUpdate::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.GraphicsUpdate) - GOOGLE_DCHECK_NE(&from, this); - const GraphicsUpdate* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.GraphicsUpdate) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.GraphicsUpdate) - MergeFrom(*source); - } -} - -void GraphicsUpdate::MergeFrom(const GraphicsUpdate& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.GraphicsUpdate) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.name().size() > 0) { - - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } - if (from.path().size() > 0) { - - path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_); - } - if (from.command() != 0) { - set_command(from.command()); - } - if (from.width() != 0) { - set_width(from.width()); - } - if (from.height() != 0) { - set_height(from.height()); - } -} - -void GraphicsUpdate::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.GraphicsUpdate) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void GraphicsUpdate::CopyFrom(const GraphicsUpdate& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.GraphicsUpdate) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool GraphicsUpdate::IsInitialized() const { - return true; -} - -void GraphicsUpdate::Swap(GraphicsUpdate* other) { - if (other == this) return; - InternalSwap(other); -} -void GraphicsUpdate::InternalSwap(GraphicsUpdate* other) { - using std::swap; - name_.Swap(&other->name_); - path_.Swap(&other->path_); - swap(command_, other->command_); - swap(width_, other->width_); - swap(height_, other->height_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata GraphicsUpdate::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void GraphicsCommand::InitAsDefaultInstance() { - ::BERTBuffers::_GraphicsCommand_default_instance_._instance.get_mutable()->context_ = const_cast< ::BERTBuffers::GraphicsContext*>( - ::BERTBuffers::GraphicsContext::internal_default_instance()); -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int GraphicsCommand::kCommandFieldNumber; -const int GraphicsCommand::kXFieldNumber; -const int GraphicsCommand::kYFieldNumber; -const int GraphicsCommand::kRFieldNumber; -const int GraphicsCommand::kRotFieldNumber; -const int GraphicsCommand::kTextFieldNumber; -const int GraphicsCommand::kFilledFieldNumber; -const int GraphicsCommand::kHadjFieldNumber; -const int GraphicsCommand::kRasterFieldNumber; -const int GraphicsCommand::kInterpolateFieldNumber; -const int GraphicsCommand::kDeviceTypeFieldNumber; -const int GraphicsCommand::kContextFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -GraphicsCommand::GraphicsCommand() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsGraphicsCommand(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.GraphicsCommand) -} -GraphicsCommand::GraphicsCommand(const GraphicsCommand& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - x_(from.x_), - y_(from.y_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.command().size() > 0) { - command_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_); - } - text_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.text().size() > 0) { - text_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.text_); - } - raster_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.raster().size() > 0) { - raster_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.raster_); - } - device_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.device_type().size() > 0) { - device_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.device_type_); - } - if (from.has_context()) { - context_ = new ::BERTBuffers::GraphicsContext(*from.context_); - } else { - context_ = NULL; - } - ::memcpy(&r_, &from.r_, - static_cast(reinterpret_cast(&interpolate_) - - reinterpret_cast(&r_)) + sizeof(interpolate_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.GraphicsCommand) -} - -void GraphicsCommand::SharedCtor() { - command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - text_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - raster_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - device_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&context_, 0, static_cast( - reinterpret_cast(&interpolate_) - - reinterpret_cast(&context_)) + sizeof(interpolate_)); - _cached_size_ = 0; -} - -GraphicsCommand::~GraphicsCommand() { - // @@protoc_insertion_point(destructor:BERTBuffers.GraphicsCommand) - SharedDtor(); -} - -void GraphicsCommand::SharedDtor() { - command_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - text_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - raster_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - device_type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete context_; -} - -void GraphicsCommand::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* GraphicsCommand::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const GraphicsCommand& GraphicsCommand::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsGraphicsCommand(); - return *internal_default_instance(); -} - -GraphicsCommand* GraphicsCommand::New(::google::protobuf::Arena* arena) const { - GraphicsCommand* n = new GraphicsCommand; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void GraphicsCommand::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.GraphicsCommand) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - x_.Clear(); - y_.Clear(); - command_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - text_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - raster_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - device_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (GetArenaNoVirtual() == NULL && context_ != NULL) { - delete context_; - } - context_ = NULL; - ::memset(&r_, 0, static_cast( - reinterpret_cast(&interpolate_) - - reinterpret_cast(&r_)) + sizeof(interpolate_)); - _internal_metadata_.Clear(); -} - -bool GraphicsCommand::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.GraphicsCommand) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string command = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_command())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->command().data(), static_cast(this->command().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.GraphicsCommand.command")); - } else { - goto handle_unusual; - } - break; - } - - // repeated double x = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, this->mutable_x()))); - } else if ( - static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) { - DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - 1, 18u, input, this->mutable_x()))); - } else { - goto handle_unusual; - } - break; - } - - // repeated double y = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, this->mutable_y()))); - } else if ( - static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(25u /* 25 & 0xFF */)) { - DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - 1, 26u, input, this->mutable_y()))); - } else { - goto handle_unusual; - } - break; - } - - // double r = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(33u /* 33 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &r_))); - } else { - goto handle_unusual; - } - break; - } - - // double rot = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(41u /* 41 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &rot_))); - } else { - goto handle_unusual; - } - break; - } - - // string text = 6; - case 6: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_text())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->text().data(), static_cast(this->text().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.GraphicsCommand.text")); - } else { - goto handle_unusual; - } - break; - } - - // bool filled = 7; - case 7: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &filled_))); - } else { - goto handle_unusual; - } - break; - } - - // double hadj = 8; - case 8: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(65u /* 65 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &hadj_))); - } else { - goto handle_unusual; - } - break; - } - - // bytes raster = 9; - case 9: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadBytes( - input, this->mutable_raster())); - } else { - goto handle_unusual; - } - break; - } - - // bool interpolate = 10; - case 10: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(80u /* 80 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &interpolate_))); - } else { - goto handle_unusual; - } - break; - } - - // string device_type = 14; - case 14: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(114u /* 114 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_device_type())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->device_type().data(), static_cast(this->device_type().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.GraphicsCommand.device_type")); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.GraphicsContext context = 15; - case 15: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(122u /* 122 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_context())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.GraphicsCommand) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.GraphicsCommand) - return false; -#undef DO_ -} - -void GraphicsCommand::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.GraphicsCommand) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string command = 1; - if (this->command().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->command().data(), static_cast(this->command().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsCommand.command"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->command(), output); - } - - // repeated double x = 2; - if (this->x_size() > 0) { - ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); - output->WriteVarint32(static_cast< ::google::protobuf::uint32>( - _x_cached_byte_size_)); - ::google::protobuf::internal::WireFormatLite::WriteDoubleArray( - this->x().data(), this->x_size(), output); - } - - // repeated double y = 3; - if (this->y_size() > 0) { - ::google::protobuf::internal::WireFormatLite::WriteTag(3, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); - output->WriteVarint32(static_cast< ::google::protobuf::uint32>( - _y_cached_byte_size_)); - ::google::protobuf::internal::WireFormatLite::WriteDoubleArray( - this->y().data(), this->y_size(), output); - } - - // double r = 4; - if (this->r() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(4, this->r(), output); - } - - // double rot = 5; - if (this->rot() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(5, this->rot(), output); - } - - // string text = 6; - if (this->text().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->text().data(), static_cast(this->text().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsCommand.text"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 6, this->text(), output); - } - - // bool filled = 7; - if (this->filled() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->filled(), output); - } - - // double hadj = 8; - if (this->hadj() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(8, this->hadj(), output); - } - - // bytes raster = 9; - if (this->raster().size() > 0) { - ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased( - 9, this->raster(), output); - } - - // bool interpolate = 10; - if (this->interpolate() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->interpolate(), output); - } - - // string device_type = 14; - if (this->device_type().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->device_type().data(), static_cast(this->device_type().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsCommand.device_type"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 14, this->device_type(), output); - } - - // .BERTBuffers.GraphicsContext context = 15; - if (this->has_context()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 15, *this->context_, output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.GraphicsCommand) -} - -::google::protobuf::uint8* GraphicsCommand::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.GraphicsCommand) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string command = 1; - if (this->command().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->command().data(), static_cast(this->command().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsCommand.command"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->command(), target); - } - - // repeated double x = 2; - if (this->x_size() > 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray( - 2, - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, - target); - target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray( - static_cast< ::google::protobuf::int32>( - _x_cached_byte_size_), target); - target = ::google::protobuf::internal::WireFormatLite:: - WriteDoubleNoTagToArray(this->x_, target); - } - - // repeated double y = 3; - if (this->y_size() > 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray( - 3, - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, - target); - target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray( - static_cast< ::google::protobuf::int32>( - _y_cached_byte_size_), target); - target = ::google::protobuf::internal::WireFormatLite:: - WriteDoubleNoTagToArray(this->y_, target); - } - - // double r = 4; - if (this->r() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(4, this->r(), target); - } - - // double rot = 5; - if (this->rot() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(5, this->rot(), target); - } - - // string text = 6; - if (this->text().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->text().data(), static_cast(this->text().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsCommand.text"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 6, this->text(), target); - } - - // bool filled = 7; - if (this->filled() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->filled(), target); - } - - // double hadj = 8; - if (this->hadj() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(8, this->hadj(), target); - } - - // bytes raster = 9; - if (this->raster().size() > 0) { - target = - ::google::protobuf::internal::WireFormatLite::WriteBytesToArray( - 9, this->raster(), target); - } - - // bool interpolate = 10; - if (this->interpolate() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->interpolate(), target); - } - - // string device_type = 14; - if (this->device_type().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->device_type().data(), static_cast(this->device_type().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsCommand.device_type"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 14, this->device_type(), target); - } - - // .BERTBuffers.GraphicsContext context = 15; - if (this->has_context()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 15, *this->context_, deterministic, target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.GraphicsCommand) - return target; -} - -size_t GraphicsCommand::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.GraphicsCommand) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // repeated double x = 2; - { - unsigned int count = static_cast(this->x_size()); - size_t data_size = 8UL * count; - if (data_size > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - static_cast< ::google::protobuf::int32>(data_size)); - } - int cached_size = ::google::protobuf::internal::ToCachedSize(data_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _x_cached_byte_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - total_size += data_size; - } - - // repeated double y = 3; - { - unsigned int count = static_cast(this->y_size()); - size_t data_size = 8UL * count; - if (data_size > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - static_cast< ::google::protobuf::int32>(data_size)); - } - int cached_size = ::google::protobuf::internal::ToCachedSize(data_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _y_cached_byte_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - total_size += data_size; - } - - // string command = 1; - if (this->command().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->command()); - } - - // string text = 6; - if (this->text().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->text()); - } - - // bytes raster = 9; - if (this->raster().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::BytesSize( - this->raster()); - } - - // string device_type = 14; - if (this->device_type().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->device_type()); - } - - // .BERTBuffers.GraphicsContext context = 15; - if (this->has_context()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *this->context_); - } - - // double r = 4; - if (this->r() != 0) { - total_size += 1 + 8; - } - - // double rot = 5; - if (this->rot() != 0) { - total_size += 1 + 8; - } - - // double hadj = 8; - if (this->hadj() != 0) { - total_size += 1 + 8; - } - - // bool filled = 7; - if (this->filled() != 0) { - total_size += 1 + 1; - } - - // bool interpolate = 10; - if (this->interpolate() != 0) { - total_size += 1 + 1; - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void GraphicsCommand::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.GraphicsCommand) - GOOGLE_DCHECK_NE(&from, this); - const GraphicsCommand* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.GraphicsCommand) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.GraphicsCommand) - MergeFrom(*source); - } -} - -void GraphicsCommand::MergeFrom(const GraphicsCommand& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.GraphicsCommand) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - x_.MergeFrom(from.x_); - y_.MergeFrom(from.y_); - if (from.command().size() > 0) { - - command_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_); - } - if (from.text().size() > 0) { - - text_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.text_); - } - if (from.raster().size() > 0) { - - raster_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.raster_); - } - if (from.device_type().size() > 0) { - - device_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.device_type_); - } - if (from.has_context()) { - mutable_context()->::BERTBuffers::GraphicsContext::MergeFrom(from.context()); - } - if (from.r() != 0) { - set_r(from.r()); - } - if (from.rot() != 0) { - set_rot(from.rot()); - } - if (from.hadj() != 0) { - set_hadj(from.hadj()); - } - if (from.filled() != 0) { - set_filled(from.filled()); - } - if (from.interpolate() != 0) { - set_interpolate(from.interpolate()); - } -} - -void GraphicsCommand::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.GraphicsCommand) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void GraphicsCommand::CopyFrom(const GraphicsCommand& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.GraphicsCommand) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool GraphicsCommand::IsInitialized() const { - return true; -} - -void GraphicsCommand::Swap(GraphicsCommand* other) { - if (other == this) return; - InternalSwap(other); -} -void GraphicsCommand::InternalSwap(GraphicsCommand* other) { - using std::swap; - x_.InternalSwap(&other->x_); - y_.InternalSwap(&other->y_); - command_.Swap(&other->command_); - text_.Swap(&other->text_); - raster_.Swap(&other->raster_); - device_type_.Swap(&other->device_type_); - swap(context_, other->context_); - swap(r_, other->r_); - swap(rot_, other->rot_); - swap(hadj_, other->hadj_); - swap(filled_, other->filled_); - swap(interpolate_, other->interpolate_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata GraphicsCommand::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void Color::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int Color::kAFieldNumber; -const int Color::kRFieldNumber; -const int Color::kGFieldNumber; -const int Color::kBFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -Color::Color() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsColor(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.Color) -} -Color::Color(const Color& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::memcpy(&a_, &from.a_, - static_cast(reinterpret_cast(&b_) - - reinterpret_cast(&a_)) + sizeof(b_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.Color) -} - -void Color::SharedCtor() { - ::memset(&a_, 0, static_cast( - reinterpret_cast(&b_) - - reinterpret_cast(&a_)) + sizeof(b_)); - _cached_size_ = 0; -} - -Color::~Color() { - // @@protoc_insertion_point(destructor:BERTBuffers.Color) - SharedDtor(); -} - -void Color::SharedDtor() { -} - -void Color::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* Color::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const Color& Color::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsColor(); - return *internal_default_instance(); -} - -Color* Color::New(::google::protobuf::Arena* arena) const { - Color* n = new Color; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void Color::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.Color) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - ::memset(&a_, 0, static_cast( - reinterpret_cast(&b_) - - reinterpret_cast(&a_)) + sizeof(b_)); - _internal_metadata_.Clear(); -} - -bool Color::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.Color) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // uint32 a = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &a_))); - } else { - goto handle_unusual; - } - break; - } - - // uint32 r = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &r_))); - } else { - goto handle_unusual; - } - break; - } - - // uint32 g = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &g_))); - } else { - goto handle_unusual; - } - break; - } - - // uint32 b = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &b_))); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.Color) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.Color) - return false; -#undef DO_ -} - -void Color::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.Color) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // uint32 a = 1; - if (this->a() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->a(), output); - } - - // uint32 r = 2; - if (this->r() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->r(), output); - } - - // uint32 g = 3; - if (this->g() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->g(), output); - } - - // uint32 b = 4; - if (this->b() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->b(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.Color) -} - -::google::protobuf::uint8* Color::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Color) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // uint32 a = 1; - if (this->a() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->a(), target); - } - - // uint32 r = 2; - if (this->r() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->r(), target); - } - - // uint32 g = 3; - if (this->g() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->g(), target); - } - - // uint32 b = 4; - if (this->b() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->b(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Color) - return target; -} - -size_t Color::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Color) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // uint32 a = 1; - if (this->a() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->a()); - } - - // uint32 r = 2; - if (this->r() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->r()); - } - - // uint32 g = 3; - if (this->g() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->g()); - } - - // uint32 b = 4; - if (this->b() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->b()); - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void Color::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.Color) - GOOGLE_DCHECK_NE(&from, this); - const Color* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.Color) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.Color) - MergeFrom(*source); - } -} - -void Color::MergeFrom(const Color& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Color) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.a() != 0) { - set_a(from.a()); - } - if (from.r() != 0) { - set_r(from.r()); - } - if (from.g() != 0) { - set_g(from.g()); - } - if (from.b() != 0) { - set_b(from.b()); - } -} - -void Color::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.Color) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void Color::CopyFrom(const Color& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Color) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Color::IsInitialized() const { - return true; -} - -void Color::Swap(Color* other) { - if (other == this) return; - InternalSwap(other); -} -void Color::InternalSwap(Color* other) { - using std::swap; - swap(a_, other->a_); - swap(r_, other->r_); - swap(g_, other->g_); - swap(b_, other->b_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata Color::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void GraphicsContext::InitAsDefaultInstance() { - ::BERTBuffers::_GraphicsContext_default_instance_._instance.get_mutable()->col_ = const_cast< ::BERTBuffers::Color*>( - ::BERTBuffers::Color::internal_default_instance()); - ::BERTBuffers::_GraphicsContext_default_instance_._instance.get_mutable()->fill_ = const_cast< ::BERTBuffers::Color*>( - ::BERTBuffers::Color::internal_default_instance()); -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int GraphicsContext::kColFieldNumber; -const int GraphicsContext::kFillFieldNumber; -const int GraphicsContext::kGammaFieldNumber; -const int GraphicsContext::kLwdFieldNumber; -const int GraphicsContext::kLtyFieldNumber; -const int GraphicsContext::kLendFieldNumber; -const int GraphicsContext::kLjoinFieldNumber; -const int GraphicsContext::kLmitreFieldNumber; -const int GraphicsContext::kCexFieldNumber; -const int GraphicsContext::kPsFieldNumber; -const int GraphicsContext::kLineheightFieldNumber; -const int GraphicsContext::kFontfaceFieldNumber; -const int GraphicsContext::kFontfamilyFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -GraphicsContext::GraphicsContext() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsGraphicsContext(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.GraphicsContext) -} -GraphicsContext::GraphicsContext(const GraphicsContext& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - fontfamily_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.fontfamily().size() > 0) { - fontfamily_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.fontfamily_); - } - if (from.has_col()) { - col_ = new ::BERTBuffers::Color(*from.col_); - } else { - col_ = NULL; - } - if (from.has_fill()) { - fill_ = new ::BERTBuffers::Color(*from.fill_); - } else { - fill_ = NULL; - } - ::memcpy(&gamma_, &from.gamma_, - static_cast(reinterpret_cast(&lineheight_) - - reinterpret_cast(&gamma_)) + sizeof(lineheight_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.GraphicsContext) -} - -void GraphicsContext::SharedCtor() { - fontfamily_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&col_, 0, static_cast( - reinterpret_cast(&lineheight_) - - reinterpret_cast(&col_)) + sizeof(lineheight_)); - _cached_size_ = 0; -} - -GraphicsContext::~GraphicsContext() { - // @@protoc_insertion_point(destructor:BERTBuffers.GraphicsContext) - SharedDtor(); -} - -void GraphicsContext::SharedDtor() { - fontfamily_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete col_; - if (this != internal_default_instance()) delete fill_; -} - -void GraphicsContext::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* GraphicsContext::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const GraphicsContext& GraphicsContext::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsGraphicsContext(); - return *internal_default_instance(); -} - -GraphicsContext* GraphicsContext::New(::google::protobuf::Arena* arena) const { - GraphicsContext* n = new GraphicsContext; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void GraphicsContext::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.GraphicsContext) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - fontfamily_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (GetArenaNoVirtual() == NULL && col_ != NULL) { - delete col_; - } - col_ = NULL; - if (GetArenaNoVirtual() == NULL && fill_ != NULL) { - delete fill_; - } - fill_ = NULL; - ::memset(&gamma_, 0, static_cast( - reinterpret_cast(&lineheight_) - - reinterpret_cast(&gamma_)) + sizeof(lineheight_)); - _internal_metadata_.Clear(); -} - -bool GraphicsContext::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.GraphicsContext) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // .BERTBuffers.Color col = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_col())); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.Color fill = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_fill())); - } else { - goto handle_unusual; - } - break; - } - - // double gamma = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(25u /* 25 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &gamma_))); - } else { - goto handle_unusual; - } - break; - } - - // double lwd = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(33u /* 33 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &lwd_))); - } else { - goto handle_unusual; - } - break; - } - - // int32 lty = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, <y_))); - } else { - goto handle_unusual; - } - break; - } - - // int32 lend = 6; - case 6: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &lend_))); - } else { - goto handle_unusual; - } - break; - } - - // int32 ljoin = 7; - case 7: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &ljoin_))); - } else { - goto handle_unusual; - } - break; - } - - // double lmitre = 8; - case 8: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(65u /* 65 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &lmitre_))); - } else { - goto handle_unusual; - } - break; - } - - // double cex = 9; - case 9: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(73u /* 73 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &cex_))); - } else { - goto handle_unusual; - } - break; - } - - // double ps = 10; - case 10: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(81u /* 81 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &ps_))); - } else { - goto handle_unusual; - } - break; - } - - // double lineheight = 11; - case 11: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(89u /* 89 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &lineheight_))); - } else { - goto handle_unusual; - } - break; - } - - // int32 fontface = 12; - case 12: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(96u /* 96 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &fontface_))); - } else { - goto handle_unusual; - } - break; - } - - // string fontfamily = 13; - case 13: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(106u /* 106 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_fontfamily())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->fontfamily().data(), static_cast(this->fontfamily().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.GraphicsContext.fontfamily")); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.GraphicsContext) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.GraphicsContext) - return false; -#undef DO_ -} - -void GraphicsContext::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.GraphicsContext) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // .BERTBuffers.Color col = 1; - if (this->has_col()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, *this->col_, output); - } - - // .BERTBuffers.Color fill = 2; - if (this->has_fill()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, *this->fill_, output); - } - - // double gamma = 3; - if (this->gamma() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(3, this->gamma(), output); - } - - // double lwd = 4; - if (this->lwd() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(4, this->lwd(), output); - } - - // int32 lty = 5; - if (this->lty() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->lty(), output); - } - - // int32 lend = 6; - if (this->lend() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->lend(), output); - } - - // int32 ljoin = 7; - if (this->ljoin() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->ljoin(), output); - } - - // double lmitre = 8; - if (this->lmitre() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(8, this->lmitre(), output); - } - - // double cex = 9; - if (this->cex() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(9, this->cex(), output); - } - - // double ps = 10; - if (this->ps() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(10, this->ps(), output); - } - - // double lineheight = 11; - if (this->lineheight() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(11, this->lineheight(), output); - } - - // int32 fontface = 12; - if (this->fontface() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(12, this->fontface(), output); - } - - // string fontfamily = 13; - if (this->fontfamily().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->fontfamily().data(), static_cast(this->fontfamily().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsContext.fontfamily"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 13, this->fontfamily(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.GraphicsContext) -} - -::google::protobuf::uint8* GraphicsContext::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.GraphicsContext) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // .BERTBuffers.Color col = 1; - if (this->has_col()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 1, *this->col_, deterministic, target); - } - - // .BERTBuffers.Color fill = 2; - if (this->has_fill()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 2, *this->fill_, deterministic, target); - } - - // double gamma = 3; - if (this->gamma() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(3, this->gamma(), target); - } - - // double lwd = 4; - if (this->lwd() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(4, this->lwd(), target); - } - - // int32 lty = 5; - if (this->lty() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->lty(), target); - } - - // int32 lend = 6; - if (this->lend() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->lend(), target); - } - - // int32 ljoin = 7; - if (this->ljoin() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->ljoin(), target); - } - - // double lmitre = 8; - if (this->lmitre() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(8, this->lmitre(), target); - } - - // double cex = 9; - if (this->cex() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(9, this->cex(), target); - } - - // double ps = 10; - if (this->ps() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(10, this->ps(), target); - } - - // double lineheight = 11; - if (this->lineheight() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(11, this->lineheight(), target); - } - - // int32 fontface = 12; - if (this->fontface() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(12, this->fontface(), target); - } - - // string fontfamily = 13; - if (this->fontfamily().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->fontfamily().data(), static_cast(this->fontfamily().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.GraphicsContext.fontfamily"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 13, this->fontfamily(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.GraphicsContext) - return target; -} - -size_t GraphicsContext::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.GraphicsContext) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // string fontfamily = 13; - if (this->fontfamily().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->fontfamily()); - } - - // .BERTBuffers.Color col = 1; - if (this->has_col()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *this->col_); - } - - // .BERTBuffers.Color fill = 2; - if (this->has_fill()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *this->fill_); - } - - // double gamma = 3; - if (this->gamma() != 0) { - total_size += 1 + 8; - } - - // double lwd = 4; - if (this->lwd() != 0) { - total_size += 1 + 8; - } - - // int32 lty = 5; - if (this->lty() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->lty()); - } - - // int32 lend = 6; - if (this->lend() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->lend()); - } - - // double lmitre = 8; - if (this->lmitre() != 0) { - total_size += 1 + 8; - } - - // double cex = 9; - if (this->cex() != 0) { - total_size += 1 + 8; - } - - // int32 ljoin = 7; - if (this->ljoin() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->ljoin()); - } - - // int32 fontface = 12; - if (this->fontface() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->fontface()); - } - - // double ps = 10; - if (this->ps() != 0) { - total_size += 1 + 8; - } - - // double lineheight = 11; - if (this->lineheight() != 0) { - total_size += 1 + 8; - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void GraphicsContext::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.GraphicsContext) - GOOGLE_DCHECK_NE(&from, this); - const GraphicsContext* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.GraphicsContext) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.GraphicsContext) - MergeFrom(*source); - } -} - -void GraphicsContext::MergeFrom(const GraphicsContext& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.GraphicsContext) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.fontfamily().size() > 0) { - - fontfamily_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.fontfamily_); - } - if (from.has_col()) { - mutable_col()->::BERTBuffers::Color::MergeFrom(from.col()); - } - if (from.has_fill()) { - mutable_fill()->::BERTBuffers::Color::MergeFrom(from.fill()); - } - if (from.gamma() != 0) { - set_gamma(from.gamma()); - } - if (from.lwd() != 0) { - set_lwd(from.lwd()); - } - if (from.lty() != 0) { - set_lty(from.lty()); - } - if (from.lend() != 0) { - set_lend(from.lend()); - } - if (from.lmitre() != 0) { - set_lmitre(from.lmitre()); - } - if (from.cex() != 0) { - set_cex(from.cex()); - } - if (from.ljoin() != 0) { - set_ljoin(from.ljoin()); - } - if (from.fontface() != 0) { - set_fontface(from.fontface()); - } - if (from.ps() != 0) { - set_ps(from.ps()); - } - if (from.lineheight() != 0) { - set_lineheight(from.lineheight()); - } -} - -void GraphicsContext::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.GraphicsContext) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void GraphicsContext::CopyFrom(const GraphicsContext& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.GraphicsContext) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool GraphicsContext::IsInitialized() const { - return true; -} - -void GraphicsContext::Swap(GraphicsContext* other) { - if (other == this) return; - InternalSwap(other); -} -void GraphicsContext::InternalSwap(GraphicsContext* other) { - using std::swap; - fontfamily_.Swap(&other->fontfamily_); - swap(col_, other->col_); - swap(fill_, other->fill_); - swap(gamma_, other->gamma_); - swap(lwd_, other->lwd_); - swap(lty_, other->lty_); - swap(lend_, other->lend_); - swap(lmitre_, other->lmitre_); - swap(cex_, other->cex_); - swap(ljoin_, other->ljoin_); - swap(fontface_, other->fontface_); - swap(ps_, other->ps_); - swap(lineheight_, other->lineheight_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata GraphicsContext::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void MIMEData::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int MIMEData::kMimeTypeFieldNumber; -const int MIMEData::kDataFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -MIMEData::MIMEData() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsMIMEData(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.MIMEData) -} -MIMEData::MIMEData(const MIMEData& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - mime_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.mime_type().size() > 0) { - mime_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mime_type_); - } - data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.data().size() > 0) { - data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_); - } - // @@protoc_insertion_point(copy_constructor:BERTBuffers.MIMEData) -} - -void MIMEData::SharedCtor() { - mime_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - _cached_size_ = 0; -} - -MIMEData::~MIMEData() { - // @@protoc_insertion_point(destructor:BERTBuffers.MIMEData) - SharedDtor(); -} - -void MIMEData::SharedDtor() { - mime_type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} - -void MIMEData::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* MIMEData::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const MIMEData& MIMEData::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsMIMEData(); - return *internal_default_instance(); -} - -MIMEData* MIMEData::New(::google::protobuf::Arena* arena) const { - MIMEData* n = new MIMEData; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void MIMEData::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.MIMEData) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - mime_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - _internal_metadata_.Clear(); -} - -bool MIMEData::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.MIMEData) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string mime_type = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_mime_type())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->mime_type().data(), static_cast(this->mime_type().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.MIMEData.mime_type")); - } else { - goto handle_unusual; - } - break; - } - - // bytes data = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadBytes( - input, this->mutable_data())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.MIMEData) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.MIMEData) - return false; -#undef DO_ -} - -void MIMEData::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.MIMEData) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string mime_type = 1; - if (this->mime_type().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->mime_type().data(), static_cast(this->mime_type().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.MIMEData.mime_type"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->mime_type(), output); - } - - // bytes data = 2; - if (this->data().size() > 0) { - ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased( - 2, this->data(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.MIMEData) -} - -::google::protobuf::uint8* MIMEData::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.MIMEData) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string mime_type = 1; - if (this->mime_type().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->mime_type().data(), static_cast(this->mime_type().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.MIMEData.mime_type"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->mime_type(), target); - } - - // bytes data = 2; - if (this->data().size() > 0) { - target = - ::google::protobuf::internal::WireFormatLite::WriteBytesToArray( - 2, this->data(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.MIMEData) - return target; -} - -size_t MIMEData::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.MIMEData) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // string mime_type = 1; - if (this->mime_type().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->mime_type()); - } - - // bytes data = 2; - if (this->data().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::BytesSize( - this->data()); - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void MIMEData::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.MIMEData) - GOOGLE_DCHECK_NE(&from, this); - const MIMEData* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.MIMEData) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.MIMEData) - MergeFrom(*source); - } -} - -void MIMEData::MergeFrom(const MIMEData& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.MIMEData) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.mime_type().size() > 0) { - - mime_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mime_type_); - } - if (from.data().size() > 0) { - - data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_); - } -} - -void MIMEData::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.MIMEData) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void MIMEData::CopyFrom(const MIMEData& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.MIMEData) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool MIMEData::IsInitialized() const { - return true; -} - -void MIMEData::Swap(MIMEData* other) { - if (other == this) return; - InternalSwap(other); -} -void MIMEData::InternalSwap(MIMEData* other) { - using std::swap; - mime_type_.Swap(&other->mime_type_); - data_.Swap(&other->data_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata MIMEData::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void Console::InitAsDefaultInstance() { - ::BERTBuffers::_Console_default_instance_.text_.UnsafeSetDefault( - &::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::BERTBuffers::_Console_default_instance_.err_.UnsafeSetDefault( - &::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::BERTBuffers::_Console_default_instance_.prompt_.UnsafeSetDefault( - &::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::BERTBuffers::_Console_default_instance_.graphics_ = const_cast< ::BERTBuffers::GraphicsCommand*>( - ::BERTBuffers::GraphicsCommand::internal_default_instance()); - ::BERTBuffers::_Console_default_instance_.mime_data_ = const_cast< ::BERTBuffers::MIMEData*>( - ::BERTBuffers::MIMEData::internal_default_instance()); - ::BERTBuffers::_Console_default_instance_.history_ = const_cast< ::BERTBuffers::Variable*>( - ::BERTBuffers::Variable::internal_default_instance()); -} -void Console::set_allocated_graphics(::BERTBuffers::GraphicsCommand* graphics) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_message(); - if (graphics) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - graphics = ::google::protobuf::internal::GetOwnedMessage( - message_arena, graphics, submessage_arena); - } - set_has_graphics(); - message_.graphics_ = graphics; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.graphics) -} -void Console::set_allocated_mime_data(::BERTBuffers::MIMEData* mime_data) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_message(); - if (mime_data) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - mime_data = ::google::protobuf::internal::GetOwnedMessage( - message_arena, mime_data, submessage_arena); - } - set_has_mime_data(); - message_.mime_data_ = mime_data; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.mime_data) -} -void Console::set_allocated_history(::BERTBuffers::Variable* history) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_message(); - if (history) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - history = ::google::protobuf::internal::GetOwnedMessage( - message_arena, history, submessage_arena); - } - set_has_history(); - message_.history_ = history; - } - // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.history) -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int Console::kTextFieldNumber; -const int Console::kErrFieldNumber; -const int Console::kPromptFieldNumber; -const int Console::kGraphicsFieldNumber; -const int Console::kMimeDataFieldNumber; -const int Console::kHistoryFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -Console::Console() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsConsole(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.Console) -} -Console::Console(const Console& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - clear_has_message(); - switch (from.message_case()) { - case kText: { - set_text(from.text()); - break; - } - case kErr: { - set_err(from.err()); - break; - } - case kPrompt: { - set_prompt(from.prompt()); - break; - } - case kGraphics: { - mutable_graphics()->::BERTBuffers::GraphicsCommand::MergeFrom(from.graphics()); - break; - } - case kMimeData: { - mutable_mime_data()->::BERTBuffers::MIMEData::MergeFrom(from.mime_data()); - break; - } - case kHistory: { - mutable_history()->::BERTBuffers::Variable::MergeFrom(from.history()); - break; - } - case MESSAGE_NOT_SET: { - break; - } - } - // @@protoc_insertion_point(copy_constructor:BERTBuffers.Console) -} - -void Console::SharedCtor() { - clear_has_message(); - _cached_size_ = 0; -} - -Console::~Console() { - // @@protoc_insertion_point(destructor:BERTBuffers.Console) - SharedDtor(); -} - -void Console::SharedDtor() { - if (has_message()) { - clear_message(); - } -} - -void Console::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* Console::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const Console& Console::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsConsole(); - return *internal_default_instance(); -} - -Console* Console::New(::google::protobuf::Arena* arena) const { - Console* n = new Console; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void Console::clear_message() { -// @@protoc_insertion_point(one_of_clear_start:BERTBuffers.Console) - switch (message_case()) { - case kText: { - message_.text_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - break; - } - case kErr: { - message_.err_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - break; - } - case kPrompt: { - message_.prompt_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - break; - } - case kGraphics: { - delete message_.graphics_; - break; - } - case kMimeData: { - delete message_.mime_data_; - break; - } - case kHistory: { - delete message_.history_; - break; - } - case MESSAGE_NOT_SET: { - break; - } - } - _oneof_case_[0] = MESSAGE_NOT_SET; -} - - -void Console::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.Console) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - clear_message(); - _internal_metadata_.Clear(); -} - -bool Console::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.Console) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string text = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_text())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->text().data(), static_cast(this->text().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Console.text")); - } else { - goto handle_unusual; - } - break; - } - - // string err = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_err())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->err().data(), static_cast(this->err().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Console.err")); - } else { - goto handle_unusual; - } - break; - } - - // string prompt = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_prompt())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->prompt().data(), static_cast(this->prompt().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.Console.prompt")); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.GraphicsCommand graphics = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_graphics())); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.MIMEData mime_data = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_mime_data())); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.Variable history = 6; - case 6: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_history())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.Console) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.Console) - return false; -#undef DO_ -} - -void Console::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.Console) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string text = 1; - if (has_text()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->text().data(), static_cast(this->text().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Console.text"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->text(), output); - } - - // string err = 2; - if (has_err()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->err().data(), static_cast(this->err().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Console.err"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 2, this->err(), output); - } - - // string prompt = 3; - if (has_prompt()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->prompt().data(), static_cast(this->prompt().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Console.prompt"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 3, this->prompt(), output); - } - - // .BERTBuffers.GraphicsCommand graphics = 4; - if (has_graphics()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 4, *message_.graphics_, output); - } - - // .BERTBuffers.MIMEData mime_data = 5; - if (has_mime_data()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 5, *message_.mime_data_, output); - } - - // .BERTBuffers.Variable history = 6; - if (has_history()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 6, *message_.history_, output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.Console) -} - -::google::protobuf::uint8* Console::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Console) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string text = 1; - if (has_text()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->text().data(), static_cast(this->text().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Console.text"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->text(), target); - } - - // string err = 2; - if (has_err()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->err().data(), static_cast(this->err().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Console.err"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 2, this->err(), target); - } - - // string prompt = 3; - if (has_prompt()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->prompt().data(), static_cast(this->prompt().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.Console.prompt"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 3, this->prompt(), target); - } - - // .BERTBuffers.GraphicsCommand graphics = 4; - if (has_graphics()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 4, *message_.graphics_, deterministic, target); - } - - // .BERTBuffers.MIMEData mime_data = 5; - if (has_mime_data()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 5, *message_.mime_data_, deterministic, target); - } - - // .BERTBuffers.Variable history = 6; - if (has_history()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 6, *message_.history_, deterministic, target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Console) - return target; -} - -size_t Console::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Console) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - switch (message_case()) { - // string text = 1; - case kText: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->text()); - break; - } - // string err = 2; - case kErr: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->err()); - break; - } - // string prompt = 3; - case kPrompt: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->prompt()); - break; - } - // .BERTBuffers.GraphicsCommand graphics = 4; - case kGraphics: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *message_.graphics_); - break; - } - // .BERTBuffers.MIMEData mime_data = 5; - case kMimeData: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *message_.mime_data_); - break; - } - // .BERTBuffers.Variable history = 6; - case kHistory: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *message_.history_); - break; - } - case MESSAGE_NOT_SET: { - break; - } - } - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void Console::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.Console) - GOOGLE_DCHECK_NE(&from, this); - const Console* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.Console) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.Console) - MergeFrom(*source); - } -} - -void Console::MergeFrom(const Console& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Console) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - switch (from.message_case()) { - case kText: { - set_text(from.text()); - break; - } - case kErr: { - set_err(from.err()); - break; - } - case kPrompt: { - set_prompt(from.prompt()); - break; - } - case kGraphics: { - mutable_graphics()->::BERTBuffers::GraphicsCommand::MergeFrom(from.graphics()); - break; - } - case kMimeData: { - mutable_mime_data()->::BERTBuffers::MIMEData::MergeFrom(from.mime_data()); - break; - } - case kHistory: { - mutable_history()->::BERTBuffers::Variable::MergeFrom(from.history()); - break; - } - case MESSAGE_NOT_SET: { - break; - } - } -} - -void Console::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.Console) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void Console::CopyFrom(const Console& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Console) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Console::IsInitialized() const { - return true; -} - -void Console::Swap(Console* other) { - if (other == this) return; - InternalSwap(other); -} -void Console::InternalSwap(Console* other) { - using std::swap; - swap(message_, other->message_); - swap(_oneof_case_[0], other->_oneof_case_[0]); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata Console::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void FunctionElement::InitAsDefaultInstance() { - ::BERTBuffers::_FunctionElement_default_instance_._instance.get_mutable()->default_value_ = const_cast< ::BERTBuffers::Variable*>( - ::BERTBuffers::Variable::internal_default_instance()); -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int FunctionElement::kNameFieldNumber; -const int FunctionElement::kTypeNameFieldNumber; -const int FunctionElement::kDefaultValueFieldNumber; -const int FunctionElement::kDescriptionFieldNumber; -const int FunctionElement::kIndexFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -FunctionElement::FunctionElement() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsArray(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.FunctionElement) -} -FunctionElement::FunctionElement(const FunctionElement& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.name().size() > 0) { - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } - type_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.type_name().size() > 0) { - type_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.type_name_); - } - description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.description().size() > 0) { - description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.description_); - } - if (from.has_default_value()) { - default_value_ = new ::BERTBuffers::Variable(*from.default_value_); - } else { - default_value_ = NULL; - } - index_ = from.index_; - // @@protoc_insertion_point(copy_constructor:BERTBuffers.FunctionElement) -} - -void FunctionElement::SharedCtor() { - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - type_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&default_value_, 0, static_cast( - reinterpret_cast(&index_) - - reinterpret_cast(&default_value_)) + sizeof(index_)); - _cached_size_ = 0; -} - -FunctionElement::~FunctionElement() { - // @@protoc_insertion_point(destructor:BERTBuffers.FunctionElement) - SharedDtor(); -} - -void FunctionElement::SharedDtor() { - name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - type_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - description_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete default_value_; -} - -void FunctionElement::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* FunctionElement::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const FunctionElement& FunctionElement::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsArray(); - return *internal_default_instance(); -} - -FunctionElement* FunctionElement::New(::google::protobuf::Arena* arena) const { - FunctionElement* n = new FunctionElement; - if (arena != NULL) { - arena->Own(n); - } - return n; + _impl_._oneof_case_[0] = VALUE_NOT_SET; +} + + +inline void* Variable::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) Variable(arena); +} +constexpr auto Variable::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Variable), + alignof(Variable)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull Variable::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Variable_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Variable::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Variable::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Variable::ByteSizeLong, + &Variable::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Variable, _impl_._cached_size_), + false, + }, + &Variable::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* Variable::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 14, 6, 44, 2> Variable::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 15, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294934536, // skipmap + offsetof(decltype(_table_), field_entries), + 14, // num_field_entries + 6, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::Variable>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string name = 15; + {::_pbi::TcParser::FastUS1, + {122, 63, 0, PROTOBUF_FIELD_OFFSET(Variable, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // bool nil = 1; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.nil_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool missing = 2; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.missing_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // .BERTBuffers.Error err = 3; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.err_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // int32 integer = 5; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.integer_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kInt32)}, + // double real = 6; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.real_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kDouble)}, + // string str = 7; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.str_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bool boolean = 8; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.boolean_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // .BERTBuffers.Complex cpx = 9; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.cpx_), _Internal::kOneofCaseOffset + 0, 1, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.Array arr = 10; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.arr_), _Internal::kOneofCaseOffset + 0, 2, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.SheetReference ref = 11; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.ref_), _Internal::kOneofCaseOffset + 0, 3, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.ExternalPointer com_pointer = 12; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.com_pointer_), _Internal::kOneofCaseOffset + 0, 4, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.GraphicsUpdate graphics = 13; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.graphics_), _Internal::kOneofCaseOffset + 0, 5, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // uint32 cache_reference = 14; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.value_.cache_reference_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUInt32)}, + // string name = 15; + {PROTOBUF_FIELD_OFFSET(Variable, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::Error>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::Complex>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::Array>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::SheetReference>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::ExternalPointer>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::GraphicsUpdate>()}, + }}, {{ + "\24\0\0\0\0\0\3\0\0\0\0\0\0\0\4\0" + "BERTBuffers.Variable" + "str" + "name" + }}, +}; -void FunctionElement::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.FunctionElement) - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void Variable::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.Variable) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - type_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - description_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (GetArenaNoVirtual() == NULL && default_value_ != NULL) { - delete default_value_; + _impl_.name_.ClearToEmpty(); + clear_value(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* Variable::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const Variable& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* Variable::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const Variable& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Variable) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + switch (this_.value_case()) { + case kNil: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 1, this_._internal_nil(), target); + break; + } + case kMissing: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 2, this_._internal_missing(), target); + break; + } + case kErr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.value_.err_, this_._impl_.value_.err_->GetCachedSize(), target, + stream); + break; + } + case kInteger: { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<5>( + stream, this_._internal_integer(), target); + break; + } + case kReal: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 6, this_._internal_real(), target); + break; + } + case kStr: { + const std::string& _s = this_._internal_str(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Variable.str"); + target = stream->WriteStringMaybeAliased(7, _s, target); + break; + } + case kBoolean: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 8, this_._internal_boolean(), target); + break; + } + case kCpx: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, *this_._impl_.value_.cpx_, this_._impl_.value_.cpx_->GetCachedSize(), target, + stream); + break; + } + case kArr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 10, *this_._impl_.value_.arr_, this_._impl_.value_.arr_->GetCachedSize(), target, + stream); + break; + } + case kRef: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 11, *this_._impl_.value_.ref_, this_._impl_.value_.ref_->GetCachedSize(), target, + stream); + break; + } + case kComPointer: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 12, *this_._impl_.value_.com_pointer_, this_._impl_.value_.com_pointer_->GetCachedSize(), target, + stream); + break; + } + case kGraphics: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 13, *this_._impl_.value_.graphics_, this_._impl_.value_.graphics_->GetCachedSize(), target, + stream); + break; + } + case kCacheReference: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 14, this_._internal_cache_reference(), target); + break; + } + default: + break; + } + // string name = 15; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Variable.name"); + target = stream->WriteStringMaybeAliased(15, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Variable) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t Variable::ByteSizeLong(const MessageLite& base) { + const Variable& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t Variable::ByteSizeLong() const { + const Variable& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Variable) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // string name = 15; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + } + switch (this_.value_case()) { + // bool nil = 1; + case kNil: { + total_size += 2; + break; + } + // bool missing = 2; + case kMissing: { + total_size += 2; + break; + } + // .BERTBuffers.Error err = 3; + case kErr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.err_); + break; + } + // int32 integer = 5; + case kInteger: { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_integer()); + break; + } + // double real = 6; + case kReal: { + total_size += 9; + break; + } + // string str = 7; + case kStr: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_str()); + break; + } + // bool boolean = 8; + case kBoolean: { + total_size += 2; + break; + } + // .BERTBuffers.Complex cpx = 9; + case kCpx: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.cpx_); + break; + } + // .BERTBuffers.Array arr = 10; + case kArr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.arr_); + break; + } + // .BERTBuffers.SheetReference ref = 11; + case kRef: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.ref_); + break; + } + // .BERTBuffers.ExternalPointer com_pointer = 12; + case kComPointer: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.com_pointer_); + break; + } + // .BERTBuffers.GraphicsUpdate graphics = 13; + case kGraphics: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_.graphics_); + break; + } + // uint32 cache_reference = 14; + case kCacheReference: { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_cache_reference()); + break; + } + case VALUE_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void Variable::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Variable) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); } - default_value_ = NULL; - index_ = 0u; - _internal_metadata_.Clear(); -} - -bool FunctionElement::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.FunctionElement) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string name = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_name())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.FunctionElement.name")); + if (const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_value(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kNil: { + _this->_impl_.value_.nil_ = from._impl_.value_.nil_; + break; + } + case kMissing: { + _this->_impl_.value_.missing_ = from._impl_.value_.missing_; + break; + } + case kErr: { + if (oneof_needs_init) { + _this->_impl_.value_.err_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Error>(arena, *from._impl_.value_.err_); } else { - goto handle_unusual; + _this->_impl_.value_.err_->MergeFrom(from._internal_err()); } break; } - - // string type_name = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_type_name())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->type_name().data(), static_cast(this->type_name().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.FunctionElement.type_name")); + case kInteger: { + _this->_impl_.value_.integer_ = from._impl_.value_.integer_; + break; + } + case kReal: { + _this->_impl_.value_.real_ = from._impl_.value_.real_; + break; + } + case kStr: { + if (oneof_needs_init) { + _this->_impl_.value_.str_.InitDefault(); + } + _this->_impl_.value_.str_.Set(from._internal_str(), arena); + break; + } + case kBoolean: { + _this->_impl_.value_.boolean_ = from._impl_.value_.boolean_; + break; + } + case kCpx: { + if (oneof_needs_init) { + _this->_impl_.value_.cpx_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Complex>(arena, *from._impl_.value_.cpx_); } else { - goto handle_unusual; + _this->_impl_.value_.cpx_->MergeFrom(from._internal_cpx()); } break; } - - // .BERTBuffers.Variable default_value = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_default_value())); + case kArr: { + if (oneof_needs_init) { + _this->_impl_.value_.arr_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Array>(arena, *from._impl_.value_.arr_); } else { - goto handle_unusual; + _this->_impl_.value_.arr_->MergeFrom(from._internal_arr()); } break; } - - // string description = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_description())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->description().data(), static_cast(this->description().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.FunctionElement.description")); + case kRef: { + if (oneof_needs_init) { + _this->_impl_.value_.ref_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::SheetReference>(arena, *from._impl_.value_.ref_); } else { - goto handle_unusual; + _this->_impl_.value_.ref_->MergeFrom(from._internal_ref()); } break; } - - // uint32 index = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &index_))); + case kComPointer: { + if (oneof_needs_init) { + _this->_impl_.value_.com_pointer_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::ExternalPointer>(arena, *from._impl_.value_.com_pointer_); } else { - goto handle_unusual; + _this->_impl_.value_.com_pointer_->MergeFrom(from._internal_com_pointer()); } break; } - - default: { - handle_unusual: - if (tag == 0) { - goto success; + case kGraphics: { + if (oneof_needs_init) { + _this->_impl_.value_.graphics_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::GraphicsUpdate>(arena, *from._impl_.value_.graphics_); + } else { + _this->_impl_.value_.graphics_->MergeFrom(from._internal_graphics()); } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); break; } + case kCacheReference: { + _this->_impl_.value_.cache_reference_ = from._impl_.value_.cache_reference_; + break; + } + case VALUE_NOT_SET: + break; } } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.FunctionElement) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.FunctionElement) - return false; -#undef DO_ -} - -void FunctionElement::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.FunctionElement) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string name = 1; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.FunctionElement.name"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->name(), output); - } - - // string type_name = 2; - if (this->type_name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->type_name().data(), static_cast(this->type_name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.FunctionElement.type_name"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 2, this->type_name(), output); - } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} - // .BERTBuffers.Variable default_value = 3; - if (this->has_default_value()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, *this->default_value_, output); - } +void Variable::CopyFrom(const Variable& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Variable) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - // string description = 4; - if (this->description().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->description().data(), static_cast(this->description().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.FunctionElement.description"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 4, this->description(), output); - } - // uint32 index = 5; - if (this->index() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->index(), output); - } +void Variable::InternalSwap(Variable* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + swap(_impl_.value_, other->_impl_.value_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.FunctionElement) +::google::protobuf::Metadata Variable::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } +// =================================================================== -::google::protobuf::uint8* FunctionElement::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.FunctionElement) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; +class Code::_Internal { + public: +}; - // string name = 1; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.FunctionElement.name"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->name(), target); - } +Code::Code(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.Code) +} +inline PROTOBUF_NDEBUG_INLINE Code::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::Code& from_msg) + : line_{visibility, arena, from.line_}, + _cached_size_{0} {} + +Code::Code( + ::google::protobuf::Arena* arena, + const Code& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Code* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.startup_ = from._impl_.startup_; - // string type_name = 2; - if (this->type_name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->type_name().data(), static_cast(this->type_name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.FunctionElement.type_name"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 2, this->type_name(), target); - } + // @@protoc_insertion_point(copy_constructor:BERTBuffers.Code) +} +inline PROTOBUF_NDEBUG_INLINE Code::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : line_{visibility, arena}, + _cached_size_{0} {} - // .BERTBuffers.Variable default_value = 3; - if (this->has_default_value()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 3, *this->default_value_, deterministic, target); - } +inline void Code::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.startup_ = {}; +} +Code::~Code() { + // @@protoc_insertion_point(destructor:BERTBuffers.Code) + SharedDtor(*this); +} +inline void Code::SharedDtor(MessageLite& self) { + Code& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* Code::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) Code(arena); +} +constexpr auto Code::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Code, _impl_.line_) + + decltype(Code::_impl_.line_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Code), alignof(Code), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Code::PlacementNew_, + sizeof(Code), + alignof(Code)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull Code::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Code_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Code::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Code::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Code::ByteSizeLong, + &Code::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Code, _impl_._cached_size_), + false, + }, + &Code::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* Code::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 29, 2> Code::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::Code>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // bool startup = 2; + {::_pbi::TcParser::SingularVarintNoZag1(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(Code, _impl_.startup_)}}, + // repeated string line = 1; + {::_pbi::TcParser::FastUR1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(Code, _impl_.line_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated string line = 1; + {PROTOBUF_FIELD_OFFSET(Code, _impl_.line_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)}, + // bool startup = 2; + {PROTOBUF_FIELD_OFFSET(Code, _impl_.startup_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + }}, + // no aux_entries + {{ + "\20\4\0\0\0\0\0\0" + "BERTBuffers.Code" + "line" + }}, +}; - // string description = 4; - if (this->description().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->description().data(), static_cast(this->description().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.FunctionElement.description"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 4, this->description(), target); - } +PROTOBUF_NOINLINE void Code::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.Code) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; - // uint32 index = 5; - if (this->index() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->index(), target); - } + _impl_.line_.Clear(); + _impl_.startup_ = false; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* Code::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const Code& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* Code::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const Code& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Code) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // repeated string line = 1; + for (int i = 0, n = this_._internal_line_size(); i < n; ++i) { + const auto& s = this_._internal_line().Get(i); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Code.line"); + target = stream->WriteString(1, s, target); + } + + // bool startup = 2; + if (this_._internal_startup() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 2, this_._internal_startup(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Code) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t Code::ByteSizeLong(const MessageLite& base) { + const Code& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t Code::ByteSizeLong() const { + const Code& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Code) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated string line = 1; + { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_line().size()); + for (int i = 0, n = this_._internal_line().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_line().Get(i)); + } + } + } + { + // bool startup = 2; + if (this_._internal_startup() != 0) { + total_size += 2; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void Code::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Code) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); + _this->_internal_mutable_line()->MergeFrom(from._internal_line()); + if (from._internal_startup() != 0) { + _this->_impl_.startup_ = from._impl_.startup_; } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.FunctionElement) - return target; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -size_t FunctionElement::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.FunctionElement) - size_t total_size = 0; +void Code::CopyFrom(const Code& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Code) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // string name = 1; - if (this->name().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->name()); - } - // string type_name = 2; - if (this->type_name().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->type_name()); - } +void Code::InternalSwap(Code* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.line_.InternalSwap(&other->_impl_.line_); + swap(_impl_.startup_, other->_impl_.startup_); +} - // string description = 4; - if (this->description().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->description()); - } +::google::protobuf::Metadata Code::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== - // .BERTBuffers.Variable default_value = 3; - if (this->has_default_value()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *this->default_value_); - } +class CompositeFunctionCall::_Internal { + public: +}; - // uint32 index = 5; - if (this->index() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->index()); - } +CompositeFunctionCall::CompositeFunctionCall(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.CompositeFunctionCall) +} +inline PROTOBUF_NDEBUG_INLINE CompositeFunctionCall::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::CompositeFunctionCall& from_msg) + : arguments_{visibility, arena, from.arguments_}, + function_(arena, from.function_), + _cached_size_{0} {} + +CompositeFunctionCall::CompositeFunctionCall( + ::google::protobuf::Arena* arena, + const CompositeFunctionCall& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + CompositeFunctionCall* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, pointer_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, pointer_), + offsetof(Impl_, flags_) - + offsetof(Impl_, pointer_) + + sizeof(Impl_::flags_)); - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void FunctionElement::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.FunctionElement) - GOOGLE_DCHECK_NE(&from, this); - const FunctionElement* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.FunctionElement) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); + // @@protoc_insertion_point(copy_constructor:BERTBuffers.CompositeFunctionCall) +} +inline PROTOBUF_NDEBUG_INLINE CompositeFunctionCall::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : arguments_{visibility, arena}, + function_(arena), + _cached_size_{0} {} + +inline void CompositeFunctionCall::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, pointer_), + 0, + offsetof(Impl_, flags_) - + offsetof(Impl_, pointer_) + + sizeof(Impl_::flags_)); +} +CompositeFunctionCall::~CompositeFunctionCall() { + // @@protoc_insertion_point(destructor:BERTBuffers.CompositeFunctionCall) + SharedDtor(*this); +} +inline void CompositeFunctionCall::SharedDtor(MessageLite& self) { + CompositeFunctionCall& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.function_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* CompositeFunctionCall::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) CompositeFunctionCall(arena); +} +constexpr auto CompositeFunctionCall::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.arguments_) + + decltype(CompositeFunctionCall::_impl_.arguments_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(CompositeFunctionCall), alignof(CompositeFunctionCall), *arena_bits); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.FunctionElement) - MergeFrom(*source); - } + return ::google::protobuf::internal::MessageCreator(&CompositeFunctionCall::PlacementNew_, + sizeof(CompositeFunctionCall), + alignof(CompositeFunctionCall)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull CompositeFunctionCall::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_CompositeFunctionCall_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &CompositeFunctionCall::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &CompositeFunctionCall::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &CompositeFunctionCall::ByteSizeLong, + &CompositeFunctionCall::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_._cached_size_), + false, + }, + &CompositeFunctionCall::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* CompositeFunctionCall::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 7, 1, 50, 2> CompositeFunctionCall::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 7, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967168, // skipmap + offsetof(decltype(_table_), field_entries), + 7, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::CompositeFunctionCall>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string function = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.function_)}}, + // repeated .BERTBuffers.Variable arguments = 2; + {::_pbi::TcParser::FastMtR1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.arguments_)}}, + // uint64 pointer = 3; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CompositeFunctionCall, _impl_.pointer_), 63>(), + {24, 63, 0, PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.pointer_)}}, + // uint32 index = 4; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CompositeFunctionCall, _impl_.index_), 63>(), + {32, 63, 0, PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.index_)}}, + // .BERTBuffers.CallType type = 5; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CompositeFunctionCall, _impl_.type_), 63>(), + {40, 63, 0, PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.type_)}}, + // .BERTBuffers.CallTarget target = 6; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CompositeFunctionCall, _impl_.target_), 63>(), + {48, 63, 0, PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.target_)}}, + // uint32 flags = 7; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CompositeFunctionCall, _impl_.flags_), 63>(), + {56, 63, 0, PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.flags_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string function = 1; + {PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.function_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .BERTBuffers.Variable arguments = 2; + {PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.arguments_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // uint64 pointer = 3; + {PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.pointer_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt64)}, + // uint32 index = 4; + {PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.index_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // .BERTBuffers.CallType type = 5; + {PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.type_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)}, + // .BERTBuffers.CallTarget target = 6; + {PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.target_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)}, + // uint32 flags = 7; + {PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.flags_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::Variable>()}, + }}, {{ + "\41\10\0\0\0\0\0\0" + "BERTBuffers.CompositeFunctionCall" + "function" + }}, +}; -void FunctionElement::MergeFrom(const FunctionElement& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.FunctionElement) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void CompositeFunctionCall::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.CompositeFunctionCall) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (from.name().size() > 0) { + _impl_.arguments_.Clear(); + _impl_.function_.ClearToEmpty(); + ::memset(&_impl_.pointer_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.flags_) - + reinterpret_cast(&_impl_.pointer_)) + sizeof(_impl_.flags_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* CompositeFunctionCall::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const CompositeFunctionCall& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* CompositeFunctionCall::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const CompositeFunctionCall& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.CompositeFunctionCall) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string function = 1; + if (!this_._internal_function().empty()) { + const std::string& _s = this_._internal_function(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.CompositeFunctionCall.function"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // repeated .BERTBuffers.Variable arguments = 2; + for (unsigned i = 0, n = static_cast( + this_._internal_arguments_size()); + i < n; i++) { + const auto& repfield = this_._internal_arguments().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, repfield, repfield.GetCachedSize(), + target, stream); + } + + // uint64 pointer = 3; + if (this_._internal_pointer() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 3, this_._internal_pointer(), target); + } + + // uint32 index = 4; + if (this_._internal_index() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 4, this_._internal_index(), target); + } + + // .BERTBuffers.CallType type = 5; + if (this_._internal_type() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 5, this_._internal_type(), target); + } + + // .BERTBuffers.CallTarget target = 6; + if (this_._internal_target() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 6, this_._internal_target(), target); + } + + // uint32 flags = 7; + if (this_._internal_flags() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 7, this_._internal_flags(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.CompositeFunctionCall) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t CompositeFunctionCall::ByteSizeLong(const MessageLite& base) { + const CompositeFunctionCall& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t CompositeFunctionCall::ByteSizeLong() const { + const CompositeFunctionCall& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.CompositeFunctionCall) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .BERTBuffers.Variable arguments = 2; + { + total_size += 1UL * this_._internal_arguments_size(); + for (const auto& msg : this_._internal_arguments()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + { + // string function = 1; + if (!this_._internal_function().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_function()); + } + // uint64 pointer = 3; + if (this_._internal_pointer() != 0) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_pointer()); + } + // uint32 index = 4; + if (this_._internal_index() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_index()); + } + // .BERTBuffers.CallType type = 5; + if (this_._internal_type() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_type()); + } + // .BERTBuffers.CallTarget target = 6; + if (this_._internal_target() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_target()); + } + // uint32 flags = 7; + if (this_._internal_flags() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_flags()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void CompositeFunctionCall::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.CompositeFunctionCall) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); + _this->_internal_mutable_arguments()->MergeFrom( + from._internal_arguments()); + if (!from._internal_function().empty()) { + _this->_internal_set_function(from._internal_function()); } - if (from.type_name().size() > 0) { - - type_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.type_name_); + if (from._internal_pointer() != 0) { + _this->_impl_.pointer_ = from._impl_.pointer_; } - if (from.description().size() > 0) { - - description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.description_); + if (from._internal_index() != 0) { + _this->_impl_.index_ = from._impl_.index_; } - if (from.has_default_value()) { - mutable_default_value()->::BERTBuffers::Variable::MergeFrom(from.default_value()); + if (from._internal_type() != 0) { + _this->_impl_.type_ = from._impl_.type_; } - if (from.index() != 0) { - set_index(from.index()); + if (from._internal_target() != 0) { + _this->_impl_.target_ = from._impl_.target_; } + if (from._internal_flags() != 0) { + _this->_impl_.flags_ = from._impl_.flags_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void FunctionElement::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.FunctionElement) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void FunctionElement::CopyFrom(const FunctionElement& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.FunctionElement) +void CompositeFunctionCall::CopyFrom(const CompositeFunctionCall& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.CompositeFunctionCall) if (&from == this) return; Clear(); MergeFrom(from); } -bool FunctionElement::IsInitialized() const { - return true; -} -void FunctionElement::Swap(FunctionElement* other) { - if (other == this) return; - InternalSwap(other); -} -void FunctionElement::InternalSwap(FunctionElement* other) { +void CompositeFunctionCall::InternalSwap(CompositeFunctionCall* PROTOBUF_RESTRICT other) { using std::swap; - name_.Swap(&other->name_); - type_name_.Swap(&other->type_name_); - description_.Swap(&other->description_); - swap(default_value_, other->default_value_); - swap(index_, other->index_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.arguments_.InternalSwap(&other->_impl_.arguments_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.function_, &other->_impl_.function_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.flags_) + + sizeof(CompositeFunctionCall::_impl_.flags_) + - PROTOBUF_FIELD_OFFSET(CompositeFunctionCall, _impl_.pointer_)>( + reinterpret_cast(&_impl_.pointer_), + reinterpret_cast(&other->_impl_.pointer_)); } -::google::protobuf::Metadata FunctionElement::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; +::google::protobuf::Metadata CompositeFunctionCall::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } - - // =================================================================== -void FunctionDescriptor::InitAsDefaultInstance() { - ::BERTBuffers::_FunctionDescriptor_default_instance_._instance.get_mutable()->function_ = const_cast< ::BERTBuffers::FunctionElement*>( - ::BERTBuffers::FunctionElement::internal_default_instance()); -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int FunctionDescriptor::kFunctionFieldNumber; -const int FunctionDescriptor::kCallTypeFieldNumber; -const int FunctionDescriptor::kFlagsFieldNumber; -const int FunctionDescriptor::kCategoryFieldNumber; -const int FunctionDescriptor::kArgumentsFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -FunctionDescriptor::FunctionDescriptor() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsArray(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.FunctionDescriptor) -} -FunctionDescriptor::FunctionDescriptor(const FunctionDescriptor& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - arguments_(from.arguments_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - category_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.category().size() > 0) { - category_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.category_); - } - if (from.has_function()) { - function_ = new ::BERTBuffers::FunctionElement(*from.function_); - } else { - function_ = NULL; - } - ::memcpy(&call_type_, &from.call_type_, - static_cast(reinterpret_cast(&flags_) - - reinterpret_cast(&call_type_)) + sizeof(flags_)); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.FunctionDescriptor) -} - -void FunctionDescriptor::SharedCtor() { - category_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&function_, 0, static_cast( - reinterpret_cast(&flags_) - - reinterpret_cast(&function_)) + sizeof(flags_)); - _cached_size_ = 0; -} - -FunctionDescriptor::~FunctionDescriptor() { - // @@protoc_insertion_point(destructor:BERTBuffers.FunctionDescriptor) - SharedDtor(); -} +class GraphicsUpdate::_Internal { + public: +}; -void FunctionDescriptor::SharedDtor() { - category_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete function_; -} +GraphicsUpdate::GraphicsUpdate(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.GraphicsUpdate) +} +inline PROTOBUF_NDEBUG_INLINE GraphicsUpdate::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::GraphicsUpdate& from_msg) + : name_(arena, from.name_), + path_(arena, from.path_), + _cached_size_{0} {} + +GraphicsUpdate::GraphicsUpdate( + ::google::protobuf::Arena* arena, + const GraphicsUpdate& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + GraphicsUpdate* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, command_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, command_), + offsetof(Impl_, height_) - + offsetof(Impl_, command_) + + sizeof(Impl_::height_)); -void FunctionDescriptor::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* FunctionDescriptor::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; + // @@protoc_insertion_point(copy_constructor:BERTBuffers.GraphicsUpdate) } - -const FunctionDescriptor& FunctionDescriptor::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsArray(); - return *internal_default_instance(); +inline PROTOBUF_NDEBUG_INLINE GraphicsUpdate::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : name_(arena), + path_(arena), + _cached_size_{0} {} + +inline void GraphicsUpdate::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, command_), + 0, + offsetof(Impl_, height_) - + offsetof(Impl_, command_) + + sizeof(Impl_::height_)); } - -FunctionDescriptor* FunctionDescriptor::New(::google::protobuf::Arena* arena) const { - FunctionDescriptor* n = new FunctionDescriptor; - if (arena != NULL) { - arena->Own(n); - } - return n; +GraphicsUpdate::~GraphicsUpdate() { + // @@protoc_insertion_point(destructor:BERTBuffers.GraphicsUpdate) + SharedDtor(*this); +} +inline void GraphicsUpdate::SharedDtor(MessageLite& self) { + GraphicsUpdate& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + this_._impl_.path_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* GraphicsUpdate::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) GraphicsUpdate(arena); +} +constexpr auto GraphicsUpdate::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GraphicsUpdate), + alignof(GraphicsUpdate)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull GraphicsUpdate::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_GraphicsUpdate_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &GraphicsUpdate::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &GraphicsUpdate::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &GraphicsUpdate::ByteSizeLong, + &GraphicsUpdate::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_._cached_size_), + false, + }, + &GraphicsUpdate::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* GraphicsUpdate::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 0, 43, 2> GraphicsUpdate::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967264, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::GraphicsUpdate>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // .BERTBuffers.GraphicsUpdateCommand command = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GraphicsUpdate, _impl_.command_), 63>(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.command_)}}, + // string name = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.name_)}}, + // string path = 3; + {::_pbi::TcParser::FastUS1, + {26, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.path_)}}, + // uint32 width = 4; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GraphicsUpdate, _impl_.width_), 63>(), + {32, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.width_)}}, + // uint32 height = 5; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GraphicsUpdate, _impl_.height_), 63>(), + {40, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.height_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // .BERTBuffers.GraphicsUpdateCommand command = 1; + {PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.command_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)}, + // string name = 2; + {PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string path = 3; + {PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.path_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // uint32 width = 4; + {PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.width_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // uint32 height = 5; + {PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.height_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + }}, + // no aux_entries + {{ + "\32\0\4\4\0\0\0\0" + "BERTBuffers.GraphicsUpdate" + "name" + "path" + }}, +}; -void FunctionDescriptor::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.FunctionDescriptor) - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void GraphicsUpdate::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.GraphicsUpdate) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - arguments_.Clear(); - category_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (GetArenaNoVirtual() == NULL && function_ != NULL) { - delete function_; - } - function_ = NULL; - ::memset(&call_type_, 0, static_cast( - reinterpret_cast(&flags_) - - reinterpret_cast(&call_type_)) + sizeof(flags_)); - _internal_metadata_.Clear(); -} - -bool FunctionDescriptor::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.FunctionDescriptor) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // .BERTBuffers.FunctionElement function = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_function())); - } else { - goto handle_unusual; - } - break; - } - - // .BERTBuffers.CallType call_type = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { - int value; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( - input, &value))); - set_call_type(static_cast< ::BERTBuffers::CallType >(value)); - } else { - goto handle_unusual; - } - break; - } - - // uint32 flags = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &flags_))); - } else { - goto handle_unusual; - } - break; - } - - // string category = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_category())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->category().data(), static_cast(this->category().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.FunctionDescriptor.category")); - } else { - goto handle_unusual; - } - break; - } - - // repeated .BERTBuffers.FunctionElement arguments = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_arguments())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.FunctionDescriptor) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.FunctionDescriptor) - return false; -#undef DO_ -} - -void FunctionDescriptor::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.FunctionDescriptor) - ::google::protobuf::uint32 cached_has_bits = 0; + _impl_.name_.ClearToEmpty(); + _impl_.path_.ClearToEmpty(); + ::memset(&_impl_.command_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.height_) - + reinterpret_cast(&_impl_.command_)) + sizeof(_impl_.height_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* GraphicsUpdate::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const GraphicsUpdate& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* GraphicsUpdate::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const GraphicsUpdate& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.GraphicsUpdate) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // .BERTBuffers.GraphicsUpdateCommand command = 1; + if (this_._internal_command() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 1, this_._internal_command(), target); + } + + // string name = 2; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.GraphicsUpdate.name"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + // string path = 3; + if (!this_._internal_path().empty()) { + const std::string& _s = this_._internal_path(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.GraphicsUpdate.path"); + target = stream->WriteStringMaybeAliased(3, _s, target); + } + + // uint32 width = 4; + if (this_._internal_width() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 4, this_._internal_width(), target); + } + + // uint32 height = 5; + if (this_._internal_height() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 5, this_._internal_height(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.GraphicsUpdate) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t GraphicsUpdate::ByteSizeLong(const MessageLite& base) { + const GraphicsUpdate& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t GraphicsUpdate::ByteSizeLong() const { + const GraphicsUpdate& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.GraphicsUpdate) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string name = 2; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + // string path = 3; + if (!this_._internal_path().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_path()); + } + // .BERTBuffers.GraphicsUpdateCommand command = 1; + if (this_._internal_command() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_command()); + } + // uint32 width = 4; + if (this_._internal_width() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_width()); + } + // uint32 height = 5; + if (this_._internal_height() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_height()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void GraphicsUpdate::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.GraphicsUpdate) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .BERTBuffers.FunctionElement function = 1; - if (this->has_function()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, *this->function_, output); + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); } - - // .BERTBuffers.CallType call_type = 2; - if (this->call_type() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteEnum( - 2, this->call_type(), output); - } - - // uint32 flags = 3; - if (this->flags() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->flags(), output); + if (!from._internal_path().empty()) { + _this->_internal_set_path(from._internal_path()); } - - // string category = 4; - if (this->category().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->category().data(), static_cast(this->category().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.FunctionDescriptor.category"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 4, this->category(), output); + if (from._internal_command() != 0) { + _this->_impl_.command_ = from._impl_.command_; } - - // repeated .BERTBuffers.FunctionElement arguments = 5; - for (unsigned int i = 0, - n = static_cast(this->arguments_size()); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 5, this->arguments(static_cast(i)), output); + if (from._internal_width() != 0) { + _this->_impl_.width_ = from._impl_.width_; } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); + if (from._internal_height() != 0) { + _this->_impl_.height_ = from._impl_.height_; } - // @@protoc_insertion_point(serialize_end:BERTBuffers.FunctionDescriptor) + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -::google::protobuf::uint8* FunctionDescriptor::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.FunctionDescriptor) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; +void GraphicsUpdate::CopyFrom(const GraphicsUpdate& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.GraphicsUpdate) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - // .BERTBuffers.FunctionElement function = 1; - if (this->has_function()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 1, *this->function_, deterministic, target); - } - // .BERTBuffers.CallType call_type = 2; - if (this->call_type() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( - 2, this->call_type(), target); - } +void GraphicsUpdate::InternalSwap(GraphicsUpdate* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.path_, &other->_impl_.path_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.height_) + + sizeof(GraphicsUpdate::_impl_.height_) + - PROTOBUF_FIELD_OFFSET(GraphicsUpdate, _impl_.command_)>( + reinterpret_cast(&_impl_.command_), + reinterpret_cast(&other->_impl_.command_)); +} - // uint32 flags = 3; - if (this->flags() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->flags(), target); - } +::google::protobuf::Metadata GraphicsUpdate::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== - // string category = 4; - if (this->category().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->category().data(), static_cast(this->category().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.FunctionDescriptor.category"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 4, this->category(), target); - } +class GraphicsCommand::_Internal { + public: + using HasBits = + decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_._has_bits_); +}; - // repeated .BERTBuffers.FunctionElement arguments = 5; - for (unsigned int i = 0, - n = static_cast(this->arguments_size()); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 5, this->arguments(static_cast(i)), deterministic, target); - } +GraphicsCommand::GraphicsCommand(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.GraphicsCommand) +} +inline PROTOBUF_NDEBUG_INLINE GraphicsCommand::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::GraphicsCommand& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + x_{visibility, arena, from.x_}, + y_{visibility, arena, from.y_}, + command_(arena, from.command_), + text_(arena, from.text_), + raster_(arena, from.raster_), + device_type_(arena, from.device_type_) {} + +GraphicsCommand::GraphicsCommand( + ::google::protobuf::Arena* arena, + const GraphicsCommand& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + GraphicsCommand* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.context_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::BERTBuffers::GraphicsContext>( + arena, *from._impl_.context_) + : nullptr; + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, r_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, r_), + offsetof(Impl_, interpolate_) - + offsetof(Impl_, r_) + + sizeof(Impl_::interpolate_)); - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.FunctionDescriptor) - return target; + // @@protoc_insertion_point(copy_constructor:BERTBuffers.GraphicsCommand) +} +inline PROTOBUF_NDEBUG_INLINE GraphicsCommand::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + x_{visibility, arena}, + y_{visibility, arena}, + command_(arena), + text_(arena), + raster_(arena), + device_type_(arena) {} + +inline void GraphicsCommand::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, context_), + 0, + offsetof(Impl_, interpolate_) - + offsetof(Impl_, context_) + + sizeof(Impl_::interpolate_)); +} +GraphicsCommand::~GraphicsCommand() { + // @@protoc_insertion_point(destructor:BERTBuffers.GraphicsCommand) + SharedDtor(*this); +} +inline void GraphicsCommand::SharedDtor(MessageLite& self) { + GraphicsCommand& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.command_.Destroy(); + this_._impl_.text_.Destroy(); + this_._impl_.raster_.Destroy(); + this_._impl_.device_type_.Destroy(); + delete this_._impl_.context_; + this_._impl_.~Impl_(); +} + +inline void* GraphicsCommand::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) GraphicsCommand(arena); +} +constexpr auto GraphicsCommand::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.x_) + + decltype(GraphicsCommand::_impl_.x_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.y_) + + decltype(GraphicsCommand::_impl_.y_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(GraphicsCommand), alignof(GraphicsCommand), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&GraphicsCommand::PlacementNew_, + sizeof(GraphicsCommand), + alignof(GraphicsCommand)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull GraphicsCommand::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_GraphicsCommand_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &GraphicsCommand::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &GraphicsCommand::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &GraphicsCommand::ByteSizeLong, + &GraphicsCommand::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_._cached_size_), + false, + }, + &GraphicsCommand::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* GraphicsCommand::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<4, 12, 1, 66, 2> GraphicsCommand::_table_ = { + { + PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_._has_bits_), + 0, // no _extensions_ + 15, 120, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294941696, // skipmap + offsetof(decltype(_table_), field_entries), + 12, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::GraphicsCommand>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string command = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.command_)}}, + // repeated double x = 2; + {::_pbi::TcParser::FastF64P1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.x_)}}, + // repeated double y = 3; + {::_pbi::TcParser::FastF64P1, + {26, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.y_)}}, + // double r = 4; + {::_pbi::TcParser::FastF64S1, + {33, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.r_)}}, + // double rot = 5; + {::_pbi::TcParser::FastF64S1, + {41, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.rot_)}}, + // string text = 6; + {::_pbi::TcParser::FastUS1, + {50, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.text_)}}, + // bool filled = 7; + {::_pbi::TcParser::SingularVarintNoZag1(), + {56, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.filled_)}}, + // double hadj = 8; + {::_pbi::TcParser::FastF64S1, + {65, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.hadj_)}}, + // bytes raster = 9; + {::_pbi::TcParser::FastBS1, + {74, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.raster_)}}, + // bool interpolate = 10; + {::_pbi::TcParser::SingularVarintNoZag1(), + {80, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.interpolate_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // string device_type = 14; + {::_pbi::TcParser::FastUS1, + {114, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.device_type_)}}, + // .BERTBuffers.GraphicsContext context = 15; + {::_pbi::TcParser::FastMtS1, + {122, 0, 0, PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.context_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string command = 1; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.command_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated double x = 2; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.x_), -1, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kPackedDouble)}, + // repeated double y = 3; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.y_), -1, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kPackedDouble)}, + // double r = 4; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.r_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // double rot = 5; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.rot_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // string text = 6; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.text_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bool filled = 7; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.filled_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + // double hadj = 8; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.hadj_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // bytes raster = 9; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.raster_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)}, + // bool interpolate = 10; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.interpolate_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + // string device_type = 14; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.device_type_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .BERTBuffers.GraphicsContext context = 15; + {PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.context_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::GraphicsContext>()}, + }}, {{ + "\33\7\0\0\0\0\4\0\0\0\0\13\0\0\0\0" + "BERTBuffers.GraphicsCommand" + "command" + "text" + "device_type" + }}, +}; -size_t FunctionDescriptor::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.FunctionDescriptor) - size_t total_size = 0; +PROTOBUF_NOINLINE void GraphicsCommand::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.GraphicsCommand) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // repeated .BERTBuffers.FunctionElement arguments = 5; - { - unsigned int count = static_cast(this->arguments_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSize( - this->arguments(static_cast(i))); - } - } + _impl_.x_.Clear(); + _impl_.y_.Clear(); + _impl_.command_.ClearToEmpty(); + _impl_.text_.ClearToEmpty(); + _impl_.raster_.ClearToEmpty(); + _impl_.device_type_.ClearToEmpty(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.context_ != nullptr); + _impl_.context_->Clear(); + } + ::memset(&_impl_.r_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.interpolate_) - + reinterpret_cast(&_impl_.r_)) + sizeof(_impl_.interpolate_)); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* GraphicsCommand::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const GraphicsCommand& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* GraphicsCommand::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const GraphicsCommand& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.GraphicsCommand) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string command = 1; + if (!this_._internal_command().empty()) { + const std::string& _s = this_._internal_command(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.GraphicsCommand.command"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // repeated double x = 2; + if (this_._internal_x_size() > 0) { + target = stream->WriteFixedPacked(2, this_._internal_x(), target); + } + + // repeated double y = 3; + if (this_._internal_y_size() > 0) { + target = stream->WriteFixedPacked(3, this_._internal_y(), target); + } + + // double r = 4; + if (::absl::bit_cast<::uint64_t>(this_._internal_r()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 4, this_._internal_r(), target); + } + + // double rot = 5; + if (::absl::bit_cast<::uint64_t>(this_._internal_rot()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 5, this_._internal_rot(), target); + } + + // string text = 6; + if (!this_._internal_text().empty()) { + const std::string& _s = this_._internal_text(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.GraphicsCommand.text"); + target = stream->WriteStringMaybeAliased(6, _s, target); + } + + // bool filled = 7; + if (this_._internal_filled() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 7, this_._internal_filled(), target); + } + + // double hadj = 8; + if (::absl::bit_cast<::uint64_t>(this_._internal_hadj()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 8, this_._internal_hadj(), target); + } + + // bytes raster = 9; + if (!this_._internal_raster().empty()) { + const std::string& _s = this_._internal_raster(); + target = stream->WriteBytesMaybeAliased(9, _s, target); + } + + // bool interpolate = 10; + if (this_._internal_interpolate() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 10, this_._internal_interpolate(), target); + } + + // string device_type = 14; + if (!this_._internal_device_type().empty()) { + const std::string& _s = this_._internal_device_type(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.GraphicsCommand.device_type"); + target = stream->WriteStringMaybeAliased(14, _s, target); + } + + cached_has_bits = this_._impl_._has_bits_[0]; + // .BERTBuffers.GraphicsContext context = 15; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 15, *this_._impl_.context_, this_._impl_.context_->GetCachedSize(), target, + stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.GraphicsCommand) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t GraphicsCommand::ByteSizeLong(const MessageLite& base) { + const GraphicsCommand& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t GraphicsCommand::ByteSizeLong() const { + const GraphicsCommand& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.GraphicsCommand) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated double x = 2; + { + std::size_t data_size = std::size_t{8} * + ::_pbi::FromIntSize(this_._internal_x_size()); + std::size_t tag_size = data_size == 0 + ? 0 + : 1 + ::_pbi::WireFormatLite::Int32Size( + static_cast(data_size)); + total_size += tag_size + data_size; + } + // repeated double y = 3; + { + std::size_t data_size = std::size_t{8} * + ::_pbi::FromIntSize(this_._internal_y_size()); + std::size_t tag_size = data_size == 0 + ? 0 + : 1 + ::_pbi::WireFormatLite::Int32Size( + static_cast(data_size)); + total_size += tag_size + data_size; + } + } + { + // string command = 1; + if (!this_._internal_command().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_command()); + } + // string text = 6; + if (!this_._internal_text().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_text()); + } + // bytes raster = 9; + if (!this_._internal_raster().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_raster()); + } + // string device_type = 14; + if (!this_._internal_device_type().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_device_type()); + } + } + { + // .BERTBuffers.GraphicsContext context = 15; + cached_has_bits = this_._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.context_); + } + } + { + // double r = 4; + if (::absl::bit_cast<::uint64_t>(this_._internal_r()) != 0) { + total_size += 9; + } + // double rot = 5; + if (::absl::bit_cast<::uint64_t>(this_._internal_rot()) != 0) { + total_size += 9; + } + // double hadj = 8; + if (::absl::bit_cast<::uint64_t>(this_._internal_hadj()) != 0) { + total_size += 9; + } + // bool filled = 7; + if (this_._internal_filled() != 0) { + total_size += 2; + } + // bool interpolate = 10; + if (this_._internal_interpolate() != 0) { + total_size += 2; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void GraphicsCommand::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.GraphicsCommand) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - // string category = 4; - if (this->category().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->category()); + _this->_internal_mutable_x()->MergeFrom(from._internal_x()); + _this->_internal_mutable_y()->MergeFrom(from._internal_y()); + if (!from._internal_command().empty()) { + _this->_internal_set_command(from._internal_command()); } - - // .BERTBuffers.FunctionElement function = 1; - if (this->has_function()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *this->function_); + if (!from._internal_text().empty()) { + _this->_internal_set_text(from._internal_text()); } - - // .BERTBuffers.CallType call_type = 2; - if (this->call_type() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->call_type()); + if (!from._internal_raster().empty()) { + _this->_internal_set_raster(from._internal_raster()); } - - // uint32 flags = 3; - if (this->flags() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->flags()); + if (!from._internal_device_type().empty()) { + _this->_internal_set_device_type(from._internal_device_type()); + } + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(from._impl_.context_ != nullptr); + if (_this->_impl_.context_ == nullptr) { + _this->_impl_.context_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::GraphicsContext>(arena, *from._impl_.context_); + } else { + _this->_impl_.context_->MergeFrom(*from._impl_.context_); + } } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void FunctionDescriptor::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.FunctionDescriptor) - GOOGLE_DCHECK_NE(&from, this); - const FunctionDescriptor* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.FunctionDescriptor) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.FunctionDescriptor) - MergeFrom(*source); + if (::absl::bit_cast<::uint64_t>(from._internal_r()) != 0) { + _this->_impl_.r_ = from._impl_.r_; } -} - -void FunctionDescriptor::MergeFrom(const FunctionDescriptor& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.FunctionDescriptor) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - arguments_.MergeFrom(from.arguments_); - if (from.category().size() > 0) { - - category_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.category_); + if (::absl::bit_cast<::uint64_t>(from._internal_rot()) != 0) { + _this->_impl_.rot_ = from._impl_.rot_; } - if (from.has_function()) { - mutable_function()->::BERTBuffers::FunctionElement::MergeFrom(from.function()); + if (::absl::bit_cast<::uint64_t>(from._internal_hadj()) != 0) { + _this->_impl_.hadj_ = from._impl_.hadj_; } - if (from.call_type() != 0) { - set_call_type(from.call_type()); + if (from._internal_filled() != 0) { + _this->_impl_.filled_ = from._impl_.filled_; } - if (from.flags() != 0) { - set_flags(from.flags()); + if (from._internal_interpolate() != 0) { + _this->_impl_.interpolate_ = from._impl_.interpolate_; } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void FunctionDescriptor::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.FunctionDescriptor) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void FunctionDescriptor::CopyFrom(const FunctionDescriptor& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.FunctionDescriptor) +void GraphicsCommand::CopyFrom(const GraphicsCommand& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.GraphicsCommand) if (&from == this) return; Clear(); MergeFrom(from); } -bool FunctionDescriptor::IsInitialized() const { - return true; -} -void FunctionDescriptor::Swap(FunctionDescriptor* other) { - if (other == this) return; - InternalSwap(other); -} -void FunctionDescriptor::InternalSwap(FunctionDescriptor* other) { +void GraphicsCommand::InternalSwap(GraphicsCommand* PROTOBUF_RESTRICT other) { using std::swap; - arguments_.InternalSwap(&other->arguments_); - category_.Swap(&other->category_); - swap(function_, other->function_); - swap(call_type_, other->call_type_); - swap(flags_, other->flags_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.x_.InternalSwap(&other->_impl_.x_); + _impl_.y_.InternalSwap(&other->_impl_.y_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.command_, &other->_impl_.command_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_, &other->_impl_.text_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.raster_, &other->_impl_.raster_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.device_type_, &other->_impl_.device_type_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.interpolate_) + + sizeof(GraphicsCommand::_impl_.interpolate_) + - PROTOBUF_FIELD_OFFSET(GraphicsCommand, _impl_.context_)>( + reinterpret_cast(&_impl_.context_), + reinterpret_cast(&other->_impl_.context_)); } -::google::protobuf::Metadata FunctionDescriptor::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; +::google::protobuf::Metadata GraphicsCommand::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } +// =================================================================== +class Color::_Internal { + public: +}; -// =================================================================== +Color::Color(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.Color) +} +Color::Color( + ::google::protobuf::Arena* arena, const Color& from) + : Color(arena) { + MergeFrom(from); +} +inline PROTOBUF_NDEBUG_INLINE Color::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0} {} -void FunctionList::InitAsDefaultInstance() { +inline void Color::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, a_), + 0, + offsetof(Impl_, b_) - + offsetof(Impl_, a_) + + sizeof(Impl_::b_)); +} +Color::~Color() { + // @@protoc_insertion_point(destructor:BERTBuffers.Color) + SharedDtor(*this); +} +inline void Color::SharedDtor(MessageLite& self) { + Color& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* Color::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) Color(arena); +} +constexpr auto Color::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Color), + alignof(Color)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull Color::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Color_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Color::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Color::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Color::ByteSizeLong, + &Color::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Color, _impl_._cached_size_), + false, + }, + &Color::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* Color::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int FunctionList::kFunctionsFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 4, 0, 0, 2> Color::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 4, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967280, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::Color>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // uint32 b = 4; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Color, _impl_.b_), 63>(), + {32, 63, 0, PROTOBUF_FIELD_OFFSET(Color, _impl_.b_)}}, + // uint32 a = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Color, _impl_.a_), 63>(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(Color, _impl_.a_)}}, + // uint32 r = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Color, _impl_.r_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(Color, _impl_.r_)}}, + // uint32 g = 3; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Color, _impl_.g_), 63>(), + {24, 63, 0, PROTOBUF_FIELD_OFFSET(Color, _impl_.g_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // uint32 a = 1; + {PROTOBUF_FIELD_OFFSET(Color, _impl_.a_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // uint32 r = 2; + {PROTOBUF_FIELD_OFFSET(Color, _impl_.r_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // uint32 g = 3; + {PROTOBUF_FIELD_OFFSET(Color, _impl_.g_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // uint32 b = 4; + {PROTOBUF_FIELD_OFFSET(Color, _impl_.b_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + }}, + // no aux_entries + {{ + }}, +}; -FunctionList::FunctionList() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsFunctionList(); +PROTOBUF_NOINLINE void Color::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.Color) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&_impl_.a_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.b_) - + reinterpret_cast(&_impl_.a_)) + sizeof(_impl_.b_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* Color::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const Color& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* Color::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const Color& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Color) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // uint32 a = 1; + if (this_._internal_a() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 1, this_._internal_a(), target); + } + + // uint32 r = 2; + if (this_._internal_r() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 2, this_._internal_r(), target); + } + + // uint32 g = 3; + if (this_._internal_g() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 3, this_._internal_g(), target); + } + + // uint32 b = 4; + if (this_._internal_b() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 4, this_._internal_b(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Color) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t Color::ByteSizeLong(const MessageLite& base) { + const Color& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t Color::ByteSizeLong() const { + const Color& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Color) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // uint32 a = 1; + if (this_._internal_a() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_a()); + } + // uint32 r = 2; + if (this_._internal_r() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_r()); + } + // uint32 g = 3; + if (this_._internal_g() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_g()); + } + // uint32 b = 4; + if (this_._internal_b() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_b()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void Color::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Color) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_a() != 0) { + _this->_impl_.a_ = from._impl_.a_; } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.FunctionList) -} -FunctionList::FunctionList(const FunctionList& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - functions_(from.functions_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - // @@protoc_insertion_point(copy_constructor:BERTBuffers.FunctionList) + if (from._internal_r() != 0) { + _this->_impl_.r_ = from._impl_.r_; + } + if (from._internal_g() != 0) { + _this->_impl_.g_ = from._impl_.g_; + } + if (from._internal_b() != 0) { + _this->_impl_.b_ = from._impl_.b_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void FunctionList::SharedCtor() { - _cached_size_ = 0; +void Color::CopyFrom(const Color& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Color) + if (&from == this) return; + Clear(); + MergeFrom(from); } -FunctionList::~FunctionList() { - // @@protoc_insertion_point(destructor:BERTBuffers.FunctionList) - SharedDtor(); -} -void FunctionList::SharedDtor() { +void Color::InternalSwap(Color* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Color, _impl_.b_) + + sizeof(Color::_impl_.b_) + - PROTOBUF_FIELD_OFFSET(Color, _impl_.a_)>( + reinterpret_cast(&_impl_.a_), + reinterpret_cast(&other->_impl_.a_)); } -void FunctionList::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* FunctionList::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; +::google::protobuf::Metadata Color::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } +// =================================================================== -const FunctionList& FunctionList::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsFunctionList(); - return *internal_default_instance(); -} +class GraphicsContext::_Internal { + public: + using HasBits = + decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_._has_bits_); +}; -FunctionList* FunctionList::New(::google::protobuf::Arena* arena) const { - FunctionList* n = new FunctionList; - if (arena != NULL) { - arena->Own(n); - } - return n; +GraphicsContext::GraphicsContext(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.GraphicsContext) +} +inline PROTOBUF_NDEBUG_INLINE GraphicsContext::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::GraphicsContext& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + fontfamily_(arena, from.fontfamily_) {} + +GraphicsContext::GraphicsContext( + ::google::protobuf::Arena* arena, + const GraphicsContext& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + GraphicsContext* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.col_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Color>( + arena, *from._impl_.col_) + : nullptr; + _impl_.fill_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Color>( + arena, *from._impl_.fill_) + : nullptr; + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, gamma_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, gamma_), + offsetof(Impl_, lineheight_) - + offsetof(Impl_, gamma_) + + sizeof(Impl_::lineheight_)); + + // @@protoc_insertion_point(copy_constructor:BERTBuffers.GraphicsContext) +} +inline PROTOBUF_NDEBUG_INLINE GraphicsContext::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + fontfamily_(arena) {} + +inline void GraphicsContext::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, col_), + 0, + offsetof(Impl_, lineheight_) - + offsetof(Impl_, col_) + + sizeof(Impl_::lineheight_)); +} +GraphicsContext::~GraphicsContext() { + // @@protoc_insertion_point(destructor:BERTBuffers.GraphicsContext) + SharedDtor(*this); +} +inline void GraphicsContext::SharedDtor(MessageLite& self) { + GraphicsContext& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.fontfamily_.Destroy(); + delete this_._impl_.col_; + delete this_._impl_.fill_; + this_._impl_.~Impl_(); +} + +inline void* GraphicsContext::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) GraphicsContext(arena); +} +constexpr auto GraphicsContext::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GraphicsContext), + alignof(GraphicsContext)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull GraphicsContext::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_GraphicsContext_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &GraphicsContext::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &GraphicsContext::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &GraphicsContext::ByteSizeLong, + &GraphicsContext::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_._cached_size_), + false, + }, + &GraphicsContext::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* GraphicsContext::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<4, 13, 2, 54, 2> GraphicsContext::_table_ = { + { + PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_._has_bits_), + 0, // no _extensions_ + 13, 120, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294959104, // skipmap + offsetof(decltype(_table_), field_entries), + 13, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::GraphicsContext>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // .BERTBuffers.Color col = 1; + {::_pbi::TcParser::FastMtS1, + {10, 0, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.col_)}}, + // .BERTBuffers.Color fill = 2; + {::_pbi::TcParser::FastMtS1, + {18, 1, 1, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.fill_)}}, + // double gamma = 3; + {::_pbi::TcParser::FastF64S1, + {25, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.gamma_)}}, + // double lwd = 4; + {::_pbi::TcParser::FastF64S1, + {33, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lwd_)}}, + // int32 lty = 5; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GraphicsContext, _impl_.lty_), 63>(), + {40, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lty_)}}, + // int32 lend = 6; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GraphicsContext, _impl_.lend_), 63>(), + {48, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lend_)}}, + // int32 ljoin = 7; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GraphicsContext, _impl_.ljoin_), 63>(), + {56, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.ljoin_)}}, + // double lmitre = 8; + {::_pbi::TcParser::FastF64S1, + {65, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lmitre_)}}, + // double cex = 9; + {::_pbi::TcParser::FastF64S1, + {73, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.cex_)}}, + // double ps = 10; + {::_pbi::TcParser::FastF64S1, + {81, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.ps_)}}, + // double lineheight = 11; + {::_pbi::TcParser::FastF64S1, + {89, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lineheight_)}}, + // int32 fontface = 12; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GraphicsContext, _impl_.fontface_), 63>(), + {96, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.fontface_)}}, + // string fontfamily = 13; + {::_pbi::TcParser::FastUS1, + {106, 63, 0, PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.fontfamily_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // .BERTBuffers.Color col = 1; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.col_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.Color fill = 2; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.fill_), _Internal::kHasBitsOffset + 1, 1, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // double gamma = 3; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.gamma_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // double lwd = 4; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lwd_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // int32 lty = 5; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lty_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // int32 lend = 6; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lend_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // int32 ljoin = 7; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.ljoin_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // double lmitre = 8; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lmitre_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // double cex = 9; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.cex_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // double ps = 10; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.ps_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // double lineheight = 11; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lineheight_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // int32 fontface = 12; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.fontface_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // string fontfamily = 13; + {PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.fontfamily_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::Color>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::Color>()}, + }}, {{ + "\33\0\0\0\0\0\0\0\0\0\0\0\0\12\0\0" + "BERTBuffers.GraphicsContext" + "fontfamily" + }}, +}; -void FunctionList::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.FunctionList) - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void GraphicsContext::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.GraphicsContext) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - functions_.Clear(); - _internal_metadata_.Clear(); -} - -bool FunctionList::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.FunctionList) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // repeated .BERTBuffers.FunctionDescriptor functions = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_functions())); - } else { - goto handle_unusual; - } - break; - } + _impl_.fontfamily_.ClearToEmpty(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.col_ != nullptr); + _impl_.col_->Clear(); + } + if (cached_has_bits & 0x00000002u) { + ABSL_DCHECK(_impl_.fill_ != nullptr); + _impl_.fill_->Clear(); + } + } + ::memset(&_impl_.gamma_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.lineheight_) - + reinterpret_cast(&_impl_.gamma_)) + sizeof(_impl_.lineheight_)); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* GraphicsContext::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const GraphicsContext& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* GraphicsContext::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const GraphicsContext& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.GraphicsContext) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .BERTBuffers.Color col = 1; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.col_, this_._impl_.col_->GetCachedSize(), target, + stream); + } + + // .BERTBuffers.Color fill = 2; + if (cached_has_bits & 0x00000002u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.fill_, this_._impl_.fill_->GetCachedSize(), target, + stream); + } + + // double gamma = 3; + if (::absl::bit_cast<::uint64_t>(this_._internal_gamma()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 3, this_._internal_gamma(), target); + } + + // double lwd = 4; + if (::absl::bit_cast<::uint64_t>(this_._internal_lwd()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 4, this_._internal_lwd(), target); + } + + // int32 lty = 5; + if (this_._internal_lty() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<5>( + stream, this_._internal_lty(), target); + } + + // int32 lend = 6; + if (this_._internal_lend() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<6>( + stream, this_._internal_lend(), target); + } + + // int32 ljoin = 7; + if (this_._internal_ljoin() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<7>( + stream, this_._internal_ljoin(), target); + } + + // double lmitre = 8; + if (::absl::bit_cast<::uint64_t>(this_._internal_lmitre()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 8, this_._internal_lmitre(), target); + } + + // double cex = 9; + if (::absl::bit_cast<::uint64_t>(this_._internal_cex()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 9, this_._internal_cex(), target); + } + + // double ps = 10; + if (::absl::bit_cast<::uint64_t>(this_._internal_ps()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 10, this_._internal_ps(), target); + } + + // double lineheight = 11; + if (::absl::bit_cast<::uint64_t>(this_._internal_lineheight()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 11, this_._internal_lineheight(), target); + } + + // int32 fontface = 12; + if (this_._internal_fontface() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<12>( + stream, this_._internal_fontface(), target); + } + + // string fontfamily = 13; + if (!this_._internal_fontfamily().empty()) { + const std::string& _s = this_._internal_fontfamily(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.GraphicsContext.fontfamily"); + target = stream->WriteStringMaybeAliased(13, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.GraphicsContext) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t GraphicsContext::ByteSizeLong(const MessageLite& base) { + const GraphicsContext& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t GraphicsContext::ByteSizeLong() const { + const GraphicsContext& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.GraphicsContext) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string fontfamily = 13; + if (!this_._internal_fontfamily().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_fontfamily()); + } + } + cached_has_bits = this_._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + // .BERTBuffers.Color col = 1; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.col_); + } + // .BERTBuffers.Color fill = 2; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.fill_); + } + } + { + // double gamma = 3; + if (::absl::bit_cast<::uint64_t>(this_._internal_gamma()) != 0) { + total_size += 9; + } + // double lwd = 4; + if (::absl::bit_cast<::uint64_t>(this_._internal_lwd()) != 0) { + total_size += 9; + } + // int32 lty = 5; + if (this_._internal_lty() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_lty()); + } + // int32 lend = 6; + if (this_._internal_lend() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_lend()); + } + // double lmitre = 8; + if (::absl::bit_cast<::uint64_t>(this_._internal_lmitre()) != 0) { + total_size += 9; + } + // double cex = 9; + if (::absl::bit_cast<::uint64_t>(this_._internal_cex()) != 0) { + total_size += 9; + } + // int32 ljoin = 7; + if (this_._internal_ljoin() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_ljoin()); + } + // int32 fontface = 12; + if (this_._internal_fontface() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_fontface()); + } + // double ps = 10; + if (::absl::bit_cast<::uint64_t>(this_._internal_ps()) != 0) { + total_size += 9; + } + // double lineheight = 11; + if (::absl::bit_cast<::uint64_t>(this_._internal_lineheight()) != 0) { + total_size += 9; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void GraphicsContext::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.GraphicsContext) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; + if (!from._internal_fontfamily().empty()) { + _this->_internal_set_fontfamily(from._internal_fontfamily()); + } + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(from._impl_.col_ != nullptr); + if (_this->_impl_.col_ == nullptr) { + _this->_impl_.col_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Color>(arena, *from._impl_.col_); + } else { + _this->_impl_.col_->MergeFrom(*from._impl_.col_); + } + } + if (cached_has_bits & 0x00000002u) { + ABSL_DCHECK(from._impl_.fill_ != nullptr); + if (_this->_impl_.fill_ == nullptr) { + _this->_impl_.fill_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Color>(arena, *from._impl_.fill_); + } else { + _this->_impl_.fill_->MergeFrom(*from._impl_.fill_); } } } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.FunctionList) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.FunctionList) - return false; -#undef DO_ -} - -void FunctionList::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.FunctionList) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .BERTBuffers.FunctionDescriptor functions = 1; - for (unsigned int i = 0, - n = static_cast(this->functions_size()); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, this->functions(static_cast(i)), output); + if (::absl::bit_cast<::uint64_t>(from._internal_gamma()) != 0) { + _this->_impl_.gamma_ = from._impl_.gamma_; } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); + if (::absl::bit_cast<::uint64_t>(from._internal_lwd()) != 0) { + _this->_impl_.lwd_ = from._impl_.lwd_; + } + if (from._internal_lty() != 0) { + _this->_impl_.lty_ = from._impl_.lty_; + } + if (from._internal_lend() != 0) { + _this->_impl_.lend_ = from._impl_.lend_; + } + if (::absl::bit_cast<::uint64_t>(from._internal_lmitre()) != 0) { + _this->_impl_.lmitre_ = from._impl_.lmitre_; + } + if (::absl::bit_cast<::uint64_t>(from._internal_cex()) != 0) { + _this->_impl_.cex_ = from._impl_.cex_; + } + if (from._internal_ljoin() != 0) { + _this->_impl_.ljoin_ = from._impl_.ljoin_; + } + if (from._internal_fontface() != 0) { + _this->_impl_.fontface_ = from._impl_.fontface_; } - // @@protoc_insertion_point(serialize_end:BERTBuffers.FunctionList) + if (::absl::bit_cast<::uint64_t>(from._internal_ps()) != 0) { + _this->_impl_.ps_ = from._impl_.ps_; + } + if (::absl::bit_cast<::uint64_t>(from._internal_lineheight()) != 0) { + _this->_impl_.lineheight_ = from._impl_.lineheight_; + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -::google::protobuf::uint8* FunctionList::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.FunctionList) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; +void GraphicsContext::CopyFrom(const GraphicsContext& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.GraphicsContext) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - // repeated .BERTBuffers.FunctionDescriptor functions = 1; - for (unsigned int i = 0, - n = static_cast(this->functions_size()); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 1, this->functions(static_cast(i)), deterministic, target); - } - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.FunctionList) - return target; +void GraphicsContext::InternalSwap(GraphicsContext* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fontfamily_, &other->_impl_.fontfamily_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.lineheight_) + + sizeof(GraphicsContext::_impl_.lineheight_) + - PROTOBUF_FIELD_OFFSET(GraphicsContext, _impl_.col_)>( + reinterpret_cast(&_impl_.col_), + reinterpret_cast(&other->_impl_.col_)); } -size_t FunctionList::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.FunctionList) - size_t total_size = 0; +::google::protobuf::Metadata GraphicsContext::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // repeated .BERTBuffers.FunctionDescriptor functions = 1; - { - unsigned int count = static_cast(this->functions_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSize( - this->functions(static_cast(i))); - } - } +class MIMEData::_Internal { + public: +}; - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void FunctionList::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.FunctionList) - GOOGLE_DCHECK_NE(&from, this); - const FunctionList* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.FunctionList) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.FunctionList) - MergeFrom(*source); - } +MIMEData::MIMEData(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.MIMEData) +} +inline PROTOBUF_NDEBUG_INLINE MIMEData::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::MIMEData& from_msg) + : mime_type_(arena, from.mime_type_), + data_(arena, from.data_), + _cached_size_{0} {} + +MIMEData::MIMEData( + ::google::protobuf::Arena* arena, + const MIMEData& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + MIMEData* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:BERTBuffers.MIMEData) +} +inline PROTOBUF_NDEBUG_INLINE MIMEData::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : mime_type_(arena), + data_(arena), + _cached_size_{0} {} + +inline void MIMEData::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +MIMEData::~MIMEData() { + // @@protoc_insertion_point(destructor:BERTBuffers.MIMEData) + SharedDtor(*this); +} +inline void MIMEData::SharedDtor(MessageLite& self) { + MIMEData& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.mime_type_.Destroy(); + this_._impl_.data_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* MIMEData::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) MIMEData(arena); +} +constexpr auto MIMEData::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MIMEData), + alignof(MIMEData)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull MIMEData::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_MIMEData_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &MIMEData::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MIMEData::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MIMEData::ByteSizeLong, + &MIMEData::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MIMEData, _impl_._cached_size_), + false, + }, + &MIMEData::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* MIMEData::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 38, 2> MIMEData::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::MIMEData>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // bytes data = 2; + {::_pbi::TcParser::FastBS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(MIMEData, _impl_.data_)}}, + // string mime_type = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(MIMEData, _impl_.mime_type_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string mime_type = 1; + {PROTOBUF_FIELD_OFFSET(MIMEData, _impl_.mime_type_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bytes data = 2; + {PROTOBUF_FIELD_OFFSET(MIMEData, _impl_.data_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + "\24\11\0\0\0\0\0\0" + "BERTBuffers.MIMEData" + "mime_type" + }}, +}; -void FunctionList::MergeFrom(const FunctionList& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.FunctionList) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void MIMEData::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.MIMEData) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - functions_.MergeFrom(from.functions_); -} + _impl_.mime_type_.ClearToEmpty(); + _impl_.data_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* MIMEData::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const MIMEData& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* MIMEData::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const MIMEData& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.MIMEData) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string mime_type = 1; + if (!this_._internal_mime_type().empty()) { + const std::string& _s = this_._internal_mime_type(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.MIMEData.mime_type"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // bytes data = 2; + if (!this_._internal_data().empty()) { + const std::string& _s = this_._internal_data(); + target = stream->WriteBytesMaybeAliased(2, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.MIMEData) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t MIMEData::ByteSizeLong(const MessageLite& base) { + const MIMEData& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t MIMEData::ByteSizeLong() const { + const MIMEData& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.MIMEData) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string mime_type = 1; + if (!this_._internal_mime_type().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_mime_type()); + } + // bytes data = 2; + if (!this_._internal_data().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_data()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void MIMEData::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.MIMEData) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; -void FunctionList::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.FunctionList) - if (&from == this) return; - Clear(); - MergeFrom(from); + if (!from._internal_mime_type().empty()) { + _this->_internal_set_mime_type(from._internal_mime_type()); + } + if (!from._internal_data().empty()) { + _this->_internal_set_data(from._internal_data()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void FunctionList::CopyFrom(const FunctionList& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.FunctionList) +void MIMEData::CopyFrom(const MIMEData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.MIMEData) if (&from == this) return; Clear(); MergeFrom(from); } -bool FunctionList::IsInitialized() const { - return true; -} -void FunctionList::Swap(FunctionList* other) { - if (other == this) return; - InternalSwap(other); -} -void FunctionList::InternalSwap(FunctionList* other) { +void MIMEData::InternalSwap(MIMEData* PROTOBUF_RESTRICT other) { using std::swap; - functions_.InternalSwap(&other->functions_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mime_type_, &other->_impl_.mime_type_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.data_, &other->_impl_.data_, arena); } -::google::protobuf::Metadata FunctionList::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; +::google::protobuf::Metadata MIMEData::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } - - // =================================================================== -void EnumValue::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int EnumValue::kNameFieldNumber; -const int EnumValue::kValueFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 +class Console::_Internal { + public: + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::BERTBuffers::Console, _impl_._oneof_case_); +}; -EnumValue::EnumValue() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsEnumValue(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.EnumValue) -} -EnumValue::EnumValue(const EnumValue& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.name().size() > 0) { - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); +void Console::set_allocated_graphics(::BERTBuffers::GraphicsCommand* graphics) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_message(); + if (graphics) { + ::google::protobuf::Arena* submessage_arena = graphics->GetArena(); + if (message_arena != submessage_arena) { + graphics = ::google::protobuf::internal::GetOwnedMessage(message_arena, graphics, submessage_arena); + } + set_has_graphics(); + _impl_.message_.graphics_ = graphics; } - value_ = from.value_; - // @@protoc_insertion_point(copy_constructor:BERTBuffers.EnumValue) + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.graphics) } - -void EnumValue::SharedCtor() { - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - value_ = 0; - _cached_size_ = 0; +void Console::set_allocated_mime_data(::BERTBuffers::MIMEData* mime_data) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_message(); + if (mime_data) { + ::google::protobuf::Arena* submessage_arena = mime_data->GetArena(); + if (message_arena != submessage_arena) { + mime_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, mime_data, submessage_arena); + } + set_has_mime_data(); + _impl_.message_.mime_data_ = mime_data; + } + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.mime_data) } - -EnumValue::~EnumValue() { - // @@protoc_insertion_point(destructor:BERTBuffers.EnumValue) - SharedDtor(); +void Console::set_allocated_history(::BERTBuffers::Variable* history) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_message(); + if (history) { + ::google::protobuf::Arena* submessage_arena = history->GetArena(); + if (message_arena != submessage_arena) { + history = ::google::protobuf::internal::GetOwnedMessage(message_arena, history, submessage_arena); + } + set_has_history(); + _impl_.message_.history_ = history; + } + // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.history) } +Console::Console(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.Console) +} +inline PROTOBUF_NDEBUG_INLINE Console::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::Console& from_msg) + : message_{}, + _cached_size_{0}, + _oneof_case_{from._oneof_case_[0]} {} + +Console::Console( + ::google::protobuf::Arena* arena, + const Console& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Console* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + switch (message_case()) { + case MESSAGE_NOT_SET: + break; + case kText: + new (&_impl_.message_.text_) decltype(_impl_.message_.text_){arena, from._impl_.message_.text_}; + break; + case kErr: + new (&_impl_.message_.err_) decltype(_impl_.message_.err_){arena, from._impl_.message_.err_}; + break; + case kPrompt: + new (&_impl_.message_.prompt_) decltype(_impl_.message_.prompt_){arena, from._impl_.message_.prompt_}; + break; + case kGraphics: + _impl_.message_.graphics_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::GraphicsCommand>(arena, *from._impl_.message_.graphics_); + break; + case kMimeData: + _impl_.message_.mime_data_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::MIMEData>(arena, *from._impl_.message_.mime_data_); + break; + case kHistory: + _impl_.message_.history_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Variable>(arena, *from._impl_.message_.history_); + break; + } -void EnumValue::SharedDtor() { - name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + // @@protoc_insertion_point(copy_constructor:BERTBuffers.Console) } +inline PROTOBUF_NDEBUG_INLINE Console::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : message_{}, + _cached_size_{0}, + _oneof_case_{} {} -void EnumValue::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); +inline void Console::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); } -const ::google::protobuf::Descriptor* EnumValue::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; +Console::~Console() { + // @@protoc_insertion_point(destructor:BERTBuffers.Console) + SharedDtor(*this); } - -const EnumValue& EnumValue::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsEnumValue(); - return *internal_default_instance(); +inline void Console::SharedDtor(MessageLite& self) { + Console& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_message()) { + this_.clear_message(); + } + this_._impl_.~Impl_(); } -EnumValue* EnumValue::New(::google::protobuf::Arena* arena) const { - EnumValue* n = new EnumValue; - if (arena != NULL) { - arena->Own(n); +void Console::clear_message() { +// @@protoc_insertion_point(one_of_clear_start:BERTBuffers.Console) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (message_case()) { + case kText: { + _impl_.message_.text_.Destroy(); + break; + } + case kErr: { + _impl_.message_.err_.Destroy(); + break; + } + case kPrompt: { + _impl_.message_.prompt_.Destroy(); + break; + } + case kGraphics: { + if (GetArena() == nullptr) { + delete _impl_.message_.graphics_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.message_.graphics_); + } + break; + } + case kMimeData: { + if (GetArena() == nullptr) { + delete _impl_.message_.mime_data_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.message_.mime_data_); + } + break; + } + case kHistory: { + if (GetArena() == nullptr) { + delete _impl_.message_.history_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.message_.history_); + } + break; + } + case MESSAGE_NOT_SET: { + break; + } } - return n; + _impl_._oneof_case_[0] = MESSAGE_NOT_SET; +} + + +inline void* Console::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) Console(arena); +} +constexpr auto Console::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Console), + alignof(Console)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull Console::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Console_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Console::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Console::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Console::ByteSizeLong, + &Console::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Console, _impl_._cached_size_), + false, + }, + &Console::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* Console::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 6, 3, 41, 2> Console::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 6, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967232, // skipmap + offsetof(decltype(_table_), field_entries), + 6, // num_field_entries + 3, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::Console>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // string text = 1; + {PROTOBUF_FIELD_OFFSET(Console, _impl_.message_.text_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string err = 2; + {PROTOBUF_FIELD_OFFSET(Console, _impl_.message_.err_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string prompt = 3; + {PROTOBUF_FIELD_OFFSET(Console, _impl_.message_.prompt_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .BERTBuffers.GraphicsCommand graphics = 4; + {PROTOBUF_FIELD_OFFSET(Console, _impl_.message_.graphics_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.MIMEData mime_data = 5; + {PROTOBUF_FIELD_OFFSET(Console, _impl_.message_.mime_data_), _Internal::kOneofCaseOffset + 0, 1, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.Variable history = 6; + {PROTOBUF_FIELD_OFFSET(Console, _impl_.message_.history_), _Internal::kOneofCaseOffset + 0, 2, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::GraphicsCommand>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::MIMEData>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::Variable>()}, + }}, {{ + "\23\4\3\6\0\0\0\0" + "BERTBuffers.Console" + "text" + "err" + "prompt" + }}, +}; -void EnumValue::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.EnumValue) - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void Console::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.Console) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - value_ = 0; - _internal_metadata_.Clear(); -} - -bool EnumValue::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.EnumValue) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string name = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_name())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.EnumValue.name")); + clear_message(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* Console::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const Console& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* Console::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const Console& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.Console) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + switch (this_.message_case()) { + case kText: { + const std::string& _s = this_._internal_text(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Console.text"); + target = stream->WriteStringMaybeAliased(1, _s, target); + break; + } + case kErr: { + const std::string& _s = this_._internal_err(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Console.err"); + target = stream->WriteStringMaybeAliased(2, _s, target); + break; + } + case kPrompt: { + const std::string& _s = this_._internal_prompt(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.Console.prompt"); + target = stream->WriteStringMaybeAliased(3, _s, target); + break; + } + case kGraphics: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.message_.graphics_, this_._impl_.message_.graphics_->GetCachedSize(), target, + stream); + break; + } + case kMimeData: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.message_.mime_data_, this_._impl_.message_.mime_data_->GetCachedSize(), target, + stream); + break; + } + case kHistory: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.message_.history_, this_._impl_.message_.history_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.Console) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t Console::ByteSizeLong(const MessageLite& base) { + const Console& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t Console::ByteSizeLong() const { + const Console& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.Console) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + switch (this_.message_case()) { + // string text = 1; + case kText: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_text()); + break; + } + // string err = 2; + case kErr: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_err()); + break; + } + // string prompt = 3; + case kPrompt: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_prompt()); + break; + } + // .BERTBuffers.GraphicsCommand graphics = 4; + case kGraphics: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.message_.graphics_); + break; + } + // .BERTBuffers.MIMEData mime_data = 5; + case kMimeData: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.message_.mime_data_); + break; + } + // .BERTBuffers.Variable history = 6; + case kHistory: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.message_.history_); + break; + } + case MESSAGE_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void Console::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.Console) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_message(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kText: { + if (oneof_needs_init) { + _this->_impl_.message_.text_.InitDefault(); + } + _this->_impl_.message_.text_.Set(from._internal_text(), arena); + break; + } + case kErr: { + if (oneof_needs_init) { + _this->_impl_.message_.err_.InitDefault(); + } + _this->_impl_.message_.err_.Set(from._internal_err(), arena); + break; + } + case kPrompt: { + if (oneof_needs_init) { + _this->_impl_.message_.prompt_.InitDefault(); + } + _this->_impl_.message_.prompt_.Set(from._internal_prompt(), arena); + break; + } + case kGraphics: { + if (oneof_needs_init) { + _this->_impl_.message_.graphics_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::GraphicsCommand>(arena, *from._impl_.message_.graphics_); } else { - goto handle_unusual; + _this->_impl_.message_.graphics_->MergeFrom(from._internal_graphics()); } break; } - - // int32 value = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &value_))); + case kMimeData: { + if (oneof_needs_init) { + _this->_impl_.message_.mime_data_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::MIMEData>(arena, *from._impl_.message_.mime_data_); } else { - goto handle_unusual; + _this->_impl_.message_.mime_data_->MergeFrom(from._internal_mime_data()); } break; } - - default: { - handle_unusual: - if (tag == 0) { - goto success; + case kHistory: { + if (oneof_needs_init) { + _this->_impl_.message_.history_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Variable>(arena, *from._impl_.message_.history_); + } else { + _this->_impl_.message_.history_->MergeFrom(from._internal_history()); } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); break; } + case MESSAGE_NOT_SET: + break; } } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.EnumValue) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.EnumValue) - return false; -#undef DO_ -} - -void EnumValue::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.EnumValue) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string name = 1; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.EnumValue.name"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->name(), output); - } - - // int32 value = 2; - if (this->value() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->value(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.EnumValue) -} - -::google::protobuf::uint8* EnumValue::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.EnumValue) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string name = 1; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.EnumValue.name"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->name(), target); - } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} - // int32 value = 2; - if (this->value() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->value(), target); - } +void Console::CopyFrom(const Console& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.Console) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.EnumValue) - return target; + +void Console::InternalSwap(Console* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.message_, other->_impl_.message_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); } -size_t EnumValue::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.EnumValue) - size_t total_size = 0; +::google::protobuf::Metadata Console::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // string name = 1; - if (this->name().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->name()); - } +class FunctionElement::_Internal { + public: + using HasBits = + decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_._has_bits_); +}; - // int32 value = 2; - if (this->value() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->value()); - } +FunctionElement::FunctionElement(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.FunctionElement) +} +inline PROTOBUF_NDEBUG_INLINE FunctionElement::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::FunctionElement& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + name_(arena, from.name_), + type_name_(arena, from.type_name_), + description_(arena, from.description_) {} + +FunctionElement::FunctionElement( + ::google::protobuf::Arena* arena, + const FunctionElement& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + FunctionElement* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.default_value_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Variable>( + arena, *from._impl_.default_value_) + : nullptr; + _impl_.index_ = from._impl_.index_; - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void EnumValue::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.EnumValue) - GOOGLE_DCHECK_NE(&from, this); - const EnumValue* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.EnumValue) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.EnumValue) - MergeFrom(*source); - } + // @@protoc_insertion_point(copy_constructor:BERTBuffers.FunctionElement) +} +inline PROTOBUF_NDEBUG_INLINE FunctionElement::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + name_(arena), + type_name_(arena), + description_(arena) {} + +inline void FunctionElement::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, default_value_), + 0, + offsetof(Impl_, index_) - + offsetof(Impl_, default_value_) + + sizeof(Impl_::index_)); +} +FunctionElement::~FunctionElement() { + // @@protoc_insertion_point(destructor:BERTBuffers.FunctionElement) + SharedDtor(*this); +} +inline void FunctionElement::SharedDtor(MessageLite& self) { + FunctionElement& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + this_._impl_.type_name_.Destroy(); + this_._impl_.description_.Destroy(); + delete this_._impl_.default_value_; + this_._impl_.~Impl_(); +} + +inline void* FunctionElement::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) FunctionElement(arena); +} +constexpr auto FunctionElement::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FunctionElement), + alignof(FunctionElement)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull FunctionElement::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FunctionElement_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &FunctionElement::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FunctionElement::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FunctionElement::ByteSizeLong, + &FunctionElement::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_._cached_size_), + false, + }, + &FunctionElement::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FunctionElement::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 1, 60, 2> FunctionElement::_table_ = { + { + PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_._has_bits_), + 0, // no _extensions_ + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967264, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::FunctionElement>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.name_)}}, + // string type_name = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.type_name_)}}, + // .BERTBuffers.Variable default_value = 3; + {::_pbi::TcParser::FastMtS1, + {26, 0, 0, PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.default_value_)}}, + // string description = 4; + {::_pbi::TcParser::FastUS1, + {34, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.description_)}}, + // uint32 index = 5; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FunctionElement, _impl_.index_), 63>(), + {40, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.index_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.name_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string type_name = 2; + {PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.type_name_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .BERTBuffers.Variable default_value = 3; + {PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.default_value_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // string description = 4; + {PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.description_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // uint32 index = 5; + {PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.index_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::Variable>()}, + }}, {{ + "\33\4\11\0\13\0\0\0" + "BERTBuffers.FunctionElement" + "name" + "type_name" + "description" + }}, +}; -void EnumValue::MergeFrom(const EnumValue& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.EnumValue) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void FunctionElement::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.FunctionElement) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (from.name().size() > 0) { + _impl_.name_.ClearToEmpty(); + _impl_.type_name_.ClearToEmpty(); + _impl_.description_.ClearToEmpty(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.default_value_ != nullptr); + _impl_.default_value_->Clear(); + } + _impl_.index_ = 0u; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* FunctionElement::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const FunctionElement& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* FunctionElement::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const FunctionElement& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.FunctionElement) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string name = 1; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.FunctionElement.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // string type_name = 2; + if (!this_._internal_type_name().empty()) { + const std::string& _s = this_._internal_type_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.FunctionElement.type_name"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + cached_has_bits = this_._impl_._has_bits_[0]; + // .BERTBuffers.Variable default_value = 3; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.default_value_, this_._impl_.default_value_->GetCachedSize(), target, + stream); + } + + // string description = 4; + if (!this_._internal_description().empty()) { + const std::string& _s = this_._internal_description(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.FunctionElement.description"); + target = stream->WriteStringMaybeAliased(4, _s, target); + } + + // uint32 index = 5; + if (this_._internal_index() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 5, this_._internal_index(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.FunctionElement) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t FunctionElement::ByteSizeLong(const MessageLite& base) { + const FunctionElement& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t FunctionElement::ByteSizeLong() const { + const FunctionElement& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.FunctionElement) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string name = 1; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + // string type_name = 2; + if (!this_._internal_type_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_type_name()); + } + // string description = 4; + if (!this_._internal_description().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_description()); + } + } + { + // .BERTBuffers.Variable default_value = 3; + cached_has_bits = this_._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.default_value_); + } + } + { + // uint32 index = 5; + if (this_._internal_index() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_index()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void FunctionElement::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.FunctionElement) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); } - if (from.value() != 0) { - set_value(from.value()); + if (!from._internal_type_name().empty()) { + _this->_internal_set_type_name(from._internal_type_name()); } + if (!from._internal_description().empty()) { + _this->_internal_set_description(from._internal_description()); + } + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(from._impl_.default_value_ != nullptr); + if (_this->_impl_.default_value_ == nullptr) { + _this->_impl_.default_value_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Variable>(arena, *from._impl_.default_value_); + } else { + _this->_impl_.default_value_->MergeFrom(*from._impl_.default_value_); + } + } + if (from._internal_index() != 0) { + _this->_impl_.index_ = from._impl_.index_; + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void EnumValue::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.EnumValue) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void EnumValue::CopyFrom(const EnumValue& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.EnumValue) +void FunctionElement::CopyFrom(const FunctionElement& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.FunctionElement) if (&from == this) return; Clear(); MergeFrom(from); } -bool EnumValue::IsInitialized() const { - return true; -} -void EnumValue::Swap(EnumValue* other) { - if (other == this) return; - InternalSwap(other); -} -void EnumValue::InternalSwap(EnumValue* other) { +void FunctionElement::InternalSwap(FunctionElement* PROTOBUF_RESTRICT other) { using std::swap; - name_.Swap(&other->name_); - swap(value_, other->value_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.type_name_, &other->_impl_.type_name_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.index_) + + sizeof(FunctionElement::_impl_.index_) + - PROTOBUF_FIELD_OFFSET(FunctionElement, _impl_.default_value_)>( + reinterpret_cast(&_impl_.default_value_), + reinterpret_cast(&other->_impl_.default_value_)); } -::google::protobuf::Metadata EnumValue::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; +::google::protobuf::Metadata FunctionElement::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } - - // =================================================================== -void EnumType::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int EnumType::kNameFieldNumber; -const int EnumType::kValuesFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -EnumType::EnumType() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsEnumType(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.EnumType) -} -EnumType::EnumType(const EnumType& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - values_(from.values_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.name().size() > 0) { - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } - // @@protoc_insertion_point(copy_constructor:BERTBuffers.EnumType) -} - -void EnumType::SharedCtor() { - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - _cached_size_ = 0; -} - -EnumType::~EnumType() { - // @@protoc_insertion_point(destructor:BERTBuffers.EnumType) - SharedDtor(); -} +class FunctionDescriptor::_Internal { + public: + using HasBits = + decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_._has_bits_); +}; -void EnumType::SharedDtor() { - name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} +FunctionDescriptor::FunctionDescriptor(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.FunctionDescriptor) +} +inline PROTOBUF_NDEBUG_INLINE FunctionDescriptor::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::FunctionDescriptor& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + arguments_{visibility, arena, from.arguments_}, + category_(arena, from.category_) {} + +FunctionDescriptor::FunctionDescriptor( + ::google::protobuf::Arena* arena, + const FunctionDescriptor& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + FunctionDescriptor* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.function_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::BERTBuffers::FunctionElement>( + arena, *from._impl_.function_) + : nullptr; + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, call_type_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, call_type_), + offsetof(Impl_, flags_) - + offsetof(Impl_, call_type_) + + sizeof(Impl_::flags_)); -void EnumType::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* EnumType::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; + // @@protoc_insertion_point(copy_constructor:BERTBuffers.FunctionDescriptor) } - -const EnumType& EnumType::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsEnumType(); - return *internal_default_instance(); +inline PROTOBUF_NDEBUG_INLINE FunctionDescriptor::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + arguments_{visibility, arena}, + category_(arena) {} + +inline void FunctionDescriptor::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, function_), + 0, + offsetof(Impl_, flags_) - + offsetof(Impl_, function_) + + sizeof(Impl_::flags_)); } - -EnumType* EnumType::New(::google::protobuf::Arena* arena) const { - EnumType* n = new EnumType; - if (arena != NULL) { - arena->Own(n); - } - return n; +FunctionDescriptor::~FunctionDescriptor() { + // @@protoc_insertion_point(destructor:BERTBuffers.FunctionDescriptor) + SharedDtor(*this); +} +inline void FunctionDescriptor::SharedDtor(MessageLite& self) { + FunctionDescriptor& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.category_.Destroy(); + delete this_._impl_.function_; + this_._impl_.~Impl_(); +} + +inline void* FunctionDescriptor::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) FunctionDescriptor(arena); +} +constexpr auto FunctionDescriptor::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.arguments_) + + decltype(FunctionDescriptor::_impl_.arguments_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(FunctionDescriptor), alignof(FunctionDescriptor), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&FunctionDescriptor::PlacementNew_, + sizeof(FunctionDescriptor), + alignof(FunctionDescriptor)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull FunctionDescriptor::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FunctionDescriptor_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &FunctionDescriptor::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FunctionDescriptor::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FunctionDescriptor::ByteSizeLong, + &FunctionDescriptor::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_._cached_size_), + false, + }, + &FunctionDescriptor::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FunctionDescriptor::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 2, 47, 2> FunctionDescriptor::_table_ = { + { + PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_._has_bits_), + 0, // no _extensions_ + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967264, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::FunctionDescriptor>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // .BERTBuffers.FunctionElement function = 1; + {::_pbi::TcParser::FastMtS1, + {10, 0, 0, PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.function_)}}, + // .BERTBuffers.CallType call_type = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FunctionDescriptor, _impl_.call_type_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.call_type_)}}, + // uint32 flags = 3; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FunctionDescriptor, _impl_.flags_), 63>(), + {24, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.flags_)}}, + // string category = 4; + {::_pbi::TcParser::FastUS1, + {34, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.category_)}}, + // repeated .BERTBuffers.FunctionElement arguments = 5; + {::_pbi::TcParser::FastMtR1, + {42, 63, 1, PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.arguments_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // .BERTBuffers.FunctionElement function = 1; + {PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.function_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.CallType call_type = 2; + {PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.call_type_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)}, + // uint32 flags = 3; + {PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.flags_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // string category = 4; + {PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.category_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .BERTBuffers.FunctionElement arguments = 5; + {PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.arguments_), -1, 1, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::FunctionElement>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::FunctionElement>()}, + }}, {{ + "\36\0\0\0\10\0\0\0" + "BERTBuffers.FunctionDescriptor" + "category" + }}, +}; -void EnumType::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.EnumType) - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void FunctionDescriptor::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.FunctionDescriptor) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - values_.Clear(); - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - _internal_metadata_.Clear(); -} - -bool EnumType::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.EnumType) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string name = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_name())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.EnumType.name")); - } else { - goto handle_unusual; - } - break; - } - - // repeated .BERTBuffers.EnumValue values = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_values())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.EnumType) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.EnumType) - return false; -#undef DO_ -} - -void EnumType::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.EnumType) - ::google::protobuf::uint32 cached_has_bits = 0; + _impl_.arguments_.Clear(); + _impl_.category_.ClearToEmpty(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.function_ != nullptr); + _impl_.function_->Clear(); + } + ::memset(&_impl_.call_type_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.flags_) - + reinterpret_cast(&_impl_.call_type_)) + sizeof(_impl_.flags_)); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* FunctionDescriptor::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const FunctionDescriptor& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* FunctionDescriptor::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const FunctionDescriptor& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.FunctionDescriptor) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .BERTBuffers.FunctionElement function = 1; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.function_, this_._impl_.function_->GetCachedSize(), target, + stream); + } + + // .BERTBuffers.CallType call_type = 2; + if (this_._internal_call_type() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 2, this_._internal_call_type(), target); + } + + // uint32 flags = 3; + if (this_._internal_flags() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 3, this_._internal_flags(), target); + } + + // string category = 4; + if (!this_._internal_category().empty()) { + const std::string& _s = this_._internal_category(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.FunctionDescriptor.category"); + target = stream->WriteStringMaybeAliased(4, _s, target); + } + + // repeated .BERTBuffers.FunctionElement arguments = 5; + for (unsigned i = 0, n = static_cast( + this_._internal_arguments_size()); + i < n; i++) { + const auto& repfield = this_._internal_arguments().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.FunctionDescriptor) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t FunctionDescriptor::ByteSizeLong(const MessageLite& base) { + const FunctionDescriptor& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t FunctionDescriptor::ByteSizeLong() const { + const FunctionDescriptor& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.FunctionDescriptor) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .BERTBuffers.FunctionElement arguments = 5; + { + total_size += 1UL * this_._internal_arguments_size(); + for (const auto& msg : this_._internal_arguments()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + { + // string category = 4; + if (!this_._internal_category().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_category()); + } + } + { + // .BERTBuffers.FunctionElement function = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.function_); + } + } + { + // .BERTBuffers.CallType call_type = 2; + if (this_._internal_call_type() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_call_type()); + } + // uint32 flags = 3; + if (this_._internal_flags() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_flags()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void FunctionDescriptor::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.FunctionDescriptor) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; (void) cached_has_bits; - // string name = 1; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.EnumType.name"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->name(), output); + _this->_internal_mutable_arguments()->MergeFrom( + from._internal_arguments()); + if (!from._internal_category().empty()) { + _this->_internal_set_category(from._internal_category()); } - - // repeated .BERTBuffers.EnumValue values = 2; - for (unsigned int i = 0, - n = static_cast(this->values_size()); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, this->values(static_cast(i)), output); + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(from._impl_.function_ != nullptr); + if (_this->_impl_.function_ == nullptr) { + _this->_impl_.function_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::FunctionElement>(arena, *from._impl_.function_); + } else { + _this->_impl_.function_->MergeFrom(*from._impl_.function_); + } } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); + if (from._internal_call_type() != 0) { + _this->_impl_.call_type_ = from._impl_.call_type_; + } + if (from._internal_flags() != 0) { + _this->_impl_.flags_ = from._impl_.flags_; } - // @@protoc_insertion_point(serialize_end:BERTBuffers.EnumType) + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -::google::protobuf::uint8* EnumType::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.EnumType) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; +void FunctionDescriptor::CopyFrom(const FunctionDescriptor& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.FunctionDescriptor) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - // string name = 1; - if (this->name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.EnumType.name"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->name(), target); - } - // repeated .BERTBuffers.EnumValue values = 2; - for (unsigned int i = 0, - n = static_cast(this->values_size()); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 2, this->values(static_cast(i)), deterministic, target); - } +void FunctionDescriptor::InternalSwap(FunctionDescriptor* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.arguments_.InternalSwap(&other->_impl_.arguments_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.category_, &other->_impl_.category_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.flags_) + + sizeof(FunctionDescriptor::_impl_.flags_) + - PROTOBUF_FIELD_OFFSET(FunctionDescriptor, _impl_.function_)>( + reinterpret_cast(&_impl_.function_), + reinterpret_cast(&other->_impl_.function_)); +} - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.EnumType) - return target; +::google::protobuf::Metadata FunctionDescriptor::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } +// =================================================================== -size_t EnumType::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.EnumType) - size_t total_size = 0; +class FunctionList::_Internal { + public: +}; - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // repeated .BERTBuffers.EnumValue values = 2; - { - unsigned int count = static_cast(this->values_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSize( - this->values(static_cast(i))); - } - } +FunctionList::FunctionList(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.FunctionList) +} +inline PROTOBUF_NDEBUG_INLINE FunctionList::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::FunctionList& from_msg) + : functions_{visibility, arena, from.functions_}, + _cached_size_{0} {} + +FunctionList::FunctionList( + ::google::protobuf::Arena* arena, + const FunctionList& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + FunctionList* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); - // string name = 1; - if (this->name().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->name()); - } + // @@protoc_insertion_point(copy_constructor:BERTBuffers.FunctionList) +} +inline PROTOBUF_NDEBUG_INLINE FunctionList::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : functions_{visibility, arena}, + _cached_size_{0} {} - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void EnumType::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.EnumType) - GOOGLE_DCHECK_NE(&from, this); - const EnumType* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.EnumType) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); +inline void FunctionList::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +FunctionList::~FunctionList() { + // @@protoc_insertion_point(destructor:BERTBuffers.FunctionList) + SharedDtor(*this); +} +inline void FunctionList::SharedDtor(MessageLite& self) { + FunctionList& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* FunctionList::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) FunctionList(arena); +} +constexpr auto FunctionList::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(FunctionList, _impl_.functions_) + + decltype(FunctionList::_impl_.functions_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(FunctionList), alignof(FunctionList), *arena_bits); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.EnumType) - MergeFrom(*source); - } + return ::google::protobuf::internal::MessageCreator(&FunctionList::PlacementNew_, + sizeof(FunctionList), + alignof(FunctionList)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull FunctionList::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FunctionList_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &FunctionList::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FunctionList::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FunctionList::ByteSizeLong, + &FunctionList::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FunctionList, _impl_._cached_size_), + false, + }, + &FunctionList::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FunctionList::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> FunctionList::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::FunctionList>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .BERTBuffers.FunctionDescriptor functions = 1; + {::_pbi::TcParser::FastMtR1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionList, _impl_.functions_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .BERTBuffers.FunctionDescriptor functions = 1; + {PROTOBUF_FIELD_OFFSET(FunctionList, _impl_.functions_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::FunctionDescriptor>()}, + }}, {{ + }}, +}; -void EnumType::MergeFrom(const EnumType& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.EnumType) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void FunctionList::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.FunctionList) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - values_.MergeFrom(from.values_); - if (from.name().size() > 0) { - - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } -} + _impl_.functions_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* FunctionList::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const FunctionList& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* FunctionList::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const FunctionList& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.FunctionList) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // repeated .BERTBuffers.FunctionDescriptor functions = 1; + for (unsigned i = 0, n = static_cast( + this_._internal_functions_size()); + i < n; i++) { + const auto& repfield = this_._internal_functions().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.FunctionList) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t FunctionList::ByteSizeLong(const MessageLite& base) { + const FunctionList& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t FunctionList::ByteSizeLong() const { + const FunctionList& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.FunctionList) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .BERTBuffers.FunctionDescriptor functions = 1; + { + total_size += 1UL * this_._internal_functions_size(); + for (const auto& msg : this_._internal_functions()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void FunctionList::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.FunctionList) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; -void EnumType::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.EnumType) - if (&from == this) return; - Clear(); - MergeFrom(from); + _this->_internal_mutable_functions()->MergeFrom( + from._internal_functions()); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void EnumType::CopyFrom(const EnumType& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.EnumType) +void FunctionList::CopyFrom(const FunctionList& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.FunctionList) if (&from == this) return; Clear(); MergeFrom(from); } -bool EnumType::IsInitialized() const { - return true; -} -void EnumType::Swap(EnumType* other) { - if (other == this) return; - InternalSwap(other); -} -void EnumType::InternalSwap(EnumType* other) { +void FunctionList::InternalSwap(FunctionList* PROTOBUF_RESTRICT other) { using std::swap; - values_.InternalSwap(&other->values_); - name_.Swap(&other->name_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.functions_.InternalSwap(&other->_impl_.functions_); } -::google::protobuf::Metadata EnumType::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; +::google::protobuf::Metadata FunctionList::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } - - // =================================================================== -void ExternalPointer::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int ExternalPointer::kInterfaceNameFieldNumber; -const int ExternalPointer::kPointerFieldNumber; -const int ExternalPointer::kFunctionsFieldNumber; -const int ExternalPointer::kEnumsFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -ExternalPointer::ExternalPointer() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsArray(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.ExternalPointer) -} -ExternalPointer::ExternalPointer(const ExternalPointer& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - functions_(from.functions_), - enums_(from.enums_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - interface_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.interface_name().size() > 0) { - interface_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.interface_name_); - } - pointer_ = from.pointer_; - // @@protoc_insertion_point(copy_constructor:BERTBuffers.ExternalPointer) -} - -void ExternalPointer::SharedCtor() { - interface_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - pointer_ = GOOGLE_ULONGLONG(0); - _cached_size_ = 0; -} - -ExternalPointer::~ExternalPointer() { - // @@protoc_insertion_point(destructor:BERTBuffers.ExternalPointer) - SharedDtor(); -} +class EnumValue::_Internal { + public: +}; -void ExternalPointer::SharedDtor() { - interface_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} +EnumValue::EnumValue(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.EnumValue) +} +inline PROTOBUF_NDEBUG_INLINE EnumValue::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::EnumValue& from_msg) + : name_(arena, from.name_), + _cached_size_{0} {} + +EnumValue::EnumValue( + ::google::protobuf::Arena* arena, + const EnumValue& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + EnumValue* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.value_ = from._impl_.value_; -void ExternalPointer::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* ExternalPointer::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; + // @@protoc_insertion_point(copy_constructor:BERTBuffers.EnumValue) } +inline PROTOBUF_NDEBUG_INLINE EnumValue::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : name_(arena), + _cached_size_{0} {} -const ExternalPointer& ExternalPointer::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsArray(); - return *internal_default_instance(); +inline void EnumValue::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.value_ = {}; } - -ExternalPointer* ExternalPointer::New(::google::protobuf::Arena* arena) const { - ExternalPointer* n = new ExternalPointer; - if (arena != NULL) { - arena->Own(n); - } - return n; +EnumValue::~EnumValue() { + // @@protoc_insertion_point(destructor:BERTBuffers.EnumValue) + SharedDtor(*this); +} +inline void EnumValue::SharedDtor(MessageLite& self) { + EnumValue& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* EnumValue::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) EnumValue(arena); +} +constexpr auto EnumValue::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EnumValue), + alignof(EnumValue)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull EnumValue::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_EnumValue_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &EnumValue::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumValue::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumValue::ByteSizeLong, + &EnumValue::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumValue, _impl_._cached_size_), + false, + }, + &EnumValue::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* EnumValue::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 34, 2> EnumValue::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::EnumValue>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // int32 value = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumValue, _impl_.value_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(EnumValue, _impl_.value_)}}, + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(EnumValue, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(EnumValue, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // int32 value = 2; + {PROTOBUF_FIELD_OFFSET(EnumValue, _impl_.value_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + }}, + // no aux_entries + {{ + "\25\4\0\0\0\0\0\0" + "BERTBuffers.EnumValue" + "name" + }}, +}; -void ExternalPointer::Clear() { -// @@protoc_insertion_point(message_clear_start:BERTBuffers.ExternalPointer) - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void EnumValue::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.EnumValue) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - functions_.Clear(); - enums_.Clear(); - interface_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - pointer_ = GOOGLE_ULONGLONG(0); - _internal_metadata_.Clear(); -} - -bool ExternalPointer::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.ExternalPointer) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string interface_name = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_interface_name())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->interface_name().data(), static_cast(this->interface_name().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.ExternalPointer.interface_name")); - } else { - goto handle_unusual; - } - break; - } - - // uint64 pointer = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { + _impl_.name_.ClearToEmpty(); + _impl_.value_ = 0; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* EnumValue::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const EnumValue& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* EnumValue::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const EnumValue& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.EnumValue) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string name = 1; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.EnumValue.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // int32 value = 2; + if (this_._internal_value() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<2>( + stream, this_._internal_value(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.EnumValue) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t EnumValue::ByteSizeLong(const MessageLite& base) { + const EnumValue& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t EnumValue::ByteSizeLong() const { + const EnumValue& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.EnumValue) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string name = 1; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + // int32 value = 2; + if (this_._internal_value() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_value()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void EnumValue::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.EnumValue) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( - input, &pointer_))); - } else { - goto handle_unusual; - } - break; - } + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (from._internal_value() != 0) { + _this->_impl_.value_ = from._impl_.value_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} - // repeated .BERTBuffers.FunctionDescriptor functions = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_functions())); - } else { - goto handle_unusual; - } - break; - } +void EnumValue::CopyFrom(const EnumValue& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.EnumValue) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - // repeated .BERTBuffers.EnumType enums = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_enums())); - } else { - goto handle_unusual; - } - break; - } - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.ExternalPointer) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.ExternalPointer) - return false; -#undef DO_ -} - -void ExternalPointer::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.ExternalPointer) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; +void EnumValue::InternalSwap(EnumValue* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + swap(_impl_.value_, other->_impl_.value_); +} - // string interface_name = 1; - if (this->interface_name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->interface_name().data(), static_cast(this->interface_name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.ExternalPointer.interface_name"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->interface_name(), output); - } +::google::protobuf::Metadata EnumValue::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== - // uint64 pointer = 2; - if (this->pointer() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt64(2, this->pointer(), output); - } +class EnumType::_Internal { + public: +}; - // repeated .BERTBuffers.FunctionDescriptor functions = 3; - for (unsigned int i = 0, - n = static_cast(this->functions_size()); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, this->functions(static_cast(i)), output); - } +EnumType::EnumType(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.EnumType) +} +inline PROTOBUF_NDEBUG_INLINE EnumType::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::EnumType& from_msg) + : values_{visibility, arena, from.values_}, + name_(arena, from.name_), + _cached_size_{0} {} + +EnumType::EnumType( + ::google::protobuf::Arena* arena, + const EnumType& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + EnumType* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); - // repeated .BERTBuffers.EnumType enums = 4; - for (unsigned int i = 0, - n = static_cast(this->enums_size()); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 4, this->enums(static_cast(i)), output); - } + // @@protoc_insertion_point(copy_constructor:BERTBuffers.EnumType) +} +inline PROTOBUF_NDEBUG_INLINE EnumType::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : values_{visibility, arena}, + name_(arena), + _cached_size_{0} {} - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.ExternalPointer) +inline void EnumType::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +EnumType::~EnumType() { + // @@protoc_insertion_point(destructor:BERTBuffers.EnumType) + SharedDtor(*this); +} +inline void EnumType::SharedDtor(MessageLite& self) { + EnumType& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* EnumType::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) EnumType(arena); +} +constexpr auto EnumType::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(EnumType, _impl_.values_) + + decltype(EnumType::_impl_.values_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(EnumType), alignof(EnumType), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&EnumType::PlacementNew_, + sizeof(EnumType), + alignof(EnumType)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull EnumType::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_EnumType_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &EnumType::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumType::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumType::ByteSizeLong, + &EnumType::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumType, _impl_._cached_size_), + false, + }, + &EnumType::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* EnumType::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 33, 2> EnumType::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::EnumType>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .BERTBuffers.EnumValue values = 2; + {::_pbi::TcParser::FastMtR1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(EnumType, _impl_.values_)}}, + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(EnumType, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(EnumType, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .BERTBuffers.EnumValue values = 2; + {PROTOBUF_FIELD_OFFSET(EnumType, _impl_.values_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::EnumValue>()}, + }}, {{ + "\24\4\0\0\0\0\0\0" + "BERTBuffers.EnumType" + "name" + }}, +}; -::google::protobuf::uint8* ExternalPointer::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.ExternalPointer) - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void EnumType::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.EnumType) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string interface_name = 1; - if (this->interface_name().size() > 0) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->interface_name().data(), static_cast(this->interface_name().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.ExternalPointer.interface_name"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->interface_name(), target); - } + _impl_.values_.Clear(); + _impl_.name_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* EnumType::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const EnumType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* EnumType::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const EnumType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.EnumType) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string name = 1; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.EnumType.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // repeated .BERTBuffers.EnumValue values = 2; + for (unsigned i = 0, n = static_cast( + this_._internal_values_size()); + i < n; i++) { + const auto& repfield = this_._internal_values().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.EnumType) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t EnumType::ByteSizeLong(const MessageLite& base) { + const EnumType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t EnumType::ByteSizeLong() const { + const EnumType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.EnumType) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .BERTBuffers.EnumValue values = 2; + { + total_size += 1UL * this_._internal_values_size(); + for (const auto& msg : this_._internal_values()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + { + // string name = 1; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void EnumType::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.EnumType) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - // uint64 pointer = 2; - if (this->pointer() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(2, this->pointer(), target); + _this->_internal_mutable_values()->MergeFrom( + from._internal_values()); + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} - // repeated .BERTBuffers.FunctionDescriptor functions = 3; - for (unsigned int i = 0, - n = static_cast(this->functions_size()); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 3, this->functions(static_cast(i)), deterministic, target); - } +void EnumType::CopyFrom(const EnumType& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:BERTBuffers.EnumType) + if (&from == this) return; + Clear(); + MergeFrom(from); +} - // repeated .BERTBuffers.EnumType enums = 4; - for (unsigned int i = 0, - n = static_cast(this->enums_size()); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 4, this->enums(static_cast(i)), deterministic, target); - } - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.ExternalPointer) - return target; +void EnumType::InternalSwap(EnumType* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.values_.InternalSwap(&other->_impl_.values_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); } -size_t ExternalPointer::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.ExternalPointer) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // repeated .BERTBuffers.FunctionDescriptor functions = 3; - { - unsigned int count = static_cast(this->functions_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSize( - this->functions(static_cast(i))); - } - } +::google::protobuf::Metadata EnumType::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== - // repeated .BERTBuffers.EnumType enums = 4; - { - unsigned int count = static_cast(this->enums_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSize( - this->enums(static_cast(i))); - } - } +class ExternalPointer::_Internal { + public: +}; - // string interface_name = 1; - if (this->interface_name().size() > 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->interface_name()); - } +ExternalPointer::ExternalPointer(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.ExternalPointer) +} +inline PROTOBUF_NDEBUG_INLINE ExternalPointer::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::ExternalPointer& from_msg) + : functions_{visibility, arena, from.functions_}, + enums_{visibility, arena, from.enums_}, + interface_name_(arena, from.interface_name_), + _cached_size_{0} {} + +ExternalPointer::ExternalPointer( + ::google::protobuf::Arena* arena, + const ExternalPointer& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + ExternalPointer* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.pointer_ = from._impl_.pointer_; - // uint64 pointer = 2; - if (this->pointer() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt64Size( - this->pointer()); - } + // @@protoc_insertion_point(copy_constructor:BERTBuffers.ExternalPointer) +} +inline PROTOBUF_NDEBUG_INLINE ExternalPointer::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : functions_{visibility, arena}, + enums_{visibility, arena}, + interface_name_(arena), + _cached_size_{0} {} - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void ExternalPointer::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.ExternalPointer) - GOOGLE_DCHECK_NE(&from, this); - const ExternalPointer* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.ExternalPointer) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); +inline void ExternalPointer::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.pointer_ = {}; +} +ExternalPointer::~ExternalPointer() { + // @@protoc_insertion_point(destructor:BERTBuffers.ExternalPointer) + SharedDtor(*this); +} +inline void ExternalPointer::SharedDtor(MessageLite& self) { + ExternalPointer& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.interface_name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* ExternalPointer::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) ExternalPointer(arena); +} +constexpr auto ExternalPointer::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.functions_) + + decltype(ExternalPointer::_impl_.functions_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.enums_) + + decltype(ExternalPointer::_impl_.enums_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(ExternalPointer), alignof(ExternalPointer), *arena_bits); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.ExternalPointer) - MergeFrom(*source); - } + return ::google::protobuf::internal::MessageCreator(&ExternalPointer::PlacementNew_, + sizeof(ExternalPointer), + alignof(ExternalPointer)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull ExternalPointer::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_ExternalPointer_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &ExternalPointer::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ExternalPointer::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ExternalPointer::ByteSizeLong, + &ExternalPointer::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_._cached_size_), + false, + }, + &ExternalPointer::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* ExternalPointer::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 4, 2, 50, 2> ExternalPointer::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 4, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967280, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::ExternalPointer>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .BERTBuffers.EnumType enums = 4; + {::_pbi::TcParser::FastMtR1, + {34, 63, 1, PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.enums_)}}, + // string interface_name = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.interface_name_)}}, + // uint64 pointer = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ExternalPointer, _impl_.pointer_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.pointer_)}}, + // repeated .BERTBuffers.FunctionDescriptor functions = 3; + {::_pbi::TcParser::FastMtR1, + {26, 63, 0, PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.functions_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string interface_name = 1; + {PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.interface_name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // uint64 pointer = 2; + {PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.pointer_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt64)}, + // repeated .BERTBuffers.FunctionDescriptor functions = 3; + {PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.functions_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .BERTBuffers.EnumType enums = 4; + {PROTOBUF_FIELD_OFFSET(ExternalPointer, _impl_.enums_), 0, 1, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::FunctionDescriptor>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::EnumType>()}, + }}, {{ + "\33\16\0\0\0\0\0\0" + "BERTBuffers.ExternalPointer" + "interface_name" + }}, +}; -void ExternalPointer::MergeFrom(const ExternalPointer& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.ExternalPointer) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; +PROTOBUF_NOINLINE void ExternalPointer::Clear() { +// @@protoc_insertion_point(message_clear_start:BERTBuffers.ExternalPointer) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - functions_.MergeFrom(from.functions_); - enums_.MergeFrom(from.enums_); - if (from.interface_name().size() > 0) { + _impl_.functions_.Clear(); + _impl_.enums_.Clear(); + _impl_.interface_name_.ClearToEmpty(); + _impl_.pointer_ = ::uint64_t{0u}; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* ExternalPointer::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const ExternalPointer& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* ExternalPointer::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const ExternalPointer& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.ExternalPointer) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string interface_name = 1; + if (!this_._internal_interface_name().empty()) { + const std::string& _s = this_._internal_interface_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.ExternalPointer.interface_name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // uint64 pointer = 2; + if (this_._internal_pointer() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 2, this_._internal_pointer(), target); + } + + // repeated .BERTBuffers.FunctionDescriptor functions = 3; + for (unsigned i = 0, n = static_cast( + this_._internal_functions_size()); + i < n; i++) { + const auto& repfield = this_._internal_functions().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, repfield, repfield.GetCachedSize(), + target, stream); + } + + // repeated .BERTBuffers.EnumType enums = 4; + for (unsigned i = 0, n = static_cast( + this_._internal_enums_size()); + i < n; i++) { + const auto& repfield = this_._internal_enums().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.ExternalPointer) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t ExternalPointer::ByteSizeLong(const MessageLite& base) { + const ExternalPointer& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t ExternalPointer::ByteSizeLong() const { + const ExternalPointer& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.ExternalPointer) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .BERTBuffers.FunctionDescriptor functions = 3; + { + total_size += 1UL * this_._internal_functions_size(); + for (const auto& msg : this_._internal_functions()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated .BERTBuffers.EnumType enums = 4; + { + total_size += 1UL * this_._internal_enums_size(); + for (const auto& msg : this_._internal_enums()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + { + // string interface_name = 1; + if (!this_._internal_interface_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_interface_name()); + } + // uint64 pointer = 2; + if (this_._internal_pointer() != 0) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_pointer()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void ExternalPointer::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.ExternalPointer) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - interface_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.interface_name_); + _this->_internal_mutable_functions()->MergeFrom( + from._internal_functions()); + _this->_internal_mutable_enums()->MergeFrom( + from._internal_enums()); + if (!from._internal_interface_name().empty()) { + _this->_internal_set_interface_name(from._internal_interface_name()); } - if (from.pointer() != 0) { - set_pointer(from.pointer()); + if (from._internal_pointer() != 0) { + _this->_impl_.pointer_ = from._impl_.pointer_; } -} - -void ExternalPointer::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.ExternalPointer) - if (&from == this) return; - Clear(); - MergeFrom(from); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } void ExternalPointer::CopyFrom(const ExternalPointer& from) { @@ -9353,260 +8111,241 @@ void ExternalPointer::CopyFrom(const ExternalPointer& from) { MergeFrom(from); } -bool ExternalPointer::IsInitialized() const { - return true; -} -void ExternalPointer::Swap(ExternalPointer* other) { - if (other == this) return; - InternalSwap(other); -} -void ExternalPointer::InternalSwap(ExternalPointer* other) { +void ExternalPointer::InternalSwap(ExternalPointer* PROTOBUF_RESTRICT other) { using std::swap; - functions_.InternalSwap(&other->functions_); - enums_.InternalSwap(&other->enums_); - interface_name_.Swap(&other->interface_name_); - swap(pointer_, other->pointer_); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.functions_.InternalSwap(&other->_impl_.functions_); + _impl_.enums_.InternalSwap(&other->_impl_.enums_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.interface_name_, &other->_impl_.interface_name_, arena); + swap(_impl_.pointer_, other->_impl_.pointer_); } ::google::protobuf::Metadata ExternalPointer::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } - - // =================================================================== -void CallResponse::InitAsDefaultInstance() { - ::BERTBuffers::_CallResponse_default_instance_.err_.UnsafeSetDefault( - &::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::BERTBuffers::_CallResponse_default_instance_.result_ = const_cast< ::BERTBuffers::Variable*>( - ::BERTBuffers::Variable::internal_default_instance()); - ::BERTBuffers::_CallResponse_default_instance_.console_ = const_cast< ::BERTBuffers::Console*>( - ::BERTBuffers::Console::internal_default_instance()); - ::BERTBuffers::_CallResponse_default_instance_.code_ = const_cast< ::BERTBuffers::Code*>( - ::BERTBuffers::Code::internal_default_instance()); - ::BERTBuffers::_CallResponse_default_instance_.shell_command_.UnsafeSetDefault( - &::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::BERTBuffers::_CallResponse_default_instance_.function_call_ = const_cast< ::BERTBuffers::CompositeFunctionCall*>( - ::BERTBuffers::CompositeFunctionCall::internal_default_instance()); - ::BERTBuffers::_CallResponse_default_instance_.function_list_ = const_cast< ::BERTBuffers::FunctionList*>( - ::BERTBuffers::FunctionList::internal_default_instance()); - ::BERTBuffers::_CallResponse_default_instance_.user_command_ = 0u; -} +class CallResponse::_Internal { + public: + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::BERTBuffers::CallResponse, _impl_._oneof_case_); +}; + void CallResponse::set_allocated_result(::BERTBuffers::Variable* result) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + ::google::protobuf::Arena* message_arena = GetArena(); clear_operation(); if (result) { - ::google::protobuf::Arena* submessage_arena = NULL; + ::google::protobuf::Arena* submessage_arena = result->GetArena(); if (message_arena != submessage_arena) { - result = ::google::protobuf::internal::GetOwnedMessage( - message_arena, result, submessage_arena); + result = ::google::protobuf::internal::GetOwnedMessage(message_arena, result, submessage_arena); } set_has_result(); - operation_.result_ = result; + _impl_.operation_.result_ = result; } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.CallResponse.result) } void CallResponse::set_allocated_console(::BERTBuffers::Console* console) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + ::google::protobuf::Arena* message_arena = GetArena(); clear_operation(); if (console) { - ::google::protobuf::Arena* submessage_arena = NULL; + ::google::protobuf::Arena* submessage_arena = console->GetArena(); if (message_arena != submessage_arena) { - console = ::google::protobuf::internal::GetOwnedMessage( - message_arena, console, submessage_arena); + console = ::google::protobuf::internal::GetOwnedMessage(message_arena, console, submessage_arena); } set_has_console(); - operation_.console_ = console; + _impl_.operation_.console_ = console; } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.CallResponse.console) } void CallResponse::set_allocated_code(::BERTBuffers::Code* code) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + ::google::protobuf::Arena* message_arena = GetArena(); clear_operation(); if (code) { - ::google::protobuf::Arena* submessage_arena = NULL; + ::google::protobuf::Arena* submessage_arena = code->GetArena(); if (message_arena != submessage_arena) { - code = ::google::protobuf::internal::GetOwnedMessage( - message_arena, code, submessage_arena); + code = ::google::protobuf::internal::GetOwnedMessage(message_arena, code, submessage_arena); } set_has_code(); - operation_.code_ = code; + _impl_.operation_.code_ = code; } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.CallResponse.code) } void CallResponse::set_allocated_function_call(::BERTBuffers::CompositeFunctionCall* function_call) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + ::google::protobuf::Arena* message_arena = GetArena(); clear_operation(); if (function_call) { - ::google::protobuf::Arena* submessage_arena = NULL; + ::google::protobuf::Arena* submessage_arena = function_call->GetArena(); if (message_arena != submessage_arena) { - function_call = ::google::protobuf::internal::GetOwnedMessage( - message_arena, function_call, submessage_arena); + function_call = ::google::protobuf::internal::GetOwnedMessage(message_arena, function_call, submessage_arena); } set_has_function_call(); - operation_.function_call_ = function_call; + _impl_.operation_.function_call_ = function_call; } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.CallResponse.function_call) } void CallResponse::set_allocated_function_list(::BERTBuffers::FunctionList* function_list) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + ::google::protobuf::Arena* message_arena = GetArena(); clear_operation(); if (function_list) { - ::google::protobuf::Arena* submessage_arena = NULL; + ::google::protobuf::Arena* submessage_arena = function_list->GetArena(); if (message_arena != submessage_arena) { - function_list = ::google::protobuf::internal::GetOwnedMessage( - message_arena, function_list, submessage_arena); + function_list = ::google::protobuf::internal::GetOwnedMessage(message_arena, function_list, submessage_arena); } set_has_function_list(); - operation_.function_list_ = function_list; + _impl_.operation_.function_list_ = function_list; } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.CallResponse.function_list) } -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int CallResponse::kIdFieldNumber; -const int CallResponse::kWaitFieldNumber; -const int CallResponse::kErrFieldNumber; -const int CallResponse::kResultFieldNumber; -const int CallResponse::kConsoleFieldNumber; -const int CallResponse::kCodeFieldNumber; -const int CallResponse::kShellCommandFieldNumber; -const int CallResponse::kFunctionCallFieldNumber; -const int CallResponse::kFunctionListFieldNumber; -const int CallResponse::kUserCommandFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -CallResponse::CallResponse() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_variable_2eproto::InitDefaultsCallResponse(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:BERTBuffers.CallResponse) -} -CallResponse::CallResponse(const CallResponse& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::memcpy(&id_, &from.id_, - static_cast(reinterpret_cast(&wait_) - - reinterpret_cast(&id_)) + sizeof(wait_)); - clear_has_operation(); - switch (from.operation_case()) { - case kErr: { - set_err(from.err()); - break; - } - case kResult: { - mutable_result()->::BERTBuffers::Variable::MergeFrom(from.result()); - break; - } - case kConsole: { - mutable_console()->::BERTBuffers::Console::MergeFrom(from.console()); - break; - } - case kCode: { - mutable_code()->::BERTBuffers::Code::MergeFrom(from.code()); - break; - } - case kShellCommand: { - set_shell_command(from.shell_command()); - break; - } - case kFunctionCall: { - mutable_function_call()->::BERTBuffers::CompositeFunctionCall::MergeFrom(from.function_call()); - break; - } - case kFunctionList: { - mutable_function_list()->::BERTBuffers::FunctionList::MergeFrom(from.function_list()); - break; - } - case kUserCommand: { - set_user_command(from.user_command()); - break; - } - case OPERATION_NOT_SET: { +CallResponse::CallResponse(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:BERTBuffers.CallResponse) +} +inline PROTOBUF_NDEBUG_INLINE CallResponse::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::BERTBuffers::CallResponse& from_msg) + : operation_{}, + _cached_size_{0}, + _oneof_case_{from._oneof_case_[0]} {} + +CallResponse::CallResponse( + ::google::protobuf::Arena* arena, + const CallResponse& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + CallResponse* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, id_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, id_), + offsetof(Impl_, wait_) - + offsetof(Impl_, id_) + + sizeof(Impl_::wait_)); + switch (operation_case()) { + case OPERATION_NOT_SET: break; - } + case kErr: + new (&_impl_.operation_.err_) decltype(_impl_.operation_.err_){arena, from._impl_.operation_.err_}; + break; + case kResult: + _impl_.operation_.result_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Variable>(arena, *from._impl_.operation_.result_); + break; + case kConsole: + _impl_.operation_.console_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Console>(arena, *from._impl_.operation_.console_); + break; + case kCode: + _impl_.operation_.code_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Code>(arena, *from._impl_.operation_.code_); + break; + case kShellCommand: + new (&_impl_.operation_.shell_command_) decltype(_impl_.operation_.shell_command_){arena, from._impl_.operation_.shell_command_}; + break; + case kFunctionCall: + _impl_.operation_.function_call_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::CompositeFunctionCall>(arena, *from._impl_.operation_.function_call_); + break; + case kFunctionList: + _impl_.operation_.function_list_ = ::google::protobuf::Message::CopyConstruct<::BERTBuffers::FunctionList>(arena, *from._impl_.operation_.function_list_); + break; + case kUserCommand: + _impl_.operation_.user_command_ = from._impl_.operation_.user_command_; + break; } + // @@protoc_insertion_point(copy_constructor:BERTBuffers.CallResponse) } - -void CallResponse::SharedCtor() { - ::memset(&id_, 0, static_cast( - reinterpret_cast(&wait_) - - reinterpret_cast(&id_)) + sizeof(wait_)); - clear_has_operation(); - _cached_size_ = 0; +inline PROTOBUF_NDEBUG_INLINE CallResponse::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : operation_{}, + _cached_size_{0}, + _oneof_case_{} {} + +inline void CallResponse::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, id_), + 0, + offsetof(Impl_, wait_) - + offsetof(Impl_, id_) + + sizeof(Impl_::wait_)); } - CallResponse::~CallResponse() { // @@protoc_insertion_point(destructor:BERTBuffers.CallResponse) - SharedDtor(); -} - -void CallResponse::SharedDtor() { - if (has_operation()) { - clear_operation(); - } -} - -void CallResponse::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* CallResponse::descriptor() { - ::protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const CallResponse& CallResponse::default_instance() { - ::protobuf_variable_2eproto::InitDefaultsCallResponse(); - return *internal_default_instance(); + SharedDtor(*this); } - -CallResponse* CallResponse::New(::google::protobuf::Arena* arena) const { - CallResponse* n = new CallResponse; - if (arena != NULL) { - arena->Own(n); +inline void CallResponse::SharedDtor(MessageLite& self) { + CallResponse& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_operation()) { + this_.clear_operation(); } - return n; + this_._impl_.~Impl_(); } void CallResponse::clear_operation() { // @@protoc_insertion_point(one_of_clear_start:BERTBuffers.CallResponse) + ::google::protobuf::internal::TSanWrite(&_impl_); switch (operation_case()) { case kErr: { - operation_.err_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.operation_.err_.Destroy(); break; } case kResult: { - delete operation_.result_; + if (GetArena() == nullptr) { + delete _impl_.operation_.result_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.result_); + } break; } case kConsole: { - delete operation_.console_; + if (GetArena() == nullptr) { + delete _impl_.operation_.console_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.console_); + } break; } case kCode: { - delete operation_.code_; + if (GetArena() == nullptr) { + delete _impl_.operation_.code_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.code_); + } break; } case kShellCommand: { - operation_.shell_command_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.operation_.shell_command_.Destroy(); break; } case kFunctionCall: { - delete operation_.function_call_; + if (GetArena() == nullptr) { + delete _impl_.operation_.function_call_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.function_call_); + } break; } case kFunctionList: { - delete operation_.function_list_; + if (GetArena() == nullptr) { + delete _impl_.operation_.function_list_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.function_list_); + } break; } case kUserCommand: { @@ -9617,514 +8356,400 @@ void CallResponse::clear_operation() { break; } } - _oneof_case_[0] = OPERATION_NOT_SET; + _impl_._oneof_case_[0] = OPERATION_NOT_SET; +} + + +inline void* CallResponse::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) CallResponse(arena); +} +constexpr auto CallResponse::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CallResponse), + alignof(CallResponse)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull CallResponse::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_CallResponse_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &CallResponse::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &CallResponse::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &CallResponse::ByteSizeLong, + &CallResponse::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(CallResponse, _impl_._cached_size_), + false, + }, + &CallResponse::kDescriptorMethods, + &descriptor_table_variable_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* CallResponse::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); } +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 10, 5, 57, 2> CallResponse::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 10, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966272, // skipmap + offsetof(decltype(_table_), field_entries), + 10, // num_field_entries + 5, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::BERTBuffers::CallResponse>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // bool wait = 2; + {::_pbi::TcParser::SingularVarintNoZag1(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.wait_)}}, + // uint32 id = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CallResponse, _impl_.id_), 63>(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.id_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // uint32 id = 1; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // bool wait = 2; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.wait_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + // string err = 3; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.operation_.err_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .BERTBuffers.Variable result = 4; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.operation_.result_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.Console console = 5; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.operation_.console_), _Internal::kOneofCaseOffset + 0, 1, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.Code code = 6; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.operation_.code_), _Internal::kOneofCaseOffset + 0, 2, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // string shell_command = 7; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.operation_.shell_command_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .BERTBuffers.CompositeFunctionCall function_call = 8; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.operation_.function_call_), _Internal::kOneofCaseOffset + 0, 3, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .BERTBuffers.FunctionList function_list = 9; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.operation_.function_list_), _Internal::kOneofCaseOffset + 0, 4, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // uint32 user_command = 10; + {PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.operation_.user_command_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUInt32)}, + }}, {{ + {::_pbi::TcParser::GetTable<::BERTBuffers::Variable>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::Console>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::Code>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::CompositeFunctionCall>()}, + {::_pbi::TcParser::GetTable<::BERTBuffers::FunctionList>()}, + }}, {{ + "\30\0\0\3\0\0\0\15\0\0\0\0\0\0\0\0" + "BERTBuffers.CallResponse" + "err" + "shell_command" + }}, +}; - -void CallResponse::Clear() { +PROTOBUF_NOINLINE void CallResponse::Clear() { // @@protoc_insertion_point(message_clear_start:BERTBuffers.CallResponse) - ::google::protobuf::uint32 cached_has_bits = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - ::memset(&id_, 0, static_cast( - reinterpret_cast(&wait_) - - reinterpret_cast(&id_)) + sizeof(wait_)); + ::memset(&_impl_.id_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.wait_) - + reinterpret_cast(&_impl_.id_)) + sizeof(_impl_.wait_)); clear_operation(); - _internal_metadata_.Clear(); -} - -bool CallResponse::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:BERTBuffers.CallResponse) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // uint32 id = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { - - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &id_))); - } else { - goto handle_unusual; - } - break; - } - - // bool wait = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* CallResponse::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const CallResponse& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* CallResponse::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const CallResponse& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.CallResponse) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // uint32 id = 1; + if (this_._internal_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 1, this_._internal_id(), target); + } + + // bool wait = 2; + if (this_._internal_wait() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 2, this_._internal_wait(), target); + } + + switch (this_.operation_case()) { + case kErr: { + const std::string& _s = this_._internal_err(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.CallResponse.err"); + target = stream->WriteStringMaybeAliased(3, _s, target); + break; + } + case kResult: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.operation_.result_, this_._impl_.operation_.result_->GetCachedSize(), target, + stream); + break; + } + case kConsole: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.operation_.console_, this_._impl_.operation_.console_->GetCachedSize(), target, + stream); + break; + } + case kCode: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.operation_.code_, this_._impl_.operation_.code_->GetCachedSize(), target, + stream); + break; + } + case kShellCommand: { + const std::string& _s = this_._internal_shell_command(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "BERTBuffers.CallResponse.shell_command"); + target = stream->WriteStringMaybeAliased(7, _s, target); + break; + } + case kFunctionCall: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 8, *this_._impl_.operation_.function_call_, this_._impl_.operation_.function_call_->GetCachedSize(), target, + stream); + break; + } + case kFunctionList: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, *this_._impl_.operation_.function_list_, this_._impl_.operation_.function_list_->GetCachedSize(), target, + stream); + break; + } + case kUserCommand: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 10, this_._internal_user_command(), target); + break; + } + default: + break; + } + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.CallResponse) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t CallResponse::ByteSizeLong(const MessageLite& base) { + const CallResponse& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t CallResponse::ByteSizeLong() const { + const CallResponse& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:BERTBuffers.CallResponse) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // uint32 id = 1; + if (this_._internal_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_id()); + } + // bool wait = 2; + if (this_._internal_wait() != 0) { + total_size += 2; + } + } + switch (this_.operation_case()) { + // string err = 3; + case kErr: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_err()); + break; + } + // .BERTBuffers.Variable result = 4; + case kResult: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.operation_.result_); + break; + } + // .BERTBuffers.Console console = 5; + case kConsole: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.operation_.console_); + break; + } + // .BERTBuffers.Code code = 6; + case kCode: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.operation_.code_); + break; + } + // string shell_command = 7; + case kShellCommand: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_shell_command()); + break; + } + // .BERTBuffers.CompositeFunctionCall function_call = 8; + case kFunctionCall: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.operation_.function_call_); + break; + } + // .BERTBuffers.FunctionList function_list = 9; + case kFunctionList: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.operation_.function_list_); + break; + } + // uint32 user_command = 10; + case kUserCommand: { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_user_command()); + break; + } + case OPERATION_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void CallResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.CallResponse) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &wait_))); - } else { - goto handle_unusual; - } - break; + if (from._internal_id() != 0) { + _this->_impl_.id_ = from._impl_.id_; + } + if (from._internal_wait() != 0) { + _this->_impl_.wait_ = from._impl_.wait_; + } + if (const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_operation(); } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } - // string err = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_err())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->err().data(), static_cast(this->err().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.CallResponse.err")); - } else { - goto handle_unusual; + switch (oneof_from_case) { + case kErr: { + if (oneof_needs_init) { + _this->_impl_.operation_.err_.InitDefault(); } + _this->_impl_.operation_.err_.Set(from._internal_err(), arena); break; } - - // .BERTBuffers.Variable result = 4; - case 4: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_result())); + case kResult: { + if (oneof_needs_init) { + _this->_impl_.operation_.result_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Variable>(arena, *from._impl_.operation_.result_); } else { - goto handle_unusual; + _this->_impl_.operation_.result_->MergeFrom(from._internal_result()); } break; } - - // .BERTBuffers.Console console = 5; - case 5: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_console())); + case kConsole: { + if (oneof_needs_init) { + _this->_impl_.operation_.console_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Console>(arena, *from._impl_.operation_.console_); } else { - goto handle_unusual; + _this->_impl_.operation_.console_->MergeFrom(from._internal_console()); } break; } - - // .BERTBuffers.Code code = 6; - case 6: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_code())); + case kCode: { + if (oneof_needs_init) { + _this->_impl_.operation_.code_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::Code>(arena, *from._impl_.operation_.code_); } else { - goto handle_unusual; + _this->_impl_.operation_.code_->MergeFrom(from._internal_code()); } break; } - - // string shell_command = 7; - case 7: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_shell_command())); - DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->shell_command().data(), static_cast(this->shell_command().length()), - ::google::protobuf::internal::WireFormatLite::PARSE, - "BERTBuffers.CallResponse.shell_command")); - } else { - goto handle_unusual; + case kShellCommand: { + if (oneof_needs_init) { + _this->_impl_.operation_.shell_command_.InitDefault(); } + _this->_impl_.operation_.shell_command_.Set(from._internal_shell_command(), arena); break; } - - // .BERTBuffers.CompositeFunctionCall function_call = 8; - case 8: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_function_call())); + case kFunctionCall: { + if (oneof_needs_init) { + _this->_impl_.operation_.function_call_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::CompositeFunctionCall>(arena, *from._impl_.operation_.function_call_); } else { - goto handle_unusual; + _this->_impl_.operation_.function_call_->MergeFrom(from._internal_function_call()); } break; } - - // .BERTBuffers.FunctionList function_list = 9; - case 9: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_function_list())); + case kFunctionList: { + if (oneof_needs_init) { + _this->_impl_.operation_.function_list_ = + ::google::protobuf::Message::CopyConstruct<::BERTBuffers::FunctionList>(arena, *from._impl_.operation_.function_list_); } else { - goto handle_unusual; + _this->_impl_.operation_.function_list_->MergeFrom(from._internal_function_list()); } break; } - - // uint32 user_command = 10; - case 10: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(80u /* 80 & 0xFF */)) { - clear_operation(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &operation_.user_command_))); - set_has_user_command(); - } else { - goto handle_unusual; - } + case kUserCommand: { + _this->_impl_.operation_.user_command_ = from._impl_.operation_.user_command_; break; } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); + case OPERATION_NOT_SET: break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:BERTBuffers.CallResponse) - return true; -failure: - // @@protoc_insertion_point(parse_failure:BERTBuffers.CallResponse) - return false; -#undef DO_ -} - -void CallResponse::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:BERTBuffers.CallResponse) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // uint32 id = 1; - if (this->id() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->id(), output); - } - - // bool wait = 2; - if (this->wait() != 0) { - ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->wait(), output); - } - - // string err = 3; - if (has_err()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->err().data(), static_cast(this->err().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.CallResponse.err"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 3, this->err(), output); - } - - // .BERTBuffers.Variable result = 4; - if (has_result()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 4, *operation_.result_, output); - } - - // .BERTBuffers.Console console = 5; - if (has_console()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 5, *operation_.console_, output); - } - - // .BERTBuffers.Code code = 6; - if (has_code()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 6, *operation_.code_, output); - } - - // string shell_command = 7; - if (has_shell_command()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->shell_command().data(), static_cast(this->shell_command().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.CallResponse.shell_command"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 7, this->shell_command(), output); - } - - // .BERTBuffers.CompositeFunctionCall function_call = 8; - if (has_function_call()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 8, *operation_.function_call_, output); - } - - // .BERTBuffers.FunctionList function_list = 9; - if (has_function_list()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 9, *operation_.function_list_, output); - } - - // uint32 user_command = 10; - if (has_user_command()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->user_command(), output); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); - } - // @@protoc_insertion_point(serialize_end:BERTBuffers.CallResponse) -} - -::google::protobuf::uint8* CallResponse::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:BERTBuffers.CallResponse) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // uint32 id = 1; - if (this->id() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->id(), target); - } - - // bool wait = 2; - if (this->wait() != 0) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->wait(), target); - } - - // string err = 3; - if (has_err()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->err().data(), static_cast(this->err().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.CallResponse.err"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 3, this->err(), target); - } - - // .BERTBuffers.Variable result = 4; - if (has_result()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 4, *operation_.result_, deterministic, target); - } - - // .BERTBuffers.Console console = 5; - if (has_console()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 5, *operation_.console_, deterministic, target); - } - - // .BERTBuffers.Code code = 6; - if (has_code()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 6, *operation_.code_, deterministic, target); - } - - // string shell_command = 7; - if (has_shell_command()) { - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - this->shell_command().data(), static_cast(this->shell_command().length()), - ::google::protobuf::internal::WireFormatLite::SERIALIZE, - "BERTBuffers.CallResponse.shell_command"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 7, this->shell_command(), target); - } - - // .BERTBuffers.CompositeFunctionCall function_call = 8; - if (has_function_call()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 8, *operation_.function_call_, deterministic, target); - } - - // .BERTBuffers.FunctionList function_list = 9; - if (has_function_list()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 9, *operation_.function_list_, deterministic, target); - } - - // uint32 user_command = 10; - if (has_user_command()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->user_command(), target); - } - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); - } - // @@protoc_insertion_point(serialize_to_array_end:BERTBuffers.CallResponse) - return target; -} - -size_t CallResponse::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:BERTBuffers.CallResponse) - size_t total_size = 0; - - if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); - } - // uint32 id = 1; - if (this->id() != 0) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->id()); - } - - // bool wait = 2; - if (this->wait() != 0) { - total_size += 1 + 1; - } - - switch (operation_case()) { - // string err = 3; - case kErr: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->err()); - break; - } - // .BERTBuffers.Variable result = 4; - case kResult: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *operation_.result_); - break; - } - // .BERTBuffers.Console console = 5; - case kConsole: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *operation_.console_); - break; - } - // .BERTBuffers.Code code = 6; - case kCode: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *operation_.code_); - break; - } - // string shell_command = 7; - case kShellCommand: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->shell_command()); - break; - } - // .BERTBuffers.CompositeFunctionCall function_call = 8; - case kFunctionCall: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *operation_.function_call_); - break; - } - // .BERTBuffers.FunctionList function_list = 9; - case kFunctionList: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *operation_.function_list_); - break; - } - // uint32 user_command = 10; - case kUserCommand: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->user_command()); - break; - } - case OPERATION_NOT_SET: { - break; - } - } - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void CallResponse::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:BERTBuffers.CallResponse) - GOOGLE_DCHECK_NE(&from, this); - const CallResponse* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:BERTBuffers.CallResponse) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:BERTBuffers.CallResponse) - MergeFrom(*source); - } -} - -void CallResponse::MergeFrom(const CallResponse& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:BERTBuffers.CallResponse) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.id() != 0) { - set_id(from.id()); - } - if (from.wait() != 0) { - set_wait(from.wait()); - } - switch (from.operation_case()) { - case kErr: { - set_err(from.err()); - break; - } - case kResult: { - mutable_result()->::BERTBuffers::Variable::MergeFrom(from.result()); - break; - } - case kConsole: { - mutable_console()->::BERTBuffers::Console::MergeFrom(from.console()); - break; - } - case kCode: { - mutable_code()->::BERTBuffers::Code::MergeFrom(from.code()); - break; - } - case kShellCommand: { - set_shell_command(from.shell_command()); - break; - } - case kFunctionCall: { - mutable_function_call()->::BERTBuffers::CompositeFunctionCall::MergeFrom(from.function_call()); - break; - } - case kFunctionList: { - mutable_function_list()->::BERTBuffers::FunctionList::MergeFrom(from.function_list()); - break; - } - case kUserCommand: { - set_user_command(from.user_command()); - break; - } - case OPERATION_NOT_SET: { - break; } } -} - -void CallResponse::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:BERTBuffers.CallResponse) - if (&from == this) return; - Clear(); - MergeFrom(from); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } void CallResponse::CopyFrom(const CallResponse& from) { @@ -10134,31 +8759,32 @@ void CallResponse::CopyFrom(const CallResponse& from) { MergeFrom(from); } -bool CallResponse::IsInitialized() const { - return true; -} -void CallResponse::Swap(CallResponse* other) { - if (other == this) return; - InternalSwap(other); -} -void CallResponse::InternalSwap(CallResponse* other) { +void CallResponse::InternalSwap(CallResponse* PROTOBUF_RESTRICT other) { using std::swap; - swap(id_, other->id_); - swap(wait_, other->wait_); - swap(operation_, other->operation_); - swap(_oneof_case_[0], other->_oneof_case_[0]); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.wait_) + + sizeof(CallResponse::_impl_.wait_) + - PROTOBUF_FIELD_OFFSET(CallResponse, _impl_.id_)>( + reinterpret_cast(&_impl_.id_), + reinterpret_cast(&other->_impl_.id_)); + swap(_impl_.operation_, other->_impl_.operation_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); } ::google::protobuf::Metadata CallResponse::GetMetadata() const { - protobuf_variable_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_variable_2eproto::file_level_metadata[kIndexInFileMessages]; + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); } - - // @@protoc_insertion_point(namespace_scope) } // namespace BERTBuffers - +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google // @@protoc_insertion_point(global_scope) +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type + _static_init2_ PROTOBUF_UNUSED = + (::_pbi::AddDescriptors(&descriptor_table_variable_2eproto), + ::std::false_type{}); +#include "google/protobuf/port_undef.inc" diff --git a/PB/variable.pb.h b/PB/variable.pb.h index fb4fd908..20e878b8 100644 --- a/PB/variable.pb.h +++ b/PB/variable.pb.h @@ -1,3145 +1,5304 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: variable.proto +// Protobuf C++ Version: 5.29.5 -#ifndef PROTOBUF_variable_2eproto__INCLUDED -#define PROTOBUF_variable_2eproto__INCLUDED +#ifndef variable_2eproto_2epb_2eh +#define variable_2eproto_2epb_2eh +#include #include +#include +#include + +#include "google/protobuf/runtime_version.h" +#if PROTOBUF_VERSION != 5029005 +#error "Protobuf C++ gencode is built with an incompatible version of" +#error "Protobuf C++ headers/runtime. See" +#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp" +#endif +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/message_lite.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/generated_enum_reflection.h" +#include "google/protobuf/unknown_field_set.h" +// @@protoc_insertion_point(includes) -#include +// Must be included last. +#include "google/protobuf/port_def.inc" -#if GOOGLE_PROTOBUF_VERSION < 3005000 -#error This file was generated by a newer version of protoc which is -#error incompatible with your Protocol Buffer headers. Please update -#error your headers. -#endif -#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION -#error This file was generated by an older version of protoc which is -#error incompatible with your Protocol Buffer headers. Please -#error regenerate this file with a newer version of protoc. -#endif +#define PROTOBUF_INTERNAL_EXPORT_variable_2eproto -#include -#include -#include -#include -#include -#include -#include -#include // IWYU pragma: export -#include // IWYU pragma: export -#include -#include -// @@protoc_insertion_point(includes) +namespace google { +namespace protobuf { +namespace internal { +template +::absl::string_view GetAnyMessageName(); +} // namespace internal +} // namespace protobuf +} // namespace google -namespace protobuf_variable_2eproto { // Internal implementation detail -- do not use these members. -struct TableStruct { - static const ::google::protobuf::internal::ParseTableField entries[]; - static const ::google::protobuf::internal::AuxillaryParseTableField aux[]; - static const ::google::protobuf::internal::ParseTable schema[20]; - static const ::google::protobuf::internal::FieldMetadata field_metadata[]; - static const ::google::protobuf::internal::SerializationTable serialization_table[]; - static const ::google::protobuf::uint32 offsets[]; +struct TableStruct_variable_2eproto { + static const ::uint32_t offsets[]; }; -void AddDescriptors(); -void InitDefaultsComplexImpl(); -void InitDefaultsComplex(); -void InitDefaultsArrayImpl(); -void InitDefaultsArray(); -void InitDefaultsErrorImpl(); -void InitDefaultsError(); -void InitDefaultsSheetReferenceImpl(); -void InitDefaultsSheetReference(); -void InitDefaultsCodeImpl(); -void InitDefaultsCode(); -void InitDefaultsCompositeFunctionCallImpl(); -void InitDefaultsCompositeFunctionCall(); -void InitDefaultsGraphicsUpdateImpl(); -void InitDefaultsGraphicsUpdate(); -void InitDefaultsGraphicsCommandImpl(); -void InitDefaultsGraphicsCommand(); -void InitDefaultsColorImpl(); -void InitDefaultsColor(); -void InitDefaultsGraphicsContextImpl(); -void InitDefaultsGraphicsContext(); -void InitDefaultsMIMEDataImpl(); -void InitDefaultsMIMEData(); -void InitDefaultsConsoleImpl(); -void InitDefaultsConsole(); -void InitDefaultsFunctionListImpl(); -void InitDefaultsFunctionList(); -void InitDefaultsEnumValueImpl(); -void InitDefaultsEnumValue(); -void InitDefaultsEnumTypeImpl(); -void InitDefaultsEnumType(); -void InitDefaultsCallResponseImpl(); -void InitDefaultsCallResponse(); -inline void InitDefaults() { - InitDefaultsComplex(); - InitDefaultsArray(); - InitDefaultsError(); - InitDefaultsSheetReference(); - InitDefaultsCode(); - InitDefaultsCompositeFunctionCall(); - InitDefaultsGraphicsUpdate(); - InitDefaultsGraphicsCommand(); - InitDefaultsColor(); - InitDefaultsGraphicsContext(); - InitDefaultsMIMEData(); - InitDefaultsConsole(); - InitDefaultsFunctionList(); - InitDefaultsEnumValue(); - InitDefaultsEnumType(); - InitDefaultsCallResponse(); -} -} // namespace protobuf_variable_2eproto +extern const ::google::protobuf::internal::DescriptorTable + descriptor_table_variable_2eproto; namespace BERTBuffers { class Array; -class ArrayDefaultTypeInternal; +struct ArrayDefaultTypeInternal; extern ArrayDefaultTypeInternal _Array_default_instance_; class CallResponse; -class CallResponseDefaultTypeInternal; +struct CallResponseDefaultTypeInternal; extern CallResponseDefaultTypeInternal _CallResponse_default_instance_; class Code; -class CodeDefaultTypeInternal; +struct CodeDefaultTypeInternal; extern CodeDefaultTypeInternal _Code_default_instance_; class Color; -class ColorDefaultTypeInternal; +struct ColorDefaultTypeInternal; extern ColorDefaultTypeInternal _Color_default_instance_; class Complex; -class ComplexDefaultTypeInternal; +struct ComplexDefaultTypeInternal; extern ComplexDefaultTypeInternal _Complex_default_instance_; class CompositeFunctionCall; -class CompositeFunctionCallDefaultTypeInternal; +struct CompositeFunctionCallDefaultTypeInternal; extern CompositeFunctionCallDefaultTypeInternal _CompositeFunctionCall_default_instance_; class Console; -class ConsoleDefaultTypeInternal; +struct ConsoleDefaultTypeInternal; extern ConsoleDefaultTypeInternal _Console_default_instance_; class EnumType; -class EnumTypeDefaultTypeInternal; +struct EnumTypeDefaultTypeInternal; extern EnumTypeDefaultTypeInternal _EnumType_default_instance_; class EnumValue; -class EnumValueDefaultTypeInternal; +struct EnumValueDefaultTypeInternal; extern EnumValueDefaultTypeInternal _EnumValue_default_instance_; class Error; -class ErrorDefaultTypeInternal; +struct ErrorDefaultTypeInternal; extern ErrorDefaultTypeInternal _Error_default_instance_; class ExternalPointer; -class ExternalPointerDefaultTypeInternal; +struct ExternalPointerDefaultTypeInternal; extern ExternalPointerDefaultTypeInternal _ExternalPointer_default_instance_; class FunctionDescriptor; -class FunctionDescriptorDefaultTypeInternal; +struct FunctionDescriptorDefaultTypeInternal; extern FunctionDescriptorDefaultTypeInternal _FunctionDescriptor_default_instance_; class FunctionElement; -class FunctionElementDefaultTypeInternal; +struct FunctionElementDefaultTypeInternal; extern FunctionElementDefaultTypeInternal _FunctionElement_default_instance_; class FunctionList; -class FunctionListDefaultTypeInternal; +struct FunctionListDefaultTypeInternal; extern FunctionListDefaultTypeInternal _FunctionList_default_instance_; class GraphicsCommand; -class GraphicsCommandDefaultTypeInternal; +struct GraphicsCommandDefaultTypeInternal; extern GraphicsCommandDefaultTypeInternal _GraphicsCommand_default_instance_; class GraphicsContext; -class GraphicsContextDefaultTypeInternal; +struct GraphicsContextDefaultTypeInternal; extern GraphicsContextDefaultTypeInternal _GraphicsContext_default_instance_; class GraphicsUpdate; -class GraphicsUpdateDefaultTypeInternal; +struct GraphicsUpdateDefaultTypeInternal; extern GraphicsUpdateDefaultTypeInternal _GraphicsUpdate_default_instance_; class MIMEData; -class MIMEDataDefaultTypeInternal; +struct MIMEDataDefaultTypeInternal; extern MIMEDataDefaultTypeInternal _MIMEData_default_instance_; class SheetReference; -class SheetReferenceDefaultTypeInternal; +struct SheetReferenceDefaultTypeInternal; extern SheetReferenceDefaultTypeInternal _SheetReference_default_instance_; class Variable; -class VariableDefaultTypeInternal; +struct VariableDefaultTypeInternal; extern VariableDefaultTypeInternal _Variable_default_instance_; } // namespace BERTBuffers -namespace BERTBuffers { +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google -enum ErrorType { +namespace BERTBuffers { +enum ErrorType : int { GENERIC = 0, NA = 1, INF = 2, PARSE = 3, EXECUTION = 4, OTHER = 15, - ErrorType_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min, - ErrorType_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max + ErrorType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + ErrorType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; -bool ErrorType_IsValid(int value); -const ErrorType ErrorType_MIN = GENERIC; -const ErrorType ErrorType_MAX = OTHER; -const int ErrorType_ARRAYSIZE = ErrorType_MAX + 1; -const ::google::protobuf::EnumDescriptor* ErrorType_descriptor(); -inline const ::std::string& ErrorType_Name(ErrorType value) { - return ::google::protobuf::internal::NameOfEnum( - ErrorType_descriptor(), value); +bool ErrorType_IsValid(int value); +extern const uint32_t ErrorType_internal_data_[]; +constexpr ErrorType ErrorType_MIN = static_cast(0); +constexpr ErrorType ErrorType_MAX = static_cast(15); +constexpr int ErrorType_ARRAYSIZE = 15 + 1; +const ::google::protobuf::EnumDescriptor* +ErrorType_descriptor(); +template +const std::string& ErrorType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to ErrorType_Name()."); + return ErrorType_Name(static_cast(value)); +} +template <> +inline const std::string& ErrorType_Name(ErrorType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); } -inline bool ErrorType_Parse( - const ::std::string& name, ErrorType* value) { +inline bool ErrorType_Parse(absl::string_view name, ErrorType* value) { return ::google::protobuf::internal::ParseNamedEnum( - ErrorType_descriptor(), name, value); + ErrorType_descriptor(), name, value); } -enum CallType { +enum CallType : int { method = 0, get = 1, put = 2, - CallType_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min, - CallType_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max + CallType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + CallType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; -bool CallType_IsValid(int value); -const CallType CallType_MIN = method; -const CallType CallType_MAX = put; -const int CallType_ARRAYSIZE = CallType_MAX + 1; -const ::google::protobuf::EnumDescriptor* CallType_descriptor(); -inline const ::std::string& CallType_Name(CallType value) { - return ::google::protobuf::internal::NameOfEnum( - CallType_descriptor(), value); +bool CallType_IsValid(int value); +extern const uint32_t CallType_internal_data_[]; +constexpr CallType CallType_MIN = static_cast(0); +constexpr CallType CallType_MAX = static_cast(2); +constexpr int CallType_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +CallType_descriptor(); +template +const std::string& CallType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to CallType_Name()."); + return CallType_Name(static_cast(value)); +} +template <> +inline const std::string& CallType_Name(CallType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); } -inline bool CallType_Parse( - const ::std::string& name, CallType* value) { +inline bool CallType_Parse(absl::string_view name, CallType* value) { return ::google::protobuf::internal::ParseNamedEnum( - CallType_descriptor(), name, value); + CallType_descriptor(), name, value); } -enum CallTarget { +enum CallTarget : int { language = 0, COM = 1, system = 2, graphics = 3, - CallTarget_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min, - CallTarget_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max + CallTarget_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + CallTarget_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; -bool CallTarget_IsValid(int value); -const CallTarget CallTarget_MIN = language; -const CallTarget CallTarget_MAX = graphics; -const int CallTarget_ARRAYSIZE = CallTarget_MAX + 1; -const ::google::protobuf::EnumDescriptor* CallTarget_descriptor(); -inline const ::std::string& CallTarget_Name(CallTarget value) { - return ::google::protobuf::internal::NameOfEnum( - CallTarget_descriptor(), value); +bool CallTarget_IsValid(int value); +extern const uint32_t CallTarget_internal_data_[]; +constexpr CallTarget CallTarget_MIN = static_cast(0); +constexpr CallTarget CallTarget_MAX = static_cast(3); +constexpr int CallTarget_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +CallTarget_descriptor(); +template +const std::string& CallTarget_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to CallTarget_Name()."); + return CallTarget_Name(static_cast(value)); +} +template <> +inline const std::string& CallTarget_Name(CallTarget value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); } -inline bool CallTarget_Parse( - const ::std::string& name, CallTarget* value) { +inline bool CallTarget_Parse(absl::string_view name, CallTarget* value) { return ::google::protobuf::internal::ParseNamedEnum( - CallTarget_descriptor(), name, value); + CallTarget_descriptor(), name, value); } -enum GraphicsUpdateCommand { +enum GraphicsUpdateCommand : int { update = 0, query_size = 1, - GraphicsUpdateCommand_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min, - GraphicsUpdateCommand_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max + GraphicsUpdateCommand_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + GraphicsUpdateCommand_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; -bool GraphicsUpdateCommand_IsValid(int value); -const GraphicsUpdateCommand GraphicsUpdateCommand_MIN = update; -const GraphicsUpdateCommand GraphicsUpdateCommand_MAX = query_size; -const int GraphicsUpdateCommand_ARRAYSIZE = GraphicsUpdateCommand_MAX + 1; -const ::google::protobuf::EnumDescriptor* GraphicsUpdateCommand_descriptor(); -inline const ::std::string& GraphicsUpdateCommand_Name(GraphicsUpdateCommand value) { - return ::google::protobuf::internal::NameOfEnum( - GraphicsUpdateCommand_descriptor(), value); +bool GraphicsUpdateCommand_IsValid(int value); +extern const uint32_t GraphicsUpdateCommand_internal_data_[]; +constexpr GraphicsUpdateCommand GraphicsUpdateCommand_MIN = static_cast(0); +constexpr GraphicsUpdateCommand GraphicsUpdateCommand_MAX = static_cast(1); +constexpr int GraphicsUpdateCommand_ARRAYSIZE = 1 + 1; +const ::google::protobuf::EnumDescriptor* +GraphicsUpdateCommand_descriptor(); +template +const std::string& GraphicsUpdateCommand_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to GraphicsUpdateCommand_Name()."); + return GraphicsUpdateCommand_Name(static_cast(value)); +} +template <> +inline const std::string& GraphicsUpdateCommand_Name(GraphicsUpdateCommand value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); } -inline bool GraphicsUpdateCommand_Parse( - const ::std::string& name, GraphicsUpdateCommand* value) { +inline bool GraphicsUpdateCommand_Parse(absl::string_view name, GraphicsUpdateCommand* value) { return ::google::protobuf::internal::ParseNamedEnum( - GraphicsUpdateCommand_descriptor(), name, value); + GraphicsUpdateCommand_descriptor(), name, value); } + // =================================================================== -class Complex : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.Complex) */ { + +// ------------------------------------------------------------------- + +class SheetReference final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.SheetReference) */ { public: - Complex(); - virtual ~Complex(); + inline SheetReference() : SheetReference(nullptr) {} + ~SheetReference() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SheetReference* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SheetReference)); + } +#endif - Complex(const Complex& from); + template + explicit PROTOBUF_CONSTEXPR SheetReference( + ::google::protobuf::internal::ConstantInitialized); - inline Complex& operator=(const Complex& from) { + inline SheetReference(const SheetReference& from) : SheetReference(nullptr, from) {} + inline SheetReference(SheetReference&& from) noexcept + : SheetReference(nullptr, std::move(from)) {} + inline SheetReference& operator=(const SheetReference& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - Complex(Complex&& from) noexcept - : Complex() { - *this = ::std::move(from); - } - - inline Complex& operator=(Complex&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline SheetReference& operator=(SheetReference&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const Complex& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const Complex* internal_default_instance() { - return reinterpret_cast( - &_Complex_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 0; - void Swap(Complex* other); - friend void swap(Complex& a, Complex& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SheetReference& default_instance() { + return *internal_default_instance(); + } + static inline const SheetReference* internal_default_instance() { + return reinterpret_cast( + &_SheetReference_default_instance_); + } + static constexpr int kIndexInFileMessages = 3; + friend void swap(SheetReference& a, SheetReference& b) { a.Swap(&b); } + inline void Swap(SheetReference* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SheetReference* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline Complex* New() const PROTOBUF_FINAL { return New(NULL); } + SheetReference* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SheetReference& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SheetReference& from) { SheetReference::MergeImpl(*this, from); } - Complex* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const Complex& from); - void MergeFrom(const Complex& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(Complex* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SheetReference* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.SheetReference"; } + + protected: + explicit SheetReference(::google::protobuf::Arena* arena); + SheetReference(::google::protobuf::Arena* arena, const SheetReference& from); + SheetReference(::google::protobuf::Arena* arena, SheetReference&& from) noexcept + : SheetReference(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kStartRowFieldNumber = 1, + kStartColumnFieldNumber = 2, + kEndRowFieldNumber = 3, + kEndColumnFieldNumber = 4, + kSheetIdFieldNumber = 5, + }; + // uint32 start_row = 1; + void clear_start_row() ; + ::uint32_t start_row() const; + void set_start_row(::uint32_t value); - // double r = 1; - void clear_r(); - static const int kRFieldNumber = 1; - double r() const; - void set_r(double value); + private: + ::uint32_t _internal_start_row() const; + void _internal_set_start_row(::uint32_t value); - // double i = 2; - void clear_i(); - static const int kIFieldNumber = 2; - double i() const; - void set_i(double value); + public: + // uint32 start_column = 2; + void clear_start_column() ; + ::uint32_t start_column() const; + void set_start_column(::uint32_t value); - // @@protoc_insertion_point(class_scope:BERTBuffers.Complex) - private: + private: + ::uint32_t _internal_start_column() const; + void _internal_set_start_column(::uint32_t value); + + public: + // uint32 end_row = 3; + void clear_end_row() ; + ::uint32_t end_row() const; + void set_end_row(::uint32_t value); + + private: + ::uint32_t _internal_end_row() const; + void _internal_set_end_row(::uint32_t value); + + public: + // uint32 end_column = 4; + void clear_end_column() ; + ::uint32_t end_column() const; + void set_end_column(::uint32_t value); + + private: + ::uint32_t _internal_end_column() const; + void _internal_set_end_column(::uint32_t value); - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - double r_; - double i_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsComplexImpl(); + public: + // uint64 sheet_id = 5; + void clear_sheet_id() ; + ::uint64_t sheet_id() const; + void set_sheet_id(::uint64_t value); + + private: + ::uint64_t _internal_sheet_id() const; + void _internal_set_sheet_id(::uint64_t value); + + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.SheetReference) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 0, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const SheetReference& from_msg); + ::uint32_t start_row_; + ::uint32_t start_column_; + ::uint32_t end_row_; + ::uint32_t end_column_; + ::uint64_t sheet_id_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class Array : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.Array) */ { +class MIMEData final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.MIMEData) */ { public: - Array(); - virtual ~Array(); + inline MIMEData() : MIMEData(nullptr) {} + ~MIMEData() PROTOBUF_FINAL; - Array(const Array& from); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(MIMEData* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(MIMEData)); + } +#endif - inline Array& operator=(const Array& from) { + template + explicit PROTOBUF_CONSTEXPR MIMEData( + ::google::protobuf::internal::ConstantInitialized); + + inline MIMEData(const MIMEData& from) : MIMEData(nullptr, from) {} + inline MIMEData(MIMEData&& from) noexcept + : MIMEData(nullptr, std::move(from)) {} + inline MIMEData& operator=(const MIMEData& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - Array(Array&& from) noexcept - : Array() { - *this = ::std::move(from); - } - - inline Array& operator=(Array&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline MIMEData& operator=(MIMEData&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const Array& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const Array* internal_default_instance() { - return reinterpret_cast( - &_Array_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 1; - void Swap(Array* other); - friend void swap(Array& a, Array& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MIMEData& default_instance() { + return *internal_default_instance(); + } + static inline const MIMEData* internal_default_instance() { + return reinterpret_cast( + &_MIMEData_default_instance_); + } + static constexpr int kIndexInFileMessages = 11; + friend void swap(MIMEData& a, MIMEData& b) { a.Swap(&b); } + inline void Swap(MIMEData* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MIMEData* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline Array* New() const PROTOBUF_FINAL { return New(NULL); } + MIMEData* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MIMEData& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const MIMEData& from) { MIMEData::MergeImpl(*this, from); } - Array* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const Array& from); - void MergeFrom(const Array& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(Array* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(MIMEData* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.MIMEData"; } + + protected: + explicit MIMEData(::google::protobuf::Arena* arena); + MIMEData(::google::protobuf::Arena* arena, const MIMEData& from); + MIMEData(::google::protobuf::Arena* arena, MIMEData&& from) noexcept + : MIMEData(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kMimeTypeFieldNumber = 1, + kDataFieldNumber = 2, + }; + // string mime_type = 1; + void clear_mime_type() ; + const std::string& mime_type() const; + template + void set_mime_type(Arg_&& arg, Args_... args); + std::string* mutable_mime_type(); + PROTOBUF_NODISCARD std::string* release_mime_type(); + void set_allocated_mime_type(std::string* value); - // repeated .BERTBuffers.Variable data = 3; - int data_size() const; - void clear_data(); - static const int kDataFieldNumber = 3; - const ::BERTBuffers::Variable& data(int index) const; - ::BERTBuffers::Variable* mutable_data(int index); - ::BERTBuffers::Variable* add_data(); - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable >* - mutable_data(); - const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable >& - data() const; - - // repeated string rownames = 4; - int rownames_size() const; - void clear_rownames(); - static const int kRownamesFieldNumber = 4; - const ::std::string& rownames(int index) const; - ::std::string* mutable_rownames(int index); - void set_rownames(int index, const ::std::string& value); - #if LANG_CXX11 - void set_rownames(int index, ::std::string&& value); - #endif - void set_rownames(int index, const char* value); - void set_rownames(int index, const char* value, size_t size); - ::std::string* add_rownames(); - void add_rownames(const ::std::string& value); - #if LANG_CXX11 - void add_rownames(::std::string&& value); - #endif - void add_rownames(const char* value); - void add_rownames(const char* value, size_t size); - const ::google::protobuf::RepeatedPtrField< ::std::string>& rownames() const; - ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_rownames(); - - // repeated string colnames = 5; - int colnames_size() const; - void clear_colnames(); - static const int kColnamesFieldNumber = 5; - const ::std::string& colnames(int index) const; - ::std::string* mutable_colnames(int index); - void set_colnames(int index, const ::std::string& value); - #if LANG_CXX11 - void set_colnames(int index, ::std::string&& value); - #endif - void set_colnames(int index, const char* value); - void set_colnames(int index, const char* value, size_t size); - ::std::string* add_colnames(); - void add_colnames(const ::std::string& value); - #if LANG_CXX11 - void add_colnames(::std::string&& value); - #endif - void add_colnames(const char* value); - void add_colnames(const char* value, size_t size); - const ::google::protobuf::RepeatedPtrField< ::std::string>& colnames() const; - ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_colnames(); + private: + const std::string& _internal_mime_type() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_mime_type( + const std::string& value); + std::string* _internal_mutable_mime_type(); - // int32 rows = 1; - void clear_rows(); - static const int kRowsFieldNumber = 1; - ::google::protobuf::int32 rows() const; - void set_rows(::google::protobuf::int32 value); + public: + // bytes data = 2; + void clear_data() ; + const std::string& data() const; + template + void set_data(Arg_&& arg, Args_... args); + std::string* mutable_data(); + PROTOBUF_NODISCARD std::string* release_data(); + void set_allocated_data(std::string* value); - // int32 cols = 2; - void clear_cols(); - static const int kColsFieldNumber = 2; - ::google::protobuf::int32 cols() const; - void set_cols(::google::protobuf::int32 value); + private: + const std::string& _internal_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_data( + const std::string& value); + std::string* _internal_mutable_data(); - // @@protoc_insertion_point(class_scope:BERTBuffers.Array) + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.MIMEData) private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable > data_; - ::google::protobuf::RepeatedPtrField< ::std::string> rownames_; - ::google::protobuf::RepeatedPtrField< ::std::string> colnames_; - ::google::protobuf::int32 rows_; - ::google::protobuf::int32 cols_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsArrayImpl(); + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 38, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const MIMEData& from_msg); + ::google::protobuf::internal::ArenaStringPtr mime_type_; + ::google::protobuf::internal::ArenaStringPtr data_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class Error : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.Error) */ { +class GraphicsUpdate final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.GraphicsUpdate) */ { public: - Error(); - virtual ~Error(); + inline GraphicsUpdate() : GraphicsUpdate(nullptr) {} + ~GraphicsUpdate() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(GraphicsUpdate* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(GraphicsUpdate)); + } +#endif - Error(const Error& from); + template + explicit PROTOBUF_CONSTEXPR GraphicsUpdate( + ::google::protobuf::internal::ConstantInitialized); - inline Error& operator=(const Error& from) { + inline GraphicsUpdate(const GraphicsUpdate& from) : GraphicsUpdate(nullptr, from) {} + inline GraphicsUpdate(GraphicsUpdate&& from) noexcept + : GraphicsUpdate(nullptr, std::move(from)) {} + inline GraphicsUpdate& operator=(const GraphicsUpdate& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - Error(Error&& from) noexcept - : Error() { - *this = ::std::move(from); - } - - inline Error& operator=(Error&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline GraphicsUpdate& operator=(GraphicsUpdate&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const Error& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const Error* internal_default_instance() { - return reinterpret_cast( - &_Error_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 2; - void Swap(Error* other); - friend void swap(Error& a, Error& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GraphicsUpdate& default_instance() { + return *internal_default_instance(); + } + static inline const GraphicsUpdate* internal_default_instance() { + return reinterpret_cast( + &_GraphicsUpdate_default_instance_); + } + static constexpr int kIndexInFileMessages = 7; + friend void swap(GraphicsUpdate& a, GraphicsUpdate& b) { a.Swap(&b); } + inline void Swap(GraphicsUpdate* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GraphicsUpdate* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline Error* New() const PROTOBUF_FINAL { return New(NULL); } + GraphicsUpdate* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const GraphicsUpdate& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const GraphicsUpdate& from) { GraphicsUpdate::MergeImpl(*this, from); } - Error* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const Error& from); - void MergeFrom(const Error& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(Error* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(GraphicsUpdate* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.GraphicsUpdate"; } + + protected: + explicit GraphicsUpdate(::google::protobuf::Arena* arena); + GraphicsUpdate(::google::protobuf::Arena* arena, const GraphicsUpdate& from); + GraphicsUpdate(::google::protobuf::Arena* arena, GraphicsUpdate&& from) noexcept + : GraphicsUpdate(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 2, + kPathFieldNumber = 3, + kCommandFieldNumber = 1, + kWidthFieldNumber = 4, + kHeightFieldNumber = 5, + }; + // string name = 2; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // string message = 2; - void clear_message(); - static const int kMessageFieldNumber = 2; - const ::std::string& message() const; - void set_message(const ::std::string& value); - #if LANG_CXX11 - void set_message(::std::string&& value); - #endif - void set_message(const char* value); - void set_message(const char* value, size_t size); - ::std::string* mutable_message(); - ::std::string* release_message(); - void set_allocated_message(::std::string* message); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); - // .BERTBuffers.ErrorType type = 1; - void clear_type(); - static const int kTypeFieldNumber = 1; - ::BERTBuffers::ErrorType type() const; - void set_type(::BERTBuffers::ErrorType value); + public: + // string path = 3; + void clear_path() ; + const std::string& path() const; + template + void set_path(Arg_&& arg, Args_... args); + std::string* mutable_path(); + PROTOBUF_NODISCARD std::string* release_path(); + void set_allocated_path(std::string* value); - // @@protoc_insertion_point(class_scope:BERTBuffers.Error) - private: + private: + const std::string& _internal_path() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_path( + const std::string& value); + std::string* _internal_mutable_path(); + + public: + // .BERTBuffers.GraphicsUpdateCommand command = 1; + void clear_command() ; + ::BERTBuffers::GraphicsUpdateCommand command() const; + void set_command(::BERTBuffers::GraphicsUpdateCommand value); + + private: + ::BERTBuffers::GraphicsUpdateCommand _internal_command() const; + void _internal_set_command(::BERTBuffers::GraphicsUpdateCommand value); + + public: + // uint32 width = 4; + void clear_width() ; + ::uint32_t width() const; + void set_width(::uint32_t value); + + private: + ::uint32_t _internal_width() const; + void _internal_set_width(::uint32_t value); + + public: + // uint32 height = 5; + void clear_height() ; + ::uint32_t height() const; + void set_height(::uint32_t value); + + private: + ::uint32_t _internal_height() const; + void _internal_set_height(::uint32_t value); - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::ArenaStringPtr message_; - int type_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsErrorImpl(); + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.GraphicsUpdate) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 0, + 43, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const GraphicsUpdate& from_msg); + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr path_; + int command_; + ::uint32_t width_; + ::uint32_t height_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class SheetReference : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.SheetReference) */ { +class Error final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.Error) */ { public: - SheetReference(); - virtual ~SheetReference(); + inline Error() : Error(nullptr) {} + ~Error() PROTOBUF_FINAL; - SheetReference(const SheetReference& from); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Error* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Error)); + } +#endif - inline SheetReference& operator=(const SheetReference& from) { + template + explicit PROTOBUF_CONSTEXPR Error( + ::google::protobuf::internal::ConstantInitialized); + + inline Error(const Error& from) : Error(nullptr, from) {} + inline Error(Error&& from) noexcept + : Error(nullptr, std::move(from)) {} + inline Error& operator=(const Error& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - SheetReference(SheetReference&& from) noexcept - : SheetReference() { - *this = ::std::move(from); - } - - inline SheetReference& operator=(SheetReference&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline Error& operator=(Error&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const SheetReference& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const SheetReference* internal_default_instance() { - return reinterpret_cast( - &_SheetReference_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 3; - - void Swap(SheetReference* other); - friend void swap(SheetReference& a, SheetReference& b) { - a.Swap(&b); + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - // implements Message ---------------------------------------------- - - inline SheetReference* New() const PROTOBUF_FINAL { return New(NULL); } - - SheetReference* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const SheetReference& from); - void MergeFrom(const SheetReference& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(SheetReference* other); - private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); } - inline void* MaybeArenaPtr() const { - return NULL; + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Error& default_instance() { + return *internal_default_instance(); + } + static inline const Error* internal_default_instance() { + return reinterpret_cast( + &_Error_default_instance_); + } + static constexpr int kIndexInFileMessages = 2; + friend void swap(Error& a, Error& b) { a.Swap(&b); } + inline void Swap(Error* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Error* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Error* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Error& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Error& from) { Error::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Error* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.Error"; } + + protected: + explicit Error(::google::protobuf::Arena* arena); + Error(::google::protobuf::Arena* arena, const Error& from); + Error(::google::protobuf::Arena* arena, Error&& from) noexcept + : Error(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kMessageFieldNumber = 2, + kTypeFieldNumber = 1, + }; + // string message = 2; + void clear_message() ; + const std::string& message() const; + template + void set_message(Arg_&& arg, Args_... args); + std::string* mutable_message(); + PROTOBUF_NODISCARD std::string* release_message(); + void set_allocated_message(std::string* value); - // uint32 start_row = 1; - void clear_start_row(); - static const int kStartRowFieldNumber = 1; - ::google::protobuf::uint32 start_row() const; - void set_start_row(::google::protobuf::uint32 value); - - // uint32 start_column = 2; - void clear_start_column(); - static const int kStartColumnFieldNumber = 2; - ::google::protobuf::uint32 start_column() const; - void set_start_column(::google::protobuf::uint32 value); - - // uint32 end_row = 3; - void clear_end_row(); - static const int kEndRowFieldNumber = 3; - ::google::protobuf::uint32 end_row() const; - void set_end_row(::google::protobuf::uint32 value); + private: + const std::string& _internal_message() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_message( + const std::string& value); + std::string* _internal_mutable_message(); - // uint32 end_column = 4; - void clear_end_column(); - static const int kEndColumnFieldNumber = 4; - ::google::protobuf::uint32 end_column() const; - void set_end_column(::google::protobuf::uint32 value); + public: + // .BERTBuffers.ErrorType type = 1; + void clear_type() ; + ::BERTBuffers::ErrorType type() const; + void set_type(::BERTBuffers::ErrorType value); - // uint64 sheet_id = 5; - void clear_sheet_id(); - static const int kSheetIdFieldNumber = 5; - ::google::protobuf::uint64 sheet_id() const; - void set_sheet_id(::google::protobuf::uint64 value); + private: + ::BERTBuffers::ErrorType _internal_type() const; + void _internal_set_type(::BERTBuffers::ErrorType value); - // @@protoc_insertion_point(class_scope:BERTBuffers.SheetReference) + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.Error) private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::uint32 start_row_; - ::google::protobuf::uint32 start_column_; - ::google::protobuf::uint32 end_row_; - ::google::protobuf::uint32 end_column_; - ::google::protobuf::uint64 sheet_id_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsSheetReferenceImpl(); + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 33, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const Error& from_msg); + ::google::protobuf::internal::ArenaStringPtr message_; + int type_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class Variable : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.Variable) */ { +class EnumValue final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.EnumValue) */ { public: - Variable(); - virtual ~Variable(); + inline EnumValue() : EnumValue(nullptr) {} + ~EnumValue() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(EnumValue* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumValue)); + } +#endif - Variable(const Variable& from); + template + explicit PROTOBUF_CONSTEXPR EnumValue( + ::google::protobuf::internal::ConstantInitialized); - inline Variable& operator=(const Variable& from) { + inline EnumValue(const EnumValue& from) : EnumValue(nullptr, from) {} + inline EnumValue(EnumValue&& from) noexcept + : EnumValue(nullptr, std::move(from)) {} + inline EnumValue& operator=(const EnumValue& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - Variable(Variable&& from) noexcept - : Variable() { + inline EnumValue& operator=(EnumValue&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const EnumValue& default_instance() { + return *internal_default_instance(); + } + static inline const EnumValue* internal_default_instance() { + return reinterpret_cast( + &_EnumValue_default_instance_); + } + static constexpr int kIndexInFileMessages = 16; + friend void swap(EnumValue& a, EnumValue& b) { a.Swap(&b); } + inline void Swap(EnumValue* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(EnumValue* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + EnumValue* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const EnumValue& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const EnumValue& from) { EnumValue::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(EnumValue* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.EnumValue"; } + + protected: + explicit EnumValue(::google::protobuf::Arena* arena); + EnumValue(::google::protobuf::Arena* arena, const EnumValue& from); + EnumValue(::google::protobuf::Arena* arena, EnumValue&& from) noexcept + : EnumValue(arena) { *this = ::std::move(from); } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; - inline Variable& operator=(Variable&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 1, + kValueFieldNumber = 2, + }; + // string name = 1; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // int32 value = 2; + void clear_value() ; + ::int32_t value() const; + void set_value(::int32_t value); + + private: + ::int32_t _internal_value() const; + void _internal_set_value(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.EnumValue) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 34, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const EnumValue& from_msg); + ::google::protobuf::internal::ArenaStringPtr name_; + ::int32_t value_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; +}; +// ------------------------------------------------------------------- + +class Complex final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.Complex) */ { + public: + inline Complex() : Complex(nullptr) {} + ~Complex() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Complex* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Complex)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Complex( + ::google::protobuf::internal::ConstantInitialized); + + inline Complex(const Complex& from) : Complex(nullptr, from) {} + inline Complex(Complex&& from) noexcept + : Complex(nullptr, std::move(from)) {} + inline Complex& operator=(const Complex& from) { + CopyFrom(from); + return *this; + } + inline Complex& operator=(Complex&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const Variable& default_instance(); - enum ValueCase { - kNil = 1, - kMissing = 2, - kErr = 3, - kInteger = 5, - kReal = 6, - kStr = 7, - kBoolean = 8, - kCpx = 9, - kArr = 10, - kRef = 11, - kComPointer = 12, - kGraphics = 13, - kCacheReference = 14, - VALUE_NOT_SET = 0, - }; - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const Variable* internal_default_instance() { - return reinterpret_cast( - &_Variable_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 4; - void Swap(Variable* other); - friend void swap(Variable& a, Variable& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Complex& default_instance() { + return *internal_default_instance(); + } + static inline const Complex* internal_default_instance() { + return reinterpret_cast( + &_Complex_default_instance_); + } + static constexpr int kIndexInFileMessages = 0; + friend void swap(Complex& a, Complex& b) { a.Swap(&b); } + inline void Swap(Complex* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Complex* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline Variable* New() const PROTOBUF_FINAL { return New(NULL); } + Complex* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Complex& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Complex& from) { Complex::MergeImpl(*this, from); } - Variable* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const Variable& from); - void MergeFrom(const Variable& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(Variable* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Complex* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.Complex"; } + + protected: + explicit Complex(::google::protobuf::Arena* arena); + Complex(::google::protobuf::Arena* arena, const Complex& from); + Complex(::google::protobuf::Arena* arena, Complex&& from) noexcept + : Complex(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kRFieldNumber = 1, + kIFieldNumber = 2, + }; + // double r = 1; + void clear_r() ; + double r() const; + void set_r(double value); - // string name = 15; - void clear_name(); - static const int kNameFieldNumber = 15; - const ::std::string& name() const; - void set_name(const ::std::string& value); - #if LANG_CXX11 - void set_name(::std::string&& value); - #endif - void set_name(const char* value); - void set_name(const char* value, size_t size); - ::std::string* mutable_name(); - ::std::string* release_name(); - void set_allocated_name(::std::string* name); + private: + double _internal_r() const; + void _internal_set_r(double value); + + public: + // double i = 2; + void clear_i() ; + double i() const; + void set_i(double value); - // bool nil = 1; private: - bool has_nil() const; + double _internal_i() const; + void _internal_set_i(double value); + public: - void clear_nil(); - static const int kNilFieldNumber = 1; - bool nil() const; - void set_nil(bool value); + // @@protoc_insertion_point(class_scope:BERTBuffers.Complex) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const Complex& from_msg); + double r_; + double i_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; +}; +// ------------------------------------------------------------------- + +class Color final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.Color) */ { + public: + inline Color() : Color(nullptr) {} + ~Color() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Color* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Color)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Color( + ::google::protobuf::internal::ConstantInitialized); + + inline Color(const Color& from) : Color(nullptr, from) {} + inline Color(Color&& from) noexcept + : Color(nullptr, std::move(from)) {} + inline Color& operator=(const Color& from) { + CopyFrom(from); + return *this; + } + inline Color& operator=(Color&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Color& default_instance() { + return *internal_default_instance(); + } + static inline const Color* internal_default_instance() { + return reinterpret_cast( + &_Color_default_instance_); + } + static constexpr int kIndexInFileMessages = 9; + friend void swap(Color& a, Color& b) { a.Swap(&b); } + inline void Swap(Color* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Color* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Color* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Color& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Color& from) { Color::MergeImpl(*this, from); } - // bool missing = 2; private: - bool has_missing() const; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + public: - void clear_missing(); - static const int kMissingFieldNumber = 2; - bool missing() const; - void set_missing(bool value); + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); - // .BERTBuffers.Error err = 3; - bool has_err() const; - void clear_err(); - static const int kErrFieldNumber = 3; - const ::BERTBuffers::Error& err() const; - ::BERTBuffers::Error* release_err(); - ::BERTBuffers::Error* mutable_err(); - void set_allocated_err(::BERTBuffers::Error* err); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // int32 integer = 5; private: - bool has_integer() const; + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Color* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.Color"; } + + protected: + explicit Color(::google::protobuf::Arena* arena); + Color(::google::protobuf::Arena* arena, const Color& from); + Color(::google::protobuf::Arena* arena, Color&& from) noexcept + : Color(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kAFieldNumber = 1, + kRFieldNumber = 2, + kGFieldNumber = 3, + kBFieldNumber = 4, + }; + // uint32 a = 1; + void clear_a() ; + ::uint32_t a() const; + void set_a(::uint32_t value); + + private: + ::uint32_t _internal_a() const; + void _internal_set_a(::uint32_t value); + public: - void clear_integer(); - static const int kIntegerFieldNumber = 5; - ::google::protobuf::int32 integer() const; - void set_integer(::google::protobuf::int32 value); + // uint32 r = 2; + void clear_r() ; + ::uint32_t r() const; + void set_r(::uint32_t value); - // double real = 6; private: - bool has_real() const; + ::uint32_t _internal_r() const; + void _internal_set_r(::uint32_t value); + public: - void clear_real(); - static const int kRealFieldNumber = 6; - double real() const; - void set_real(double value); + // uint32 g = 3; + void clear_g() ; + ::uint32_t g() const; + void set_g(::uint32_t value); - // string str = 7; private: - bool has_str() const; + ::uint32_t _internal_g() const; + void _internal_set_g(::uint32_t value); + public: - void clear_str(); - static const int kStrFieldNumber = 7; - const ::std::string& str() const; - void set_str(const ::std::string& value); - #if LANG_CXX11 - void set_str(::std::string&& value); - #endif - void set_str(const char* value); - void set_str(const char* value, size_t size); - ::std::string* mutable_str(); - ::std::string* release_str(); - void set_allocated_str(::std::string* str); + // uint32 b = 4; + void clear_b() ; + ::uint32_t b() const; + void set_b(::uint32_t value); - // bool boolean = 8; private: - bool has_boolean() const; + ::uint32_t _internal_b() const; + void _internal_set_b(::uint32_t value); + public: - void clear_boolean(); - static const int kBooleanFieldNumber = 8; - bool boolean() const; - void set_boolean(bool value); + // @@protoc_insertion_point(class_scope:BERTBuffers.Color) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 0, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const Color& from_msg); + ::uint32_t a_; + ::uint32_t r_; + ::uint32_t g_; + ::uint32_t b_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; +}; +// ------------------------------------------------------------------- - // .BERTBuffers.Complex cpx = 9; - bool has_cpx() const; - void clear_cpx(); - static const int kCpxFieldNumber = 9; - const ::BERTBuffers::Complex& cpx() const; - ::BERTBuffers::Complex* release_cpx(); - ::BERTBuffers::Complex* mutable_cpx(); - void set_allocated_cpx(::BERTBuffers::Complex* cpx); +class Code final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.Code) */ { + public: + inline Code() : Code(nullptr) {} + ~Code() PROTOBUF_FINAL; - // .BERTBuffers.Array arr = 10; - bool has_arr() const; - void clear_arr(); - static const int kArrFieldNumber = 10; - const ::BERTBuffers::Array& arr() const; - ::BERTBuffers::Array* release_arr(); - ::BERTBuffers::Array* mutable_arr(); - void set_allocated_arr(::BERTBuffers::Array* arr); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Code* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Code)); + } +#endif - // .BERTBuffers.SheetReference ref = 11; - bool has_ref() const; - void clear_ref(); - static const int kRefFieldNumber = 11; - const ::BERTBuffers::SheetReference& ref() const; - ::BERTBuffers::SheetReference* release_ref(); - ::BERTBuffers::SheetReference* mutable_ref(); - void set_allocated_ref(::BERTBuffers::SheetReference* ref); + template + explicit PROTOBUF_CONSTEXPR Code( + ::google::protobuf::internal::ConstantInitialized); - // .BERTBuffers.ExternalPointer com_pointer = 12; - bool has_com_pointer() const; - void clear_com_pointer(); - static const int kComPointerFieldNumber = 12; - const ::BERTBuffers::ExternalPointer& com_pointer() const; - ::BERTBuffers::ExternalPointer* release_com_pointer(); - ::BERTBuffers::ExternalPointer* mutable_com_pointer(); - void set_allocated_com_pointer(::BERTBuffers::ExternalPointer* com_pointer); + inline Code(const Code& from) : Code(nullptr, from) {} + inline Code(Code&& from) noexcept + : Code(nullptr, std::move(from)) {} + inline Code& operator=(const Code& from) { + CopyFrom(from); + return *this; + } + inline Code& operator=(Code&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .BERTBuffers.GraphicsUpdate graphics = 13; - bool has_graphics() const; - void clear_graphics(); - static const int kGraphicsFieldNumber = 13; - const ::BERTBuffers::GraphicsUpdate& graphics() const; - ::BERTBuffers::GraphicsUpdate* release_graphics(); - ::BERTBuffers::GraphicsUpdate* mutable_graphics(); - void set_allocated_graphics(::BERTBuffers::GraphicsUpdate* graphics); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Code& default_instance() { + return *internal_default_instance(); + } + static inline const Code* internal_default_instance() { + return reinterpret_cast( + &_Code_default_instance_); + } + static constexpr int kIndexInFileMessages = 5; + friend void swap(Code& a, Code& b) { a.Swap(&b); } + inline void Swap(Code* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Code* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Code* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Code& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Code& from) { Code::MergeImpl(*this, from); } - // uint32 cache_reference = 14; private: - bool has_cache_reference() const; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: - void clear_cache_reference(); - static const int kCacheReferenceFieldNumber = 14; - ::google::protobuf::uint32 cache_reference() const; - void set_cache_reference(::google::protobuf::uint32 value); + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ValueCase value_case() const; - // @@protoc_insertion_point(class_scope:BERTBuffers.Variable) + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Code* other); private: - void set_has_nil(); - void set_has_missing(); - void set_has_err(); - void set_has_integer(); - void set_has_real(); - void set_has_str(); - void set_has_boolean(); - void set_has_cpx(); - void set_has_arr(); - void set_has_ref(); - void set_has_com_pointer(); - void set_has_graphics(); - void set_has_cache_reference(); + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.Code"; } + + protected: + explicit Code(::google::protobuf::Arena* arena); + Code(::google::protobuf::Arena* arena, const Code& from); + Code(::google::protobuf::Arena* arena, Code&& from) noexcept + : Code(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; - inline bool has_value() const; - void clear_value(); - inline void clear_has_value(); + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::ArenaStringPtr name_; - union ValueUnion { - ValueUnion() {} - bool nil_; - bool missing_; - ::BERTBuffers::Error* err_; - ::google::protobuf::int32 integer_; - double real_; - ::google::protobuf::internal::ArenaStringPtr str_; - bool boolean_; - ::BERTBuffers::Complex* cpx_; - ::BERTBuffers::Array* arr_; - ::BERTBuffers::SheetReference* ref_; - ::BERTBuffers::ExternalPointer* com_pointer_; - ::BERTBuffers::GraphicsUpdate* graphics_; - ::google::protobuf::uint32 cache_reference_; - } value_; - mutable int _cached_size_; - ::google::protobuf::uint32 _oneof_case_[1]; - - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsArrayImpl(); + // accessors ------------------------------------------------------- + enum : int { + kLineFieldNumber = 1, + kStartupFieldNumber = 2, + }; + // repeated string line = 1; + int line_size() const; + private: + int _internal_line_size() const; + + public: + void clear_line() ; + const std::string& line(int index) const; + std::string* mutable_line(int index); + template + void set_line(int index, Arg_&& value, Args_... args); + std::string* add_line(); + template + void add_line(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField& line() const; + ::google::protobuf::RepeatedPtrField* mutable_line(); + + private: + const ::google::protobuf::RepeatedPtrField& _internal_line() const; + ::google::protobuf::RepeatedPtrField* _internal_mutable_line(); + + public: + // bool startup = 2; + void clear_startup() ; + bool startup() const; + void set_startup(bool value); + + private: + bool _internal_startup() const; + void _internal_set_startup(bool value); + + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.Code) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 29, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const Code& from_msg); + ::google::protobuf::RepeatedPtrField line_; + bool startup_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class Code : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.Code) */ { +class GraphicsContext final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.GraphicsContext) */ { public: - Code(); - virtual ~Code(); + inline GraphicsContext() : GraphicsContext(nullptr) {} + ~GraphicsContext() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(GraphicsContext* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(GraphicsContext)); + } +#endif - Code(const Code& from); + template + explicit PROTOBUF_CONSTEXPR GraphicsContext( + ::google::protobuf::internal::ConstantInitialized); - inline Code& operator=(const Code& from) { + inline GraphicsContext(const GraphicsContext& from) : GraphicsContext(nullptr, from) {} + inline GraphicsContext(GraphicsContext&& from) noexcept + : GraphicsContext(nullptr, std::move(from)) {} + inline GraphicsContext& operator=(const GraphicsContext& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - Code(Code&& from) noexcept - : Code() { - *this = ::std::move(from); + inline GraphicsContext& operator=(GraphicsContext&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GraphicsContext& default_instance() { + return *internal_default_instance(); } - - inline Code& operator=(Code&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + static inline const GraphicsContext* internal_default_instance() { + return reinterpret_cast( + &_GraphicsContext_default_instance_); + } + static constexpr int kIndexInFileMessages = 10; + friend void swap(GraphicsContext& a, GraphicsContext& b) { a.Swap(&b); } + inline void Swap(GraphicsContext* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); } else { - CopyFrom(from); + ::google::protobuf::internal::GenericSwap(this, other); } - return *this; - } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const Code& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const Code* internal_default_instance() { - return reinterpret_cast( - &_Code_default_instance_); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 5; - - void Swap(Code* other); - friend void swap(Code& a, Code& b) { - a.Swap(&b); + void UnsafeArenaSwap(GraphicsContext* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline Code* New() const PROTOBUF_FINAL { return New(NULL); } + GraphicsContext* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const GraphicsContext& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const GraphicsContext& from) { GraphicsContext::MergeImpl(*this, from); } - Code* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const Code& from); - void MergeFrom(const Code& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(Code* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(GraphicsContext* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.GraphicsContext"; } + + protected: + explicit GraphicsContext(::google::protobuf::Arena* arena); + GraphicsContext(::google::protobuf::Arena* arena, const GraphicsContext& from); + GraphicsContext(::google::protobuf::Arena* arena, GraphicsContext&& from) noexcept + : GraphicsContext(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kFontfamilyFieldNumber = 13, + kColFieldNumber = 1, + kFillFieldNumber = 2, + kGammaFieldNumber = 3, + kLwdFieldNumber = 4, + kLtyFieldNumber = 5, + kLendFieldNumber = 6, + kLmitreFieldNumber = 8, + kCexFieldNumber = 9, + kLjoinFieldNumber = 7, + kFontfaceFieldNumber = 12, + kPsFieldNumber = 10, + kLineheightFieldNumber = 11, + }; + // string fontfamily = 13; + void clear_fontfamily() ; + const std::string& fontfamily() const; + template + void set_fontfamily(Arg_&& arg, Args_... args); + std::string* mutable_fontfamily(); + PROTOBUF_NODISCARD std::string* release_fontfamily(); + void set_allocated_fontfamily(std::string* value); - // repeated string line = 1; - int line_size() const; - void clear_line(); - static const int kLineFieldNumber = 1; - const ::std::string& line(int index) const; - ::std::string* mutable_line(int index); - void set_line(int index, const ::std::string& value); - #if LANG_CXX11 - void set_line(int index, ::std::string&& value); - #endif - void set_line(int index, const char* value); - void set_line(int index, const char* value, size_t size); - ::std::string* add_line(); - void add_line(const ::std::string& value); - #if LANG_CXX11 - void add_line(::std::string&& value); - #endif - void add_line(const char* value); - void add_line(const char* value, size_t size); - const ::google::protobuf::RepeatedPtrField< ::std::string>& line() const; - ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_line(); + private: + const std::string& _internal_fontfamily() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fontfamily( + const std::string& value); + std::string* _internal_mutable_fontfamily(); - // bool startup = 2; - void clear_startup(); - static const int kStartupFieldNumber = 2; - bool startup() const; - void set_startup(bool value); + public: + // .BERTBuffers.Color col = 1; + bool has_col() const; + void clear_col() ; + const ::BERTBuffers::Color& col() const; + PROTOBUF_NODISCARD ::BERTBuffers::Color* release_col(); + ::BERTBuffers::Color* mutable_col(); + void set_allocated_col(::BERTBuffers::Color* value); + void unsafe_arena_set_allocated_col(::BERTBuffers::Color* value); + ::BERTBuffers::Color* unsafe_arena_release_col(); - // @@protoc_insertion_point(class_scope:BERTBuffers.Code) - private: + private: + const ::BERTBuffers::Color& _internal_col() const; + ::BERTBuffers::Color* _internal_mutable_col(); - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::RepeatedPtrField< ::std::string> line_; - bool startup_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsCodeImpl(); -}; -// ------------------------------------------------------------------- + public: + // .BERTBuffers.Color fill = 2; + bool has_fill() const; + void clear_fill() ; + const ::BERTBuffers::Color& fill() const; + PROTOBUF_NODISCARD ::BERTBuffers::Color* release_fill(); + ::BERTBuffers::Color* mutable_fill(); + void set_allocated_fill(::BERTBuffers::Color* value); + void unsafe_arena_set_allocated_fill(::BERTBuffers::Color* value); + ::BERTBuffers::Color* unsafe_arena_release_fill(); -class CompositeFunctionCall : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.CompositeFunctionCall) */ { - public: - CompositeFunctionCall(); - virtual ~CompositeFunctionCall(); + private: + const ::BERTBuffers::Color& _internal_fill() const; + ::BERTBuffers::Color* _internal_mutable_fill(); - CompositeFunctionCall(const CompositeFunctionCall& from); + public: + // double gamma = 3; + void clear_gamma() ; + double gamma() const; + void set_gamma(double value); - inline CompositeFunctionCall& operator=(const CompositeFunctionCall& from) { - CopyFrom(from); - return *this; - } - #if LANG_CXX11 - CompositeFunctionCall(CompositeFunctionCall&& from) noexcept - : CompositeFunctionCall() { - *this = ::std::move(from); - } + private: + double _internal_gamma() const; + void _internal_set_gamma(double value); - inline CompositeFunctionCall& operator=(CompositeFunctionCall&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const CompositeFunctionCall& default_instance(); + public: + // double lwd = 4; + void clear_lwd() ; + double lwd() const; + void set_lwd(double value); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const CompositeFunctionCall* internal_default_instance() { - return reinterpret_cast( - &_CompositeFunctionCall_default_instance_); - } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 6; + private: + double _internal_lwd() const; + void _internal_set_lwd(double value); - void Swap(CompositeFunctionCall* other); - friend void swap(CompositeFunctionCall& a, CompositeFunctionCall& b) { - a.Swap(&b); - } + public: + // int32 lty = 5; + void clear_lty() ; + ::int32_t lty() const; + void set_lty(::int32_t value); - // implements Message ---------------------------------------------- + private: + ::int32_t _internal_lty() const; + void _internal_set_lty(::int32_t value); - inline CompositeFunctionCall* New() const PROTOBUF_FINAL { return New(NULL); } + public: + // int32 lend = 6; + void clear_lend() ; + ::int32_t lend() const; + void set_lend(::int32_t value); - CompositeFunctionCall* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const CompositeFunctionCall& from); - void MergeFrom(const CompositeFunctionCall& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(CompositeFunctionCall* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; - } + ::int32_t _internal_lend() const; + void _internal_set_lend(::int32_t value); + public: + // double lmitre = 8; + void clear_lmitre() ; + double lmitre() const; + void set_lmitre(double value); - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + double _internal_lmitre() const; + void _internal_set_lmitre(double value); - // nested types ---------------------------------------------------- + public: + // double cex = 9; + void clear_cex() ; + double cex() const; + void set_cex(double value); - // accessors ------------------------------------------------------- + private: + double _internal_cex() const; + void _internal_set_cex(double value); - // repeated .BERTBuffers.Variable arguments = 2; - int arguments_size() const; - void clear_arguments(); - static const int kArgumentsFieldNumber = 2; - const ::BERTBuffers::Variable& arguments(int index) const; - ::BERTBuffers::Variable* mutable_arguments(int index); - ::BERTBuffers::Variable* add_arguments(); - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable >* - mutable_arguments(); - const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable >& - arguments() const; + public: + // int32 ljoin = 7; + void clear_ljoin() ; + ::int32_t ljoin() const; + void set_ljoin(::int32_t value); - // string function = 1; - void clear_function(); - static const int kFunctionFieldNumber = 1; - const ::std::string& function() const; - void set_function(const ::std::string& value); - #if LANG_CXX11 - void set_function(::std::string&& value); - #endif - void set_function(const char* value); - void set_function(const char* value, size_t size); - ::std::string* mutable_function(); - ::std::string* release_function(); - void set_allocated_function(::std::string* function); + private: + ::int32_t _internal_ljoin() const; + void _internal_set_ljoin(::int32_t value); - // uint64 pointer = 3; - void clear_pointer(); - static const int kPointerFieldNumber = 3; - ::google::protobuf::uint64 pointer() const; - void set_pointer(::google::protobuf::uint64 value); + public: + // int32 fontface = 12; + void clear_fontface() ; + ::int32_t fontface() const; + void set_fontface(::int32_t value); - // uint32 index = 4; - void clear_index(); - static const int kIndexFieldNumber = 4; - ::google::protobuf::uint32 index() const; - void set_index(::google::protobuf::uint32 value); + private: + ::int32_t _internal_fontface() const; + void _internal_set_fontface(::int32_t value); - // .BERTBuffers.CallType type = 5; - void clear_type(); - static const int kTypeFieldNumber = 5; - ::BERTBuffers::CallType type() const; - void set_type(::BERTBuffers::CallType value); + public: + // double ps = 10; + void clear_ps() ; + double ps() const; + void set_ps(double value); - // .BERTBuffers.CallTarget target = 6; - void clear_target(); - static const int kTargetFieldNumber = 6; - ::BERTBuffers::CallTarget target() const; - void set_target(::BERTBuffers::CallTarget value); + private: + double _internal_ps() const; + void _internal_set_ps(double value); - // uint32 flags = 7; - void clear_flags(); - static const int kFlagsFieldNumber = 7; - ::google::protobuf::uint32 flags() const; - void set_flags(::google::protobuf::uint32 value); + public: + // double lineheight = 11; + void clear_lineheight() ; + double lineheight() const; + void set_lineheight(double value); - // @@protoc_insertion_point(class_scope:BERTBuffers.CompositeFunctionCall) - private: + private: + double _internal_lineheight() const; + void _internal_set_lineheight(double value); - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable > arguments_; - ::google::protobuf::internal::ArenaStringPtr function_; - ::google::protobuf::uint64 pointer_; - ::google::protobuf::uint32 index_; - int type_; - int target_; - ::google::protobuf::uint32 flags_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsCompositeFunctionCallImpl(); + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.GraphicsContext) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 13, 2, + 54, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const GraphicsContext& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr fontfamily_; + ::BERTBuffers::Color* col_; + ::BERTBuffers::Color* fill_; + double gamma_; + double lwd_; + ::int32_t lty_; + ::int32_t lend_; + double lmitre_; + double cex_; + ::int32_t ljoin_; + ::int32_t fontface_; + double ps_; + double lineheight_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class GraphicsUpdate : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.GraphicsUpdate) */ { +class EnumType final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.EnumType) */ { public: - GraphicsUpdate(); - virtual ~GraphicsUpdate(); + inline EnumType() : EnumType(nullptr) {} + ~EnumType() PROTOBUF_FINAL; - GraphicsUpdate(const GraphicsUpdate& from); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(EnumType* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumType)); + } +#endif - inline GraphicsUpdate& operator=(const GraphicsUpdate& from) { + template + explicit PROTOBUF_CONSTEXPR EnumType( + ::google::protobuf::internal::ConstantInitialized); + + inline EnumType(const EnumType& from) : EnumType(nullptr, from) {} + inline EnumType(EnumType&& from) noexcept + : EnumType(nullptr, std::move(from)) {} + inline EnumType& operator=(const EnumType& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - GraphicsUpdate(GraphicsUpdate&& from) noexcept - : GraphicsUpdate() { - *this = ::std::move(from); - } - - inline GraphicsUpdate& operator=(GraphicsUpdate&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline EnumType& operator=(EnumType&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const GraphicsUpdate& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const GraphicsUpdate* internal_default_instance() { - return reinterpret_cast( - &_GraphicsUpdate_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 7; - void Swap(GraphicsUpdate* other); - friend void swap(GraphicsUpdate& a, GraphicsUpdate& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const EnumType& default_instance() { + return *internal_default_instance(); + } + static inline const EnumType* internal_default_instance() { + return reinterpret_cast( + &_EnumType_default_instance_); + } + static constexpr int kIndexInFileMessages = 17; + friend void swap(EnumType& a, EnumType& b) { a.Swap(&b); } + inline void Swap(EnumType* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(EnumType* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline GraphicsUpdate* New() const PROTOBUF_FINAL { return New(NULL); } + EnumType* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const EnumType& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const EnumType& from) { EnumType::MergeImpl(*this, from); } - GraphicsUpdate* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const GraphicsUpdate& from); - void MergeFrom(const GraphicsUpdate& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(GraphicsUpdate* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(EnumType* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.EnumType"; } + + protected: + explicit EnumType(::google::protobuf::Arena* arena); + EnumType(::google::protobuf::Arena* arena, const EnumType& from); + EnumType(::google::protobuf::Arena* arena, EnumType&& from) noexcept + : EnumType(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kValuesFieldNumber = 2, + kNameFieldNumber = 1, + }; + // repeated .BERTBuffers.EnumValue values = 2; + int values_size() const; + private: + int _internal_values_size() const; - // string name = 2; - void clear_name(); - static const int kNameFieldNumber = 2; - const ::std::string& name() const; - void set_name(const ::std::string& value); - #if LANG_CXX11 - void set_name(::std::string&& value); - #endif - void set_name(const char* value); - void set_name(const char* value, size_t size); - ::std::string* mutable_name(); - ::std::string* release_name(); - void set_allocated_name(::std::string* name); - - // string path = 3; - void clear_path(); - static const int kPathFieldNumber = 3; - const ::std::string& path() const; - void set_path(const ::std::string& value); - #if LANG_CXX11 - void set_path(::std::string&& value); - #endif - void set_path(const char* value); - void set_path(const char* value, size_t size); - ::std::string* mutable_path(); - ::std::string* release_path(); - void set_allocated_path(::std::string* path); - - // .BERTBuffers.GraphicsUpdateCommand command = 1; - void clear_command(); - static const int kCommandFieldNumber = 1; - ::BERTBuffers::GraphicsUpdateCommand command() const; - void set_command(::BERTBuffers::GraphicsUpdateCommand value); + public: + void clear_values() ; + ::BERTBuffers::EnumValue* mutable_values(int index); + ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumValue>* mutable_values(); - // uint32 width = 4; - void clear_width(); - static const int kWidthFieldNumber = 4; - ::google::protobuf::uint32 width() const; - void set_width(::google::protobuf::uint32 value); + private: + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumValue>& _internal_values() const; + ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumValue>* _internal_mutable_values(); + public: + const ::BERTBuffers::EnumValue& values(int index) const; + ::BERTBuffers::EnumValue* add_values(); + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumValue>& values() const; + // string name = 1; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // uint32 height = 5; - void clear_height(); - static const int kHeightFieldNumber = 5; - ::google::protobuf::uint32 height() const; - void set_height(::google::protobuf::uint32 value); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); - // @@protoc_insertion_point(class_scope:BERTBuffers.GraphicsUpdate) + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.EnumType) private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::google::protobuf::internal::ArenaStringPtr path_; - int command_; - ::google::protobuf::uint32 width_; - ::google::protobuf::uint32 height_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsGraphicsUpdateImpl(); + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 33, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const EnumType& from_msg); + ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumValue > values_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class GraphicsCommand : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.GraphicsCommand) */ { +class GraphicsCommand final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.GraphicsCommand) */ { public: - GraphicsCommand(); - virtual ~GraphicsCommand(); + inline GraphicsCommand() : GraphicsCommand(nullptr) {} + ~GraphicsCommand() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(GraphicsCommand* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(GraphicsCommand)); + } +#endif - GraphicsCommand(const GraphicsCommand& from); + template + explicit PROTOBUF_CONSTEXPR GraphicsCommand( + ::google::protobuf::internal::ConstantInitialized); + inline GraphicsCommand(const GraphicsCommand& from) : GraphicsCommand(nullptr, from) {} + inline GraphicsCommand(GraphicsCommand&& from) noexcept + : GraphicsCommand(nullptr, std::move(from)) {} inline GraphicsCommand& operator=(const GraphicsCommand& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - GraphicsCommand(GraphicsCommand&& from) noexcept - : GraphicsCommand() { - *this = ::std::move(from); - } - inline GraphicsCommand& operator=(GraphicsCommand&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const GraphicsCommand& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GraphicsCommand& default_instance() { + return *internal_default_instance(); + } static inline const GraphicsCommand* internal_default_instance() { return reinterpret_cast( - &_GraphicsCommand_default_instance_); + &_GraphicsCommand_default_instance_); + } + static constexpr int kIndexInFileMessages = 8; + friend void swap(GraphicsCommand& a, GraphicsCommand& b) { a.Swap(&b); } + inline void Swap(GraphicsCommand* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 8; - - void Swap(GraphicsCommand* other); - friend void swap(GraphicsCommand& a, GraphicsCommand& b) { - a.Swap(&b); + void UnsafeArenaSwap(GraphicsCommand* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline GraphicsCommand* New() const PROTOBUF_FINAL { return New(NULL); } - - GraphicsCommand* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; + GraphicsCommand* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; void CopyFrom(const GraphicsCommand& from); - void MergeFrom(const GraphicsCommand& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(GraphicsCommand* other); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const GraphicsCommand& from) { GraphicsCommand::MergeImpl(*this, from); } + private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(GraphicsCommand* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.GraphicsCommand"; } + + protected: + explicit GraphicsCommand(::google::protobuf::Arena* arena); + GraphicsCommand(::google::protobuf::Arena* arena, const GraphicsCommand& from); + GraphicsCommand(::google::protobuf::Arena* arena, GraphicsCommand&& from) noexcept + : GraphicsCommand(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- - + enum : int { + kXFieldNumber = 2, + kYFieldNumber = 3, + kCommandFieldNumber = 1, + kTextFieldNumber = 6, + kRasterFieldNumber = 9, + kDeviceTypeFieldNumber = 14, + kContextFieldNumber = 15, + kRFieldNumber = 4, + kRotFieldNumber = 5, + kHadjFieldNumber = 8, + kFilledFieldNumber = 7, + kInterpolateFieldNumber = 10, + }; // repeated double x = 2; int x_size() const; - void clear_x(); - static const int kXFieldNumber = 2; + private: + int _internal_x_size() const; + + public: + void clear_x() ; double x(int index) const; void set_x(int index, double value); void add_x(double value); - const ::google::protobuf::RepeatedField< double >& - x() const; - ::google::protobuf::RepeatedField< double >* - mutable_x(); + const ::google::protobuf::RepeatedField& x() const; + ::google::protobuf::RepeatedField* mutable_x(); + + private: + const ::google::protobuf::RepeatedField& _internal_x() const; + ::google::protobuf::RepeatedField* _internal_mutable_x(); + public: // repeated double y = 3; int y_size() const; - void clear_y(); - static const int kYFieldNumber = 3; + private: + int _internal_y_size() const; + + public: + void clear_y() ; double y(int index) const; void set_y(int index, double value); void add_y(double value); - const ::google::protobuf::RepeatedField< double >& - y() const; - ::google::protobuf::RepeatedField< double >* - mutable_y(); + const ::google::protobuf::RepeatedField& y() const; + ::google::protobuf::RepeatedField* mutable_y(); + + private: + const ::google::protobuf::RepeatedField& _internal_y() const; + ::google::protobuf::RepeatedField* _internal_mutable_y(); + public: // string command = 1; - void clear_command(); - static const int kCommandFieldNumber = 1; - const ::std::string& command() const; - void set_command(const ::std::string& value); - #if LANG_CXX11 - void set_command(::std::string&& value); - #endif - void set_command(const char* value); - void set_command(const char* value, size_t size); - ::std::string* mutable_command(); - ::std::string* release_command(); - void set_allocated_command(::std::string* command); + void clear_command() ; + const std::string& command() const; + template + void set_command(Arg_&& arg, Args_... args); + std::string* mutable_command(); + PROTOBUF_NODISCARD std::string* release_command(); + void set_allocated_command(std::string* value); + private: + const std::string& _internal_command() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_command( + const std::string& value); + std::string* _internal_mutable_command(); + + public: // string text = 6; - void clear_text(); - static const int kTextFieldNumber = 6; - const ::std::string& text() const; - void set_text(const ::std::string& value); - #if LANG_CXX11 - void set_text(::std::string&& value); - #endif - void set_text(const char* value); - void set_text(const char* value, size_t size); - ::std::string* mutable_text(); - ::std::string* release_text(); - void set_allocated_text(::std::string* text); + void clear_text() ; + const std::string& text() const; + template + void set_text(Arg_&& arg, Args_... args); + std::string* mutable_text(); + PROTOBUF_NODISCARD std::string* release_text(); + void set_allocated_text(std::string* value); + + private: + const std::string& _internal_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text( + const std::string& value); + std::string* _internal_mutable_text(); + public: // bytes raster = 9; - void clear_raster(); - static const int kRasterFieldNumber = 9; - const ::std::string& raster() const; - void set_raster(const ::std::string& value); - #if LANG_CXX11 - void set_raster(::std::string&& value); - #endif - void set_raster(const char* value); - void set_raster(const void* value, size_t size); - ::std::string* mutable_raster(); - ::std::string* release_raster(); - void set_allocated_raster(::std::string* raster); + void clear_raster() ; + const std::string& raster() const; + template + void set_raster(Arg_&& arg, Args_... args); + std::string* mutable_raster(); + PROTOBUF_NODISCARD std::string* release_raster(); + void set_allocated_raster(std::string* value); + + private: + const std::string& _internal_raster() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_raster( + const std::string& value); + std::string* _internal_mutable_raster(); + public: // string device_type = 14; - void clear_device_type(); - static const int kDeviceTypeFieldNumber = 14; - const ::std::string& device_type() const; - void set_device_type(const ::std::string& value); - #if LANG_CXX11 - void set_device_type(::std::string&& value); - #endif - void set_device_type(const char* value); - void set_device_type(const char* value, size_t size); - ::std::string* mutable_device_type(); - ::std::string* release_device_type(); - void set_allocated_device_type(::std::string* device_type); + void clear_device_type() ; + const std::string& device_type() const; + template + void set_device_type(Arg_&& arg, Args_... args); + std::string* mutable_device_type(); + PROTOBUF_NODISCARD std::string* release_device_type(); + void set_allocated_device_type(std::string* value); + + private: + const std::string& _internal_device_type() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_device_type( + const std::string& value); + std::string* _internal_mutable_device_type(); + public: // .BERTBuffers.GraphicsContext context = 15; bool has_context() const; - void clear_context(); - static const int kContextFieldNumber = 15; + void clear_context() ; const ::BERTBuffers::GraphicsContext& context() const; - ::BERTBuffers::GraphicsContext* release_context(); + PROTOBUF_NODISCARD ::BERTBuffers::GraphicsContext* release_context(); ::BERTBuffers::GraphicsContext* mutable_context(); - void set_allocated_context(::BERTBuffers::GraphicsContext* context); + void set_allocated_context(::BERTBuffers::GraphicsContext* value); + void unsafe_arena_set_allocated_context(::BERTBuffers::GraphicsContext* value); + ::BERTBuffers::GraphicsContext* unsafe_arena_release_context(); + private: + const ::BERTBuffers::GraphicsContext& _internal_context() const; + ::BERTBuffers::GraphicsContext* _internal_mutable_context(); + + public: // double r = 4; - void clear_r(); - static const int kRFieldNumber = 4; + void clear_r() ; double r() const; void set_r(double value); + private: + double _internal_r() const; + void _internal_set_r(double value); + + public: // double rot = 5; - void clear_rot(); - static const int kRotFieldNumber = 5; + void clear_rot() ; double rot() const; void set_rot(double value); + private: + double _internal_rot() const; + void _internal_set_rot(double value); + + public: // double hadj = 8; - void clear_hadj(); - static const int kHadjFieldNumber = 8; + void clear_hadj() ; double hadj() const; void set_hadj(double value); + private: + double _internal_hadj() const; + void _internal_set_hadj(double value); + + public: // bool filled = 7; - void clear_filled(); - static const int kFilledFieldNumber = 7; + void clear_filled() ; bool filled() const; void set_filled(bool value); + private: + bool _internal_filled() const; + void _internal_set_filled(bool value); + + public: // bool interpolate = 10; - void clear_interpolate(); - static const int kInterpolateFieldNumber = 10; + void clear_interpolate() ; bool interpolate() const; void set_interpolate(bool value); + private: + bool _internal_interpolate() const; + void _internal_set_interpolate(bool value); + + public: // @@protoc_insertion_point(class_scope:BERTBuffers.GraphicsCommand) private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::RepeatedField< double > x_; - mutable int _x_cached_byte_size_; - ::google::protobuf::RepeatedField< double > y_; - mutable int _y_cached_byte_size_; - ::google::protobuf::internal::ArenaStringPtr command_; - ::google::protobuf::internal::ArenaStringPtr text_; - ::google::protobuf::internal::ArenaStringPtr raster_; - ::google::protobuf::internal::ArenaStringPtr device_type_; - ::BERTBuffers::GraphicsContext* context_; - double r_; - double rot_; - double hadj_; - bool filled_; - bool interpolate_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsGraphicsCommandImpl(); + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 12, 1, + 66, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const GraphicsCommand& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField x_; + ::google::protobuf::RepeatedField y_; + ::google::protobuf::internal::ArenaStringPtr command_; + ::google::protobuf::internal::ArenaStringPtr text_; + ::google::protobuf::internal::ArenaStringPtr raster_; + ::google::protobuf::internal::ArenaStringPtr device_type_; + ::BERTBuffers::GraphicsContext* context_; + double r_; + double rot_; + double hadj_; + bool filled_; + bool interpolate_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class Color : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.Color) */ { +class Array final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.Array) */ { public: - Color(); - virtual ~Color(); + inline Array() : Array(nullptr) {} + ~Array() PROTOBUF_FINAL; - Color(const Color& from); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Array* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Array)); + } +#endif - inline Color& operator=(const Color& from) { + template + explicit PROTOBUF_CONSTEXPR Array( + ::google::protobuf::internal::ConstantInitialized); + + inline Array(const Array& from) : Array(nullptr, from) {} + inline Array(Array&& from) noexcept + : Array(nullptr, std::move(from)) {} + inline Array& operator=(const Array& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - Color(Color&& from) noexcept - : Color() { - *this = ::std::move(from); - } - - inline Color& operator=(Color&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline Array& operator=(Array&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const Color& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const Color* internal_default_instance() { - return reinterpret_cast( - &_Color_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 9; - void Swap(Color* other); - friend void swap(Color& a, Color& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Array& default_instance() { + return *internal_default_instance(); + } + static inline const Array* internal_default_instance() { + return reinterpret_cast( + &_Array_default_instance_); + } + static constexpr int kIndexInFileMessages = 1; + friend void swap(Array& a, Array& b) { a.Swap(&b); } + inline void Swap(Array* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Array* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline Color* New() const PROTOBUF_FINAL { return New(NULL); } + Array* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Array& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Array& from) { Array::MergeImpl(*this, from); } - Color* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const Color& from); - void MergeFrom(const Color& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(Color* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Array* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.Array"; } + + protected: + explicit Array(::google::protobuf::Arena* arena); + Array(::google::protobuf::Arena* arena, const Array& from); + Array(::google::protobuf::Arena* arena, Array&& from) noexcept + : Array(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kDataFieldNumber = 3, + kRownamesFieldNumber = 4, + kColnamesFieldNumber = 5, + kRowsFieldNumber = 1, + kColsFieldNumber = 2, + }; + // repeated .BERTBuffers.Variable data = 3; + int data_size() const; + private: + int _internal_data_size() const; - // uint32 a = 1; - void clear_a(); - static const int kAFieldNumber = 1; - ::google::protobuf::uint32 a() const; - void set_a(::google::protobuf::uint32 value); + public: + void clear_data() ; + ::BERTBuffers::Variable* mutable_data(int index); + ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>* mutable_data(); - // uint32 r = 2; - void clear_r(); - static const int kRFieldNumber = 2; - ::google::protobuf::uint32 r() const; - void set_r(::google::protobuf::uint32 value); + private: + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>& _internal_data() const; + ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>* _internal_mutable_data(); + public: + const ::BERTBuffers::Variable& data(int index) const; + ::BERTBuffers::Variable* add_data(); + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>& data() const; + // repeated string rownames = 4; + int rownames_size() const; + private: + int _internal_rownames_size() const; - // uint32 g = 3; - void clear_g(); - static const int kGFieldNumber = 3; - ::google::protobuf::uint32 g() const; - void set_g(::google::protobuf::uint32 value); + public: + void clear_rownames() ; + const std::string& rownames(int index) const; + std::string* mutable_rownames(int index); + template + void set_rownames(int index, Arg_&& value, Args_... args); + std::string* add_rownames(); + template + void add_rownames(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField& rownames() const; + ::google::protobuf::RepeatedPtrField* mutable_rownames(); - // uint32 b = 4; - void clear_b(); - static const int kBFieldNumber = 4; - ::google::protobuf::uint32 b() const; - void set_b(::google::protobuf::uint32 value); + private: + const ::google::protobuf::RepeatedPtrField& _internal_rownames() const; + ::google::protobuf::RepeatedPtrField* _internal_mutable_rownames(); - // @@protoc_insertion_point(class_scope:BERTBuffers.Color) - private: + public: + // repeated string colnames = 5; + int colnames_size() const; + private: + int _internal_colnames_size() const; + + public: + void clear_colnames() ; + const std::string& colnames(int index) const; + std::string* mutable_colnames(int index); + template + void set_colnames(int index, Arg_&& value, Args_... args); + std::string* add_colnames(); + template + void add_colnames(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField& colnames() const; + ::google::protobuf::RepeatedPtrField* mutable_colnames(); + + private: + const ::google::protobuf::RepeatedPtrField& _internal_colnames() const; + ::google::protobuf::RepeatedPtrField* _internal_mutable_colnames(); + + public: + // int32 rows = 1; + void clear_rows() ; + ::int32_t rows() const; + void set_rows(::int32_t value); + + private: + ::int32_t _internal_rows() const; + void _internal_set_rows(::int32_t value); + + public: + // int32 cols = 2; + void clear_cols() ; + ::int32_t cols() const; + void set_cols(::int32_t value); + + private: + ::int32_t _internal_cols() const; + void _internal_set_cols(::int32_t value); - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::uint32 a_; - ::google::protobuf::uint32 r_; - ::google::protobuf::uint32 g_; - ::google::protobuf::uint32 b_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsColorImpl(); + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.Array) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 42, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const Array& from_msg); + ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable > data_; + ::google::protobuf::RepeatedPtrField rownames_; + ::google::protobuf::RepeatedPtrField colnames_; + ::int32_t rows_; + ::int32_t cols_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class GraphicsContext : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.GraphicsContext) */ { +class ExternalPointer final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.ExternalPointer) */ { public: - GraphicsContext(); - virtual ~GraphicsContext(); + inline ExternalPointer() : ExternalPointer(nullptr) {} + ~ExternalPointer() PROTOBUF_FINAL; - GraphicsContext(const GraphicsContext& from); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(ExternalPointer* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(ExternalPointer)); + } +#endif - inline GraphicsContext& operator=(const GraphicsContext& from) { + template + explicit PROTOBUF_CONSTEXPR ExternalPointer( + ::google::protobuf::internal::ConstantInitialized); + + inline ExternalPointer(const ExternalPointer& from) : ExternalPointer(nullptr, from) {} + inline ExternalPointer(ExternalPointer&& from) noexcept + : ExternalPointer(nullptr, std::move(from)) {} + inline ExternalPointer& operator=(const ExternalPointer& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - GraphicsContext(GraphicsContext&& from) noexcept - : GraphicsContext() { - *this = ::std::move(from); - } - - inline GraphicsContext& operator=(GraphicsContext&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline ExternalPointer& operator=(ExternalPointer&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const GraphicsContext& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const GraphicsContext* internal_default_instance() { - return reinterpret_cast( - &_GraphicsContext_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 10; - void Swap(GraphicsContext* other); - friend void swap(GraphicsContext& a, GraphicsContext& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ExternalPointer& default_instance() { + return *internal_default_instance(); + } + static inline const ExternalPointer* internal_default_instance() { + return reinterpret_cast( + &_ExternalPointer_default_instance_); + } + static constexpr int kIndexInFileMessages = 18; + friend void swap(ExternalPointer& a, ExternalPointer& b) { a.Swap(&b); } + inline void Swap(ExternalPointer* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ExternalPointer* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline GraphicsContext* New() const PROTOBUF_FINAL { return New(NULL); } + ExternalPointer* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ExternalPointer& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const ExternalPointer& from) { ExternalPointer::MergeImpl(*this, from); } - GraphicsContext* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const GraphicsContext& from); - void MergeFrom(const GraphicsContext& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(GraphicsContext* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(ExternalPointer* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.ExternalPointer"; } + + protected: + explicit ExternalPointer(::google::protobuf::Arena* arena); + ExternalPointer(::google::protobuf::Arena* arena, const ExternalPointer& from); + ExternalPointer(::google::protobuf::Arena* arena, ExternalPointer&& from) noexcept + : ExternalPointer(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kFunctionsFieldNumber = 3, + kEnumsFieldNumber = 4, + kInterfaceNameFieldNumber = 1, + kPointerFieldNumber = 2, + }; + // repeated .BERTBuffers.FunctionDescriptor functions = 3; + int functions_size() const; + private: + int _internal_functions_size() const; - // string fontfamily = 13; - void clear_fontfamily(); - static const int kFontfamilyFieldNumber = 13; - const ::std::string& fontfamily() const; - void set_fontfamily(const ::std::string& value); - #if LANG_CXX11 - void set_fontfamily(::std::string&& value); - #endif - void set_fontfamily(const char* value); - void set_fontfamily(const char* value, size_t size); - ::std::string* mutable_fontfamily(); - ::std::string* release_fontfamily(); - void set_allocated_fontfamily(::std::string* fontfamily); - - // .BERTBuffers.Color col = 1; - bool has_col() const; - void clear_col(); - static const int kColFieldNumber = 1; - const ::BERTBuffers::Color& col() const; - ::BERTBuffers::Color* release_col(); - ::BERTBuffers::Color* mutable_col(); - void set_allocated_col(::BERTBuffers::Color* col); - - // .BERTBuffers.Color fill = 2; - bool has_fill() const; - void clear_fill(); - static const int kFillFieldNumber = 2; - const ::BERTBuffers::Color& fill() const; - ::BERTBuffers::Color* release_fill(); - ::BERTBuffers::Color* mutable_fill(); - void set_allocated_fill(::BERTBuffers::Color* fill); - - // double gamma = 3; - void clear_gamma(); - static const int kGammaFieldNumber = 3; - double gamma() const; - void set_gamma(double value); - - // double lwd = 4; - void clear_lwd(); - static const int kLwdFieldNumber = 4; - double lwd() const; - void set_lwd(double value); - - // int32 lty = 5; - void clear_lty(); - static const int kLtyFieldNumber = 5; - ::google::protobuf::int32 lty() const; - void set_lty(::google::protobuf::int32 value); - - // int32 lend = 6; - void clear_lend(); - static const int kLendFieldNumber = 6; - ::google::protobuf::int32 lend() const; - void set_lend(::google::protobuf::int32 value); + public: + void clear_functions() ; + ::BERTBuffers::FunctionDescriptor* mutable_functions(int index); + ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>* mutable_functions(); - // double lmitre = 8; - void clear_lmitre(); - static const int kLmitreFieldNumber = 8; - double lmitre() const; - void set_lmitre(double value); + private: + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>& _internal_functions() const; + ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>* _internal_mutable_functions(); + public: + const ::BERTBuffers::FunctionDescriptor& functions(int index) const; + ::BERTBuffers::FunctionDescriptor* add_functions(); + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>& functions() const; + // repeated .BERTBuffers.EnumType enums = 4; + int enums_size() const; + private: + int _internal_enums_size() const; - // double cex = 9; - void clear_cex(); - static const int kCexFieldNumber = 9; - double cex() const; - void set_cex(double value); + public: + void clear_enums() ; + ::BERTBuffers::EnumType* mutable_enums(int index); + ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumType>* mutable_enums(); - // int32 ljoin = 7; - void clear_ljoin(); - static const int kLjoinFieldNumber = 7; - ::google::protobuf::int32 ljoin() const; - void set_ljoin(::google::protobuf::int32 value); + private: + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumType>& _internal_enums() const; + ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumType>* _internal_mutable_enums(); + public: + const ::BERTBuffers::EnumType& enums(int index) const; + ::BERTBuffers::EnumType* add_enums(); + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumType>& enums() const; + // string interface_name = 1; + void clear_interface_name() ; + const std::string& interface_name() const; + template + void set_interface_name(Arg_&& arg, Args_... args); + std::string* mutable_interface_name(); + PROTOBUF_NODISCARD std::string* release_interface_name(); + void set_allocated_interface_name(std::string* value); - // int32 fontface = 12; - void clear_fontface(); - static const int kFontfaceFieldNumber = 12; - ::google::protobuf::int32 fontface() const; - void set_fontface(::google::protobuf::int32 value); + private: + const std::string& _internal_interface_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_interface_name( + const std::string& value); + std::string* _internal_mutable_interface_name(); - // double ps = 10; - void clear_ps(); - static const int kPsFieldNumber = 10; - double ps() const; - void set_ps(double value); + public: + // uint64 pointer = 2; + void clear_pointer() ; + ::uint64_t pointer() const; + void set_pointer(::uint64_t value); - // double lineheight = 11; - void clear_lineheight(); - static const int kLineheightFieldNumber = 11; - double lineheight() const; - void set_lineheight(double value); + private: + ::uint64_t _internal_pointer() const; + void _internal_set_pointer(::uint64_t value); - // @@protoc_insertion_point(class_scope:BERTBuffers.GraphicsContext) + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.ExternalPointer) private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::ArenaStringPtr fontfamily_; - ::BERTBuffers::Color* col_; - ::BERTBuffers::Color* fill_; - double gamma_; - double lwd_; - ::google::protobuf::int32 lty_; - ::google::protobuf::int32 lend_; - double lmitre_; - double cex_; - ::google::protobuf::int32 ljoin_; - ::google::protobuf::int32 fontface_; - double ps_; - double lineheight_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsGraphicsContextImpl(); + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 50, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const ExternalPointer& from_msg); + ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor > functions_; + ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumType > enums_; + ::google::protobuf::internal::ArenaStringPtr interface_name_; + ::uint64_t pointer_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class MIMEData : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.MIMEData) */ { +class FunctionDescriptor final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.FunctionDescriptor) */ { public: - MIMEData(); - virtual ~MIMEData(); + inline FunctionDescriptor() : FunctionDescriptor(nullptr) {} + ~FunctionDescriptor() PROTOBUF_FINAL; - MIMEData(const MIMEData& from); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(FunctionDescriptor* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(FunctionDescriptor)); + } +#endif - inline MIMEData& operator=(const MIMEData& from) { + template + explicit PROTOBUF_CONSTEXPR FunctionDescriptor( + ::google::protobuf::internal::ConstantInitialized); + + inline FunctionDescriptor(const FunctionDescriptor& from) : FunctionDescriptor(nullptr, from) {} + inline FunctionDescriptor(FunctionDescriptor&& from) noexcept + : FunctionDescriptor(nullptr, std::move(from)) {} + inline FunctionDescriptor& operator=(const FunctionDescriptor& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - MIMEData(MIMEData&& from) noexcept - : MIMEData() { - *this = ::std::move(from); - } - - inline MIMEData& operator=(MIMEData&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline FunctionDescriptor& operator=(FunctionDescriptor&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const MIMEData& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const MIMEData* internal_default_instance() { - return reinterpret_cast( - &_MIMEData_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 11; - void Swap(MIMEData* other); - friend void swap(MIMEData& a, MIMEData& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FunctionDescriptor& default_instance() { + return *internal_default_instance(); + } + static inline const FunctionDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FunctionDescriptor_default_instance_); + } + static constexpr int kIndexInFileMessages = 14; + friend void swap(FunctionDescriptor& a, FunctionDescriptor& b) { a.Swap(&b); } + inline void Swap(FunctionDescriptor* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FunctionDescriptor* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline MIMEData* New() const PROTOBUF_FINAL { return New(NULL); } + FunctionDescriptor* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FunctionDescriptor& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FunctionDescriptor& from) { FunctionDescriptor::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(FunctionDescriptor* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.FunctionDescriptor"; } + + protected: + explicit FunctionDescriptor(::google::protobuf::Arena* arena); + FunctionDescriptor(::google::protobuf::Arena* arena, const FunctionDescriptor& from); + FunctionDescriptor(::google::protobuf::Arena* arena, FunctionDescriptor&& from) noexcept + : FunctionDescriptor(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kArgumentsFieldNumber = 5, + kCategoryFieldNumber = 4, + kFunctionFieldNumber = 1, + kCallTypeFieldNumber = 2, + kFlagsFieldNumber = 3, + }; + // repeated .BERTBuffers.FunctionElement arguments = 5; + int arguments_size() const; + private: + int _internal_arguments_size() const; + + public: + void clear_arguments() ; + ::BERTBuffers::FunctionElement* mutable_arguments(int index); + ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionElement>* mutable_arguments(); + + private: + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionElement>& _internal_arguments() const; + ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionElement>* _internal_mutable_arguments(); + public: + const ::BERTBuffers::FunctionElement& arguments(int index) const; + ::BERTBuffers::FunctionElement* add_arguments(); + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionElement>& arguments() const; + // string category = 4; + void clear_category() ; + const std::string& category() const; + template + void set_category(Arg_&& arg, Args_... args); + std::string* mutable_category(); + PROTOBUF_NODISCARD std::string* release_category(); + void set_allocated_category(std::string* value); - MIMEData* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const MIMEData& from); - void MergeFrom(const MIMEData& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(MIMEData* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; - } + const std::string& _internal_category() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_category( + const std::string& value); + std::string* _internal_mutable_category(); + public: + // .BERTBuffers.FunctionElement function = 1; + bool has_function() const; + void clear_function() ; + const ::BERTBuffers::FunctionElement& function() const; + PROTOBUF_NODISCARD ::BERTBuffers::FunctionElement* release_function(); + ::BERTBuffers::FunctionElement* mutable_function(); + void set_allocated_function(::BERTBuffers::FunctionElement* value); + void unsafe_arena_set_allocated_function(::BERTBuffers::FunctionElement* value); + ::BERTBuffers::FunctionElement* unsafe_arena_release_function(); - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + const ::BERTBuffers::FunctionElement& _internal_function() const; + ::BERTBuffers::FunctionElement* _internal_mutable_function(); - // nested types ---------------------------------------------------- + public: + // .BERTBuffers.CallType call_type = 2; + void clear_call_type() ; + ::BERTBuffers::CallType call_type() const; + void set_call_type(::BERTBuffers::CallType value); - // accessors ------------------------------------------------------- + private: + ::BERTBuffers::CallType _internal_call_type() const; + void _internal_set_call_type(::BERTBuffers::CallType value); - // string mime_type = 1; - void clear_mime_type(); - static const int kMimeTypeFieldNumber = 1; - const ::std::string& mime_type() const; - void set_mime_type(const ::std::string& value); - #if LANG_CXX11 - void set_mime_type(::std::string&& value); - #endif - void set_mime_type(const char* value); - void set_mime_type(const char* value, size_t size); - ::std::string* mutable_mime_type(); - ::std::string* release_mime_type(); - void set_allocated_mime_type(::std::string* mime_type); + public: + // uint32 flags = 3; + void clear_flags() ; + ::uint32_t flags() const; + void set_flags(::uint32_t value); - // bytes data = 2; - void clear_data(); - static const int kDataFieldNumber = 2; - const ::std::string& data() const; - void set_data(const ::std::string& value); - #if LANG_CXX11 - void set_data(::std::string&& value); - #endif - void set_data(const char* value); - void set_data(const void* value, size_t size); - ::std::string* mutable_data(); - ::std::string* release_data(); - void set_allocated_data(::std::string* data); + private: + ::uint32_t _internal_flags() const; + void _internal_set_flags(::uint32_t value); - // @@protoc_insertion_point(class_scope:BERTBuffers.MIMEData) + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.FunctionDescriptor) private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::ArenaStringPtr mime_type_; - ::google::protobuf::internal::ArenaStringPtr data_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsMIMEDataImpl(); + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 47, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const FunctionDescriptor& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionElement > arguments_; + ::google::protobuf::internal::ArenaStringPtr category_; + ::BERTBuffers::FunctionElement* function_; + int call_type_; + ::uint32_t flags_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class Console : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.Console) */ { +class FunctionElement final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.FunctionElement) */ { public: - Console(); - virtual ~Console(); + inline FunctionElement() : FunctionElement(nullptr) {} + ~FunctionElement() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(FunctionElement* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(FunctionElement)); + } +#endif - Console(const Console& from); + template + explicit PROTOBUF_CONSTEXPR FunctionElement( + ::google::protobuf::internal::ConstantInitialized); - inline Console& operator=(const Console& from) { + inline FunctionElement(const FunctionElement& from) : FunctionElement(nullptr, from) {} + inline FunctionElement(FunctionElement&& from) noexcept + : FunctionElement(nullptr, std::move(from)) {} + inline FunctionElement& operator=(const FunctionElement& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - Console(Console&& from) noexcept - : Console() { - *this = ::std::move(from); - } - - inline Console& operator=(Console&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline FunctionElement& operator=(FunctionElement&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const Console& default_instance(); - - enum MessageCase { - kText = 1, - kErr = 2, - kPrompt = 3, - kGraphics = 4, - kMimeData = 5, - kHistory = 6, - MESSAGE_NOT_SET = 0, - }; - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const Console* internal_default_instance() { - return reinterpret_cast( - &_Console_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 12; - void Swap(Console* other); - friend void swap(Console& a, Console& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FunctionElement& default_instance() { + return *internal_default_instance(); + } + static inline const FunctionElement* internal_default_instance() { + return reinterpret_cast( + &_FunctionElement_default_instance_); + } + static constexpr int kIndexInFileMessages = 13; + friend void swap(FunctionElement& a, FunctionElement& b) { a.Swap(&b); } + inline void Swap(FunctionElement* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FunctionElement* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline Console* New() const PROTOBUF_FINAL { return New(NULL); } + FunctionElement* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FunctionElement& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FunctionElement& from) { FunctionElement::MergeImpl(*this, from); } - Console* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const Console& from); - void MergeFrom(const Console& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(Console* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(FunctionElement* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.FunctionElement"; } + + protected: + explicit FunctionElement(::google::protobuf::Arena* arena); + FunctionElement(::google::protobuf::Arena* arena, const FunctionElement& from); + FunctionElement(::google::protobuf::Arena* arena, FunctionElement&& from) noexcept + : FunctionElement(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 1, + kTypeNameFieldNumber = 2, + kDescriptionFieldNumber = 4, + kDefaultValueFieldNumber = 3, + kIndexFieldNumber = 5, + }; + // string name = 1; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // string text = 1; private: - bool has_text() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void clear_text(); - static const int kTextFieldNumber = 1; - const ::std::string& text() const; - void set_text(const ::std::string& value); - #if LANG_CXX11 - void set_text(::std::string&& value); - #endif - void set_text(const char* value); - void set_text(const char* value, size_t size); - ::std::string* mutable_text(); - ::std::string* release_text(); - void set_allocated_text(::std::string* text); + // string type_name = 2; + void clear_type_name() ; + const std::string& type_name() const; + template + void set_type_name(Arg_&& arg, Args_... args); + std::string* mutable_type_name(); + PROTOBUF_NODISCARD std::string* release_type_name(); + void set_allocated_type_name(std::string* value); - // string err = 2; private: - bool has_err() const; + const std::string& _internal_type_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_type_name( + const std::string& value); + std::string* _internal_mutable_type_name(); + public: - void clear_err(); - static const int kErrFieldNumber = 2; - const ::std::string& err() const; - void set_err(const ::std::string& value); - #if LANG_CXX11 - void set_err(::std::string&& value); - #endif - void set_err(const char* value); - void set_err(const char* value, size_t size); - ::std::string* mutable_err(); - ::std::string* release_err(); - void set_allocated_err(::std::string* err); + // string description = 4; + void clear_description() ; + const std::string& description() const; + template + void set_description(Arg_&& arg, Args_... args); + std::string* mutable_description(); + PROTOBUF_NODISCARD std::string* release_description(); + void set_allocated_description(std::string* value); - // string prompt = 3; private: - bool has_prompt() const; + const std::string& _internal_description() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_description( + const std::string& value); + std::string* _internal_mutable_description(); + public: - void clear_prompt(); - static const int kPromptFieldNumber = 3; - const ::std::string& prompt() const; - void set_prompt(const ::std::string& value); - #if LANG_CXX11 - void set_prompt(::std::string&& value); - #endif - void set_prompt(const char* value); - void set_prompt(const char* value, size_t size); - ::std::string* mutable_prompt(); - ::std::string* release_prompt(); - void set_allocated_prompt(::std::string* prompt); + // .BERTBuffers.Variable default_value = 3; + bool has_default_value() const; + void clear_default_value() ; + const ::BERTBuffers::Variable& default_value() const; + PROTOBUF_NODISCARD ::BERTBuffers::Variable* release_default_value(); + ::BERTBuffers::Variable* mutable_default_value(); + void set_allocated_default_value(::BERTBuffers::Variable* value); + void unsafe_arena_set_allocated_default_value(::BERTBuffers::Variable* value); + ::BERTBuffers::Variable* unsafe_arena_release_default_value(); - // .BERTBuffers.GraphicsCommand graphics = 4; - bool has_graphics() const; - void clear_graphics(); - static const int kGraphicsFieldNumber = 4; - const ::BERTBuffers::GraphicsCommand& graphics() const; - ::BERTBuffers::GraphicsCommand* release_graphics(); - ::BERTBuffers::GraphicsCommand* mutable_graphics(); - void set_allocated_graphics(::BERTBuffers::GraphicsCommand* graphics); + private: + const ::BERTBuffers::Variable& _internal_default_value() const; + ::BERTBuffers::Variable* _internal_mutable_default_value(); - // .BERTBuffers.MIMEData mime_data = 5; - bool has_mime_data() const; - void clear_mime_data(); - static const int kMimeDataFieldNumber = 5; - const ::BERTBuffers::MIMEData& mime_data() const; - ::BERTBuffers::MIMEData* release_mime_data(); - ::BERTBuffers::MIMEData* mutable_mime_data(); - void set_allocated_mime_data(::BERTBuffers::MIMEData* mime_data); + public: + // uint32 index = 5; + void clear_index() ; + ::uint32_t index() const; + void set_index(::uint32_t value); - // .BERTBuffers.Variable history = 6; - bool has_history() const; - void clear_history(); - static const int kHistoryFieldNumber = 6; - const ::BERTBuffers::Variable& history() const; - ::BERTBuffers::Variable* release_history(); - ::BERTBuffers::Variable* mutable_history(); - void set_allocated_history(::BERTBuffers::Variable* history); + private: + ::uint32_t _internal_index() const; + void _internal_set_index(::uint32_t value); - MessageCase message_case() const; - // @@protoc_insertion_point(class_scope:BERTBuffers.Console) + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.FunctionElement) private: - void set_has_text(); - void set_has_err(); - void set_has_prompt(); - void set_has_graphics(); - void set_has_mime_data(); - void set_has_history(); - - inline bool has_message() const; - void clear_message(); - inline void clear_has_message(); - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - union MessageUnion { - MessageUnion() {} - ::google::protobuf::internal::ArenaStringPtr text_; - ::google::protobuf::internal::ArenaStringPtr err_; - ::google::protobuf::internal::ArenaStringPtr prompt_; - ::BERTBuffers::GraphicsCommand* graphics_; - ::BERTBuffers::MIMEData* mime_data_; - ::BERTBuffers::Variable* history_; - } message_; - mutable int _cached_size_; - ::google::protobuf::uint32 _oneof_case_[1]; - - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsConsoleImpl(); + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 60, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const FunctionElement& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr type_name_; + ::google::protobuf::internal::ArenaStringPtr description_; + ::BERTBuffers::Variable* default_value_; + ::uint32_t index_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class FunctionElement : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.FunctionElement) */ { +class Variable final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.Variable) */ { public: - FunctionElement(); - virtual ~FunctionElement(); + inline Variable() : Variable(nullptr) {} + ~Variable() PROTOBUF_FINAL; - FunctionElement(const FunctionElement& from); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Variable* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Variable)); + } +#endif - inline FunctionElement& operator=(const FunctionElement& from) { + template + explicit PROTOBUF_CONSTEXPR Variable( + ::google::protobuf::internal::ConstantInitialized); + + inline Variable(const Variable& from) : Variable(nullptr, from) {} + inline Variable(Variable&& from) noexcept + : Variable(nullptr, std::move(from)) {} + inline Variable& operator=(const Variable& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - FunctionElement(FunctionElement&& from) noexcept - : FunctionElement() { - *this = ::std::move(from); - } - - inline FunctionElement& operator=(FunctionElement&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline Variable& operator=(Variable&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const FunctionElement& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const FunctionElement* internal_default_instance() { - return reinterpret_cast( - &_FunctionElement_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 13; - void Swap(FunctionElement* other); - friend void swap(FunctionElement& a, FunctionElement& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Variable& default_instance() { + return *internal_default_instance(); + } + enum ValueCase { + kNil = 1, + kMissing = 2, + kErr = 3, + kInteger = 5, + kReal = 6, + kStr = 7, + kBoolean = 8, + kCpx = 9, + kArr = 10, + kRef = 11, + kComPointer = 12, + kGraphics = 13, + kCacheReference = 14, + VALUE_NOT_SET = 0, + }; + static inline const Variable* internal_default_instance() { + return reinterpret_cast( + &_Variable_default_instance_); + } + static constexpr int kIndexInFileMessages = 4; + friend void swap(Variable& a, Variable& b) { a.Swap(&b); } + inline void Swap(Variable* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Variable* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline FunctionElement* New() const PROTOBUF_FINAL { return New(NULL); } + Variable* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Variable& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Variable& from) { Variable::MergeImpl(*this, from); } - FunctionElement* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const FunctionElement& from); - void MergeFrom(const FunctionElement& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(FunctionElement* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Variable* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.Variable"; } + + protected: + explicit Variable(::google::protobuf::Arena* arena); + Variable(::google::protobuf::Arena* arena, const Variable& from); + Variable(::google::protobuf::Arena* arena, Variable&& from) noexcept + : Variable(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 15, + kNilFieldNumber = 1, + kMissingFieldNumber = 2, + kErrFieldNumber = 3, + kIntegerFieldNumber = 5, + kRealFieldNumber = 6, + kStrFieldNumber = 7, + kBooleanFieldNumber = 8, + kCpxFieldNumber = 9, + kArrFieldNumber = 10, + kRefFieldNumber = 11, + kComPointerFieldNumber = 12, + kGraphicsFieldNumber = 13, + kCacheReferenceFieldNumber = 14, + }; + // string name = 15; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // string name = 1; - void clear_name(); - static const int kNameFieldNumber = 1; - const ::std::string& name() const; - void set_name(const ::std::string& value); - #if LANG_CXX11 - void set_name(::std::string&& value); - #endif - void set_name(const char* value); - void set_name(const char* value, size_t size); - ::std::string* mutable_name(); - ::std::string* release_name(); - void set_allocated_name(::std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); - // string type_name = 2; - void clear_type_name(); - static const int kTypeNameFieldNumber = 2; - const ::std::string& type_name() const; - void set_type_name(const ::std::string& value); - #if LANG_CXX11 - void set_type_name(::std::string&& value); - #endif - void set_type_name(const char* value); - void set_type_name(const char* value, size_t size); - ::std::string* mutable_type_name(); - ::std::string* release_type_name(); - void set_allocated_type_name(::std::string* type_name); + public: + // bool nil = 1; + bool has_nil() const; + void clear_nil() ; + bool nil() const; + void set_nil(bool value); - // string description = 4; - void clear_description(); - static const int kDescriptionFieldNumber = 4; - const ::std::string& description() const; - void set_description(const ::std::string& value); - #if LANG_CXX11 - void set_description(::std::string&& value); - #endif - void set_description(const char* value); - void set_description(const char* value, size_t size); - ::std::string* mutable_description(); - ::std::string* release_description(); - void set_allocated_description(::std::string* description); + private: + bool _internal_nil() const; + void _internal_set_nil(bool value); - // .BERTBuffers.Variable default_value = 3; - bool has_default_value() const; - void clear_default_value(); - static const int kDefaultValueFieldNumber = 3; - const ::BERTBuffers::Variable& default_value() const; - ::BERTBuffers::Variable* release_default_value(); - ::BERTBuffers::Variable* mutable_default_value(); - void set_allocated_default_value(::BERTBuffers::Variable* default_value); + public: + // bool missing = 2; + bool has_missing() const; + void clear_missing() ; + bool missing() const; + void set_missing(bool value); - // uint32 index = 5; - void clear_index(); - static const int kIndexFieldNumber = 5; - ::google::protobuf::uint32 index() const; - void set_index(::google::protobuf::uint32 value); + private: + bool _internal_missing() const; + void _internal_set_missing(bool value); - // @@protoc_insertion_point(class_scope:BERTBuffers.FunctionElement) - private: + public: + // .BERTBuffers.Error err = 3; + bool has_err() const; + private: + bool _internal_has_err() const; - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::google::protobuf::internal::ArenaStringPtr type_name_; - ::google::protobuf::internal::ArenaStringPtr description_; - ::BERTBuffers::Variable* default_value_; - ::google::protobuf::uint32 index_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsArrayImpl(); -}; -// ------------------------------------------------------------------- + public: + void clear_err() ; + const ::BERTBuffers::Error& err() const; + PROTOBUF_NODISCARD ::BERTBuffers::Error* release_err(); + ::BERTBuffers::Error* mutable_err(); + void set_allocated_err(::BERTBuffers::Error* value); + void unsafe_arena_set_allocated_err(::BERTBuffers::Error* value); + ::BERTBuffers::Error* unsafe_arena_release_err(); -class FunctionDescriptor : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.FunctionDescriptor) */ { - public: - FunctionDescriptor(); - virtual ~FunctionDescriptor(); + private: + const ::BERTBuffers::Error& _internal_err() const; + ::BERTBuffers::Error* _internal_mutable_err(); - FunctionDescriptor(const FunctionDescriptor& from); + public: + // int32 integer = 5; + bool has_integer() const; + void clear_integer() ; + ::int32_t integer() const; + void set_integer(::int32_t value); - inline FunctionDescriptor& operator=(const FunctionDescriptor& from) { - CopyFrom(from); - return *this; - } - #if LANG_CXX11 - FunctionDescriptor(FunctionDescriptor&& from) noexcept - : FunctionDescriptor() { - *this = ::std::move(from); - } + private: + ::int32_t _internal_integer() const; + void _internal_set_integer(::int32_t value); - inline FunctionDescriptor& operator=(FunctionDescriptor&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const FunctionDescriptor& default_instance(); + public: + // double real = 6; + bool has_real() const; + void clear_real() ; + double real() const; + void set_real(double value); + + private: + double _internal_real() const; + void _internal_set_real(double value); + + public: + // string str = 7; + bool has_str() const; + void clear_str() ; + const std::string& str() const; + template + void set_str(Arg_&& arg, Args_... args); + std::string* mutable_str(); + PROTOBUF_NODISCARD std::string* release_str(); + void set_allocated_str(std::string* value); + + private: + const std::string& _internal_str() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_str( + const std::string& value); + std::string* _internal_mutable_str(); + + public: + // bool boolean = 8; + bool has_boolean() const; + void clear_boolean() ; + bool boolean() const; + void set_boolean(bool value); + + private: + bool _internal_boolean() const; + void _internal_set_boolean(bool value); + + public: + // .BERTBuffers.Complex cpx = 9; + bool has_cpx() const; + private: + bool _internal_has_cpx() const; - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const FunctionDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FunctionDescriptor_default_instance_); - } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 14; + public: + void clear_cpx() ; + const ::BERTBuffers::Complex& cpx() const; + PROTOBUF_NODISCARD ::BERTBuffers::Complex* release_cpx(); + ::BERTBuffers::Complex* mutable_cpx(); + void set_allocated_cpx(::BERTBuffers::Complex* value); + void unsafe_arena_set_allocated_cpx(::BERTBuffers::Complex* value); + ::BERTBuffers::Complex* unsafe_arena_release_cpx(); - void Swap(FunctionDescriptor* other); - friend void swap(FunctionDescriptor& a, FunctionDescriptor& b) { - a.Swap(&b); - } + private: + const ::BERTBuffers::Complex& _internal_cpx() const; + ::BERTBuffers::Complex* _internal_mutable_cpx(); - // implements Message ---------------------------------------------- + public: + // .BERTBuffers.Array arr = 10; + bool has_arr() const; + private: + bool _internal_has_arr() const; - inline FunctionDescriptor* New() const PROTOBUF_FINAL { return New(NULL); } + public: + void clear_arr() ; + const ::BERTBuffers::Array& arr() const; + PROTOBUF_NODISCARD ::BERTBuffers::Array* release_arr(); + ::BERTBuffers::Array* mutable_arr(); + void set_allocated_arr(::BERTBuffers::Array* value); + void unsafe_arena_set_allocated_arr(::BERTBuffers::Array* value); + ::BERTBuffers::Array* unsafe_arena_release_arr(); - FunctionDescriptor* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const FunctionDescriptor& from); - void MergeFrom(const FunctionDescriptor& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(FunctionDescriptor* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; - } + const ::BERTBuffers::Array& _internal_arr() const; + ::BERTBuffers::Array* _internal_mutable_arr(); + public: + // .BERTBuffers.SheetReference ref = 11; + bool has_ref() const; + private: + bool _internal_has_ref() const; - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + public: + void clear_ref() ; + const ::BERTBuffers::SheetReference& ref() const; + PROTOBUF_NODISCARD ::BERTBuffers::SheetReference* release_ref(); + ::BERTBuffers::SheetReference* mutable_ref(); + void set_allocated_ref(::BERTBuffers::SheetReference* value); + void unsafe_arena_set_allocated_ref(::BERTBuffers::SheetReference* value); + ::BERTBuffers::SheetReference* unsafe_arena_release_ref(); - // nested types ---------------------------------------------------- + private: + const ::BERTBuffers::SheetReference& _internal_ref() const; + ::BERTBuffers::SheetReference* _internal_mutable_ref(); - // accessors ------------------------------------------------------- + public: + // .BERTBuffers.ExternalPointer com_pointer = 12; + bool has_com_pointer() const; + private: + bool _internal_has_com_pointer() const; - // repeated .BERTBuffers.FunctionElement arguments = 5; - int arguments_size() const; - void clear_arguments(); - static const int kArgumentsFieldNumber = 5; - const ::BERTBuffers::FunctionElement& arguments(int index) const; - ::BERTBuffers::FunctionElement* mutable_arguments(int index); - ::BERTBuffers::FunctionElement* add_arguments(); - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionElement >* - mutable_arguments(); - const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionElement >& - arguments() const; + public: + void clear_com_pointer() ; + const ::BERTBuffers::ExternalPointer& com_pointer() const; + PROTOBUF_NODISCARD ::BERTBuffers::ExternalPointer* release_com_pointer(); + ::BERTBuffers::ExternalPointer* mutable_com_pointer(); + void set_allocated_com_pointer(::BERTBuffers::ExternalPointer* value); + void unsafe_arena_set_allocated_com_pointer(::BERTBuffers::ExternalPointer* value); + ::BERTBuffers::ExternalPointer* unsafe_arena_release_com_pointer(); - // string category = 4; - void clear_category(); - static const int kCategoryFieldNumber = 4; - const ::std::string& category() const; - void set_category(const ::std::string& value); - #if LANG_CXX11 - void set_category(::std::string&& value); - #endif - void set_category(const char* value); - void set_category(const char* value, size_t size); - ::std::string* mutable_category(); - ::std::string* release_category(); - void set_allocated_category(::std::string* category); + private: + const ::BERTBuffers::ExternalPointer& _internal_com_pointer() const; + ::BERTBuffers::ExternalPointer* _internal_mutable_com_pointer(); - // .BERTBuffers.FunctionElement function = 1; - bool has_function() const; - void clear_function(); - static const int kFunctionFieldNumber = 1; - const ::BERTBuffers::FunctionElement& function() const; - ::BERTBuffers::FunctionElement* release_function(); - ::BERTBuffers::FunctionElement* mutable_function(); - void set_allocated_function(::BERTBuffers::FunctionElement* function); + public: + // .BERTBuffers.GraphicsUpdate graphics = 13; + bool has_graphics() const; + private: + bool _internal_has_graphics() const; - // .BERTBuffers.CallType call_type = 2; - void clear_call_type(); - static const int kCallTypeFieldNumber = 2; - ::BERTBuffers::CallType call_type() const; - void set_call_type(::BERTBuffers::CallType value); + public: + void clear_graphics() ; + const ::BERTBuffers::GraphicsUpdate& graphics() const; + PROTOBUF_NODISCARD ::BERTBuffers::GraphicsUpdate* release_graphics(); + ::BERTBuffers::GraphicsUpdate* mutable_graphics(); + void set_allocated_graphics(::BERTBuffers::GraphicsUpdate* value); + void unsafe_arena_set_allocated_graphics(::BERTBuffers::GraphicsUpdate* value); + ::BERTBuffers::GraphicsUpdate* unsafe_arena_release_graphics(); - // uint32 flags = 3; - void clear_flags(); - static const int kFlagsFieldNumber = 3; - ::google::protobuf::uint32 flags() const; - void set_flags(::google::protobuf::uint32 value); + private: + const ::BERTBuffers::GraphicsUpdate& _internal_graphics() const; + ::BERTBuffers::GraphicsUpdate* _internal_mutable_graphics(); - // @@protoc_insertion_point(class_scope:BERTBuffers.FunctionDescriptor) - private: + public: + // uint32 cache_reference = 14; + bool has_cache_reference() const; + void clear_cache_reference() ; + ::uint32_t cache_reference() const; + void set_cache_reference(::uint32_t value); - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionElement > arguments_; - ::google::protobuf::internal::ArenaStringPtr category_; - ::BERTBuffers::FunctionElement* function_; - int call_type_; - ::google::protobuf::uint32 flags_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsArrayImpl(); + private: + ::uint32_t _internal_cache_reference() const; + void _internal_set_cache_reference(::uint32_t value); + + public: + void clear_value(); + ValueCase value_case() const; + // @@protoc_insertion_point(class_scope:BERTBuffers.Variable) + private: + class _Internal; + void set_has_nil(); + void set_has_missing(); + void set_has_err(); + void set_has_integer(); + void set_has_real(); + void set_has_str(); + void set_has_boolean(); + void set_has_cpx(); + void set_has_arr(); + void set_has_ref(); + void set_has_com_pointer(); + void set_has_graphics(); + void set_has_cache_reference(); + inline bool has_value() const; + inline void clear_has_value(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 14, 6, + 44, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const Variable& from_msg); + ::google::protobuf::internal::ArenaStringPtr name_; + union ValueUnion { + constexpr ValueUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + bool nil_; + bool missing_; + ::BERTBuffers::Error* err_; + ::int32_t integer_; + double real_; + ::google::protobuf::internal::ArenaStringPtr str_; + bool boolean_; + ::BERTBuffers::Complex* cpx_; + ::BERTBuffers::Array* arr_; + ::BERTBuffers::SheetReference* ref_; + ::BERTBuffers::ExternalPointer* com_pointer_; + ::BERTBuffers::GraphicsUpdate* graphics_; + ::uint32_t cache_reference_; + } value_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class FunctionList : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.FunctionList) */ { +class FunctionList final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.FunctionList) */ { public: - FunctionList(); - virtual ~FunctionList(); + inline FunctionList() : FunctionList(nullptr) {} + ~FunctionList() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(FunctionList* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(FunctionList)); + } +#endif - FunctionList(const FunctionList& from); + template + explicit PROTOBUF_CONSTEXPR FunctionList( + ::google::protobuf::internal::ConstantInitialized); + inline FunctionList(const FunctionList& from) : FunctionList(nullptr, from) {} + inline FunctionList(FunctionList&& from) noexcept + : FunctionList(nullptr, std::move(from)) {} inline FunctionList& operator=(const FunctionList& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - FunctionList(FunctionList&& from) noexcept - : FunctionList() { - *this = ::std::move(from); - } - inline FunctionList& operator=(FunctionList&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const FunctionList& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FunctionList& default_instance() { + return *internal_default_instance(); + } static inline const FunctionList* internal_default_instance() { return reinterpret_cast( - &_FunctionList_default_instance_); + &_FunctionList_default_instance_); + } + static constexpr int kIndexInFileMessages = 15; + friend void swap(FunctionList& a, FunctionList& b) { a.Swap(&b); } + inline void Swap(FunctionList* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 15; - - void Swap(FunctionList* other); - friend void swap(FunctionList& a, FunctionList& b) { - a.Swap(&b); + void UnsafeArenaSwap(FunctionList* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline FunctionList* New() const PROTOBUF_FINAL { return New(NULL); } - - FunctionList* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; + FunctionList* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; void CopyFrom(const FunctionList& from); - void MergeFrom(const FunctionList& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(FunctionList* other); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FunctionList& from) { FunctionList::MergeImpl(*this, from); } + private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(FunctionList* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.FunctionList"; } + + protected: + explicit FunctionList(::google::protobuf::Arena* arena); + FunctionList(::google::protobuf::Arena* arena, const FunctionList& from); + FunctionList(::google::protobuf::Arena* arena, FunctionList&& from) noexcept + : FunctionList(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- - + enum : int { + kFunctionsFieldNumber = 1, + }; // repeated .BERTBuffers.FunctionDescriptor functions = 1; int functions_size() const; - void clear_functions(); - static const int kFunctionsFieldNumber = 1; - const ::BERTBuffers::FunctionDescriptor& functions(int index) const; + private: + int _internal_functions_size() const; + + public: + void clear_functions() ; ::BERTBuffers::FunctionDescriptor* mutable_functions(int index); - ::BERTBuffers::FunctionDescriptor* add_functions(); - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor >* - mutable_functions(); - const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor >& - functions() const; + ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>* mutable_functions(); + private: + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>& _internal_functions() const; + ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>* _internal_mutable_functions(); + public: + const ::BERTBuffers::FunctionDescriptor& functions(int index) const; + ::BERTBuffers::FunctionDescriptor* add_functions(); + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>& functions() const; // @@protoc_insertion_point(class_scope:BERTBuffers.FunctionList) private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor > functions_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsFunctionListImpl(); + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const FunctionList& from_msg); + ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor > functions_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class EnumValue : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.EnumValue) */ { +class Console final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.Console) */ { public: - EnumValue(); - virtual ~EnumValue(); + inline Console() : Console(nullptr) {} + ~Console() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Console* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Console)); + } +#endif - EnumValue(const EnumValue& from); + template + explicit PROTOBUF_CONSTEXPR Console( + ::google::protobuf::internal::ConstantInitialized); - inline EnumValue& operator=(const EnumValue& from) { + inline Console(const Console& from) : Console(nullptr, from) {} + inline Console(Console&& from) noexcept + : Console(nullptr, std::move(from)) {} + inline Console& operator=(const Console& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - EnumValue(EnumValue&& from) noexcept - : EnumValue() { - *this = ::std::move(from); - } - - inline EnumValue& operator=(EnumValue&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline Console& operator=(Console&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const EnumValue& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const EnumValue* internal_default_instance() { - return reinterpret_cast( - &_EnumValue_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 16; - void Swap(EnumValue* other); - friend void swap(EnumValue& a, EnumValue& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Console& default_instance() { + return *internal_default_instance(); + } + enum MessageCase { + kText = 1, + kErr = 2, + kPrompt = 3, + kGraphics = 4, + kMimeData = 5, + kHistory = 6, + MESSAGE_NOT_SET = 0, + }; + static inline const Console* internal_default_instance() { + return reinterpret_cast( + &_Console_default_instance_); + } + static constexpr int kIndexInFileMessages = 12; + friend void swap(Console& a, Console& b) { a.Swap(&b); } + inline void Swap(Console* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Console* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline EnumValue* New() const PROTOBUF_FINAL { return New(NULL); } + Console* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Console& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Console& from) { Console::MergeImpl(*this, from); } - EnumValue* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const EnumValue& from); - void MergeFrom(const EnumValue& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(EnumValue* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Console* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.Console"; } + + protected: + explicit Console(::google::protobuf::Arena* arena); + Console(::google::protobuf::Arena* arena, const Console& from); + Console(::google::protobuf::Arena* arena, Console&& from) noexcept + : Console(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kTextFieldNumber = 1, + kErrFieldNumber = 2, + kPromptFieldNumber = 3, + kGraphicsFieldNumber = 4, + kMimeDataFieldNumber = 5, + kHistoryFieldNumber = 6, + }; + // string text = 1; + bool has_text() const; + void clear_text() ; + const std::string& text() const; + template + void set_text(Arg_&& arg, Args_... args); + std::string* mutable_text(); + PROTOBUF_NODISCARD std::string* release_text(); + void set_allocated_text(std::string* value); - // string name = 1; - void clear_name(); - static const int kNameFieldNumber = 1; - const ::std::string& name() const; - void set_name(const ::std::string& value); - #if LANG_CXX11 - void set_name(::std::string&& value); - #endif - void set_name(const char* value); - void set_name(const char* value, size_t size); - ::std::string* mutable_name(); - ::std::string* release_name(); - void set_allocated_name(::std::string* name); - - // int32 value = 2; - void clear_value(); - static const int kValueFieldNumber = 2; - ::google::protobuf::int32 value() const; - void set_value(::google::protobuf::int32 value); - - // @@protoc_insertion_point(class_scope:BERTBuffers.EnumValue) - private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::google::protobuf::int32 value_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsEnumValueImpl(); -}; -// ------------------------------------------------------------------- - -class EnumType : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.EnumType) */ { - public: - EnumType(); - virtual ~EnumType(); - - EnumType(const EnumType& from); + private: + const std::string& _internal_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text( + const std::string& value); + std::string* _internal_mutable_text(); - inline EnumType& operator=(const EnumType& from) { - CopyFrom(from); - return *this; - } - #if LANG_CXX11 - EnumType(EnumType&& from) noexcept - : EnumType() { - *this = ::std::move(from); - } + public: + // string err = 2; + bool has_err() const; + void clear_err() ; + const std::string& err() const; + template + void set_err(Arg_&& arg, Args_... args); + std::string* mutable_err(); + PROTOBUF_NODISCARD std::string* release_err(); + void set_allocated_err(std::string* value); - inline EnumType& operator=(EnumType&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const EnumType& default_instance(); + private: + const std::string& _internal_err() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_err( + const std::string& value); + std::string* _internal_mutable_err(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const EnumType* internal_default_instance() { - return reinterpret_cast( - &_EnumType_default_instance_); - } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 17; + public: + // string prompt = 3; + bool has_prompt() const; + void clear_prompt() ; + const std::string& prompt() const; + template + void set_prompt(Arg_&& arg, Args_... args); + std::string* mutable_prompt(); + PROTOBUF_NODISCARD std::string* release_prompt(); + void set_allocated_prompt(std::string* value); - void Swap(EnumType* other); - friend void swap(EnumType& a, EnumType& b) { - a.Swap(&b); - } + private: + const std::string& _internal_prompt() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_prompt( + const std::string& value); + std::string* _internal_mutable_prompt(); - // implements Message ---------------------------------------------- + public: + // .BERTBuffers.GraphicsCommand graphics = 4; + bool has_graphics() const; + private: + bool _internal_has_graphics() const; - inline EnumType* New() const PROTOBUF_FINAL { return New(NULL); } + public: + void clear_graphics() ; + const ::BERTBuffers::GraphicsCommand& graphics() const; + PROTOBUF_NODISCARD ::BERTBuffers::GraphicsCommand* release_graphics(); + ::BERTBuffers::GraphicsCommand* mutable_graphics(); + void set_allocated_graphics(::BERTBuffers::GraphicsCommand* value); + void unsafe_arena_set_allocated_graphics(::BERTBuffers::GraphicsCommand* value); + ::BERTBuffers::GraphicsCommand* unsafe_arena_release_graphics(); - EnumType* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const EnumType& from); - void MergeFrom(const EnumType& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(EnumType* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; - } + const ::BERTBuffers::GraphicsCommand& _internal_graphics() const; + ::BERTBuffers::GraphicsCommand* _internal_mutable_graphics(); + public: + // .BERTBuffers.MIMEData mime_data = 5; + bool has_mime_data() const; + private: + bool _internal_has_mime_data() const; - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + public: + void clear_mime_data() ; + const ::BERTBuffers::MIMEData& mime_data() const; + PROTOBUF_NODISCARD ::BERTBuffers::MIMEData* release_mime_data(); + ::BERTBuffers::MIMEData* mutable_mime_data(); + void set_allocated_mime_data(::BERTBuffers::MIMEData* value); + void unsafe_arena_set_allocated_mime_data(::BERTBuffers::MIMEData* value); + ::BERTBuffers::MIMEData* unsafe_arena_release_mime_data(); - // nested types ---------------------------------------------------- + private: + const ::BERTBuffers::MIMEData& _internal_mime_data() const; + ::BERTBuffers::MIMEData* _internal_mutable_mime_data(); - // accessors ------------------------------------------------------- + public: + // .BERTBuffers.Variable history = 6; + bool has_history() const; + private: + bool _internal_has_history() const; - // repeated .BERTBuffers.EnumValue values = 2; - int values_size() const; - void clear_values(); - static const int kValuesFieldNumber = 2; - const ::BERTBuffers::EnumValue& values(int index) const; - ::BERTBuffers::EnumValue* mutable_values(int index); - ::BERTBuffers::EnumValue* add_values(); - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumValue >* - mutable_values(); - const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumValue >& - values() const; + public: + void clear_history() ; + const ::BERTBuffers::Variable& history() const; + PROTOBUF_NODISCARD ::BERTBuffers::Variable* release_history(); + ::BERTBuffers::Variable* mutable_history(); + void set_allocated_history(::BERTBuffers::Variable* value); + void unsafe_arena_set_allocated_history(::BERTBuffers::Variable* value); + ::BERTBuffers::Variable* unsafe_arena_release_history(); - // string name = 1; - void clear_name(); - static const int kNameFieldNumber = 1; - const ::std::string& name() const; - void set_name(const ::std::string& value); - #if LANG_CXX11 - void set_name(::std::string&& value); - #endif - void set_name(const char* value); - void set_name(const char* value, size_t size); - ::std::string* mutable_name(); - ::std::string* release_name(); - void set_allocated_name(::std::string* name); + private: + const ::BERTBuffers::Variable& _internal_history() const; + ::BERTBuffers::Variable* _internal_mutable_history(); - // @@protoc_insertion_point(class_scope:BERTBuffers.EnumType) + public: + void clear_message(); + MessageCase message_case() const; + // @@protoc_insertion_point(class_scope:BERTBuffers.Console) private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumValue > values_; - ::google::protobuf::internal::ArenaStringPtr name_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsEnumTypeImpl(); + class _Internal; + void set_has_text(); + void set_has_err(); + void set_has_prompt(); + void set_has_graphics(); + void set_has_mime_data(); + void set_has_history(); + inline bool has_message() const; + inline void clear_has_message(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 6, 3, + 41, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const Console& from_msg); + union MessageUnion { + constexpr MessageUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::internal::ArenaStringPtr text_; + ::google::protobuf::internal::ArenaStringPtr err_; + ::google::protobuf::internal::ArenaStringPtr prompt_; + ::BERTBuffers::GraphicsCommand* graphics_; + ::BERTBuffers::MIMEData* mime_data_; + ::BERTBuffers::Variable* history_; + } message_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class ExternalPointer : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.ExternalPointer) */ { +class CompositeFunctionCall final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.CompositeFunctionCall) */ { public: - ExternalPointer(); - virtual ~ExternalPointer(); + inline CompositeFunctionCall() : CompositeFunctionCall(nullptr) {} + ~CompositeFunctionCall() PROTOBUF_FINAL; - ExternalPointer(const ExternalPointer& from); +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(CompositeFunctionCall* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(CompositeFunctionCall)); + } +#endif - inline ExternalPointer& operator=(const ExternalPointer& from) { + template + explicit PROTOBUF_CONSTEXPR CompositeFunctionCall( + ::google::protobuf::internal::ConstantInitialized); + + inline CompositeFunctionCall(const CompositeFunctionCall& from) : CompositeFunctionCall(nullptr, from) {} + inline CompositeFunctionCall(CompositeFunctionCall&& from) noexcept + : CompositeFunctionCall(nullptr, std::move(from)) {} + inline CompositeFunctionCall& operator=(const CompositeFunctionCall& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - ExternalPointer(ExternalPointer&& from) noexcept - : ExternalPointer() { - *this = ::std::move(from); - } - - inline ExternalPointer& operator=(ExternalPointer&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + inline CompositeFunctionCall& operator=(CompositeFunctionCall&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const ExternalPointer& default_instance(); - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const ExternalPointer* internal_default_instance() { - return reinterpret_cast( - &_ExternalPointer_default_instance_); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 18; - void Swap(ExternalPointer* other); - friend void swap(ExternalPointer& a, ExternalPointer& b) { - a.Swap(&b); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CompositeFunctionCall& default_instance() { + return *internal_default_instance(); + } + static inline const CompositeFunctionCall* internal_default_instance() { + return reinterpret_cast( + &_CompositeFunctionCall_default_instance_); + } + static constexpr int kIndexInFileMessages = 6; + friend void swap(CompositeFunctionCall& a, CompositeFunctionCall& b) { a.Swap(&b); } + inline void Swap(CompositeFunctionCall* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CompositeFunctionCall* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline ExternalPointer* New() const PROTOBUF_FINAL { return New(NULL); } + CompositeFunctionCall* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CompositeFunctionCall& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const CompositeFunctionCall& from) { CompositeFunctionCall::MergeImpl(*this, from); } - ExternalPointer* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const ExternalPointer& from); - void MergeFrom(const ExternalPointer& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(ExternalPointer* other); private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(CompositeFunctionCall* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.CompositeFunctionCall"; } + + protected: + explicit CompositeFunctionCall(::google::protobuf::Arena* arena); + CompositeFunctionCall(::google::protobuf::Arena* arena, const CompositeFunctionCall& from); + CompositeFunctionCall(::google::protobuf::Arena* arena, CompositeFunctionCall&& from) noexcept + : CompositeFunctionCall(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- + enum : int { + kArgumentsFieldNumber = 2, + kFunctionFieldNumber = 1, + kPointerFieldNumber = 3, + kIndexFieldNumber = 4, + kTypeFieldNumber = 5, + kTargetFieldNumber = 6, + kFlagsFieldNumber = 7, + }; + // repeated .BERTBuffers.Variable arguments = 2; + int arguments_size() const; + private: + int _internal_arguments_size() const; - // repeated .BERTBuffers.FunctionDescriptor functions = 3; - int functions_size() const; - void clear_functions(); - static const int kFunctionsFieldNumber = 3; - const ::BERTBuffers::FunctionDescriptor& functions(int index) const; - ::BERTBuffers::FunctionDescriptor* mutable_functions(int index); - ::BERTBuffers::FunctionDescriptor* add_functions(); - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor >* - mutable_functions(); - const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor >& - functions() const; + public: + void clear_arguments() ; + ::BERTBuffers::Variable* mutable_arguments(int index); + ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>* mutable_arguments(); - // repeated .BERTBuffers.EnumType enums = 4; - int enums_size() const; - void clear_enums(); - static const int kEnumsFieldNumber = 4; - const ::BERTBuffers::EnumType& enums(int index) const; - ::BERTBuffers::EnumType* mutable_enums(int index); - ::BERTBuffers::EnumType* add_enums(); - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumType >* - mutable_enums(); - const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumType >& - enums() const; + private: + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>& _internal_arguments() const; + ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>* _internal_mutable_arguments(); + public: + const ::BERTBuffers::Variable& arguments(int index) const; + ::BERTBuffers::Variable* add_arguments(); + const ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>& arguments() const; + // string function = 1; + void clear_function() ; + const std::string& function() const; + template + void set_function(Arg_&& arg, Args_... args); + std::string* mutable_function(); + PROTOBUF_NODISCARD std::string* release_function(); + void set_allocated_function(std::string* value); - // string interface_name = 1; - void clear_interface_name(); - static const int kInterfaceNameFieldNumber = 1; - const ::std::string& interface_name() const; - void set_interface_name(const ::std::string& value); - #if LANG_CXX11 - void set_interface_name(::std::string&& value); - #endif - void set_interface_name(const char* value); - void set_interface_name(const char* value, size_t size); - ::std::string* mutable_interface_name(); - ::std::string* release_interface_name(); - void set_allocated_interface_name(::std::string* interface_name); + private: + const std::string& _internal_function() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_function( + const std::string& value); + std::string* _internal_mutable_function(); - // uint64 pointer = 2; - void clear_pointer(); - static const int kPointerFieldNumber = 2; - ::google::protobuf::uint64 pointer() const; - void set_pointer(::google::protobuf::uint64 value); + public: + // uint64 pointer = 3; + void clear_pointer() ; + ::uint64_t pointer() const; + void set_pointer(::uint64_t value); - // @@protoc_insertion_point(class_scope:BERTBuffers.ExternalPointer) - private: + private: + ::uint64_t _internal_pointer() const; + void _internal_set_pointer(::uint64_t value); + + public: + // uint32 index = 4; + void clear_index() ; + ::uint32_t index() const; + void set_index(::uint32_t value); + + private: + ::uint32_t _internal_index() const; + void _internal_set_index(::uint32_t value); + + public: + // .BERTBuffers.CallType type = 5; + void clear_type() ; + ::BERTBuffers::CallType type() const; + void set_type(::BERTBuffers::CallType value); + + private: + ::BERTBuffers::CallType _internal_type() const; + void _internal_set_type(::BERTBuffers::CallType value); + + public: + // .BERTBuffers.CallTarget target = 6; + void clear_target() ; + ::BERTBuffers::CallTarget target() const; + void set_target(::BERTBuffers::CallTarget value); + + private: + ::BERTBuffers::CallTarget _internal_target() const; + void _internal_set_target(::BERTBuffers::CallTarget value); + + public: + // uint32 flags = 7; + void clear_flags() ; + ::uint32_t flags() const; + void set_flags(::uint32_t value); + + private: + ::uint32_t _internal_flags() const; + void _internal_set_flags(::uint32_t value); - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor > functions_; - ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumType > enums_; - ::google::protobuf::internal::ArenaStringPtr interface_name_; - ::google::protobuf::uint64 pointer_; - mutable int _cached_size_; - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsArrayImpl(); + public: + // @@protoc_insertion_point(class_scope:BERTBuffers.CompositeFunctionCall) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 1, + 50, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const CompositeFunctionCall& from_msg); + ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable > arguments_; + ::google::protobuf::internal::ArenaStringPtr function_; + ::uint64_t pointer_; + ::uint32_t index_; + int type_; + int target_; + ::uint32_t flags_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; // ------------------------------------------------------------------- -class CallResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:BERTBuffers.CallResponse) */ { +class CallResponse final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:BERTBuffers.CallResponse) */ { public: - CallResponse(); - virtual ~CallResponse(); + inline CallResponse() : CallResponse(nullptr) {} + ~CallResponse() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(CallResponse* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(CallResponse)); + } +#endif - CallResponse(const CallResponse& from); + template + explicit PROTOBUF_CONSTEXPR CallResponse( + ::google::protobuf::internal::ConstantInitialized); + inline CallResponse(const CallResponse& from) : CallResponse(nullptr, from) {} + inline CallResponse(CallResponse&& from) noexcept + : CallResponse(nullptr, std::move(from)) {} inline CallResponse& operator=(const CallResponse& from) { CopyFrom(from); return *this; } - #if LANG_CXX11 - CallResponse(CallResponse&& from) noexcept - : CallResponse() { - *this = ::std::move(from); - } - inline CallResponse& operator=(CallResponse&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); } else { CopyFrom(from); } return *this; } - #endif - static const ::google::protobuf::Descriptor* descriptor(); - static const CallResponse& default_instance(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CallResponse& default_instance() { + return *internal_default_instance(); + } enum OperationCase { kErr = 3, kResult = 4, @@ -3151,163 +5310,273 @@ class CallResponse : public ::google::protobuf::Message /* @@protoc_insertion_po kUserCommand = 10, OPERATION_NOT_SET = 0, }; - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY static inline const CallResponse* internal_default_instance() { return reinterpret_cast( - &_CallResponse_default_instance_); + &_CallResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = 19; + friend void swap(CallResponse& a, CallResponse& b) { a.Swap(&b); } + inline void Swap(CallResponse* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 19; - - void Swap(CallResponse* other); - friend void swap(CallResponse& a, CallResponse& b) { - a.Swap(&b); + void UnsafeArenaSwap(CallResponse* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); } // implements Message ---------------------------------------------- - inline CallResponse* New() const PROTOBUF_FINAL { return New(NULL); } - - CallResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; + CallResponse* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; void CopyFrom(const CallResponse& from); - void MergeFrom(const CallResponse& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(CallResponse* other); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const CallResponse& from) { CallResponse::MergeImpl(*this, from); } + private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(CallResponse* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "BERTBuffers.CallResponse"; } + + protected: + explicit CallResponse(::google::protobuf::Arena* arena); + CallResponse(::google::protobuf::Arena* arena, const CallResponse& from); + CallResponse(::google::protobuf::Arena* arena, CallResponse&& from) noexcept + : CallResponse(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + public: + ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- - + enum : int { + kIdFieldNumber = 1, + kWaitFieldNumber = 2, + kErrFieldNumber = 3, + kResultFieldNumber = 4, + kConsoleFieldNumber = 5, + kCodeFieldNumber = 6, + kShellCommandFieldNumber = 7, + kFunctionCallFieldNumber = 8, + kFunctionListFieldNumber = 9, + kUserCommandFieldNumber = 10, + }; // uint32 id = 1; - void clear_id(); - static const int kIdFieldNumber = 1; - ::google::protobuf::uint32 id() const; - void set_id(::google::protobuf::uint32 value); + void clear_id() ; + ::uint32_t id() const; + void set_id(::uint32_t value); + + private: + ::uint32_t _internal_id() const; + void _internal_set_id(::uint32_t value); + public: // bool wait = 2; - void clear_wait(); - static const int kWaitFieldNumber = 2; + void clear_wait() ; bool wait() const; void set_wait(bool value); - // string err = 3; private: - bool has_err() const; + bool _internal_wait() const; + void _internal_set_wait(bool value); + public: - void clear_err(); - static const int kErrFieldNumber = 3; - const ::std::string& err() const; - void set_err(const ::std::string& value); - #if LANG_CXX11 - void set_err(::std::string&& value); - #endif - void set_err(const char* value); - void set_err(const char* value, size_t size); - ::std::string* mutable_err(); - ::std::string* release_err(); - void set_allocated_err(::std::string* err); + // string err = 3; + bool has_err() const; + void clear_err() ; + const std::string& err() const; + template + void set_err(Arg_&& arg, Args_... args); + std::string* mutable_err(); + PROTOBUF_NODISCARD std::string* release_err(); + void set_allocated_err(std::string* value); + + private: + const std::string& _internal_err() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_err( + const std::string& value); + std::string* _internal_mutable_err(); + public: // .BERTBuffers.Variable result = 4; bool has_result() const; - void clear_result(); - static const int kResultFieldNumber = 4; + private: + bool _internal_has_result() const; + + public: + void clear_result() ; const ::BERTBuffers::Variable& result() const; - ::BERTBuffers::Variable* release_result(); + PROTOBUF_NODISCARD ::BERTBuffers::Variable* release_result(); ::BERTBuffers::Variable* mutable_result(); - void set_allocated_result(::BERTBuffers::Variable* result); + void set_allocated_result(::BERTBuffers::Variable* value); + void unsafe_arena_set_allocated_result(::BERTBuffers::Variable* value); + ::BERTBuffers::Variable* unsafe_arena_release_result(); + + private: + const ::BERTBuffers::Variable& _internal_result() const; + ::BERTBuffers::Variable* _internal_mutable_result(); + public: // .BERTBuffers.Console console = 5; bool has_console() const; - void clear_console(); - static const int kConsoleFieldNumber = 5; + private: + bool _internal_has_console() const; + + public: + void clear_console() ; const ::BERTBuffers::Console& console() const; - ::BERTBuffers::Console* release_console(); + PROTOBUF_NODISCARD ::BERTBuffers::Console* release_console(); ::BERTBuffers::Console* mutable_console(); - void set_allocated_console(::BERTBuffers::Console* console); + void set_allocated_console(::BERTBuffers::Console* value); + void unsafe_arena_set_allocated_console(::BERTBuffers::Console* value); + ::BERTBuffers::Console* unsafe_arena_release_console(); + + private: + const ::BERTBuffers::Console& _internal_console() const; + ::BERTBuffers::Console* _internal_mutable_console(); + public: // .BERTBuffers.Code code = 6; bool has_code() const; - void clear_code(); - static const int kCodeFieldNumber = 6; + private: + bool _internal_has_code() const; + + public: + void clear_code() ; const ::BERTBuffers::Code& code() const; - ::BERTBuffers::Code* release_code(); + PROTOBUF_NODISCARD ::BERTBuffers::Code* release_code(); ::BERTBuffers::Code* mutable_code(); - void set_allocated_code(::BERTBuffers::Code* code); + void set_allocated_code(::BERTBuffers::Code* value); + void unsafe_arena_set_allocated_code(::BERTBuffers::Code* value); + ::BERTBuffers::Code* unsafe_arena_release_code(); - // string shell_command = 7; private: - bool has_shell_command() const; + const ::BERTBuffers::Code& _internal_code() const; + ::BERTBuffers::Code* _internal_mutable_code(); + public: - void clear_shell_command(); - static const int kShellCommandFieldNumber = 7; - const ::std::string& shell_command() const; - void set_shell_command(const ::std::string& value); - #if LANG_CXX11 - void set_shell_command(::std::string&& value); - #endif - void set_shell_command(const char* value); - void set_shell_command(const char* value, size_t size); - ::std::string* mutable_shell_command(); - ::std::string* release_shell_command(); - void set_allocated_shell_command(::std::string* shell_command); + // string shell_command = 7; + bool has_shell_command() const; + void clear_shell_command() ; + const std::string& shell_command() const; + template + void set_shell_command(Arg_&& arg, Args_... args); + std::string* mutable_shell_command(); + PROTOBUF_NODISCARD std::string* release_shell_command(); + void set_allocated_shell_command(std::string* value); + private: + const std::string& _internal_shell_command() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_shell_command( + const std::string& value); + std::string* _internal_mutable_shell_command(); + + public: // .BERTBuffers.CompositeFunctionCall function_call = 8; bool has_function_call() const; - void clear_function_call(); - static const int kFunctionCallFieldNumber = 8; + private: + bool _internal_has_function_call() const; + + public: + void clear_function_call() ; const ::BERTBuffers::CompositeFunctionCall& function_call() const; - ::BERTBuffers::CompositeFunctionCall* release_function_call(); + PROTOBUF_NODISCARD ::BERTBuffers::CompositeFunctionCall* release_function_call(); ::BERTBuffers::CompositeFunctionCall* mutable_function_call(); - void set_allocated_function_call(::BERTBuffers::CompositeFunctionCall* function_call); + void set_allocated_function_call(::BERTBuffers::CompositeFunctionCall* value); + void unsafe_arena_set_allocated_function_call(::BERTBuffers::CompositeFunctionCall* value); + ::BERTBuffers::CompositeFunctionCall* unsafe_arena_release_function_call(); + + private: + const ::BERTBuffers::CompositeFunctionCall& _internal_function_call() const; + ::BERTBuffers::CompositeFunctionCall* _internal_mutable_function_call(); + public: // .BERTBuffers.FunctionList function_list = 9; bool has_function_list() const; - void clear_function_list(); - static const int kFunctionListFieldNumber = 9; + private: + bool _internal_has_function_list() const; + + public: + void clear_function_list() ; const ::BERTBuffers::FunctionList& function_list() const; - ::BERTBuffers::FunctionList* release_function_list(); + PROTOBUF_NODISCARD ::BERTBuffers::FunctionList* release_function_list(); ::BERTBuffers::FunctionList* mutable_function_list(); - void set_allocated_function_list(::BERTBuffers::FunctionList* function_list); + void set_allocated_function_list(::BERTBuffers::FunctionList* value); + void unsafe_arena_set_allocated_function_list(::BERTBuffers::FunctionList* value); + ::BERTBuffers::FunctionList* unsafe_arena_release_function_list(); - // uint32 user_command = 10; private: - bool has_user_command() const; + const ::BERTBuffers::FunctionList& _internal_function_list() const; + ::BERTBuffers::FunctionList* _internal_mutable_function_list(); + public: - void clear_user_command(); - static const int kUserCommandFieldNumber = 10; - ::google::protobuf::uint32 user_command() const; - void set_user_command(::google::protobuf::uint32 value); + // uint32 user_command = 10; + bool has_user_command() const; + void clear_user_command() ; + ::uint32_t user_command() const; + void set_user_command(::uint32_t value); + + private: + ::uint32_t _internal_user_command() const; + void _internal_set_user_command(::uint32_t value); + public: + void clear_operation(); OperationCase operation_case() const; // @@protoc_insertion_point(class_scope:BERTBuffers.CallResponse) private: + class _Internal; void set_has_err(); void set_has_result(); void set_has_console(); @@ -3316,69 +5585,109 @@ class CallResponse : public ::google::protobuf::Message /* @@protoc_insertion_po void set_has_function_call(); void set_has_function_list(); void set_has_user_command(); - inline bool has_operation() const; - void clear_operation(); inline void clear_has_operation(); - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::uint32 id_; - bool wait_; - union OperationUnion { - OperationUnion() {} - ::google::protobuf::internal::ArenaStringPtr err_; - ::BERTBuffers::Variable* result_; - ::BERTBuffers::Console* console_; - ::BERTBuffers::Code* code_; - ::google::protobuf::internal::ArenaStringPtr shell_command_; - ::BERTBuffers::CompositeFunctionCall* function_call_; - ::BERTBuffers::FunctionList* function_list_; - ::google::protobuf::uint32 user_command_; - } operation_; - mutable int _cached_size_; - ::google::protobuf::uint32 _oneof_case_[1]; - - friend struct ::protobuf_variable_2eproto::TableStruct; - friend void ::protobuf_variable_2eproto::InitDefaultsCallResponseImpl(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 10, 5, + 57, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const CallResponse& from_msg); + ::uint32_t id_; + bool wait_; + union OperationUnion { + constexpr OperationUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::internal::ArenaStringPtr err_; + ::BERTBuffers::Variable* result_; + ::BERTBuffers::Console* console_; + ::BERTBuffers::Code* code_; + ::google::protobuf::internal::ArenaStringPtr shell_command_; + ::BERTBuffers::CompositeFunctionCall* function_call_; + ::BERTBuffers::FunctionList* function_list_; + ::uint32_t user_command_; + } operation_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_variable_2eproto; }; + // =================================================================== + + // =================================================================== + #ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif // __GNUC__ +// ------------------------------------------------------------------- + // Complex // double r = 1; inline void Complex::clear_r() { - r_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.r_ = 0; } inline double Complex::r() const { // @@protoc_insertion_point(field_get:BERTBuffers.Complex.r) - return r_; + return _internal_r(); } inline void Complex::set_r(double value) { - - r_ = value; + _internal_set_r(value); // @@protoc_insertion_point(field_set:BERTBuffers.Complex.r) } +inline double Complex::_internal_r() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.r_; +} +inline void Complex::_internal_set_r(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.r_ = value; +} // double i = 2; inline void Complex::clear_i() { - i_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.i_ = 0; } inline double Complex::i() const { // @@protoc_insertion_point(field_get:BERTBuffers.Complex.i) - return i_; + return _internal_i(); } inline void Complex::set_i(double value) { - - i_ = value; + _internal_set_i(value); // @@protoc_insertion_point(field_set:BERTBuffers.Complex.i) } +inline double Complex::_internal_i() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.i_; +} +inline void Complex::_internal_set_i(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.i_ = value; +} // ------------------------------------------------------------------- @@ -3386,198 +5695,223 @@ inline void Complex::set_i(double value) { // int32 rows = 1; inline void Array::clear_rows() { - rows_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rows_ = 0; } -inline ::google::protobuf::int32 Array::rows() const { +inline ::int32_t Array::rows() const { // @@protoc_insertion_point(field_get:BERTBuffers.Array.rows) - return rows_; + return _internal_rows(); } -inline void Array::set_rows(::google::protobuf::int32 value) { - - rows_ = value; +inline void Array::set_rows(::int32_t value) { + _internal_set_rows(value); // @@protoc_insertion_point(field_set:BERTBuffers.Array.rows) } +inline ::int32_t Array::_internal_rows() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.rows_; +} +inline void Array::_internal_set_rows(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rows_ = value; +} // int32 cols = 2; inline void Array::clear_cols() { - cols_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cols_ = 0; } -inline ::google::protobuf::int32 Array::cols() const { +inline ::int32_t Array::cols() const { // @@protoc_insertion_point(field_get:BERTBuffers.Array.cols) - return cols_; + return _internal_cols(); } -inline void Array::set_cols(::google::protobuf::int32 value) { - - cols_ = value; +inline void Array::set_cols(::int32_t value) { + _internal_set_cols(value); // @@protoc_insertion_point(field_set:BERTBuffers.Array.cols) } +inline ::int32_t Array::_internal_cols() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.cols_; +} +inline void Array::_internal_set_cols(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cols_ = value; +} // repeated .BERTBuffers.Variable data = 3; +inline int Array::_internal_data_size() const { + return _internal_data().size(); +} inline int Array::data_size() const { - return data_.size(); + return _internal_data_size(); } inline void Array::clear_data() { - data_.Clear(); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.data_.Clear(); } -inline const ::BERTBuffers::Variable& Array::data(int index) const { - // @@protoc_insertion_point(field_get:BERTBuffers.Array.data) - return data_.Get(index); -} -inline ::BERTBuffers::Variable* Array::mutable_data(int index) { +inline ::BERTBuffers::Variable* Array::mutable_data(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.Array.data) - return data_.Mutable(index); -} -inline ::BERTBuffers::Variable* Array::add_data() { - // @@protoc_insertion_point(field_add:BERTBuffers.Array.data) - return data_.Add(); + return _internal_mutable_data()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable >* -Array::mutable_data() { +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>* Array::mutable_data() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.Array.data) - return &data_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_data(); +} +inline const ::BERTBuffers::Variable& Array::data(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:BERTBuffers.Array.data) + return _internal_data().Get(index); +} +inline ::BERTBuffers::Variable* Array::add_data() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::BERTBuffers::Variable* _add = _internal_mutable_data()->Add(); + // @@protoc_insertion_point(field_add:BERTBuffers.Array.data) + return _add; } -inline const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable >& -Array::data() const { +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>& Array::data() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.Array.data) - return data_; + return _internal_data(); +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>& +Array::_internal_data() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.data_; +} +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>* +Array::_internal_mutable_data() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.data_; } // repeated string rownames = 4; +inline int Array::_internal_rownames_size() const { + return _internal_rownames().size(); +} inline int Array::rownames_size() const { - return rownames_.size(); + return _internal_rownames_size(); } inline void Array::clear_rownames() { - rownames_.Clear(); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rownames_.Clear(); +} +inline std::string* Array::add_rownames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + std::string* _s = _internal_mutable_rownames()->Add(); + // @@protoc_insertion_point(field_add_mutable:BERTBuffers.Array.rownames) + return _s; } -inline const ::std::string& Array::rownames(int index) const { +inline const std::string& Array::rownames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Array.rownames) - return rownames_.Get(index); + return _internal_rownames().Get(index); } -inline ::std::string* Array::mutable_rownames(int index) { +inline std::string* Array::mutable_rownames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.Array.rownames) - return rownames_.Mutable(index); -} -inline void Array::set_rownames(int index, const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Array.rownames) - rownames_.Mutable(index)->assign(value); + return _internal_mutable_rownames()->Mutable(index); } -#if LANG_CXX11 -inline void Array::set_rownames(int index, ::std::string&& value) { +template +inline void Array::set_rownames(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString( + *_internal_mutable_rownames()->Mutable(index), + std::forward(value), args... ); // @@protoc_insertion_point(field_set:BERTBuffers.Array.rownames) - rownames_.Mutable(index)->assign(std::move(value)); -} -#endif -inline void Array::set_rownames(int index, const char* value) { - GOOGLE_DCHECK(value != NULL); - rownames_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Array.rownames) -} -inline void Array::set_rownames(int index, const char* value, size_t size) { - rownames_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Array.rownames) -} -inline ::std::string* Array::add_rownames() { - // @@protoc_insertion_point(field_add_mutable:BERTBuffers.Array.rownames) - return rownames_.Add(); } -inline void Array::add_rownames(const ::std::string& value) { - rownames_.Add()->assign(value); +template +inline void Array::add_rownames(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_rownames(), + std::forward(value), + args... ); // @@protoc_insertion_point(field_add:BERTBuffers.Array.rownames) } -#if LANG_CXX11 -inline void Array::add_rownames(::std::string&& value) { - rownames_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:BERTBuffers.Array.rownames) -} -#endif -inline void Array::add_rownames(const char* value) { - GOOGLE_DCHECK(value != NULL); - rownames_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:BERTBuffers.Array.rownames) -} -inline void Array::add_rownames(const char* value, size_t size) { - rownames_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:BERTBuffers.Array.rownames) -} -inline const ::google::protobuf::RepeatedPtrField< ::std::string>& -Array::rownames() const { +inline const ::google::protobuf::RepeatedPtrField& +Array::rownames() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.Array.rownames) - return rownames_; + return _internal_rownames(); } -inline ::google::protobuf::RepeatedPtrField< ::std::string>* -Array::mutable_rownames() { +inline ::google::protobuf::RepeatedPtrField* +Array::mutable_rownames() ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.Array.rownames) - return &rownames_; -} - -// repeated string colnames = 5; -inline int Array::colnames_size() const { - return colnames_.size(); -} -inline void Array::clear_colnames() { - colnames_.Clear(); -} -inline const ::std::string& Array::colnames(int index) const { - // @@protoc_insertion_point(field_get:BERTBuffers.Array.colnames) - return colnames_.Get(index); + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_rownames(); } -inline ::std::string* Array::mutable_colnames(int index) { - // @@protoc_insertion_point(field_mutable:BERTBuffers.Array.colnames) - return colnames_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField& +Array::_internal_rownames() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.rownames_; } -inline void Array::set_colnames(int index, const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Array.colnames) - colnames_.Mutable(index)->assign(value); +inline ::google::protobuf::RepeatedPtrField* +Array::_internal_mutable_rownames() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.rownames_; } -#if LANG_CXX11 -inline void Array::set_colnames(int index, ::std::string&& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Array.colnames) - colnames_.Mutable(index)->assign(std::move(value)); + +// repeated string colnames = 5; +inline int Array::_internal_colnames_size() const { + return _internal_colnames().size(); } -#endif -inline void Array::set_colnames(int index, const char* value) { - GOOGLE_DCHECK(value != NULL); - colnames_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Array.colnames) +inline int Array::colnames_size() const { + return _internal_colnames_size(); } -inline void Array::set_colnames(int index, const char* value, size_t size) { - colnames_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Array.colnames) +inline void Array::clear_colnames() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.colnames_.Clear(); } -inline ::std::string* Array::add_colnames() { +inline std::string* Array::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + std::string* _s = _internal_mutable_colnames()->Add(); // @@protoc_insertion_point(field_add_mutable:BERTBuffers.Array.colnames) - return colnames_.Add(); + return _s; } -inline void Array::add_colnames(const ::std::string& value) { - colnames_.Add()->assign(value); - // @@protoc_insertion_point(field_add:BERTBuffers.Array.colnames) +inline const std::string& Array::colnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:BERTBuffers.Array.colnames) + return _internal_colnames().Get(index); } -#if LANG_CXX11 -inline void Array::add_colnames(::std::string&& value) { - colnames_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:BERTBuffers.Array.colnames) +inline std::string* Array::mutable_colnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:BERTBuffers.Array.colnames) + return _internal_mutable_colnames()->Mutable(index); } -#endif -inline void Array::add_colnames(const char* value) { - GOOGLE_DCHECK(value != NULL); - colnames_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:BERTBuffers.Array.colnames) +template +inline void Array::set_colnames(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString( + *_internal_mutable_colnames()->Mutable(index), + std::forward(value), args... ); + // @@protoc_insertion_point(field_set:BERTBuffers.Array.colnames) } -inline void Array::add_colnames(const char* value, size_t size) { - colnames_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:BERTBuffers.Array.colnames) +template +inline void Array::add_colnames(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_colnames(), + std::forward(value), + args... ); + // @@protoc_insertion_point(field_add:BERTBuffers.Array.colnames) } -inline const ::google::protobuf::RepeatedPtrField< ::std::string>& -Array::colnames() const { +inline const ::google::protobuf::RepeatedPtrField& +Array::colnames() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.Array.colnames) - return colnames_; + return _internal_colnames(); } -inline ::google::protobuf::RepeatedPtrField< ::std::string>* -Array::mutable_colnames() { +inline ::google::protobuf::RepeatedPtrField* +Array::mutable_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.Array.colnames) - return &colnames_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_colnames(); +} +inline const ::google::protobuf::RepeatedPtrField& +Array::_internal_colnames() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.colnames_; +} +inline ::google::protobuf::RepeatedPtrField* +Array::_internal_mutable_colnames() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.colnames_; } // ------------------------------------------------------------------- @@ -3586,68 +5920,71 @@ Array::mutable_colnames() { // .BERTBuffers.ErrorType type = 1; inline void Error::clear_type() { - type_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_ = 0; } inline ::BERTBuffers::ErrorType Error::type() const { // @@protoc_insertion_point(field_get:BERTBuffers.Error.type) - return static_cast< ::BERTBuffers::ErrorType >(type_); + return _internal_type(); } inline void Error::set_type(::BERTBuffers::ErrorType value) { - - type_ = value; + _internal_set_type(value); // @@protoc_insertion_point(field_set:BERTBuffers.Error.type) } +inline ::BERTBuffers::ErrorType Error::_internal_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::BERTBuffers::ErrorType>(_impl_.type_); +} +inline void Error::_internal_set_type(::BERTBuffers::ErrorType value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_ = value; +} // string message = 2; inline void Error::clear_message() { - message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_.ClearToEmpty(); } -inline const ::std::string& Error::message() const { +inline const std::string& Error::message() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Error.message) - return message_.GetNoArena(); + return _internal_message(); } -inline void Error::set_message(const ::std::string& value) { - - message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void Error::set_message(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.Error.message) } -#if LANG_CXX11 -inline void Error::set_message(::std::string&& value) { - - message_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.Error.message) -} -#endif -inline void Error::set_message(const char* value) { - GOOGLE_DCHECK(value != NULL); - - message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Error.message) -} -inline void Error::set_message(const char* value, size_t size) { - - message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Error.message) -} -inline ::std::string* Error::mutable_message() { - +inline std::string* Error::mutable_message() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_message(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Error.message) - return message_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& Error::_internal_message() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.message_.Get(); +} +inline void Error::_internal_set_message(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_.Set(value, GetArena()); } -inline ::std::string* Error::release_message() { +inline std::string* Error::_internal_mutable_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.message_.Mutable( GetArena()); +} +inline std::string* Error::release_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.Error.message) - - return message_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.message_.Release(); } -inline void Error::set_allocated_message(::std::string* message) { - if (message != NULL) { - - } else { - +inline void Error::set_allocated_message(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) { + _impl_.message_.Set("", GetArena()); } - message_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), message); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Error.message) } @@ -3657,73 +5994,113 @@ inline void Error::set_allocated_message(::std::string* message) { // uint32 start_row = 1; inline void SheetReference::clear_start_row() { - start_row_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.start_row_ = 0u; } -inline ::google::protobuf::uint32 SheetReference::start_row() const { +inline ::uint32_t SheetReference::start_row() const { // @@protoc_insertion_point(field_get:BERTBuffers.SheetReference.start_row) - return start_row_; + return _internal_start_row(); } -inline void SheetReference::set_start_row(::google::protobuf::uint32 value) { - - start_row_ = value; +inline void SheetReference::set_start_row(::uint32_t value) { + _internal_set_start_row(value); // @@protoc_insertion_point(field_set:BERTBuffers.SheetReference.start_row) } +inline ::uint32_t SheetReference::_internal_start_row() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.start_row_; +} +inline void SheetReference::_internal_set_start_row(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.start_row_ = value; +} // uint32 start_column = 2; inline void SheetReference::clear_start_column() { - start_column_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.start_column_ = 0u; } -inline ::google::protobuf::uint32 SheetReference::start_column() const { +inline ::uint32_t SheetReference::start_column() const { // @@protoc_insertion_point(field_get:BERTBuffers.SheetReference.start_column) - return start_column_; + return _internal_start_column(); } -inline void SheetReference::set_start_column(::google::protobuf::uint32 value) { - - start_column_ = value; +inline void SheetReference::set_start_column(::uint32_t value) { + _internal_set_start_column(value); // @@protoc_insertion_point(field_set:BERTBuffers.SheetReference.start_column) } +inline ::uint32_t SheetReference::_internal_start_column() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.start_column_; +} +inline void SheetReference::_internal_set_start_column(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.start_column_ = value; +} // uint32 end_row = 3; inline void SheetReference::clear_end_row() { - end_row_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.end_row_ = 0u; } -inline ::google::protobuf::uint32 SheetReference::end_row() const { +inline ::uint32_t SheetReference::end_row() const { // @@protoc_insertion_point(field_get:BERTBuffers.SheetReference.end_row) - return end_row_; + return _internal_end_row(); } -inline void SheetReference::set_end_row(::google::protobuf::uint32 value) { - - end_row_ = value; +inline void SheetReference::set_end_row(::uint32_t value) { + _internal_set_end_row(value); // @@protoc_insertion_point(field_set:BERTBuffers.SheetReference.end_row) } +inline ::uint32_t SheetReference::_internal_end_row() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.end_row_; +} +inline void SheetReference::_internal_set_end_row(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.end_row_ = value; +} // uint32 end_column = 4; inline void SheetReference::clear_end_column() { - end_column_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.end_column_ = 0u; } -inline ::google::protobuf::uint32 SheetReference::end_column() const { +inline ::uint32_t SheetReference::end_column() const { // @@protoc_insertion_point(field_get:BERTBuffers.SheetReference.end_column) - return end_column_; + return _internal_end_column(); } -inline void SheetReference::set_end_column(::google::protobuf::uint32 value) { - - end_column_ = value; +inline void SheetReference::set_end_column(::uint32_t value) { + _internal_set_end_column(value); // @@protoc_insertion_point(field_set:BERTBuffers.SheetReference.end_column) } +inline ::uint32_t SheetReference::_internal_end_column() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.end_column_; +} +inline void SheetReference::_internal_set_end_column(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.end_column_ = value; +} // uint64 sheet_id = 5; inline void SheetReference::clear_sheet_id() { - sheet_id_ = GOOGLE_ULONGLONG(0); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.sheet_id_ = ::uint64_t{0u}; } -inline ::google::protobuf::uint64 SheetReference::sheet_id() const { +inline ::uint64_t SheetReference::sheet_id() const { // @@protoc_insertion_point(field_get:BERTBuffers.SheetReference.sheet_id) - return sheet_id_; + return _internal_sheet_id(); } -inline void SheetReference::set_sheet_id(::google::protobuf::uint64 value) { - - sheet_id_ = value; +inline void SheetReference::set_sheet_id(::uint64_t value) { + _internal_set_sheet_id(value); // @@protoc_insertion_point(field_set:BERTBuffers.SheetReference.sheet_id) } +inline ::uint64_t SheetReference::_internal_sheet_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.sheet_id_; +} +inline void SheetReference::_internal_set_sheet_id(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.sheet_id_ = value; +} // ------------------------------------------------------------------- @@ -3734,97 +6111,144 @@ inline bool Variable::has_nil() const { return value_case() == kNil; } inline void Variable::set_has_nil() { - _oneof_case_[0] = kNil; + _impl_._oneof_case_[0] = kNil; } inline void Variable::clear_nil() { - if (has_nil()) { - value_.nil_ = false; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kNil) { + _impl_.value_.nil_ = false; clear_has_value(); } } inline bool Variable::nil() const { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.nil) - if (has_nil()) { - return value_.nil_; - } - return false; + return _internal_nil(); } inline void Variable::set_nil(bool value) { - if (!has_nil()) { + if (value_case() != kNil) { clear_value(); set_has_nil(); } - value_.nil_ = value; + _impl_.value_.nil_ = value; // @@protoc_insertion_point(field_set:BERTBuffers.Variable.nil) } +inline bool Variable::_internal_nil() const { + if (value_case() == kNil) { + return _impl_.value_.nil_; + } + return false; +} // bool missing = 2; inline bool Variable::has_missing() const { return value_case() == kMissing; } inline void Variable::set_has_missing() { - _oneof_case_[0] = kMissing; + _impl_._oneof_case_[0] = kMissing; } inline void Variable::clear_missing() { - if (has_missing()) { - value_.missing_ = false; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kMissing) { + _impl_.value_.missing_ = false; clear_has_value(); } } inline bool Variable::missing() const { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.missing) - if (has_missing()) { - return value_.missing_; - } - return false; + return _internal_missing(); } inline void Variable::set_missing(bool value) { - if (!has_missing()) { + if (value_case() != kMissing) { clear_value(); set_has_missing(); } - value_.missing_ = value; + _impl_.value_.missing_ = value; // @@protoc_insertion_point(field_set:BERTBuffers.Variable.missing) } +inline bool Variable::_internal_missing() const { + if (value_case() == kMissing) { + return _impl_.value_.missing_; + } + return false; +} // .BERTBuffers.Error err = 3; inline bool Variable::has_err() const { return value_case() == kErr; } +inline bool Variable::_internal_has_err() const { + return value_case() == kErr; +} inline void Variable::set_has_err() { - _oneof_case_[0] = kErr; + _impl_._oneof_case_[0] = kErr; } inline void Variable::clear_err() { - if (has_err()) { - delete value_.err_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kErr) { + if (GetArena() == nullptr) { + delete _impl_.value_.err_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.err_); + } clear_has_value(); } } inline ::BERTBuffers::Error* Variable::release_err() { // @@protoc_insertion_point(field_release:BERTBuffers.Variable.err) - if (has_err()) { + if (value_case() == kErr) { clear_has_value(); - ::BERTBuffers::Error* temp = value_.err_; - value_.err_ = NULL; + auto* temp = _impl_.value_.err_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.value_.err_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::Error& Variable::err() const { +inline const ::BERTBuffers::Error& Variable::_internal_err() const { + return value_case() == kErr ? *_impl_.value_.err_ : reinterpret_cast<::BERTBuffers::Error&>(::BERTBuffers::_Error_default_instance_); +} +inline const ::BERTBuffers::Error& Variable::err() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.err) - return has_err() - ? *value_.err_ - : *reinterpret_cast< ::BERTBuffers::Error*>(&::BERTBuffers::_Error_default_instance_); + return _internal_err(); +} +inline ::BERTBuffers::Error* Variable::unsafe_arena_release_err() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Variable.err) + if (value_case() == kErr) { + clear_has_value(); + auto* temp = _impl_.value_.err_; + _impl_.value_.err_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline ::BERTBuffers::Error* Variable::mutable_err() { - if (!has_err()) { +inline void Variable::unsafe_arena_set_allocated_err(::BERTBuffers::Error* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_value(); + if (value) { + set_has_err(); + _impl_.value_.err_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Variable.err) +} +inline ::BERTBuffers::Error* Variable::_internal_mutable_err() { + if (value_case() != kErr) { clear_value(); set_has_err(); - value_.err_ = new ::BERTBuffers::Error; + _impl_.value_.err_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Error>(GetArena()); } + return _impl_.value_.err_; +} +inline ::BERTBuffers::Error* Variable::mutable_err() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::Error* _msg = _internal_mutable_err(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.err) - return value_.err_; + return _msg; } // int32 integer = 5; @@ -3832,150 +6256,148 @@ inline bool Variable::has_integer() const { return value_case() == kInteger; } inline void Variable::set_has_integer() { - _oneof_case_[0] = kInteger; + _impl_._oneof_case_[0] = kInteger; } inline void Variable::clear_integer() { - if (has_integer()) { - value_.integer_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kInteger) { + _impl_.value_.integer_ = 0; clear_has_value(); } } -inline ::google::protobuf::int32 Variable::integer() const { +inline ::int32_t Variable::integer() const { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.integer) - if (has_integer()) { - return value_.integer_; - } - return 0; + return _internal_integer(); } -inline void Variable::set_integer(::google::protobuf::int32 value) { - if (!has_integer()) { +inline void Variable::set_integer(::int32_t value) { + if (value_case() != kInteger) { clear_value(); set_has_integer(); } - value_.integer_ = value; + _impl_.value_.integer_ = value; // @@protoc_insertion_point(field_set:BERTBuffers.Variable.integer) } +inline ::int32_t Variable::_internal_integer() const { + if (value_case() == kInteger) { + return _impl_.value_.integer_; + } + return 0; +} // double real = 6; inline bool Variable::has_real() const { return value_case() == kReal; } inline void Variable::set_has_real() { - _oneof_case_[0] = kReal; + _impl_._oneof_case_[0] = kReal; } inline void Variable::clear_real() { - if (has_real()) { - value_.real_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kReal) { + _impl_.value_.real_ = 0; clear_has_value(); } } inline double Variable::real() const { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.real) - if (has_real()) { - return value_.real_; - } - return 0; + return _internal_real(); } inline void Variable::set_real(double value) { - if (!has_real()) { + if (value_case() != kReal) { clear_value(); set_has_real(); } - value_.real_ = value; + _impl_.value_.real_ = value; // @@protoc_insertion_point(field_set:BERTBuffers.Variable.real) } +inline double Variable::_internal_real() const { + if (value_case() == kReal) { + return _impl_.value_.real_; + } + return 0; +} // string str = 7; inline bool Variable::has_str() const { return value_case() == kStr; } inline void Variable::set_has_str() { - _oneof_case_[0] = kStr; + _impl_._oneof_case_[0] = kStr; } inline void Variable::clear_str() { - if (has_str()) { - value_.str_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kStr) { + _impl_.value_.str_.Destroy(); clear_has_value(); } } -inline const ::std::string& Variable::str() const { +inline const std::string& Variable::str() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.str) - if (has_str()) { - return value_.str_.GetNoArena(); - } - return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); + return _internal_str(); } -inline void Variable::set_str(const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Variable.str) - if (!has_str()) { +template +inline PROTOBUF_ALWAYS_INLINE void Variable::set_str(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() != kStr) { clear_value(); + set_has_str(); - value_.str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.value_.str_.InitDefault(); } - value_.str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + _impl_.value_.str_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.Variable.str) } -#if LANG_CXX11 -inline void Variable::set_str(::std::string&& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Variable.str) - if (!has_str()) { - clear_value(); - set_has_str(); - value_.str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } - value_.str_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.Variable.str) +inline std::string* Variable::mutable_str() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_str(); + // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.str) + return _s; } -#endif -inline void Variable::set_str(const char* value) { - GOOGLE_DCHECK(value != NULL); - if (!has_str()) { - clear_value(); - set_has_str(); - value_.str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline const std::string& Variable::_internal_str() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (value_case() != kStr) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } - value_.str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Variable.str) + return _impl_.value_.str_.Get(); } -inline void Variable::set_str(const char* value, size_t size) { - if (!has_str()) { +inline void Variable::_internal_set_str(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() != kStr) { clear_value(); + set_has_str(); - value_.str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.value_.str_.InitDefault(); } - value_.str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( - reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Variable.str) + _impl_.value_.str_.Set(value, GetArena()); } -inline ::std::string* Variable::mutable_str() { - if (!has_str()) { +inline std::string* Variable::_internal_mutable_str() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() != kStr) { clear_value(); + set_has_str(); - value_.str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.value_.str_.InitDefault(); } - // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.str) - return value_.str_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.value_.str_.Mutable( GetArena()); } -inline ::std::string* Variable::release_str() { +inline std::string* Variable::release_str() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.Variable.str) - if (has_str()) { - clear_has_value(); - return value_.str_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } else { - return NULL; + if (value_case() != kStr) { + return nullptr; } + clear_has_value(); + return _impl_.value_.str_.Release(); } -inline void Variable::set_allocated_str(::std::string* str) { - if (!has_str()) { - value_.str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline void Variable::set_allocated_str(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_value()) { + clear_value(); } - clear_value(); - if (str != NULL) { + if (value != nullptr) { set_has_str(); - value_.str_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - str); + _impl_.value_.str_.InitAllocated(value, GetArena()); } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.str) } @@ -3985,228 +6407,427 @@ inline bool Variable::has_boolean() const { return value_case() == kBoolean; } inline void Variable::set_has_boolean() { - _oneof_case_[0] = kBoolean; + _impl_._oneof_case_[0] = kBoolean; } inline void Variable::clear_boolean() { - if (has_boolean()) { - value_.boolean_ = false; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kBoolean) { + _impl_.value_.boolean_ = false; clear_has_value(); } } inline bool Variable::boolean() const { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.boolean) - if (has_boolean()) { - return value_.boolean_; - } - return false; + return _internal_boolean(); } inline void Variable::set_boolean(bool value) { - if (!has_boolean()) { + if (value_case() != kBoolean) { clear_value(); set_has_boolean(); } - value_.boolean_ = value; + _impl_.value_.boolean_ = value; // @@protoc_insertion_point(field_set:BERTBuffers.Variable.boolean) } +inline bool Variable::_internal_boolean() const { + if (value_case() == kBoolean) { + return _impl_.value_.boolean_; + } + return false; +} // .BERTBuffers.Complex cpx = 9; inline bool Variable::has_cpx() const { return value_case() == kCpx; } +inline bool Variable::_internal_has_cpx() const { + return value_case() == kCpx; +} inline void Variable::set_has_cpx() { - _oneof_case_[0] = kCpx; + _impl_._oneof_case_[0] = kCpx; } inline void Variable::clear_cpx() { - if (has_cpx()) { - delete value_.cpx_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kCpx) { + if (GetArena() == nullptr) { + delete _impl_.value_.cpx_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.cpx_); + } clear_has_value(); } } inline ::BERTBuffers::Complex* Variable::release_cpx() { // @@protoc_insertion_point(field_release:BERTBuffers.Variable.cpx) - if (has_cpx()) { + if (value_case() == kCpx) { clear_has_value(); - ::BERTBuffers::Complex* temp = value_.cpx_; - value_.cpx_ = NULL; + auto* temp = _impl_.value_.cpx_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.value_.cpx_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::Complex& Variable::cpx() const { +inline const ::BERTBuffers::Complex& Variable::_internal_cpx() const { + return value_case() == kCpx ? *_impl_.value_.cpx_ : reinterpret_cast<::BERTBuffers::Complex&>(::BERTBuffers::_Complex_default_instance_); +} +inline const ::BERTBuffers::Complex& Variable::cpx() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.cpx) - return has_cpx() - ? *value_.cpx_ - : *reinterpret_cast< ::BERTBuffers::Complex*>(&::BERTBuffers::_Complex_default_instance_); + return _internal_cpx(); +} +inline ::BERTBuffers::Complex* Variable::unsafe_arena_release_cpx() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Variable.cpx) + if (value_case() == kCpx) { + clear_has_value(); + auto* temp = _impl_.value_.cpx_; + _impl_.value_.cpx_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline ::BERTBuffers::Complex* Variable::mutable_cpx() { - if (!has_cpx()) { +inline void Variable::unsafe_arena_set_allocated_cpx(::BERTBuffers::Complex* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_value(); + if (value) { + set_has_cpx(); + _impl_.value_.cpx_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Variable.cpx) +} +inline ::BERTBuffers::Complex* Variable::_internal_mutable_cpx() { + if (value_case() != kCpx) { clear_value(); set_has_cpx(); - value_.cpx_ = new ::BERTBuffers::Complex; + _impl_.value_.cpx_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Complex>(GetArena()); } + return _impl_.value_.cpx_; +} +inline ::BERTBuffers::Complex* Variable::mutable_cpx() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::Complex* _msg = _internal_mutable_cpx(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.cpx) - return value_.cpx_; + return _msg; } // .BERTBuffers.Array arr = 10; inline bool Variable::has_arr() const { return value_case() == kArr; } +inline bool Variable::_internal_has_arr() const { + return value_case() == kArr; +} inline void Variable::set_has_arr() { - _oneof_case_[0] = kArr; + _impl_._oneof_case_[0] = kArr; } inline void Variable::clear_arr() { - if (has_arr()) { - delete value_.arr_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kArr) { + if (GetArena() == nullptr) { + delete _impl_.value_.arr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.arr_); + } clear_has_value(); } } inline ::BERTBuffers::Array* Variable::release_arr() { // @@protoc_insertion_point(field_release:BERTBuffers.Variable.arr) - if (has_arr()) { + if (value_case() == kArr) { clear_has_value(); - ::BERTBuffers::Array* temp = value_.arr_; - value_.arr_ = NULL; + auto* temp = _impl_.value_.arr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.value_.arr_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::Array& Variable::arr() const { +inline const ::BERTBuffers::Array& Variable::_internal_arr() const { + return value_case() == kArr ? *_impl_.value_.arr_ : reinterpret_cast<::BERTBuffers::Array&>(::BERTBuffers::_Array_default_instance_); +} +inline const ::BERTBuffers::Array& Variable::arr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.arr) - return has_arr() - ? *value_.arr_ - : *reinterpret_cast< ::BERTBuffers::Array*>(&::BERTBuffers::_Array_default_instance_); + return _internal_arr(); +} +inline ::BERTBuffers::Array* Variable::unsafe_arena_release_arr() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Variable.arr) + if (value_case() == kArr) { + clear_has_value(); + auto* temp = _impl_.value_.arr_; + _impl_.value_.arr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Variable::unsafe_arena_set_allocated_arr(::BERTBuffers::Array* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_value(); + if (value) { + set_has_arr(); + _impl_.value_.arr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Variable.arr) } -inline ::BERTBuffers::Array* Variable::mutable_arr() { - if (!has_arr()) { +inline ::BERTBuffers::Array* Variable::_internal_mutable_arr() { + if (value_case() != kArr) { clear_value(); set_has_arr(); - value_.arr_ = new ::BERTBuffers::Array; + _impl_.value_.arr_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Array>(GetArena()); } + return _impl_.value_.arr_; +} +inline ::BERTBuffers::Array* Variable::mutable_arr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::Array* _msg = _internal_mutable_arr(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.arr) - return value_.arr_; + return _msg; } // .BERTBuffers.SheetReference ref = 11; inline bool Variable::has_ref() const { return value_case() == kRef; } +inline bool Variable::_internal_has_ref() const { + return value_case() == kRef; +} inline void Variable::set_has_ref() { - _oneof_case_[0] = kRef; + _impl_._oneof_case_[0] = kRef; } inline void Variable::clear_ref() { - if (has_ref()) { - delete value_.ref_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kRef) { + if (GetArena() == nullptr) { + delete _impl_.value_.ref_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.ref_); + } clear_has_value(); } } inline ::BERTBuffers::SheetReference* Variable::release_ref() { // @@protoc_insertion_point(field_release:BERTBuffers.Variable.ref) - if (has_ref()) { + if (value_case() == kRef) { clear_has_value(); - ::BERTBuffers::SheetReference* temp = value_.ref_; - value_.ref_ = NULL; + auto* temp = _impl_.value_.ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.value_.ref_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::SheetReference& Variable::ref() const { +inline const ::BERTBuffers::SheetReference& Variable::_internal_ref() const { + return value_case() == kRef ? *_impl_.value_.ref_ : reinterpret_cast<::BERTBuffers::SheetReference&>(::BERTBuffers::_SheetReference_default_instance_); +} +inline const ::BERTBuffers::SheetReference& Variable::ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.ref) - return has_ref() - ? *value_.ref_ - : *reinterpret_cast< ::BERTBuffers::SheetReference*>(&::BERTBuffers::_SheetReference_default_instance_); + return _internal_ref(); +} +inline ::BERTBuffers::SheetReference* Variable::unsafe_arena_release_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Variable.ref) + if (value_case() == kRef) { + clear_has_value(); + auto* temp = _impl_.value_.ref_; + _impl_.value_.ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Variable::unsafe_arena_set_allocated_ref(::BERTBuffers::SheetReference* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_value(); + if (value) { + set_has_ref(); + _impl_.value_.ref_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Variable.ref) } -inline ::BERTBuffers::SheetReference* Variable::mutable_ref() { - if (!has_ref()) { +inline ::BERTBuffers::SheetReference* Variable::_internal_mutable_ref() { + if (value_case() != kRef) { clear_value(); set_has_ref(); - value_.ref_ = new ::BERTBuffers::SheetReference; + _impl_.value_.ref_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::SheetReference>(GetArena()); } + return _impl_.value_.ref_; +} +inline ::BERTBuffers::SheetReference* Variable::mutable_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::SheetReference* _msg = _internal_mutable_ref(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.ref) - return value_.ref_; + return _msg; } // .BERTBuffers.ExternalPointer com_pointer = 12; inline bool Variable::has_com_pointer() const { return value_case() == kComPointer; } +inline bool Variable::_internal_has_com_pointer() const { + return value_case() == kComPointer; +} inline void Variable::set_has_com_pointer() { - _oneof_case_[0] = kComPointer; + _impl_._oneof_case_[0] = kComPointer; } inline void Variable::clear_com_pointer() { - if (has_com_pointer()) { - delete value_.com_pointer_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kComPointer) { + if (GetArena() == nullptr) { + delete _impl_.value_.com_pointer_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.com_pointer_); + } clear_has_value(); } } inline ::BERTBuffers::ExternalPointer* Variable::release_com_pointer() { // @@protoc_insertion_point(field_release:BERTBuffers.Variable.com_pointer) - if (has_com_pointer()) { + if (value_case() == kComPointer) { clear_has_value(); - ::BERTBuffers::ExternalPointer* temp = value_.com_pointer_; - value_.com_pointer_ = NULL; + auto* temp = _impl_.value_.com_pointer_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.value_.com_pointer_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::ExternalPointer& Variable::com_pointer() const { +inline const ::BERTBuffers::ExternalPointer& Variable::_internal_com_pointer() const { + return value_case() == kComPointer ? *_impl_.value_.com_pointer_ : reinterpret_cast<::BERTBuffers::ExternalPointer&>(::BERTBuffers::_ExternalPointer_default_instance_); +} +inline const ::BERTBuffers::ExternalPointer& Variable::com_pointer() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.com_pointer) - return has_com_pointer() - ? *value_.com_pointer_ - : *reinterpret_cast< ::BERTBuffers::ExternalPointer*>(&::BERTBuffers::_ExternalPointer_default_instance_); + return _internal_com_pointer(); +} +inline ::BERTBuffers::ExternalPointer* Variable::unsafe_arena_release_com_pointer() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Variable.com_pointer) + if (value_case() == kComPointer) { + clear_has_value(); + auto* temp = _impl_.value_.com_pointer_; + _impl_.value_.com_pointer_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Variable::unsafe_arena_set_allocated_com_pointer(::BERTBuffers::ExternalPointer* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_value(); + if (value) { + set_has_com_pointer(); + _impl_.value_.com_pointer_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Variable.com_pointer) } -inline ::BERTBuffers::ExternalPointer* Variable::mutable_com_pointer() { - if (!has_com_pointer()) { +inline ::BERTBuffers::ExternalPointer* Variable::_internal_mutable_com_pointer() { + if (value_case() != kComPointer) { clear_value(); set_has_com_pointer(); - value_.com_pointer_ = new ::BERTBuffers::ExternalPointer; + _impl_.value_.com_pointer_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::ExternalPointer>(GetArena()); } + return _impl_.value_.com_pointer_; +} +inline ::BERTBuffers::ExternalPointer* Variable::mutable_com_pointer() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::ExternalPointer* _msg = _internal_mutable_com_pointer(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.com_pointer) - return value_.com_pointer_; + return _msg; } // .BERTBuffers.GraphicsUpdate graphics = 13; inline bool Variable::has_graphics() const { return value_case() == kGraphics; } +inline bool Variable::_internal_has_graphics() const { + return value_case() == kGraphics; +} inline void Variable::set_has_graphics() { - _oneof_case_[0] = kGraphics; + _impl_._oneof_case_[0] = kGraphics; } inline void Variable::clear_graphics() { - if (has_graphics()) { - delete value_.graphics_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kGraphics) { + if (GetArena() == nullptr) { + delete _impl_.value_.graphics_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.value_.graphics_); + } clear_has_value(); } } inline ::BERTBuffers::GraphicsUpdate* Variable::release_graphics() { // @@protoc_insertion_point(field_release:BERTBuffers.Variable.graphics) - if (has_graphics()) { + if (value_case() == kGraphics) { clear_has_value(); - ::BERTBuffers::GraphicsUpdate* temp = value_.graphics_; - value_.graphics_ = NULL; + auto* temp = _impl_.value_.graphics_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.value_.graphics_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::GraphicsUpdate& Variable::graphics() const { +inline const ::BERTBuffers::GraphicsUpdate& Variable::_internal_graphics() const { + return value_case() == kGraphics ? *_impl_.value_.graphics_ : reinterpret_cast<::BERTBuffers::GraphicsUpdate&>(::BERTBuffers::_GraphicsUpdate_default_instance_); +} +inline const ::BERTBuffers::GraphicsUpdate& Variable::graphics() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.graphics) - return has_graphics() - ? *value_.graphics_ - : *reinterpret_cast< ::BERTBuffers::GraphicsUpdate*>(&::BERTBuffers::_GraphicsUpdate_default_instance_); + return _internal_graphics(); +} +inline ::BERTBuffers::GraphicsUpdate* Variable::unsafe_arena_release_graphics() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Variable.graphics) + if (value_case() == kGraphics) { + clear_has_value(); + auto* temp = _impl_.value_.graphics_; + _impl_.value_.graphics_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Variable::unsafe_arena_set_allocated_graphics(::BERTBuffers::GraphicsUpdate* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_value(); + if (value) { + set_has_graphics(); + _impl_.value_.graphics_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Variable.graphics) } -inline ::BERTBuffers::GraphicsUpdate* Variable::mutable_graphics() { - if (!has_graphics()) { +inline ::BERTBuffers::GraphicsUpdate* Variable::_internal_mutable_graphics() { + if (value_case() != kGraphics) { clear_value(); set_has_graphics(); - value_.graphics_ = new ::BERTBuffers::GraphicsUpdate; + _impl_.value_.graphics_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::GraphicsUpdate>(GetArena()); } + return _impl_.value_.graphics_; +} +inline ::BERTBuffers::GraphicsUpdate* Variable::mutable_graphics() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::GraphicsUpdate* _msg = _internal_mutable_graphics(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.graphics) - return value_.graphics_; + return _msg; } // uint32 cache_reference = 14; @@ -4214,80 +6835,79 @@ inline bool Variable::has_cache_reference() const { return value_case() == kCacheReference; } inline void Variable::set_has_cache_reference() { - _oneof_case_[0] = kCacheReference; + _impl_._oneof_case_[0] = kCacheReference; } inline void Variable::clear_cache_reference() { - if (has_cache_reference()) { - value_.cache_reference_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value_case() == kCacheReference) { + _impl_.value_.cache_reference_ = 0u; clear_has_value(); } } -inline ::google::protobuf::uint32 Variable::cache_reference() const { +inline ::uint32_t Variable::cache_reference() const { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.cache_reference) - if (has_cache_reference()) { - return value_.cache_reference_; - } - return 0u; + return _internal_cache_reference(); } -inline void Variable::set_cache_reference(::google::protobuf::uint32 value) { - if (!has_cache_reference()) { +inline void Variable::set_cache_reference(::uint32_t value) { + if (value_case() != kCacheReference) { clear_value(); set_has_cache_reference(); } - value_.cache_reference_ = value; + _impl_.value_.cache_reference_ = value; // @@protoc_insertion_point(field_set:BERTBuffers.Variable.cache_reference) } +inline ::uint32_t Variable::_internal_cache_reference() const { + if (value_case() == kCacheReference) { + return _impl_.value_.cache_reference_; + } + return 0u; +} // string name = 15; inline void Variable::clear_name() { - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); } -inline const ::std::string& Variable::name() const { +inline const std::string& Variable::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Variable.name) - return name_.GetNoArena(); + return _internal_name(); } -inline void Variable::set_name(const ::std::string& value) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void Variable::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.Variable.name) } -#if LANG_CXX11 -inline void Variable::set_name(::std::string&& value) { - - name_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.Variable.name) -} -#endif -inline void Variable::set_name(const char* value) { - GOOGLE_DCHECK(value != NULL); - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Variable.name) -} -inline void Variable::set_name(const char* value, size_t size) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Variable.name) -} -inline ::std::string* Variable::mutable_name() { - +inline std::string* Variable::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Variable.name) - return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; } -inline ::std::string* Variable::release_name() { +inline const std::string& Variable::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void Variable::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline std::string* Variable::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* Variable::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.Variable.name) - - return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.name_.Release(); } -inline void Variable::set_allocated_name(::std::string* name) { - if (name != NULL) { - - } else { - +inline void Variable::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } - name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Variable.name) } @@ -4295,97 +6915,100 @@ inline bool Variable::has_value() const { return value_case() != VALUE_NOT_SET; } inline void Variable::clear_has_value() { - _oneof_case_[0] = VALUE_NOT_SET; + _impl_._oneof_case_[0] = VALUE_NOT_SET; } inline Variable::ValueCase Variable::value_case() const { - return Variable::ValueCase(_oneof_case_[0]); + return Variable::ValueCase(_impl_._oneof_case_[0]); } // ------------------------------------------------------------------- // Code // repeated string line = 1; +inline int Code::_internal_line_size() const { + return _internal_line().size(); +} inline int Code::line_size() const { - return line_.size(); + return _internal_line_size(); } inline void Code::clear_line() { - line_.Clear(); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.line_.Clear(); +} +inline std::string* Code::add_line() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + std::string* _s = _internal_mutable_line()->Add(); + // @@protoc_insertion_point(field_add_mutable:BERTBuffers.Code.line) + return _s; } -inline const ::std::string& Code::line(int index) const { +inline const std::string& Code::line(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Code.line) - return line_.Get(index); + return _internal_line().Get(index); } -inline ::std::string* Code::mutable_line(int index) { +inline std::string* Code::mutable_line(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.Code.line) - return line_.Mutable(index); -} -inline void Code::set_line(int index, const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Code.line) - line_.Mutable(index)->assign(value); + return _internal_mutable_line()->Mutable(index); } -#if LANG_CXX11 -inline void Code::set_line(int index, ::std::string&& value) { +template +inline void Code::set_line(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString( + *_internal_mutable_line()->Mutable(index), + std::forward(value), args... ); // @@protoc_insertion_point(field_set:BERTBuffers.Code.line) - line_.Mutable(index)->assign(std::move(value)); -} -#endif -inline void Code::set_line(int index, const char* value) { - GOOGLE_DCHECK(value != NULL); - line_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Code.line) -} -inline void Code::set_line(int index, const char* value, size_t size) { - line_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Code.line) -} -inline ::std::string* Code::add_line() { - // @@protoc_insertion_point(field_add_mutable:BERTBuffers.Code.line) - return line_.Add(); -} -inline void Code::add_line(const ::std::string& value) { - line_.Add()->assign(value); - // @@protoc_insertion_point(field_add:BERTBuffers.Code.line) } -#if LANG_CXX11 -inline void Code::add_line(::std::string&& value) { - line_.Add(std::move(value)); +template +inline void Code::add_line(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_line(), + std::forward(value), + args... ); // @@protoc_insertion_point(field_add:BERTBuffers.Code.line) } -#endif -inline void Code::add_line(const char* value) { - GOOGLE_DCHECK(value != NULL); - line_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:BERTBuffers.Code.line) -} -inline void Code::add_line(const char* value, size_t size) { - line_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:BERTBuffers.Code.line) -} -inline const ::google::protobuf::RepeatedPtrField< ::std::string>& -Code::line() const { +inline const ::google::protobuf::RepeatedPtrField& +Code::line() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.Code.line) - return line_; + return _internal_line(); } -inline ::google::protobuf::RepeatedPtrField< ::std::string>* -Code::mutable_line() { +inline ::google::protobuf::RepeatedPtrField* +Code::mutable_line() ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.Code.line) - return &line_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_line(); +} +inline const ::google::protobuf::RepeatedPtrField& +Code::_internal_line() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.line_; +} +inline ::google::protobuf::RepeatedPtrField* +Code::_internal_mutable_line() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.line_; } // bool startup = 2; inline void Code::clear_startup() { - startup_ = false; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.startup_ = false; } inline bool Code::startup() const { // @@protoc_insertion_point(field_get:BERTBuffers.Code.startup) - return startup_; + return _internal_startup(); } inline void Code::set_startup(bool value) { - - startup_ = value; + _internal_set_startup(value); // @@protoc_insertion_point(field_set:BERTBuffers.Code.startup) } +inline bool Code::_internal_startup() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.startup_; +} +inline void Code::_internal_set_startup(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.startup_ = value; +} // ------------------------------------------------------------------- @@ -4393,156 +7016,210 @@ inline void Code::set_startup(bool value) { // string function = 1; inline void CompositeFunctionCall::clear_function() { - function_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.function_.ClearToEmpty(); } -inline const ::std::string& CompositeFunctionCall::function() const { +inline const std::string& CompositeFunctionCall::function() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.CompositeFunctionCall.function) - return function_.GetNoArena(); + return _internal_function(); } -inline void CompositeFunctionCall::set_function(const ::std::string& value) { - - function_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void CompositeFunctionCall::set_function(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.function_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.CompositeFunctionCall.function) } -#if LANG_CXX11 -inline void CompositeFunctionCall::set_function(::std::string&& value) { - - function_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.CompositeFunctionCall.function) -} -#endif -inline void CompositeFunctionCall::set_function(const char* value) { - GOOGLE_DCHECK(value != NULL); - - function_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.CompositeFunctionCall.function) -} -inline void CompositeFunctionCall::set_function(const char* value, size_t size) { - - function_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.CompositeFunctionCall.function) -} -inline ::std::string* CompositeFunctionCall::mutable_function() { - +inline std::string* CompositeFunctionCall::mutable_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_function(); // @@protoc_insertion_point(field_mutable:BERTBuffers.CompositeFunctionCall.function) - return function_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& CompositeFunctionCall::_internal_function() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.function_.Get(); +} +inline void CompositeFunctionCall::_internal_set_function(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.function_.Set(value, GetArena()); +} +inline std::string* CompositeFunctionCall::_internal_mutable_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.function_.Mutable( GetArena()); } -inline ::std::string* CompositeFunctionCall::release_function() { +inline std::string* CompositeFunctionCall::release_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.CompositeFunctionCall.function) - - return function_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.function_.Release(); } -inline void CompositeFunctionCall::set_allocated_function(::std::string* function) { - if (function != NULL) { - - } else { - +inline void CompositeFunctionCall::set_allocated_function(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.function_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.function_.IsDefault()) { + _impl_.function_.Set("", GetArena()); } - function_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), function); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.CompositeFunctionCall.function) } // repeated .BERTBuffers.Variable arguments = 2; +inline int CompositeFunctionCall::_internal_arguments_size() const { + return _internal_arguments().size(); +} inline int CompositeFunctionCall::arguments_size() const { - return arguments_.size(); + return _internal_arguments_size(); } inline void CompositeFunctionCall::clear_arguments() { - arguments_.Clear(); -} -inline const ::BERTBuffers::Variable& CompositeFunctionCall::arguments(int index) const { - // @@protoc_insertion_point(field_get:BERTBuffers.CompositeFunctionCall.arguments) - return arguments_.Get(index); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.arguments_.Clear(); } -inline ::BERTBuffers::Variable* CompositeFunctionCall::mutable_arguments(int index) { +inline ::BERTBuffers::Variable* CompositeFunctionCall::mutable_arguments(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.CompositeFunctionCall.arguments) - return arguments_.Mutable(index); + return _internal_mutable_arguments()->Mutable(index); } -inline ::BERTBuffers::Variable* CompositeFunctionCall::add_arguments() { - // @@protoc_insertion_point(field_add:BERTBuffers.CompositeFunctionCall.arguments) - return arguments_.Add(); -} -inline ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable >* -CompositeFunctionCall::mutable_arguments() { +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>* CompositeFunctionCall::mutable_arguments() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.CompositeFunctionCall.arguments) - return &arguments_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_arguments(); +} +inline const ::BERTBuffers::Variable& CompositeFunctionCall::arguments(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:BERTBuffers.CompositeFunctionCall.arguments) + return _internal_arguments().Get(index); } -inline const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::Variable >& -CompositeFunctionCall::arguments() const { +inline ::BERTBuffers::Variable* CompositeFunctionCall::add_arguments() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::BERTBuffers::Variable* _add = _internal_mutable_arguments()->Add(); + // @@protoc_insertion_point(field_add:BERTBuffers.CompositeFunctionCall.arguments) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>& CompositeFunctionCall::arguments() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.CompositeFunctionCall.arguments) - return arguments_; + return _internal_arguments(); +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>& +CompositeFunctionCall::_internal_arguments() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.arguments_; +} +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::Variable>* +CompositeFunctionCall::_internal_mutable_arguments() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.arguments_; } // uint64 pointer = 3; inline void CompositeFunctionCall::clear_pointer() { - pointer_ = GOOGLE_ULONGLONG(0); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pointer_ = ::uint64_t{0u}; } -inline ::google::protobuf::uint64 CompositeFunctionCall::pointer() const { +inline ::uint64_t CompositeFunctionCall::pointer() const { // @@protoc_insertion_point(field_get:BERTBuffers.CompositeFunctionCall.pointer) - return pointer_; + return _internal_pointer(); } -inline void CompositeFunctionCall::set_pointer(::google::protobuf::uint64 value) { - - pointer_ = value; +inline void CompositeFunctionCall::set_pointer(::uint64_t value) { + _internal_set_pointer(value); // @@protoc_insertion_point(field_set:BERTBuffers.CompositeFunctionCall.pointer) } +inline ::uint64_t CompositeFunctionCall::_internal_pointer() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.pointer_; +} +inline void CompositeFunctionCall::_internal_set_pointer(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pointer_ = value; +} // uint32 index = 4; inline void CompositeFunctionCall::clear_index() { - index_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.index_ = 0u; } -inline ::google::protobuf::uint32 CompositeFunctionCall::index() const { +inline ::uint32_t CompositeFunctionCall::index() const { // @@protoc_insertion_point(field_get:BERTBuffers.CompositeFunctionCall.index) - return index_; + return _internal_index(); } -inline void CompositeFunctionCall::set_index(::google::protobuf::uint32 value) { - - index_ = value; +inline void CompositeFunctionCall::set_index(::uint32_t value) { + _internal_set_index(value); // @@protoc_insertion_point(field_set:BERTBuffers.CompositeFunctionCall.index) } +inline ::uint32_t CompositeFunctionCall::_internal_index() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.index_; +} +inline void CompositeFunctionCall::_internal_set_index(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.index_ = value; +} // .BERTBuffers.CallType type = 5; inline void CompositeFunctionCall::clear_type() { - type_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_ = 0; } inline ::BERTBuffers::CallType CompositeFunctionCall::type() const { // @@protoc_insertion_point(field_get:BERTBuffers.CompositeFunctionCall.type) - return static_cast< ::BERTBuffers::CallType >(type_); + return _internal_type(); } inline void CompositeFunctionCall::set_type(::BERTBuffers::CallType value) { - - type_ = value; + _internal_set_type(value); // @@protoc_insertion_point(field_set:BERTBuffers.CompositeFunctionCall.type) } +inline ::BERTBuffers::CallType CompositeFunctionCall::_internal_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::BERTBuffers::CallType>(_impl_.type_); +} +inline void CompositeFunctionCall::_internal_set_type(::BERTBuffers::CallType value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_ = value; +} // .BERTBuffers.CallTarget target = 6; inline void CompositeFunctionCall::clear_target() { - target_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.target_ = 0; } inline ::BERTBuffers::CallTarget CompositeFunctionCall::target() const { // @@protoc_insertion_point(field_get:BERTBuffers.CompositeFunctionCall.target) - return static_cast< ::BERTBuffers::CallTarget >(target_); + return _internal_target(); } inline void CompositeFunctionCall::set_target(::BERTBuffers::CallTarget value) { - - target_ = value; + _internal_set_target(value); // @@protoc_insertion_point(field_set:BERTBuffers.CompositeFunctionCall.target) } +inline ::BERTBuffers::CallTarget CompositeFunctionCall::_internal_target() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::BERTBuffers::CallTarget>(_impl_.target_); +} +inline void CompositeFunctionCall::_internal_set_target(::BERTBuffers::CallTarget value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.target_ = value; +} // uint32 flags = 7; inline void CompositeFunctionCall::clear_flags() { - flags_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.flags_ = 0u; } -inline ::google::protobuf::uint32 CompositeFunctionCall::flags() const { +inline ::uint32_t CompositeFunctionCall::flags() const { // @@protoc_insertion_point(field_get:BERTBuffers.CompositeFunctionCall.flags) - return flags_; + return _internal_flags(); } -inline void CompositeFunctionCall::set_flags(::google::protobuf::uint32 value) { - - flags_ = value; +inline void CompositeFunctionCall::set_flags(::uint32_t value) { + _internal_set_flags(value); // @@protoc_insertion_point(field_set:BERTBuffers.CompositeFunctionCall.flags) } +inline ::uint32_t CompositeFunctionCall::_internal_flags() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.flags_; +} +inline void CompositeFunctionCall::_internal_set_flags(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.flags_ = value; +} // ------------------------------------------------------------------- @@ -4550,151 +7227,165 @@ inline void CompositeFunctionCall::set_flags(::google::protobuf::uint32 value) { // .BERTBuffers.GraphicsUpdateCommand command = 1; inline void GraphicsUpdate::clear_command() { - command_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.command_ = 0; } inline ::BERTBuffers::GraphicsUpdateCommand GraphicsUpdate::command() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsUpdate.command) - return static_cast< ::BERTBuffers::GraphicsUpdateCommand >(command_); + return _internal_command(); } inline void GraphicsUpdate::set_command(::BERTBuffers::GraphicsUpdateCommand value) { - - command_ = value; + _internal_set_command(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsUpdate.command) } +inline ::BERTBuffers::GraphicsUpdateCommand GraphicsUpdate::_internal_command() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::BERTBuffers::GraphicsUpdateCommand>(_impl_.command_); +} +inline void GraphicsUpdate::_internal_set_command(::BERTBuffers::GraphicsUpdateCommand value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.command_ = value; +} // string name = 2; inline void GraphicsUpdate::clear_name() { - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); } -inline const ::std::string& GraphicsUpdate::name() const { +inline const std::string& GraphicsUpdate::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsUpdate.name) - return name_.GetNoArena(); + return _internal_name(); } -inline void GraphicsUpdate::set_name(const ::std::string& value) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void GraphicsUpdate::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsUpdate.name) } -#if LANG_CXX11 -inline void GraphicsUpdate::set_name(::std::string&& value) { - - name_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.GraphicsUpdate.name) -} -#endif -inline void GraphicsUpdate::set_name(const char* value) { - GOOGLE_DCHECK(value != NULL); - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.GraphicsUpdate.name) -} -inline void GraphicsUpdate::set_name(const char* value, size_t size) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.GraphicsUpdate.name) -} -inline ::std::string* GraphicsUpdate::mutable_name() { - +inline std::string* GraphicsUpdate::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsUpdate.name) - return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& GraphicsUpdate::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void GraphicsUpdate::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); } -inline ::std::string* GraphicsUpdate::release_name() { +inline std::string* GraphicsUpdate::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* GraphicsUpdate::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsUpdate.name) - - return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.name_.Release(); } -inline void GraphicsUpdate::set_allocated_name(::std::string* name) { - if (name != NULL) { - - } else { - +inline void GraphicsUpdate::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } - name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsUpdate.name) } // string path = 3; inline void GraphicsUpdate::clear_path() { - path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.path_.ClearToEmpty(); } -inline const ::std::string& GraphicsUpdate::path() const { +inline const std::string& GraphicsUpdate::path() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsUpdate.path) - return path_.GetNoArena(); + return _internal_path(); } -inline void GraphicsUpdate::set_path(const ::std::string& value) { - - path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void GraphicsUpdate::set_path(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.path_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsUpdate.path) } -#if LANG_CXX11 -inline void GraphicsUpdate::set_path(::std::string&& value) { - - path_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.GraphicsUpdate.path) -} -#endif -inline void GraphicsUpdate::set_path(const char* value) { - GOOGLE_DCHECK(value != NULL); - - path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.GraphicsUpdate.path) -} -inline void GraphicsUpdate::set_path(const char* value, size_t size) { - - path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.GraphicsUpdate.path) -} -inline ::std::string* GraphicsUpdate::mutable_path() { - +inline std::string* GraphicsUpdate::mutable_path() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_path(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsUpdate.path) - return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; } -inline ::std::string* GraphicsUpdate::release_path() { +inline const std::string& GraphicsUpdate::_internal_path() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.path_.Get(); +} +inline void GraphicsUpdate::_internal_set_path(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.path_.Set(value, GetArena()); +} +inline std::string* GraphicsUpdate::_internal_mutable_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.path_.Mutable( GetArena()); +} +inline std::string* GraphicsUpdate::release_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsUpdate.path) - - return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.path_.Release(); } -inline void GraphicsUpdate::set_allocated_path(::std::string* path) { - if (path != NULL) { - - } else { - +inline void GraphicsUpdate::set_allocated_path(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.path_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.path_.IsDefault()) { + _impl_.path_.Set("", GetArena()); } - path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsUpdate.path) } // uint32 width = 4; inline void GraphicsUpdate::clear_width() { - width_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.width_ = 0u; } -inline ::google::protobuf::uint32 GraphicsUpdate::width() const { +inline ::uint32_t GraphicsUpdate::width() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsUpdate.width) - return width_; + return _internal_width(); } -inline void GraphicsUpdate::set_width(::google::protobuf::uint32 value) { - - width_ = value; +inline void GraphicsUpdate::set_width(::uint32_t value) { + _internal_set_width(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsUpdate.width) } +inline ::uint32_t GraphicsUpdate::_internal_width() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.width_; +} +inline void GraphicsUpdate::_internal_set_width(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.width_ = value; +} // uint32 height = 5; inline void GraphicsUpdate::clear_height() { - height_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.height_ = 0u; } -inline ::google::protobuf::uint32 GraphicsUpdate::height() const { +inline ::uint32_t GraphicsUpdate::height() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsUpdate.height) - return height_; + return _internal_height(); } -inline void GraphicsUpdate::set_height(::google::protobuf::uint32 value) { - - height_ = value; +inline void GraphicsUpdate::set_height(::uint32_t value) { + _internal_set_height(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsUpdate.height) } +inline ::uint32_t GraphicsUpdate::_internal_height() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.height_; +} +inline void GraphicsUpdate::_internal_set_height(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.height_ = value; +} // ------------------------------------------------------------------- @@ -4702,393 +7393,489 @@ inline void GraphicsUpdate::set_height(::google::protobuf::uint32 value) { // string command = 1; inline void GraphicsCommand::clear_command() { - command_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.command_.ClearToEmpty(); } -inline const ::std::string& GraphicsCommand::command() const { +inline const std::string& GraphicsCommand::command() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.command) - return command_.GetNoArena(); + return _internal_command(); } -inline void GraphicsCommand::set_command(const ::std::string& value) { - - command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void GraphicsCommand::set_command(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.command_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.command) } -#if LANG_CXX11 -inline void GraphicsCommand::set_command(::std::string&& value) { - - command_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.GraphicsCommand.command) -} -#endif -inline void GraphicsCommand::set_command(const char* value) { - GOOGLE_DCHECK(value != NULL); - - command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.GraphicsCommand.command) -} -inline void GraphicsCommand::set_command(const char* value, size_t size) { - - command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.GraphicsCommand.command) -} -inline ::std::string* GraphicsCommand::mutable_command() { - +inline std::string* GraphicsCommand::mutable_command() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_command(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsCommand.command) - return command_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& GraphicsCommand::_internal_command() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.command_.Get(); +} +inline void GraphicsCommand::_internal_set_command(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.command_.Set(value, GetArena()); } -inline ::std::string* GraphicsCommand::release_command() { +inline std::string* GraphicsCommand::_internal_mutable_command() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.command_.Mutable( GetArena()); +} +inline std::string* GraphicsCommand::release_command() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsCommand.command) - - return command_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.command_.Release(); } -inline void GraphicsCommand::set_allocated_command(::std::string* command) { - if (command != NULL) { - - } else { - +inline void GraphicsCommand::set_allocated_command(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.command_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.command_.IsDefault()) { + _impl_.command_.Set("", GetArena()); } - command_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), command); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsCommand.command) } // repeated double x = 2; +inline int GraphicsCommand::_internal_x_size() const { + return _internal_x().size(); +} inline int GraphicsCommand::x_size() const { - return x_.size(); + return _internal_x_size(); } inline void GraphicsCommand::clear_x() { - x_.Clear(); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.x_.Clear(); } inline double GraphicsCommand::x(int index) const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.x) - return x_.Get(index); + return _internal_x().Get(index); } inline void GraphicsCommand::set_x(int index, double value) { - x_.Set(index, value); + _internal_mutable_x()->Set(index, value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.x) } inline void GraphicsCommand::add_x(double value) { - x_.Add(value); + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_x()->Add(value); // @@protoc_insertion_point(field_add:BERTBuffers.GraphicsCommand.x) } -inline const ::google::protobuf::RepeatedField< double >& -GraphicsCommand::x() const { +inline const ::google::protobuf::RepeatedField& GraphicsCommand::x() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.GraphicsCommand.x) - return x_; + return _internal_x(); } -inline ::google::protobuf::RepeatedField< double >* -GraphicsCommand::mutable_x() { +inline ::google::protobuf::RepeatedField* GraphicsCommand::mutable_x() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.GraphicsCommand.x) - return &x_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_x(); +} +inline const ::google::protobuf::RepeatedField& +GraphicsCommand::_internal_x() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.x_; +} +inline ::google::protobuf::RepeatedField* GraphicsCommand::_internal_mutable_x() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.x_; } // repeated double y = 3; +inline int GraphicsCommand::_internal_y_size() const { + return _internal_y().size(); +} inline int GraphicsCommand::y_size() const { - return y_.size(); + return _internal_y_size(); } inline void GraphicsCommand::clear_y() { - y_.Clear(); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.y_.Clear(); } inline double GraphicsCommand::y(int index) const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.y) - return y_.Get(index); + return _internal_y().Get(index); } inline void GraphicsCommand::set_y(int index, double value) { - y_.Set(index, value); + _internal_mutable_y()->Set(index, value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.y) } inline void GraphicsCommand::add_y(double value) { - y_.Add(value); + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_y()->Add(value); // @@protoc_insertion_point(field_add:BERTBuffers.GraphicsCommand.y) } -inline const ::google::protobuf::RepeatedField< double >& -GraphicsCommand::y() const { +inline const ::google::protobuf::RepeatedField& GraphicsCommand::y() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.GraphicsCommand.y) - return y_; + return _internal_y(); } -inline ::google::protobuf::RepeatedField< double >* -GraphicsCommand::mutable_y() { +inline ::google::protobuf::RepeatedField* GraphicsCommand::mutable_y() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.GraphicsCommand.y) - return &y_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_y(); +} +inline const ::google::protobuf::RepeatedField& +GraphicsCommand::_internal_y() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.y_; +} +inline ::google::protobuf::RepeatedField* GraphicsCommand::_internal_mutable_y() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.y_; } // double r = 4; inline void GraphicsCommand::clear_r() { - r_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.r_ = 0; } inline double GraphicsCommand::r() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.r) - return r_; + return _internal_r(); } inline void GraphicsCommand::set_r(double value) { - - r_ = value; + _internal_set_r(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.r) } +inline double GraphicsCommand::_internal_r() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.r_; +} +inline void GraphicsCommand::_internal_set_r(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.r_ = value; +} // double rot = 5; inline void GraphicsCommand::clear_rot() { - rot_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rot_ = 0; } inline double GraphicsCommand::rot() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.rot) - return rot_; + return _internal_rot(); } inline void GraphicsCommand::set_rot(double value) { - - rot_ = value; + _internal_set_rot(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.rot) } +inline double GraphicsCommand::_internal_rot() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.rot_; +} +inline void GraphicsCommand::_internal_set_rot(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rot_ = value; +} // string text = 6; inline void GraphicsCommand::clear_text() { - text_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.text_.ClearToEmpty(); } -inline const ::std::string& GraphicsCommand::text() const { +inline const std::string& GraphicsCommand::text() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.text) - return text_.GetNoArena(); + return _internal_text(); } -inline void GraphicsCommand::set_text(const ::std::string& value) { - - text_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void GraphicsCommand::set_text(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.text_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.text) } -#if LANG_CXX11 -inline void GraphicsCommand::set_text(::std::string&& value) { - - text_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.GraphicsCommand.text) -} -#endif -inline void GraphicsCommand::set_text(const char* value) { - GOOGLE_DCHECK(value != NULL); - - text_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.GraphicsCommand.text) -} -inline void GraphicsCommand::set_text(const char* value, size_t size) { - - text_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.GraphicsCommand.text) -} -inline ::std::string* GraphicsCommand::mutable_text() { - +inline std::string* GraphicsCommand::mutable_text() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_text(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsCommand.text) - return text_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& GraphicsCommand::_internal_text() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.text_.Get(); +} +inline void GraphicsCommand::_internal_set_text(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.text_.Set(value, GetArena()); } -inline ::std::string* GraphicsCommand::release_text() { +inline std::string* GraphicsCommand::_internal_mutable_text() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.text_.Mutable( GetArena()); +} +inline std::string* GraphicsCommand::release_text() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsCommand.text) - - return text_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.text_.Release(); } -inline void GraphicsCommand::set_allocated_text(::std::string* text) { - if (text != NULL) { - - } else { - +inline void GraphicsCommand::set_allocated_text(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.text_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.text_.IsDefault()) { + _impl_.text_.Set("", GetArena()); } - text_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), text); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsCommand.text) } // bool filled = 7; inline void GraphicsCommand::clear_filled() { - filled_ = false; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.filled_ = false; } inline bool GraphicsCommand::filled() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.filled) - return filled_; + return _internal_filled(); } inline void GraphicsCommand::set_filled(bool value) { - - filled_ = value; + _internal_set_filled(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.filled) } +inline bool GraphicsCommand::_internal_filled() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.filled_; +} +inline void GraphicsCommand::_internal_set_filled(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.filled_ = value; +} // double hadj = 8; inline void GraphicsCommand::clear_hadj() { - hadj_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.hadj_ = 0; } inline double GraphicsCommand::hadj() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.hadj) - return hadj_; + return _internal_hadj(); } inline void GraphicsCommand::set_hadj(double value) { - - hadj_ = value; + _internal_set_hadj(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.hadj) } +inline double GraphicsCommand::_internal_hadj() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.hadj_; +} +inline void GraphicsCommand::_internal_set_hadj(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.hadj_ = value; +} // bytes raster = 9; inline void GraphicsCommand::clear_raster() { - raster_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.raster_.ClearToEmpty(); } -inline const ::std::string& GraphicsCommand::raster() const { +inline const std::string& GraphicsCommand::raster() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.raster) - return raster_.GetNoArena(); + return _internal_raster(); } -inline void GraphicsCommand::set_raster(const ::std::string& value) { - - raster_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void GraphicsCommand::set_raster(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.raster_.SetBytes(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.raster) } -#if LANG_CXX11 -inline void GraphicsCommand::set_raster(::std::string&& value) { - - raster_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.GraphicsCommand.raster) -} -#endif -inline void GraphicsCommand::set_raster(const char* value) { - GOOGLE_DCHECK(value != NULL); - - raster_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.GraphicsCommand.raster) -} -inline void GraphicsCommand::set_raster(const void* value, size_t size) { - - raster_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.GraphicsCommand.raster) -} -inline ::std::string* GraphicsCommand::mutable_raster() { - +inline std::string* GraphicsCommand::mutable_raster() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_raster(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsCommand.raster) - return raster_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; } -inline ::std::string* GraphicsCommand::release_raster() { +inline const std::string& GraphicsCommand::_internal_raster() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.raster_.Get(); +} +inline void GraphicsCommand::_internal_set_raster(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.raster_.Set(value, GetArena()); +} +inline std::string* GraphicsCommand::_internal_mutable_raster() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.raster_.Mutable( GetArena()); +} +inline std::string* GraphicsCommand::release_raster() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsCommand.raster) - - return raster_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.raster_.Release(); } -inline void GraphicsCommand::set_allocated_raster(::std::string* raster) { - if (raster != NULL) { - - } else { - +inline void GraphicsCommand::set_allocated_raster(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.raster_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.raster_.IsDefault()) { + _impl_.raster_.Set("", GetArena()); } - raster_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), raster); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsCommand.raster) } // bool interpolate = 10; inline void GraphicsCommand::clear_interpolate() { - interpolate_ = false; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.interpolate_ = false; } inline bool GraphicsCommand::interpolate() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.interpolate) - return interpolate_; + return _internal_interpolate(); } inline void GraphicsCommand::set_interpolate(bool value) { - - interpolate_ = value; + _internal_set_interpolate(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.interpolate) } +inline bool GraphicsCommand::_internal_interpolate() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.interpolate_; +} +inline void GraphicsCommand::_internal_set_interpolate(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.interpolate_ = value; +} // string device_type = 14; inline void GraphicsCommand::clear_device_type() { - device_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.device_type_.ClearToEmpty(); } -inline const ::std::string& GraphicsCommand::device_type() const { +inline const std::string& GraphicsCommand::device_type() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.device_type) - return device_type_.GetNoArena(); + return _internal_device_type(); } -inline void GraphicsCommand::set_device_type(const ::std::string& value) { - - device_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void GraphicsCommand::set_device_type(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.device_type_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsCommand.device_type) } -#if LANG_CXX11 -inline void GraphicsCommand::set_device_type(::std::string&& value) { - - device_type_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.GraphicsCommand.device_type) -} -#endif -inline void GraphicsCommand::set_device_type(const char* value) { - GOOGLE_DCHECK(value != NULL); - - device_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.GraphicsCommand.device_type) -} -inline void GraphicsCommand::set_device_type(const char* value, size_t size) { - - device_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.GraphicsCommand.device_type) -} -inline ::std::string* GraphicsCommand::mutable_device_type() { - +inline std::string* GraphicsCommand::mutable_device_type() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_device_type(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsCommand.device_type) - return device_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; } -inline ::std::string* GraphicsCommand::release_device_type() { +inline const std::string& GraphicsCommand::_internal_device_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.device_type_.Get(); +} +inline void GraphicsCommand::_internal_set_device_type(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.device_type_.Set(value, GetArena()); +} +inline std::string* GraphicsCommand::_internal_mutable_device_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.device_type_.Mutable( GetArena()); +} +inline std::string* GraphicsCommand::release_device_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsCommand.device_type) - - return device_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.device_type_.Release(); } -inline void GraphicsCommand::set_allocated_device_type(::std::string* device_type) { - if (device_type != NULL) { - - } else { - +inline void GraphicsCommand::set_allocated_device_type(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.device_type_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.device_type_.IsDefault()) { + _impl_.device_type_.Set("", GetArena()); } - device_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), device_type); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsCommand.device_type) } // .BERTBuffers.GraphicsContext context = 15; inline bool GraphicsCommand::has_context() const { - return this != internal_default_instance() && context_ != NULL; + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.context_ != nullptr); + return value; } inline void GraphicsCommand::clear_context() { - if (GetArenaNoVirtual() == NULL && context_ != NULL) { - delete context_; - } - context_ = NULL; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.context_ != nullptr) _impl_.context_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::BERTBuffers::GraphicsContext& GraphicsCommand::_internal_context() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::BERTBuffers::GraphicsContext* p = _impl_.context_; + return p != nullptr ? *p : reinterpret_cast(::BERTBuffers::_GraphicsContext_default_instance_); } -inline const ::BERTBuffers::GraphicsContext& GraphicsCommand::context() const { - const ::BERTBuffers::GraphicsContext* p = context_; +inline const ::BERTBuffers::GraphicsContext& GraphicsCommand::context() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsCommand.context) - return p != NULL ? *p : *reinterpret_cast( - &::BERTBuffers::_GraphicsContext_default_instance_); + return _internal_context(); +} +inline void GraphicsCommand::unsafe_arena_set_allocated_context(::BERTBuffers::GraphicsContext* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.context_); + } + _impl_.context_ = reinterpret_cast<::BERTBuffers::GraphicsContext*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.GraphicsCommand.context) } inline ::BERTBuffers::GraphicsContext* GraphicsCommand::release_context() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::BERTBuffers::GraphicsContext* released = _impl_.context_; + _impl_.context_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::BERTBuffers::GraphicsContext* GraphicsCommand::unsafe_arena_release_context() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsCommand.context) - - ::BERTBuffers::GraphicsContext* temp = context_; - context_ = NULL; + + _impl_._has_bits_[0] &= ~0x00000001u; + ::BERTBuffers::GraphicsContext* temp = _impl_.context_; + _impl_.context_ = nullptr; return temp; } -inline ::BERTBuffers::GraphicsContext* GraphicsCommand::mutable_context() { - - if (context_ == NULL) { - context_ = new ::BERTBuffers::GraphicsContext; +inline ::BERTBuffers::GraphicsContext* GraphicsCommand::_internal_mutable_context() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.context_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::GraphicsContext>(GetArena()); + _impl_.context_ = reinterpret_cast<::BERTBuffers::GraphicsContext*>(p); } + return _impl_.context_; +} +inline ::BERTBuffers::GraphicsContext* GraphicsCommand::mutable_context() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000001u; + ::BERTBuffers::GraphicsContext* _msg = _internal_mutable_context(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsCommand.context) - return context_; + return _msg; } -inline void GraphicsCommand::set_allocated_context(::BERTBuffers::GraphicsContext* context) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == NULL) { - delete context_; +inline void GraphicsCommand::set_allocated_context(::BERTBuffers::GraphicsContext* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.context_); } - if (context) { - ::google::protobuf::Arena* submessage_arena = NULL; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); if (message_arena != submessage_arena) { - context = ::google::protobuf::internal::GetOwnedMessage( - message_arena, context, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - context_ = context; + + _impl_.context_ = reinterpret_cast<::BERTBuffers::GraphicsContext*>(value); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsCommand.context) } @@ -5098,59 +7885,91 @@ inline void GraphicsCommand::set_allocated_context(::BERTBuffers::GraphicsContex // uint32 a = 1; inline void Color::clear_a() { - a_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.a_ = 0u; } -inline ::google::protobuf::uint32 Color::a() const { +inline ::uint32_t Color::a() const { // @@protoc_insertion_point(field_get:BERTBuffers.Color.a) - return a_; + return _internal_a(); } -inline void Color::set_a(::google::protobuf::uint32 value) { - - a_ = value; +inline void Color::set_a(::uint32_t value) { + _internal_set_a(value); // @@protoc_insertion_point(field_set:BERTBuffers.Color.a) } +inline ::uint32_t Color::_internal_a() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.a_; +} +inline void Color::_internal_set_a(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.a_ = value; +} // uint32 r = 2; inline void Color::clear_r() { - r_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.r_ = 0u; } -inline ::google::protobuf::uint32 Color::r() const { +inline ::uint32_t Color::r() const { // @@protoc_insertion_point(field_get:BERTBuffers.Color.r) - return r_; + return _internal_r(); } -inline void Color::set_r(::google::protobuf::uint32 value) { - - r_ = value; +inline void Color::set_r(::uint32_t value) { + _internal_set_r(value); // @@protoc_insertion_point(field_set:BERTBuffers.Color.r) } +inline ::uint32_t Color::_internal_r() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.r_; +} +inline void Color::_internal_set_r(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.r_ = value; +} // uint32 g = 3; inline void Color::clear_g() { - g_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.g_ = 0u; } -inline ::google::protobuf::uint32 Color::g() const { +inline ::uint32_t Color::g() const { // @@protoc_insertion_point(field_get:BERTBuffers.Color.g) - return g_; + return _internal_g(); } -inline void Color::set_g(::google::protobuf::uint32 value) { - - g_ = value; +inline void Color::set_g(::uint32_t value) { + _internal_set_g(value); // @@protoc_insertion_point(field_set:BERTBuffers.Color.g) } +inline ::uint32_t Color::_internal_g() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.g_; +} +inline void Color::_internal_set_g(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.g_ = value; +} // uint32 b = 4; inline void Color::clear_b() { - b_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.b_ = 0u; } -inline ::google::protobuf::uint32 Color::b() const { +inline ::uint32_t Color::b() const { // @@protoc_insertion_point(field_get:BERTBuffers.Color.b) - return b_; + return _internal_b(); } -inline void Color::set_b(::google::protobuf::uint32 value) { - - b_ = value; +inline void Color::set_b(::uint32_t value) { + _internal_set_b(value); // @@protoc_insertion_point(field_set:BERTBuffers.Color.b) } +inline ::uint32_t Color::_internal_b() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.b_; +} +inline void Color::_internal_set_b(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.b_ = value; +} // ------------------------------------------------------------------- @@ -5158,294 +7977,461 @@ inline void Color::set_b(::google::protobuf::uint32 value) { // .BERTBuffers.Color col = 1; inline bool GraphicsContext::has_col() const { - return this != internal_default_instance() && col_ != NULL; + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.col_ != nullptr); + return value; } inline void GraphicsContext::clear_col() { - if (GetArenaNoVirtual() == NULL && col_ != NULL) { - delete col_; - } - col_ = NULL; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.col_ != nullptr) _impl_.col_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::BERTBuffers::Color& GraphicsContext::col() const { - const ::BERTBuffers::Color* p = col_; +inline const ::BERTBuffers::Color& GraphicsContext::_internal_col() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::BERTBuffers::Color* p = _impl_.col_; + return p != nullptr ? *p : reinterpret_cast(::BERTBuffers::_Color_default_instance_); +} +inline const ::BERTBuffers::Color& GraphicsContext::col() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.col) - return p != NULL ? *p : *reinterpret_cast( - &::BERTBuffers::_Color_default_instance_); + return _internal_col(); +} +inline void GraphicsContext::unsafe_arena_set_allocated_col(::BERTBuffers::Color* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.col_); + } + _impl_.col_ = reinterpret_cast<::BERTBuffers::Color*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.GraphicsContext.col) } inline ::BERTBuffers::Color* GraphicsContext::release_col() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::BERTBuffers::Color* released = _impl_.col_; + _impl_.col_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::BERTBuffers::Color* GraphicsContext::unsafe_arena_release_col() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsContext.col) - - ::BERTBuffers::Color* temp = col_; - col_ = NULL; + + _impl_._has_bits_[0] &= ~0x00000001u; + ::BERTBuffers::Color* temp = _impl_.col_; + _impl_.col_ = nullptr; return temp; } -inline ::BERTBuffers::Color* GraphicsContext::mutable_col() { - - if (col_ == NULL) { - col_ = new ::BERTBuffers::Color; +inline ::BERTBuffers::Color* GraphicsContext::_internal_mutable_col() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.col_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Color>(GetArena()); + _impl_.col_ = reinterpret_cast<::BERTBuffers::Color*>(p); } + return _impl_.col_; +} +inline ::BERTBuffers::Color* GraphicsContext::mutable_col() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000001u; + ::BERTBuffers::Color* _msg = _internal_mutable_col(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsContext.col) - return col_; + return _msg; } -inline void GraphicsContext::set_allocated_col(::BERTBuffers::Color* col) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == NULL) { - delete col_; +inline void GraphicsContext::set_allocated_col(::BERTBuffers::Color* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.col_); } - if (col) { - ::google::protobuf::Arena* submessage_arena = NULL; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); if (message_arena != submessage_arena) { - col = ::google::protobuf::internal::GetOwnedMessage( - message_arena, col, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - col_ = col; + + _impl_.col_ = reinterpret_cast<::BERTBuffers::Color*>(value); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsContext.col) } // .BERTBuffers.Color fill = 2; inline bool GraphicsContext::has_fill() const { - return this != internal_default_instance() && fill_ != NULL; + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.fill_ != nullptr); + return value; } inline void GraphicsContext::clear_fill() { - if (GetArenaNoVirtual() == NULL && fill_ != NULL) { - delete fill_; - } - fill_ = NULL; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.fill_ != nullptr) _impl_.fill_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::BERTBuffers::Color& GraphicsContext::_internal_fill() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::BERTBuffers::Color* p = _impl_.fill_; + return p != nullptr ? *p : reinterpret_cast(::BERTBuffers::_Color_default_instance_); } -inline const ::BERTBuffers::Color& GraphicsContext::fill() const { - const ::BERTBuffers::Color* p = fill_; +inline const ::BERTBuffers::Color& GraphicsContext::fill() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.fill) - return p != NULL ? *p : *reinterpret_cast( - &::BERTBuffers::_Color_default_instance_); + return _internal_fill(); +} +inline void GraphicsContext::unsafe_arena_set_allocated_fill(::BERTBuffers::Color* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.fill_); + } + _impl_.fill_ = reinterpret_cast<::BERTBuffers::Color*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.GraphicsContext.fill) } inline ::BERTBuffers::Color* GraphicsContext::release_fill() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::BERTBuffers::Color* released = _impl_.fill_; + _impl_.fill_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::BERTBuffers::Color* GraphicsContext::unsafe_arena_release_fill() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsContext.fill) - - ::BERTBuffers::Color* temp = fill_; - fill_ = NULL; + + _impl_._has_bits_[0] &= ~0x00000002u; + ::BERTBuffers::Color* temp = _impl_.fill_; + _impl_.fill_ = nullptr; return temp; } -inline ::BERTBuffers::Color* GraphicsContext::mutable_fill() { - - if (fill_ == NULL) { - fill_ = new ::BERTBuffers::Color; +inline ::BERTBuffers::Color* GraphicsContext::_internal_mutable_fill() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.fill_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Color>(GetArena()); + _impl_.fill_ = reinterpret_cast<::BERTBuffers::Color*>(p); } + return _impl_.fill_; +} +inline ::BERTBuffers::Color* GraphicsContext::mutable_fill() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000002u; + ::BERTBuffers::Color* _msg = _internal_mutable_fill(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsContext.fill) - return fill_; + return _msg; } -inline void GraphicsContext::set_allocated_fill(::BERTBuffers::Color* fill) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == NULL) { - delete fill_; +inline void GraphicsContext::set_allocated_fill(::BERTBuffers::Color* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.fill_); } - if (fill) { - ::google::protobuf::Arena* submessage_arena = NULL; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); if (message_arena != submessage_arena) { - fill = ::google::protobuf::internal::GetOwnedMessage( - message_arena, fill, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - fill_ = fill; + + _impl_.fill_ = reinterpret_cast<::BERTBuffers::Color*>(value); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsContext.fill) } // double gamma = 3; inline void GraphicsContext::clear_gamma() { - gamma_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.gamma_ = 0; } inline double GraphicsContext::gamma() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.gamma) - return gamma_; + return _internal_gamma(); } inline void GraphicsContext::set_gamma(double value) { - - gamma_ = value; + _internal_set_gamma(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.gamma) } +inline double GraphicsContext::_internal_gamma() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.gamma_; +} +inline void GraphicsContext::_internal_set_gamma(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.gamma_ = value; +} // double lwd = 4; inline void GraphicsContext::clear_lwd() { - lwd_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lwd_ = 0; } inline double GraphicsContext::lwd() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.lwd) - return lwd_; + return _internal_lwd(); } inline void GraphicsContext::set_lwd(double value) { - - lwd_ = value; + _internal_set_lwd(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.lwd) } +inline double GraphicsContext::_internal_lwd() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.lwd_; +} +inline void GraphicsContext::_internal_set_lwd(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lwd_ = value; +} // int32 lty = 5; inline void GraphicsContext::clear_lty() { - lty_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lty_ = 0; } -inline ::google::protobuf::int32 GraphicsContext::lty() const { +inline ::int32_t GraphicsContext::lty() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.lty) - return lty_; + return _internal_lty(); } -inline void GraphicsContext::set_lty(::google::protobuf::int32 value) { - - lty_ = value; +inline void GraphicsContext::set_lty(::int32_t value) { + _internal_set_lty(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.lty) } +inline ::int32_t GraphicsContext::_internal_lty() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.lty_; +} +inline void GraphicsContext::_internal_set_lty(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lty_ = value; +} // int32 lend = 6; inline void GraphicsContext::clear_lend() { - lend_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lend_ = 0; } -inline ::google::protobuf::int32 GraphicsContext::lend() const { +inline ::int32_t GraphicsContext::lend() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.lend) - return lend_; + return _internal_lend(); } -inline void GraphicsContext::set_lend(::google::protobuf::int32 value) { - - lend_ = value; +inline void GraphicsContext::set_lend(::int32_t value) { + _internal_set_lend(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.lend) } +inline ::int32_t GraphicsContext::_internal_lend() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.lend_; +} +inline void GraphicsContext::_internal_set_lend(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lend_ = value; +} // int32 ljoin = 7; inline void GraphicsContext::clear_ljoin() { - ljoin_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.ljoin_ = 0; } -inline ::google::protobuf::int32 GraphicsContext::ljoin() const { +inline ::int32_t GraphicsContext::ljoin() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.ljoin) - return ljoin_; + return _internal_ljoin(); } -inline void GraphicsContext::set_ljoin(::google::protobuf::int32 value) { - - ljoin_ = value; +inline void GraphicsContext::set_ljoin(::int32_t value) { + _internal_set_ljoin(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.ljoin) } +inline ::int32_t GraphicsContext::_internal_ljoin() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.ljoin_; +} +inline void GraphicsContext::_internal_set_ljoin(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.ljoin_ = value; +} // double lmitre = 8; inline void GraphicsContext::clear_lmitre() { - lmitre_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lmitre_ = 0; } inline double GraphicsContext::lmitre() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.lmitre) - return lmitre_; + return _internal_lmitre(); } inline void GraphicsContext::set_lmitre(double value) { - - lmitre_ = value; + _internal_set_lmitre(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.lmitre) } +inline double GraphicsContext::_internal_lmitre() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.lmitre_; +} +inline void GraphicsContext::_internal_set_lmitre(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lmitre_ = value; +} // double cex = 9; inline void GraphicsContext::clear_cex() { - cex_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cex_ = 0; } inline double GraphicsContext::cex() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.cex) - return cex_; + return _internal_cex(); } inline void GraphicsContext::set_cex(double value) { - - cex_ = value; + _internal_set_cex(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.cex) } +inline double GraphicsContext::_internal_cex() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.cex_; +} +inline void GraphicsContext::_internal_set_cex(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cex_ = value; +} // double ps = 10; inline void GraphicsContext::clear_ps() { - ps_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.ps_ = 0; } inline double GraphicsContext::ps() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.ps) - return ps_; + return _internal_ps(); } inline void GraphicsContext::set_ps(double value) { - - ps_ = value; + _internal_set_ps(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.ps) } +inline double GraphicsContext::_internal_ps() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.ps_; +} +inline void GraphicsContext::_internal_set_ps(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.ps_ = value; +} // double lineheight = 11; inline void GraphicsContext::clear_lineheight() { - lineheight_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lineheight_ = 0; } inline double GraphicsContext::lineheight() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.lineheight) - return lineheight_; + return _internal_lineheight(); } inline void GraphicsContext::set_lineheight(double value) { - - lineheight_ = value; + _internal_set_lineheight(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.lineheight) } +inline double GraphicsContext::_internal_lineheight() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.lineheight_; +} +inline void GraphicsContext::_internal_set_lineheight(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.lineheight_ = value; +} // int32 fontface = 12; inline void GraphicsContext::clear_fontface() { - fontface_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.fontface_ = 0; } -inline ::google::protobuf::int32 GraphicsContext::fontface() const { +inline ::int32_t GraphicsContext::fontface() const { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.fontface) - return fontface_; + return _internal_fontface(); } -inline void GraphicsContext::set_fontface(::google::protobuf::int32 value) { - - fontface_ = value; +inline void GraphicsContext::set_fontface(::int32_t value) { + _internal_set_fontface(value); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.fontface) } +inline ::int32_t GraphicsContext::_internal_fontface() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.fontface_; +} +inline void GraphicsContext::_internal_set_fontface(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.fontface_ = value; +} // string fontfamily = 13; inline void GraphicsContext::clear_fontfamily() { - fontfamily_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.fontfamily_.ClearToEmpty(); } -inline const ::std::string& GraphicsContext::fontfamily() const { +inline const std::string& GraphicsContext::fontfamily() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.GraphicsContext.fontfamily) - return fontfamily_.GetNoArena(); + return _internal_fontfamily(); } -inline void GraphicsContext::set_fontfamily(const ::std::string& value) { - - fontfamily_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void GraphicsContext::set_fontfamily(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.fontfamily_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.GraphicsContext.fontfamily) } -#if LANG_CXX11 -inline void GraphicsContext::set_fontfamily(::std::string&& value) { - - fontfamily_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.GraphicsContext.fontfamily) -} -#endif -inline void GraphicsContext::set_fontfamily(const char* value) { - GOOGLE_DCHECK(value != NULL); - - fontfamily_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.GraphicsContext.fontfamily) -} -inline void GraphicsContext::set_fontfamily(const char* value, size_t size) { - - fontfamily_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.GraphicsContext.fontfamily) -} -inline ::std::string* GraphicsContext::mutable_fontfamily() { - +inline std::string* GraphicsContext::mutable_fontfamily() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_fontfamily(); // @@protoc_insertion_point(field_mutable:BERTBuffers.GraphicsContext.fontfamily) - return fontfamily_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& GraphicsContext::_internal_fontfamily() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.fontfamily_.Get(); } -inline ::std::string* GraphicsContext::release_fontfamily() { +inline void GraphicsContext::_internal_set_fontfamily(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.fontfamily_.Set(value, GetArena()); +} +inline std::string* GraphicsContext::_internal_mutable_fontfamily() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.fontfamily_.Mutable( GetArena()); +} +inline std::string* GraphicsContext::release_fontfamily() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.GraphicsContext.fontfamily) - - return fontfamily_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.fontfamily_.Release(); } -inline void GraphicsContext::set_allocated_fontfamily(::std::string* fontfamily) { - if (fontfamily != NULL) { - - } else { - +inline void GraphicsContext::set_allocated_fontfamily(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.fontfamily_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.fontfamily_.IsDefault()) { + _impl_.fontfamily_.Set("", GetArena()); } - fontfamily_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), fontfamily); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.GraphicsContext.fontfamily) } @@ -5455,107 +8441,97 @@ inline void GraphicsContext::set_allocated_fontfamily(::std::string* fontfamily) // string mime_type = 1; inline void MIMEData::clear_mime_type() { - mime_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.mime_type_.ClearToEmpty(); } -inline const ::std::string& MIMEData::mime_type() const { +inline const std::string& MIMEData::mime_type() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.MIMEData.mime_type) - return mime_type_.GetNoArena(); + return _internal_mime_type(); } -inline void MIMEData::set_mime_type(const ::std::string& value) { - - mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void MIMEData::set_mime_type(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.mime_type_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.MIMEData.mime_type) } -#if LANG_CXX11 -inline void MIMEData::set_mime_type(::std::string&& value) { - - mime_type_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.MIMEData.mime_type) -} -#endif -inline void MIMEData::set_mime_type(const char* value) { - GOOGLE_DCHECK(value != NULL); - - mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.MIMEData.mime_type) -} -inline void MIMEData::set_mime_type(const char* value, size_t size) { - - mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.MIMEData.mime_type) -} -inline ::std::string* MIMEData::mutable_mime_type() { - +inline std::string* MIMEData::mutable_mime_type() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_mime_type(); // @@protoc_insertion_point(field_mutable:BERTBuffers.MIMEData.mime_type) - return mime_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& MIMEData::_internal_mime_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.mime_type_.Get(); +} +inline void MIMEData::_internal_set_mime_type(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.mime_type_.Set(value, GetArena()); +} +inline std::string* MIMEData::_internal_mutable_mime_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.mime_type_.Mutable( GetArena()); } -inline ::std::string* MIMEData::release_mime_type() { +inline std::string* MIMEData::release_mime_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.MIMEData.mime_type) - - return mime_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.mime_type_.Release(); } -inline void MIMEData::set_allocated_mime_type(::std::string* mime_type) { - if (mime_type != NULL) { - - } else { - +inline void MIMEData::set_allocated_mime_type(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.mime_type_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.mime_type_.IsDefault()) { + _impl_.mime_type_.Set("", GetArena()); } - mime_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mime_type); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.MIMEData.mime_type) } // bytes data = 2; inline void MIMEData::clear_data() { - data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.data_.ClearToEmpty(); } -inline const ::std::string& MIMEData::data() const { +inline const std::string& MIMEData::data() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.MIMEData.data) - return data_.GetNoArena(); + return _internal_data(); } -inline void MIMEData::set_data(const ::std::string& value) { - - data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void MIMEData::set_data(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.data_.SetBytes(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.MIMEData.data) } -#if LANG_CXX11 -inline void MIMEData::set_data(::std::string&& value) { - - data_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.MIMEData.data) -} -#endif -inline void MIMEData::set_data(const char* value) { - GOOGLE_DCHECK(value != NULL); - - data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.MIMEData.data) -} -inline void MIMEData::set_data(const void* value, size_t size) { - - data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.MIMEData.data) -} -inline ::std::string* MIMEData::mutable_data() { - +inline std::string* MIMEData::mutable_data() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_data(); // @@protoc_insertion_point(field_mutable:BERTBuffers.MIMEData.data) - return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& MIMEData::_internal_data() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.data_.Get(); } -inline ::std::string* MIMEData::release_data() { +inline void MIMEData::_internal_set_data(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.data_.Set(value, GetArena()); +} +inline std::string* MIMEData::_internal_mutable_data() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.data_.Mutable( GetArena()); +} +inline std::string* MIMEData::release_data() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.MIMEData.data) - - return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.data_.Release(); } -inline void MIMEData::set_allocated_data(::std::string* data) { - if (data != NULL) { - - } else { - +inline void MIMEData::set_allocated_data(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.data_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) { + _impl_.data_.Set("", GetArena()); } - data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.MIMEData.data) } @@ -5568,92 +8544,82 @@ inline bool Console::has_text() const { return message_case() == kText; } inline void Console::set_has_text() { - _oneof_case_[0] = kText; + _impl_._oneof_case_[0] = kText; } inline void Console::clear_text() { - if (has_text()) { - message_.text_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() == kText) { + _impl_.message_.text_.Destroy(); clear_has_message(); } } -inline const ::std::string& Console::text() const { +inline const std::string& Console::text() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Console.text) - if (has_text()) { - return message_.text_.GetNoArena(); - } - return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); + return _internal_text(); } -inline void Console::set_text(const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Console.text) - if (!has_text()) { +template +inline PROTOBUF_ALWAYS_INLINE void Console::set_text(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kText) { clear_message(); + set_has_text(); - message_.text_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.text_.InitDefault(); } - message_.text_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + _impl_.message_.text_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.Console.text) } -#if LANG_CXX11 -inline void Console::set_text(::std::string&& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Console.text) - if (!has_text()) { - clear_message(); - set_has_text(); - message_.text_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } - message_.text_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.Console.text) +inline std::string* Console::mutable_text() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_text(); + // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.text) + return _s; } -#endif -inline void Console::set_text(const char* value) { - GOOGLE_DCHECK(value != NULL); - if (!has_text()) { - clear_message(); - set_has_text(); - message_.text_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline const std::string& Console::_internal_text() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (message_case() != kText) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } - message_.text_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Console.text) + return _impl_.message_.text_.Get(); } -inline void Console::set_text(const char* value, size_t size) { - if (!has_text()) { +inline void Console::_internal_set_text(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kText) { clear_message(); + set_has_text(); - message_.text_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.text_.InitDefault(); } - message_.text_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( - reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Console.text) + _impl_.message_.text_.Set(value, GetArena()); } -inline ::std::string* Console::mutable_text() { - if (!has_text()) { +inline std::string* Console::_internal_mutable_text() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kText) { clear_message(); + set_has_text(); - message_.text_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.text_.InitDefault(); } - // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.text) - return message_.text_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.message_.text_.Mutable( GetArena()); } -inline ::std::string* Console::release_text() { +inline std::string* Console::release_text() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.Console.text) - if (has_text()) { - clear_has_message(); - return message_.text_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } else { - return NULL; + if (message_case() != kText) { + return nullptr; } + clear_has_message(); + return _impl_.message_.text_.Release(); } -inline void Console::set_allocated_text(::std::string* text) { - if (!has_text()) { - message_.text_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline void Console::set_allocated_text(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_message()) { + clear_message(); } - clear_message(); - if (text != NULL) { + if (value != nullptr) { set_has_text(); - message_.text_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - text); + _impl_.message_.text_.InitAllocated(value, GetArena()); } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.text) } @@ -5663,92 +8629,82 @@ inline bool Console::has_err() const { return message_case() == kErr; } inline void Console::set_has_err() { - _oneof_case_[0] = kErr; + _impl_._oneof_case_[0] = kErr; } inline void Console::clear_err() { - if (has_err()) { - message_.err_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() == kErr) { + _impl_.message_.err_.Destroy(); clear_has_message(); } } -inline const ::std::string& Console::err() const { +inline const std::string& Console::err() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Console.err) - if (has_err()) { - return message_.err_.GetNoArena(); - } - return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); + return _internal_err(); } -inline void Console::set_err(const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Console.err) - if (!has_err()) { +template +inline PROTOBUF_ALWAYS_INLINE void Console::set_err(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kErr) { clear_message(); + set_has_err(); - message_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.err_.InitDefault(); } - message_.err_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + _impl_.message_.err_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.Console.err) } -#if LANG_CXX11 -inline void Console::set_err(::std::string&& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Console.err) - if (!has_err()) { - clear_message(); - set_has_err(); - message_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } - message_.err_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.Console.err) +inline std::string* Console::mutable_err() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_err(); + // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.err) + return _s; } -#endif -inline void Console::set_err(const char* value) { - GOOGLE_DCHECK(value != NULL); - if (!has_err()) { - clear_message(); - set_has_err(); - message_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline const std::string& Console::_internal_err() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (message_case() != kErr) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } - message_.err_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Console.err) + return _impl_.message_.err_.Get(); } -inline void Console::set_err(const char* value, size_t size) { - if (!has_err()) { +inline void Console::_internal_set_err(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kErr) { clear_message(); + set_has_err(); - message_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.err_.InitDefault(); } - message_.err_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( - reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Console.err) + _impl_.message_.err_.Set(value, GetArena()); } -inline ::std::string* Console::mutable_err() { - if (!has_err()) { +inline std::string* Console::_internal_mutable_err() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kErr) { clear_message(); + set_has_err(); - message_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.err_.InitDefault(); } - // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.err) - return message_.err_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.message_.err_.Mutable( GetArena()); } -inline ::std::string* Console::release_err() { +inline std::string* Console::release_err() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.Console.err) - if (has_err()) { - clear_has_message(); - return message_.err_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } else { - return NULL; + if (message_case() != kErr) { + return nullptr; } + clear_has_message(); + return _impl_.message_.err_.Release(); } -inline void Console::set_allocated_err(::std::string* err) { - if (!has_err()) { - message_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline void Console::set_allocated_err(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_message()) { + clear_message(); } - clear_message(); - if (err != NULL) { + if (value != nullptr) { set_has_err(); - message_.err_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - err); + _impl_.message_.err_.InitAllocated(value, GetArena()); } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.err) } @@ -5758,92 +8714,82 @@ inline bool Console::has_prompt() const { return message_case() == kPrompt; } inline void Console::set_has_prompt() { - _oneof_case_[0] = kPrompt; + _impl_._oneof_case_[0] = kPrompt; } inline void Console::clear_prompt() { - if (has_prompt()) { - message_.prompt_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() == kPrompt) { + _impl_.message_.prompt_.Destroy(); clear_has_message(); } } -inline const ::std::string& Console::prompt() const { +inline const std::string& Console::prompt() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Console.prompt) - if (has_prompt()) { - return message_.prompt_.GetNoArena(); - } - return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); + return _internal_prompt(); } -inline void Console::set_prompt(const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Console.prompt) - if (!has_prompt()) { +template +inline PROTOBUF_ALWAYS_INLINE void Console::set_prompt(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kPrompt) { clear_message(); + set_has_prompt(); - message_.prompt_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.prompt_.InitDefault(); } - message_.prompt_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + _impl_.message_.prompt_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.Console.prompt) } -#if LANG_CXX11 -inline void Console::set_prompt(::std::string&& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.Console.prompt) - if (!has_prompt()) { - clear_message(); - set_has_prompt(); - message_.prompt_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } - message_.prompt_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.Console.prompt) +inline std::string* Console::mutable_prompt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_prompt(); + // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.prompt) + return _s; } -#endif -inline void Console::set_prompt(const char* value) { - GOOGLE_DCHECK(value != NULL); - if (!has_prompt()) { - clear_message(); - set_has_prompt(); - message_.prompt_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline const std::string& Console::_internal_prompt() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (message_case() != kPrompt) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } - message_.prompt_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.Console.prompt) + return _impl_.message_.prompt_.Get(); } -inline void Console::set_prompt(const char* value, size_t size) { - if (!has_prompt()) { +inline void Console::_internal_set_prompt(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kPrompt) { clear_message(); + set_has_prompt(); - message_.prompt_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.prompt_.InitDefault(); } - message_.prompt_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( - reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.Console.prompt) + _impl_.message_.prompt_.Set(value, GetArena()); } -inline ::std::string* Console::mutable_prompt() { - if (!has_prompt()) { +inline std::string* Console::_internal_mutable_prompt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() != kPrompt) { clear_message(); + set_has_prompt(); - message_.prompt_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.message_.prompt_.InitDefault(); } - // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.prompt) - return message_.prompt_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.message_.prompt_.Mutable( GetArena()); } -inline ::std::string* Console::release_prompt() { +inline std::string* Console::release_prompt() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.Console.prompt) - if (has_prompt()) { - clear_has_message(); - return message_.prompt_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } else { - return NULL; + if (message_case() != kPrompt) { + return nullptr; } + clear_has_message(); + return _impl_.message_.prompt_.Release(); } -inline void Console::set_allocated_prompt(::std::string* prompt) { - if (!has_prompt()) { - message_.prompt_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline void Console::set_allocated_prompt(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_message()) { + clear_message(); } - clear_message(); - if (prompt != NULL) { + if (value != nullptr) { set_has_prompt(); - message_.prompt_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - prompt); + _impl_.message_.prompt_.InitAllocated(value, GetArena()); } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.Console.prompt) } @@ -5852,130 +8798,247 @@ inline void Console::set_allocated_prompt(::std::string* prompt) { inline bool Console::has_graphics() const { return message_case() == kGraphics; } +inline bool Console::_internal_has_graphics() const { + return message_case() == kGraphics; +} inline void Console::set_has_graphics() { - _oneof_case_[0] = kGraphics; + _impl_._oneof_case_[0] = kGraphics; } inline void Console::clear_graphics() { - if (has_graphics()) { - delete message_.graphics_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() == kGraphics) { + if (GetArena() == nullptr) { + delete _impl_.message_.graphics_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.message_.graphics_); + } clear_has_message(); } } inline ::BERTBuffers::GraphicsCommand* Console::release_graphics() { // @@protoc_insertion_point(field_release:BERTBuffers.Console.graphics) - if (has_graphics()) { + if (message_case() == kGraphics) { clear_has_message(); - ::BERTBuffers::GraphicsCommand* temp = message_.graphics_; - message_.graphics_ = NULL; + auto* temp = _impl_.message_.graphics_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.message_.graphics_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::GraphicsCommand& Console::graphics() const { +inline const ::BERTBuffers::GraphicsCommand& Console::_internal_graphics() const { + return message_case() == kGraphics ? *_impl_.message_.graphics_ : reinterpret_cast<::BERTBuffers::GraphicsCommand&>(::BERTBuffers::_GraphicsCommand_default_instance_); +} +inline const ::BERTBuffers::GraphicsCommand& Console::graphics() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Console.graphics) - return has_graphics() - ? *message_.graphics_ - : *reinterpret_cast< ::BERTBuffers::GraphicsCommand*>(&::BERTBuffers::_GraphicsCommand_default_instance_); + return _internal_graphics(); +} +inline ::BERTBuffers::GraphicsCommand* Console::unsafe_arena_release_graphics() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Console.graphics) + if (message_case() == kGraphics) { + clear_has_message(); + auto* temp = _impl_.message_.graphics_; + _impl_.message_.graphics_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Console::unsafe_arena_set_allocated_graphics(::BERTBuffers::GraphicsCommand* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_message(); + if (value) { + set_has_graphics(); + _impl_.message_.graphics_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Console.graphics) } -inline ::BERTBuffers::GraphicsCommand* Console::mutable_graphics() { - if (!has_graphics()) { +inline ::BERTBuffers::GraphicsCommand* Console::_internal_mutable_graphics() { + if (message_case() != kGraphics) { clear_message(); set_has_graphics(); - message_.graphics_ = new ::BERTBuffers::GraphicsCommand; + _impl_.message_.graphics_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::GraphicsCommand>(GetArena()); } + return _impl_.message_.graphics_; +} +inline ::BERTBuffers::GraphicsCommand* Console::mutable_graphics() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::GraphicsCommand* _msg = _internal_mutable_graphics(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.graphics) - return message_.graphics_; + return _msg; } // .BERTBuffers.MIMEData mime_data = 5; inline bool Console::has_mime_data() const { return message_case() == kMimeData; } +inline bool Console::_internal_has_mime_data() const { + return message_case() == kMimeData; +} inline void Console::set_has_mime_data() { - _oneof_case_[0] = kMimeData; + _impl_._oneof_case_[0] = kMimeData; } inline void Console::clear_mime_data() { - if (has_mime_data()) { - delete message_.mime_data_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() == kMimeData) { + if (GetArena() == nullptr) { + delete _impl_.message_.mime_data_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.message_.mime_data_); + } clear_has_message(); } } inline ::BERTBuffers::MIMEData* Console::release_mime_data() { // @@protoc_insertion_point(field_release:BERTBuffers.Console.mime_data) - if (has_mime_data()) { + if (message_case() == kMimeData) { clear_has_message(); - ::BERTBuffers::MIMEData* temp = message_.mime_data_; - message_.mime_data_ = NULL; + auto* temp = _impl_.message_.mime_data_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.message_.mime_data_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::MIMEData& Console::mime_data() const { +inline const ::BERTBuffers::MIMEData& Console::_internal_mime_data() const { + return message_case() == kMimeData ? *_impl_.message_.mime_data_ : reinterpret_cast<::BERTBuffers::MIMEData&>(::BERTBuffers::_MIMEData_default_instance_); +} +inline const ::BERTBuffers::MIMEData& Console::mime_data() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Console.mime_data) - return has_mime_data() - ? *message_.mime_data_ - : *reinterpret_cast< ::BERTBuffers::MIMEData*>(&::BERTBuffers::_MIMEData_default_instance_); + return _internal_mime_data(); +} +inline ::BERTBuffers::MIMEData* Console::unsafe_arena_release_mime_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Console.mime_data) + if (message_case() == kMimeData) { + clear_has_message(); + auto* temp = _impl_.message_.mime_data_; + _impl_.message_.mime_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Console::unsafe_arena_set_allocated_mime_data(::BERTBuffers::MIMEData* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_message(); + if (value) { + set_has_mime_data(); + _impl_.message_.mime_data_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Console.mime_data) } -inline ::BERTBuffers::MIMEData* Console::mutable_mime_data() { - if (!has_mime_data()) { +inline ::BERTBuffers::MIMEData* Console::_internal_mutable_mime_data() { + if (message_case() != kMimeData) { clear_message(); set_has_mime_data(); - message_.mime_data_ = new ::BERTBuffers::MIMEData; + _impl_.message_.mime_data_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::MIMEData>(GetArena()); } + return _impl_.message_.mime_data_; +} +inline ::BERTBuffers::MIMEData* Console::mutable_mime_data() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::MIMEData* _msg = _internal_mutable_mime_data(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.mime_data) - return message_.mime_data_; + return _msg; } // .BERTBuffers.Variable history = 6; inline bool Console::has_history() const { return message_case() == kHistory; } +inline bool Console::_internal_has_history() const { + return message_case() == kHistory; +} inline void Console::set_has_history() { - _oneof_case_[0] = kHistory; + _impl_._oneof_case_[0] = kHistory; } inline void Console::clear_history() { - if (has_history()) { - delete message_.history_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_case() == kHistory) { + if (GetArena() == nullptr) { + delete _impl_.message_.history_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.message_.history_); + } clear_has_message(); } } inline ::BERTBuffers::Variable* Console::release_history() { // @@protoc_insertion_point(field_release:BERTBuffers.Console.history) - if (has_history()) { + if (message_case() == kHistory) { clear_has_message(); - ::BERTBuffers::Variable* temp = message_.history_; - message_.history_ = NULL; + auto* temp = _impl_.message_.history_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.message_.history_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::Variable& Console::history() const { +inline const ::BERTBuffers::Variable& Console::_internal_history() const { + return message_case() == kHistory ? *_impl_.message_.history_ : reinterpret_cast<::BERTBuffers::Variable&>(::BERTBuffers::_Variable_default_instance_); +} +inline const ::BERTBuffers::Variable& Console::history() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.Console.history) - return has_history() - ? *message_.history_ - : *reinterpret_cast< ::BERTBuffers::Variable*>(&::BERTBuffers::_Variable_default_instance_); + return _internal_history(); +} +inline ::BERTBuffers::Variable* Console::unsafe_arena_release_history() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.Console.history) + if (message_case() == kHistory) { + clear_has_message(); + auto* temp = _impl_.message_.history_; + _impl_.message_.history_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Console::unsafe_arena_set_allocated_history(::BERTBuffers::Variable* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_message(); + if (value) { + set_has_history(); + _impl_.message_.history_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.Console.history) } -inline ::BERTBuffers::Variable* Console::mutable_history() { - if (!has_history()) { +inline ::BERTBuffers::Variable* Console::_internal_mutable_history() { + if (message_case() != kHistory) { clear_message(); set_has_history(); - message_.history_ = new ::BERTBuffers::Variable; + _impl_.message_.history_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Variable>(GetArena()); } + return _impl_.message_.history_; +} +inline ::BERTBuffers::Variable* Console::mutable_history() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::Variable* _msg = _internal_mutable_history(); // @@protoc_insertion_point(field_mutable:BERTBuffers.Console.history) - return message_.history_; + return _msg; } inline bool Console::has_message() const { return message_case() != MESSAGE_NOT_SET; } inline void Console::clear_has_message() { - _oneof_case_[0] = MESSAGE_NOT_SET; + _impl_._oneof_case_[0] = MESSAGE_NOT_SET; } inline Console::MessageCase Console::message_case() const { - return Console::MessageCase(_oneof_case_[0]); + return Console::MessageCase(_impl_._oneof_case_[0]); } // ------------------------------------------------------------------- @@ -5983,226 +9046,265 @@ inline Console::MessageCase Console::message_case() const { // string name = 1; inline void FunctionElement::clear_name() { - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); } -inline const ::std::string& FunctionElement::name() const { +inline const std::string& FunctionElement::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionElement.name) - return name_.GetNoArena(); + return _internal_name(); } -inline void FunctionElement::set_name(const ::std::string& value) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void FunctionElement::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.FunctionElement.name) } -#if LANG_CXX11 -inline void FunctionElement::set_name(::std::string&& value) { - - name_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.FunctionElement.name) -} -#endif -inline void FunctionElement::set_name(const char* value) { - GOOGLE_DCHECK(value != NULL); - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.FunctionElement.name) -} -inline void FunctionElement::set_name(const char* value, size_t size) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.FunctionElement.name) -} -inline ::std::string* FunctionElement::mutable_name() { - +inline std::string* FunctionElement::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); // @@protoc_insertion_point(field_mutable:BERTBuffers.FunctionElement.name) - return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; } -inline ::std::string* FunctionElement::release_name() { +inline const std::string& FunctionElement::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void FunctionElement::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline std::string* FunctionElement::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* FunctionElement::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.FunctionElement.name) - - return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.name_.Release(); } -inline void FunctionElement::set_allocated_name(::std::string* name) { - if (name != NULL) { - - } else { - +inline void FunctionElement::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } - name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.FunctionElement.name) } // string type_name = 2; inline void FunctionElement::clear_type_name() { - type_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_name_.ClearToEmpty(); } -inline const ::std::string& FunctionElement::type_name() const { +inline const std::string& FunctionElement::type_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionElement.type_name) - return type_name_.GetNoArena(); + return _internal_type_name(); } -inline void FunctionElement::set_type_name(const ::std::string& value) { - - type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void FunctionElement::set_type_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.FunctionElement.type_name) } -#if LANG_CXX11 -inline void FunctionElement::set_type_name(::std::string&& value) { - - type_name_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.FunctionElement.type_name) -} -#endif -inline void FunctionElement::set_type_name(const char* value) { - GOOGLE_DCHECK(value != NULL); - - type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.FunctionElement.type_name) -} -inline void FunctionElement::set_type_name(const char* value, size_t size) { - - type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.FunctionElement.type_name) -} -inline ::std::string* FunctionElement::mutable_type_name() { - +inline std::string* FunctionElement::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_type_name(); // @@protoc_insertion_point(field_mutable:BERTBuffers.FunctionElement.type_name) - return type_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& FunctionElement::_internal_type_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.type_name_.Get(); +} +inline void FunctionElement::_internal_set_type_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_name_.Set(value, GetArena()); } -inline ::std::string* FunctionElement::release_type_name() { +inline std::string* FunctionElement::_internal_mutable_type_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.type_name_.Mutable( GetArena()); +} +inline std::string* FunctionElement::release_type_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.FunctionElement.type_name) - - return type_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.type_name_.Release(); } -inline void FunctionElement::set_allocated_type_name(::std::string* type_name) { - if (type_name != NULL) { - - } else { - +inline void FunctionElement::set_allocated_type_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.type_name_.IsDefault()) { + _impl_.type_name_.Set("", GetArena()); } - type_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type_name); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.FunctionElement.type_name) } // .BERTBuffers.Variable default_value = 3; inline bool FunctionElement::has_default_value() const { - return this != internal_default_instance() && default_value_ != NULL; + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.default_value_ != nullptr); + return value; } inline void FunctionElement::clear_default_value() { - if (GetArenaNoVirtual() == NULL && default_value_ != NULL) { - delete default_value_; - } - default_value_ = NULL; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.default_value_ != nullptr) _impl_.default_value_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::BERTBuffers::Variable& FunctionElement::_internal_default_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::BERTBuffers::Variable* p = _impl_.default_value_; + return p != nullptr ? *p : reinterpret_cast(::BERTBuffers::_Variable_default_instance_); } -inline const ::BERTBuffers::Variable& FunctionElement::default_value() const { - const ::BERTBuffers::Variable* p = default_value_; +inline const ::BERTBuffers::Variable& FunctionElement::default_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionElement.default_value) - return p != NULL ? *p : *reinterpret_cast( - &::BERTBuffers::_Variable_default_instance_); + return _internal_default_value(); +} +inline void FunctionElement::unsafe_arena_set_allocated_default_value(::BERTBuffers::Variable* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.default_value_); + } + _impl_.default_value_ = reinterpret_cast<::BERTBuffers::Variable*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.FunctionElement.default_value) } inline ::BERTBuffers::Variable* FunctionElement::release_default_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::BERTBuffers::Variable* released = _impl_.default_value_; + _impl_.default_value_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::BERTBuffers::Variable* FunctionElement::unsafe_arena_release_default_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.FunctionElement.default_value) - - ::BERTBuffers::Variable* temp = default_value_; - default_value_ = NULL; + + _impl_._has_bits_[0] &= ~0x00000001u; + ::BERTBuffers::Variable* temp = _impl_.default_value_; + _impl_.default_value_ = nullptr; return temp; } -inline ::BERTBuffers::Variable* FunctionElement::mutable_default_value() { - - if (default_value_ == NULL) { - default_value_ = new ::BERTBuffers::Variable; +inline ::BERTBuffers::Variable* FunctionElement::_internal_mutable_default_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.default_value_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Variable>(GetArena()); + _impl_.default_value_ = reinterpret_cast<::BERTBuffers::Variable*>(p); } + return _impl_.default_value_; +} +inline ::BERTBuffers::Variable* FunctionElement::mutable_default_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000001u; + ::BERTBuffers::Variable* _msg = _internal_mutable_default_value(); // @@protoc_insertion_point(field_mutable:BERTBuffers.FunctionElement.default_value) - return default_value_; + return _msg; } -inline void FunctionElement::set_allocated_default_value(::BERTBuffers::Variable* default_value) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == NULL) { - delete default_value_; +inline void FunctionElement::set_allocated_default_value(::BERTBuffers::Variable* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.default_value_); } - if (default_value) { - ::google::protobuf::Arena* submessage_arena = NULL; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); if (message_arena != submessage_arena) { - default_value = ::google::protobuf::internal::GetOwnedMessage( - message_arena, default_value, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - default_value_ = default_value; + + _impl_.default_value_ = reinterpret_cast<::BERTBuffers::Variable*>(value); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.FunctionElement.default_value) } // string description = 4; inline void FunctionElement::clear_description() { - description_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.description_.ClearToEmpty(); } -inline const ::std::string& FunctionElement::description() const { +inline const std::string& FunctionElement::description() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionElement.description) - return description_.GetNoArena(); + return _internal_description(); } -inline void FunctionElement::set_description(const ::std::string& value) { - - description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void FunctionElement::set_description(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.description_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.FunctionElement.description) } -#if LANG_CXX11 -inline void FunctionElement::set_description(::std::string&& value) { - - description_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.FunctionElement.description) -} -#endif -inline void FunctionElement::set_description(const char* value) { - GOOGLE_DCHECK(value != NULL); - - description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.FunctionElement.description) -} -inline void FunctionElement::set_description(const char* value, size_t size) { - - description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.FunctionElement.description) -} -inline ::std::string* FunctionElement::mutable_description() { - +inline std::string* FunctionElement::mutable_description() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_description(); // @@protoc_insertion_point(field_mutable:BERTBuffers.FunctionElement.description) - return description_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& FunctionElement::_internal_description() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.description_.Get(); } -inline ::std::string* FunctionElement::release_description() { +inline void FunctionElement::_internal_set_description(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.description_.Set(value, GetArena()); +} +inline std::string* FunctionElement::_internal_mutable_description() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.description_.Mutable( GetArena()); +} +inline std::string* FunctionElement::release_description() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.FunctionElement.description) - - return description_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.description_.Release(); } -inline void FunctionElement::set_allocated_description(::std::string* description) { - if (description != NULL) { - - } else { - +inline void FunctionElement::set_allocated_description(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.description_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) { + _impl_.description_.Set("", GetArena()); } - description_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), description); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.FunctionElement.description) } // uint32 index = 5; inline void FunctionElement::clear_index() { - index_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.index_ = 0u; } -inline ::google::protobuf::uint32 FunctionElement::index() const { +inline ::uint32_t FunctionElement::index() const { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionElement.index) - return index_; + return _internal_index(); } -inline void FunctionElement::set_index(::google::protobuf::uint32 value) { - - index_ = value; +inline void FunctionElement::set_index(::uint32_t value) { + _internal_set_index(value); // @@protoc_insertion_point(field_set:BERTBuffers.FunctionElement.index) } +inline ::uint32_t FunctionElement::_internal_index() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.index_; +} +inline void FunctionElement::_internal_set_index(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.index_ = value; +} // ------------------------------------------------------------------- @@ -6210,163 +9312,239 @@ inline void FunctionElement::set_index(::google::protobuf::uint32 value) { // .BERTBuffers.FunctionElement function = 1; inline bool FunctionDescriptor::has_function() const { - return this != internal_default_instance() && function_ != NULL; + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.function_ != nullptr); + return value; } inline void FunctionDescriptor::clear_function() { - if (GetArenaNoVirtual() == NULL && function_ != NULL) { - delete function_; - } - function_ = NULL; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.function_ != nullptr) _impl_.function_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::BERTBuffers::FunctionElement& FunctionDescriptor::function() const { - const ::BERTBuffers::FunctionElement* p = function_; +inline const ::BERTBuffers::FunctionElement& FunctionDescriptor::_internal_function() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::BERTBuffers::FunctionElement* p = _impl_.function_; + return p != nullptr ? *p : reinterpret_cast(::BERTBuffers::_FunctionElement_default_instance_); +} +inline const ::BERTBuffers::FunctionElement& FunctionDescriptor::function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionDescriptor.function) - return p != NULL ? *p : *reinterpret_cast( - &::BERTBuffers::_FunctionElement_default_instance_); + return _internal_function(); +} +inline void FunctionDescriptor::unsafe_arena_set_allocated_function(::BERTBuffers::FunctionElement* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.function_); + } + _impl_.function_ = reinterpret_cast<::BERTBuffers::FunctionElement*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.FunctionDescriptor.function) } inline ::BERTBuffers::FunctionElement* FunctionDescriptor::release_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::BERTBuffers::FunctionElement* released = _impl_.function_; + _impl_.function_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::BERTBuffers::FunctionElement* FunctionDescriptor::unsafe_arena_release_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.FunctionDescriptor.function) - - ::BERTBuffers::FunctionElement* temp = function_; - function_ = NULL; + + _impl_._has_bits_[0] &= ~0x00000001u; + ::BERTBuffers::FunctionElement* temp = _impl_.function_; + _impl_.function_ = nullptr; return temp; } -inline ::BERTBuffers::FunctionElement* FunctionDescriptor::mutable_function() { - - if (function_ == NULL) { - function_ = new ::BERTBuffers::FunctionElement; +inline ::BERTBuffers::FunctionElement* FunctionDescriptor::_internal_mutable_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.function_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::FunctionElement>(GetArena()); + _impl_.function_ = reinterpret_cast<::BERTBuffers::FunctionElement*>(p); } + return _impl_.function_; +} +inline ::BERTBuffers::FunctionElement* FunctionDescriptor::mutable_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000001u; + ::BERTBuffers::FunctionElement* _msg = _internal_mutable_function(); // @@protoc_insertion_point(field_mutable:BERTBuffers.FunctionDescriptor.function) - return function_; + return _msg; } -inline void FunctionDescriptor::set_allocated_function(::BERTBuffers::FunctionElement* function) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == NULL) { - delete function_; +inline void FunctionDescriptor::set_allocated_function(::BERTBuffers::FunctionElement* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.function_); } - if (function) { - ::google::protobuf::Arena* submessage_arena = NULL; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); if (message_arena != submessage_arena) { - function = ::google::protobuf::internal::GetOwnedMessage( - message_arena, function, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - function_ = function; + + _impl_.function_ = reinterpret_cast<::BERTBuffers::FunctionElement*>(value); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.FunctionDescriptor.function) } // .BERTBuffers.CallType call_type = 2; inline void FunctionDescriptor::clear_call_type() { - call_type_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.call_type_ = 0; } inline ::BERTBuffers::CallType FunctionDescriptor::call_type() const { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionDescriptor.call_type) - return static_cast< ::BERTBuffers::CallType >(call_type_); + return _internal_call_type(); } inline void FunctionDescriptor::set_call_type(::BERTBuffers::CallType value) { - - call_type_ = value; + _internal_set_call_type(value); // @@protoc_insertion_point(field_set:BERTBuffers.FunctionDescriptor.call_type) } +inline ::BERTBuffers::CallType FunctionDescriptor::_internal_call_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::BERTBuffers::CallType>(_impl_.call_type_); +} +inline void FunctionDescriptor::_internal_set_call_type(::BERTBuffers::CallType value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.call_type_ = value; +} // uint32 flags = 3; inline void FunctionDescriptor::clear_flags() { - flags_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.flags_ = 0u; } -inline ::google::protobuf::uint32 FunctionDescriptor::flags() const { +inline ::uint32_t FunctionDescriptor::flags() const { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionDescriptor.flags) - return flags_; + return _internal_flags(); } -inline void FunctionDescriptor::set_flags(::google::protobuf::uint32 value) { - - flags_ = value; +inline void FunctionDescriptor::set_flags(::uint32_t value) { + _internal_set_flags(value); // @@protoc_insertion_point(field_set:BERTBuffers.FunctionDescriptor.flags) } +inline ::uint32_t FunctionDescriptor::_internal_flags() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.flags_; +} +inline void FunctionDescriptor::_internal_set_flags(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.flags_ = value; +} // string category = 4; inline void FunctionDescriptor::clear_category() { - category_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.category_.ClearToEmpty(); } -inline const ::std::string& FunctionDescriptor::category() const { +inline const std::string& FunctionDescriptor::category() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.FunctionDescriptor.category) - return category_.GetNoArena(); + return _internal_category(); } -inline void FunctionDescriptor::set_category(const ::std::string& value) { - - category_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void FunctionDescriptor::set_category(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.category_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.FunctionDescriptor.category) } -#if LANG_CXX11 -inline void FunctionDescriptor::set_category(::std::string&& value) { - - category_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.FunctionDescriptor.category) -} -#endif -inline void FunctionDescriptor::set_category(const char* value) { - GOOGLE_DCHECK(value != NULL); - - category_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.FunctionDescriptor.category) -} -inline void FunctionDescriptor::set_category(const char* value, size_t size) { - - category_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.FunctionDescriptor.category) -} -inline ::std::string* FunctionDescriptor::mutable_category() { - +inline std::string* FunctionDescriptor::mutable_category() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_category(); // @@protoc_insertion_point(field_mutable:BERTBuffers.FunctionDescriptor.category) - return category_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& FunctionDescriptor::_internal_category() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.category_.Get(); +} +inline void FunctionDescriptor::_internal_set_category(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.category_.Set(value, GetArena()); } -inline ::std::string* FunctionDescriptor::release_category() { +inline std::string* FunctionDescriptor::_internal_mutable_category() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.category_.Mutable( GetArena()); +} +inline std::string* FunctionDescriptor::release_category() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.FunctionDescriptor.category) - - return category_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.category_.Release(); } -inline void FunctionDescriptor::set_allocated_category(::std::string* category) { - if (category != NULL) { - - } else { - +inline void FunctionDescriptor::set_allocated_category(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.category_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.category_.IsDefault()) { + _impl_.category_.Set("", GetArena()); } - category_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), category); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.FunctionDescriptor.category) } // repeated .BERTBuffers.FunctionElement arguments = 5; +inline int FunctionDescriptor::_internal_arguments_size() const { + return _internal_arguments().size(); +} inline int FunctionDescriptor::arguments_size() const { - return arguments_.size(); + return _internal_arguments_size(); } inline void FunctionDescriptor::clear_arguments() { - arguments_.Clear(); -} -inline const ::BERTBuffers::FunctionElement& FunctionDescriptor::arguments(int index) const { - // @@protoc_insertion_point(field_get:BERTBuffers.FunctionDescriptor.arguments) - return arguments_.Get(index); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.arguments_.Clear(); } -inline ::BERTBuffers::FunctionElement* FunctionDescriptor::mutable_arguments(int index) { +inline ::BERTBuffers::FunctionElement* FunctionDescriptor::mutable_arguments(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.FunctionDescriptor.arguments) - return arguments_.Mutable(index); -} -inline ::BERTBuffers::FunctionElement* FunctionDescriptor::add_arguments() { - // @@protoc_insertion_point(field_add:BERTBuffers.FunctionDescriptor.arguments) - return arguments_.Add(); + return _internal_mutable_arguments()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionElement >* -FunctionDescriptor::mutable_arguments() { +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionElement>* FunctionDescriptor::mutable_arguments() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.FunctionDescriptor.arguments) - return &arguments_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_arguments(); +} +inline const ::BERTBuffers::FunctionElement& FunctionDescriptor::arguments(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:BERTBuffers.FunctionDescriptor.arguments) + return _internal_arguments().Get(index); +} +inline ::BERTBuffers::FunctionElement* FunctionDescriptor::add_arguments() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::BERTBuffers::FunctionElement* _add = _internal_mutable_arguments()->Add(); + // @@protoc_insertion_point(field_add:BERTBuffers.FunctionDescriptor.arguments) + return _add; } -inline const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionElement >& -FunctionDescriptor::arguments() const { +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionElement>& FunctionDescriptor::arguments() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.FunctionDescriptor.arguments) - return arguments_; + return _internal_arguments(); +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionElement>& +FunctionDescriptor::_internal_arguments() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.arguments_; +} +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionElement>* +FunctionDescriptor::_internal_mutable_arguments() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.arguments_; } // ------------------------------------------------------------------- @@ -6374,33 +9552,52 @@ FunctionDescriptor::arguments() const { // FunctionList // repeated .BERTBuffers.FunctionDescriptor functions = 1; +inline int FunctionList::_internal_functions_size() const { + return _internal_functions().size(); +} inline int FunctionList::functions_size() const { - return functions_.size(); + return _internal_functions_size(); } inline void FunctionList::clear_functions() { - functions_.Clear(); -} -inline const ::BERTBuffers::FunctionDescriptor& FunctionList::functions(int index) const { - // @@protoc_insertion_point(field_get:BERTBuffers.FunctionList.functions) - return functions_.Get(index); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.functions_.Clear(); } -inline ::BERTBuffers::FunctionDescriptor* FunctionList::mutable_functions(int index) { +inline ::BERTBuffers::FunctionDescriptor* FunctionList::mutable_functions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.FunctionList.functions) - return functions_.Mutable(index); + return _internal_mutable_functions()->Mutable(index); } -inline ::BERTBuffers::FunctionDescriptor* FunctionList::add_functions() { - // @@protoc_insertion_point(field_add:BERTBuffers.FunctionList.functions) - return functions_.Add(); -} -inline ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor >* -FunctionList::mutable_functions() { +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>* FunctionList::mutable_functions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.FunctionList.functions) - return &functions_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_functions(); +} +inline const ::BERTBuffers::FunctionDescriptor& FunctionList::functions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:BERTBuffers.FunctionList.functions) + return _internal_functions().Get(index); } -inline const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor >& -FunctionList::functions() const { +inline ::BERTBuffers::FunctionDescriptor* FunctionList::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::BERTBuffers::FunctionDescriptor* _add = _internal_mutable_functions()->Add(); + // @@protoc_insertion_point(field_add:BERTBuffers.FunctionList.functions) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>& FunctionList::functions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.FunctionList.functions) - return functions_; + return _internal_functions(); +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>& +FunctionList::_internal_functions() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.functions_; +} +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>* +FunctionList::_internal_mutable_functions() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.functions_; } // ------------------------------------------------------------------- @@ -6409,70 +9606,73 @@ FunctionList::functions() const { // string name = 1; inline void EnumValue::clear_name() { - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); } -inline const ::std::string& EnumValue::name() const { +inline const std::string& EnumValue::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.EnumValue.name) - return name_.GetNoArena(); + return _internal_name(); } -inline void EnumValue::set_name(const ::std::string& value) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void EnumValue::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.EnumValue.name) } -#if LANG_CXX11 -inline void EnumValue::set_name(::std::string&& value) { - - name_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.EnumValue.name) -} -#endif -inline void EnumValue::set_name(const char* value) { - GOOGLE_DCHECK(value != NULL); - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.EnumValue.name) -} -inline void EnumValue::set_name(const char* value, size_t size) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.EnumValue.name) -} -inline ::std::string* EnumValue::mutable_name() { - +inline std::string* EnumValue::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); // @@protoc_insertion_point(field_mutable:BERTBuffers.EnumValue.name) - return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& EnumValue::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void EnumValue::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); } -inline ::std::string* EnumValue::release_name() { +inline std::string* EnumValue::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* EnumValue::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.EnumValue.name) - - return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.name_.Release(); } -inline void EnumValue::set_allocated_name(::std::string* name) { - if (name != NULL) { - - } else { - +inline void EnumValue::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } - name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.EnumValue.name) } // int32 value = 2; inline void EnumValue::clear_value() { - value_ = 0; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_ = 0; } -inline ::google::protobuf::int32 EnumValue::value() const { +inline ::int32_t EnumValue::value() const { // @@protoc_insertion_point(field_get:BERTBuffers.EnumValue.value) - return value_; + return _internal_value(); } -inline void EnumValue::set_value(::google::protobuf::int32 value) { - - value_ = value; +inline void EnumValue::set_value(::int32_t value) { + _internal_set_value(value); // @@protoc_insertion_point(field_set:BERTBuffers.EnumValue.value) } +inline ::int32_t EnumValue::_internal_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.value_; +} +inline void EnumValue::_internal_set_value(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_ = value; +} // ------------------------------------------------------------------- @@ -6480,85 +9680,99 @@ inline void EnumValue::set_value(::google::protobuf::int32 value) { // string name = 1; inline void EnumType::clear_name() { - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); } -inline const ::std::string& EnumType::name() const { +inline const std::string& EnumType::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.EnumType.name) - return name_.GetNoArena(); + return _internal_name(); } -inline void EnumType::set_name(const ::std::string& value) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void EnumType::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.EnumType.name) } -#if LANG_CXX11 -inline void EnumType::set_name(::std::string&& value) { - - name_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.EnumType.name) -} -#endif -inline void EnumType::set_name(const char* value) { - GOOGLE_DCHECK(value != NULL); - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.EnumType.name) -} -inline void EnumType::set_name(const char* value, size_t size) { - - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.EnumType.name) -} -inline ::std::string* EnumType::mutable_name() { - +inline std::string* EnumType::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); // @@protoc_insertion_point(field_mutable:BERTBuffers.EnumType.name) - return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& EnumType::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void EnumType::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); } -inline ::std::string* EnumType::release_name() { +inline std::string* EnumType::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* EnumType::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.EnumType.name) - - return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.name_.Release(); } -inline void EnumType::set_allocated_name(::std::string* name) { - if (name != NULL) { - - } else { - +inline void EnumType::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } - name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.EnumType.name) } // repeated .BERTBuffers.EnumValue values = 2; +inline int EnumType::_internal_values_size() const { + return _internal_values().size(); +} inline int EnumType::values_size() const { - return values_.size(); + return _internal_values_size(); } inline void EnumType::clear_values() { - values_.Clear(); -} -inline const ::BERTBuffers::EnumValue& EnumType::values(int index) const { - // @@protoc_insertion_point(field_get:BERTBuffers.EnumType.values) - return values_.Get(index); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.values_.Clear(); } -inline ::BERTBuffers::EnumValue* EnumType::mutable_values(int index) { +inline ::BERTBuffers::EnumValue* EnumType::mutable_values(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.EnumType.values) - return values_.Mutable(index); -} -inline ::BERTBuffers::EnumValue* EnumType::add_values() { - // @@protoc_insertion_point(field_add:BERTBuffers.EnumType.values) - return values_.Add(); + return _internal_mutable_values()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumValue >* -EnumType::mutable_values() { +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumValue>* EnumType::mutable_values() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.EnumType.values) - return &values_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_values(); +} +inline const ::BERTBuffers::EnumValue& EnumType::values(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:BERTBuffers.EnumType.values) + return _internal_values().Get(index); +} +inline ::BERTBuffers::EnumValue* EnumType::add_values() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::BERTBuffers::EnumValue* _add = _internal_mutable_values()->Add(); + // @@protoc_insertion_point(field_add:BERTBuffers.EnumType.values) + return _add; } -inline const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumValue >& -EnumType::values() const { +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumValue>& EnumType::values() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.EnumType.values) - return values_; + return _internal_values(); +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumValue>& +EnumType::_internal_values() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.values_; +} +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumValue>* +EnumType::_internal_mutable_values() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.values_; } // ------------------------------------------------------------------- @@ -6567,129 +9781,170 @@ EnumType::values() const { // string interface_name = 1; inline void ExternalPointer::clear_interface_name() { - interface_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.interface_name_.ClearToEmpty(); } -inline const ::std::string& ExternalPointer::interface_name() const { +inline const std::string& ExternalPointer::interface_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.ExternalPointer.interface_name) - return interface_name_.GetNoArena(); + return _internal_interface_name(); } -inline void ExternalPointer::set_interface_name(const ::std::string& value) { - - interface_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); +template +inline PROTOBUF_ALWAYS_INLINE void ExternalPointer::set_interface_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.interface_name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.ExternalPointer.interface_name) } -#if LANG_CXX11 -inline void ExternalPointer::set_interface_name(::std::string&& value) { - - interface_name_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.ExternalPointer.interface_name) -} -#endif -inline void ExternalPointer::set_interface_name(const char* value) { - GOOGLE_DCHECK(value != NULL); - - interface_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.ExternalPointer.interface_name) -} -inline void ExternalPointer::set_interface_name(const char* value, size_t size) { - - interface_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.ExternalPointer.interface_name) -} -inline ::std::string* ExternalPointer::mutable_interface_name() { - +inline std::string* ExternalPointer::mutable_interface_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_interface_name(); // @@protoc_insertion_point(field_mutable:BERTBuffers.ExternalPointer.interface_name) - return interface_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _s; +} +inline const std::string& ExternalPointer::_internal_interface_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.interface_name_.Get(); } -inline ::std::string* ExternalPointer::release_interface_name() { +inline void ExternalPointer::_internal_set_interface_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.interface_name_.Set(value, GetArena()); +} +inline std::string* ExternalPointer::_internal_mutable_interface_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.interface_name_.Mutable( GetArena()); +} +inline std::string* ExternalPointer::release_interface_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.ExternalPointer.interface_name) - - return interface_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.interface_name_.Release(); } -inline void ExternalPointer::set_allocated_interface_name(::std::string* interface_name) { - if (interface_name != NULL) { - - } else { - +inline void ExternalPointer::set_allocated_interface_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.interface_name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.interface_name_.IsDefault()) { + _impl_.interface_name_.Set("", GetArena()); } - interface_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), interface_name); // @@protoc_insertion_point(field_set_allocated:BERTBuffers.ExternalPointer.interface_name) } // uint64 pointer = 2; inline void ExternalPointer::clear_pointer() { - pointer_ = GOOGLE_ULONGLONG(0); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pointer_ = ::uint64_t{0u}; } -inline ::google::protobuf::uint64 ExternalPointer::pointer() const { +inline ::uint64_t ExternalPointer::pointer() const { // @@protoc_insertion_point(field_get:BERTBuffers.ExternalPointer.pointer) - return pointer_; + return _internal_pointer(); } -inline void ExternalPointer::set_pointer(::google::protobuf::uint64 value) { - - pointer_ = value; +inline void ExternalPointer::set_pointer(::uint64_t value) { + _internal_set_pointer(value); // @@protoc_insertion_point(field_set:BERTBuffers.ExternalPointer.pointer) } +inline ::uint64_t ExternalPointer::_internal_pointer() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.pointer_; +} +inline void ExternalPointer::_internal_set_pointer(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pointer_ = value; +} // repeated .BERTBuffers.FunctionDescriptor functions = 3; +inline int ExternalPointer::_internal_functions_size() const { + return _internal_functions().size(); +} inline int ExternalPointer::functions_size() const { - return functions_.size(); + return _internal_functions_size(); } inline void ExternalPointer::clear_functions() { - functions_.Clear(); -} -inline const ::BERTBuffers::FunctionDescriptor& ExternalPointer::functions(int index) const { - // @@protoc_insertion_point(field_get:BERTBuffers.ExternalPointer.functions) - return functions_.Get(index); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.functions_.Clear(); } -inline ::BERTBuffers::FunctionDescriptor* ExternalPointer::mutable_functions(int index) { +inline ::BERTBuffers::FunctionDescriptor* ExternalPointer::mutable_functions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.ExternalPointer.functions) - return functions_.Mutable(index); + return _internal_mutable_functions()->Mutable(index); } -inline ::BERTBuffers::FunctionDescriptor* ExternalPointer::add_functions() { - // @@protoc_insertion_point(field_add:BERTBuffers.ExternalPointer.functions) - return functions_.Add(); -} -inline ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor >* -ExternalPointer::mutable_functions() { +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>* ExternalPointer::mutable_functions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.ExternalPointer.functions) - return &functions_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_functions(); +} +inline const ::BERTBuffers::FunctionDescriptor& ExternalPointer::functions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:BERTBuffers.ExternalPointer.functions) + return _internal_functions().Get(index); } -inline const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::FunctionDescriptor >& -ExternalPointer::functions() const { +inline ::BERTBuffers::FunctionDescriptor* ExternalPointer::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::BERTBuffers::FunctionDescriptor* _add = _internal_mutable_functions()->Add(); + // @@protoc_insertion_point(field_add:BERTBuffers.ExternalPointer.functions) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>& ExternalPointer::functions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.ExternalPointer.functions) - return functions_; + return _internal_functions(); +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>& +ExternalPointer::_internal_functions() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.functions_; +} +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::FunctionDescriptor>* +ExternalPointer::_internal_mutable_functions() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.functions_; } // repeated .BERTBuffers.EnumType enums = 4; +inline int ExternalPointer::_internal_enums_size() const { + return _internal_enums().size(); +} inline int ExternalPointer::enums_size() const { - return enums_.size(); + return _internal_enums_size(); } inline void ExternalPointer::clear_enums() { - enums_.Clear(); -} -inline const ::BERTBuffers::EnumType& ExternalPointer::enums(int index) const { - // @@protoc_insertion_point(field_get:BERTBuffers.ExternalPointer.enums) - return enums_.Get(index); + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.enums_.Clear(); } -inline ::BERTBuffers::EnumType* ExternalPointer::mutable_enums(int index) { +inline ::BERTBuffers::EnumType* ExternalPointer::mutable_enums(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:BERTBuffers.ExternalPointer.enums) - return enums_.Mutable(index); -} -inline ::BERTBuffers::EnumType* ExternalPointer::add_enums() { - // @@protoc_insertion_point(field_add:BERTBuffers.ExternalPointer.enums) - return enums_.Add(); + return _internal_mutable_enums()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumType >* -ExternalPointer::mutable_enums() { +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumType>* ExternalPointer::mutable_enums() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:BERTBuffers.ExternalPointer.enums) - return &enums_; + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_enums(); +} +inline const ::BERTBuffers::EnumType& ExternalPointer::enums(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:BERTBuffers.ExternalPointer.enums) + return _internal_enums().Get(index); +} +inline ::BERTBuffers::EnumType* ExternalPointer::add_enums() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::BERTBuffers::EnumType* _add = _internal_mutable_enums()->Add(); + // @@protoc_insertion_point(field_add:BERTBuffers.ExternalPointer.enums) + return _add; } -inline const ::google::protobuf::RepeatedPtrField< ::BERTBuffers::EnumType >& -ExternalPointer::enums() const { +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumType>& ExternalPointer::enums() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:BERTBuffers.ExternalPointer.enums) - return enums_; + return _internal_enums(); +} +inline const ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumType>& +ExternalPointer::_internal_enums() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.enums_; +} +inline ::google::protobuf::RepeatedPtrField<::BERTBuffers::EnumType>* +ExternalPointer::_internal_mutable_enums() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.enums_; } // ------------------------------------------------------------------- @@ -6698,123 +9953,129 @@ ExternalPointer::enums() const { // uint32 id = 1; inline void CallResponse::clear_id() { - id_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_ = 0u; } -inline ::google::protobuf::uint32 CallResponse::id() const { +inline ::uint32_t CallResponse::id() const { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.id) - return id_; + return _internal_id(); } -inline void CallResponse::set_id(::google::protobuf::uint32 value) { - - id_ = value; +inline void CallResponse::set_id(::uint32_t value) { + _internal_set_id(value); // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.id) } +inline ::uint32_t CallResponse::_internal_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.id_; +} +inline void CallResponse::_internal_set_id(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_ = value; +} // bool wait = 2; inline void CallResponse::clear_wait() { - wait_ = false; + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.wait_ = false; } inline bool CallResponse::wait() const { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.wait) - return wait_; + return _internal_wait(); } inline void CallResponse::set_wait(bool value) { - - wait_ = value; + _internal_set_wait(value); // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.wait) } +inline bool CallResponse::_internal_wait() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.wait_; +} +inline void CallResponse::_internal_set_wait(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.wait_ = value; +} // string err = 3; inline bool CallResponse::has_err() const { return operation_case() == kErr; } inline void CallResponse::set_has_err() { - _oneof_case_[0] = kErr; + _impl_._oneof_case_[0] = kErr; } inline void CallResponse::clear_err() { - if (has_err()) { - operation_.err_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() == kErr) { + _impl_.operation_.err_.Destroy(); clear_has_operation(); } } -inline const ::std::string& CallResponse::err() const { +inline const std::string& CallResponse::err() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.err) - if (has_err()) { - return operation_.err_.GetNoArena(); - } - return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); + return _internal_err(); } -inline void CallResponse::set_err(const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.err) - if (!has_err()) { +template +inline PROTOBUF_ALWAYS_INLINE void CallResponse::set_err(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() != kErr) { clear_operation(); + set_has_err(); - operation_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.operation_.err_.InitDefault(); } - operation_.err_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + _impl_.operation_.err_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.err) } -#if LANG_CXX11 -inline void CallResponse::set_err(::std::string&& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.err) - if (!has_err()) { - clear_operation(); - set_has_err(); - operation_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } - operation_.err_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.CallResponse.err) +inline std::string* CallResponse::mutable_err() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_err(); + // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.err) + return _s; } -#endif -inline void CallResponse::set_err(const char* value) { - GOOGLE_DCHECK(value != NULL); - if (!has_err()) { - clear_operation(); - set_has_err(); - operation_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline const std::string& CallResponse::_internal_err() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (operation_case() != kErr) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } - operation_.err_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.CallResponse.err) + return _impl_.operation_.err_.Get(); } -inline void CallResponse::set_err(const char* value, size_t size) { - if (!has_err()) { +inline void CallResponse::_internal_set_err(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() != kErr) { clear_operation(); + set_has_err(); - operation_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.operation_.err_.InitDefault(); } - operation_.err_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( - reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.CallResponse.err) + _impl_.operation_.err_.Set(value, GetArena()); } -inline ::std::string* CallResponse::mutable_err() { - if (!has_err()) { +inline std::string* CallResponse::_internal_mutable_err() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() != kErr) { clear_operation(); + set_has_err(); - operation_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.operation_.err_.InitDefault(); } - // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.err) - return operation_.err_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.operation_.err_.Mutable( GetArena()); } -inline ::std::string* CallResponse::release_err() { +inline std::string* CallResponse::release_err() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.CallResponse.err) - if (has_err()) { - clear_has_operation(); - return operation_.err_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } else { - return NULL; + if (operation_case() != kErr) { + return nullptr; } + clear_has_operation(); + return _impl_.operation_.err_.Release(); } -inline void CallResponse::set_allocated_err(::std::string* err) { - if (!has_err()) { - operation_.err_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline void CallResponse::set_allocated_err(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_operation()) { + clear_operation(); } - clear_operation(); - if (err != NULL) { + if (value != nullptr) { set_has_err(); - operation_.err_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - err); + _impl_.operation_.err_.InitAllocated(value, GetArena()); } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.CallResponse.err) } @@ -6823,120 +10084,237 @@ inline void CallResponse::set_allocated_err(::std::string* err) { inline bool CallResponse::has_result() const { return operation_case() == kResult; } +inline bool CallResponse::_internal_has_result() const { + return operation_case() == kResult; +} inline void CallResponse::set_has_result() { - _oneof_case_[0] = kResult; + _impl_._oneof_case_[0] = kResult; } inline void CallResponse::clear_result() { - if (has_result()) { - delete operation_.result_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() == kResult) { + if (GetArena() == nullptr) { + delete _impl_.operation_.result_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.result_); + } clear_has_operation(); } } inline ::BERTBuffers::Variable* CallResponse::release_result() { // @@protoc_insertion_point(field_release:BERTBuffers.CallResponse.result) - if (has_result()) { + if (operation_case() == kResult) { clear_has_operation(); - ::BERTBuffers::Variable* temp = operation_.result_; - operation_.result_ = NULL; + auto* temp = _impl_.operation_.result_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.operation_.result_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::Variable& CallResponse::result() const { +inline const ::BERTBuffers::Variable& CallResponse::_internal_result() const { + return operation_case() == kResult ? *_impl_.operation_.result_ : reinterpret_cast<::BERTBuffers::Variable&>(::BERTBuffers::_Variable_default_instance_); +} +inline const ::BERTBuffers::Variable& CallResponse::result() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.result) - return has_result() - ? *operation_.result_ - : *reinterpret_cast< ::BERTBuffers::Variable*>(&::BERTBuffers::_Variable_default_instance_); + return _internal_result(); +} +inline ::BERTBuffers::Variable* CallResponse::unsafe_arena_release_result() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.CallResponse.result) + if (operation_case() == kResult) { + clear_has_operation(); + auto* temp = _impl_.operation_.result_; + _impl_.operation_.result_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void CallResponse::unsafe_arena_set_allocated_result(::BERTBuffers::Variable* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_operation(); + if (value) { + set_has_result(); + _impl_.operation_.result_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.CallResponse.result) } -inline ::BERTBuffers::Variable* CallResponse::mutable_result() { - if (!has_result()) { +inline ::BERTBuffers::Variable* CallResponse::_internal_mutable_result() { + if (operation_case() != kResult) { clear_operation(); set_has_result(); - operation_.result_ = new ::BERTBuffers::Variable; + _impl_.operation_.result_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Variable>(GetArena()); } + return _impl_.operation_.result_; +} +inline ::BERTBuffers::Variable* CallResponse::mutable_result() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::Variable* _msg = _internal_mutable_result(); // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.result) - return operation_.result_; + return _msg; } // .BERTBuffers.Console console = 5; inline bool CallResponse::has_console() const { return operation_case() == kConsole; } +inline bool CallResponse::_internal_has_console() const { + return operation_case() == kConsole; +} inline void CallResponse::set_has_console() { - _oneof_case_[0] = kConsole; + _impl_._oneof_case_[0] = kConsole; } inline void CallResponse::clear_console() { - if (has_console()) { - delete operation_.console_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() == kConsole) { + if (GetArena() == nullptr) { + delete _impl_.operation_.console_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.console_); + } clear_has_operation(); } } inline ::BERTBuffers::Console* CallResponse::release_console() { // @@protoc_insertion_point(field_release:BERTBuffers.CallResponse.console) - if (has_console()) { + if (operation_case() == kConsole) { clear_has_operation(); - ::BERTBuffers::Console* temp = operation_.console_; - operation_.console_ = NULL; + auto* temp = _impl_.operation_.console_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.operation_.console_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::Console& CallResponse::console() const { +inline const ::BERTBuffers::Console& CallResponse::_internal_console() const { + return operation_case() == kConsole ? *_impl_.operation_.console_ : reinterpret_cast<::BERTBuffers::Console&>(::BERTBuffers::_Console_default_instance_); +} +inline const ::BERTBuffers::Console& CallResponse::console() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.console) - return has_console() - ? *operation_.console_ - : *reinterpret_cast< ::BERTBuffers::Console*>(&::BERTBuffers::_Console_default_instance_); + return _internal_console(); +} +inline ::BERTBuffers::Console* CallResponse::unsafe_arena_release_console() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.CallResponse.console) + if (operation_case() == kConsole) { + clear_has_operation(); + auto* temp = _impl_.operation_.console_; + _impl_.operation_.console_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void CallResponse::unsafe_arena_set_allocated_console(::BERTBuffers::Console* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_operation(); + if (value) { + set_has_console(); + _impl_.operation_.console_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.CallResponse.console) } -inline ::BERTBuffers::Console* CallResponse::mutable_console() { - if (!has_console()) { +inline ::BERTBuffers::Console* CallResponse::_internal_mutable_console() { + if (operation_case() != kConsole) { clear_operation(); set_has_console(); - operation_.console_ = new ::BERTBuffers::Console; + _impl_.operation_.console_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Console>(GetArena()); } + return _impl_.operation_.console_; +} +inline ::BERTBuffers::Console* CallResponse::mutable_console() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::Console* _msg = _internal_mutable_console(); // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.console) - return operation_.console_; + return _msg; } // .BERTBuffers.Code code = 6; inline bool CallResponse::has_code() const { return operation_case() == kCode; } +inline bool CallResponse::_internal_has_code() const { + return operation_case() == kCode; +} inline void CallResponse::set_has_code() { - _oneof_case_[0] = kCode; + _impl_._oneof_case_[0] = kCode; } inline void CallResponse::clear_code() { - if (has_code()) { - delete operation_.code_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() == kCode) { + if (GetArena() == nullptr) { + delete _impl_.operation_.code_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.code_); + } clear_has_operation(); } } inline ::BERTBuffers::Code* CallResponse::release_code() { // @@protoc_insertion_point(field_release:BERTBuffers.CallResponse.code) - if (has_code()) { + if (operation_case() == kCode) { clear_has_operation(); - ::BERTBuffers::Code* temp = operation_.code_; - operation_.code_ = NULL; + auto* temp = _impl_.operation_.code_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.operation_.code_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::Code& CallResponse::code() const { +inline const ::BERTBuffers::Code& CallResponse::_internal_code() const { + return operation_case() == kCode ? *_impl_.operation_.code_ : reinterpret_cast<::BERTBuffers::Code&>(::BERTBuffers::_Code_default_instance_); +} +inline const ::BERTBuffers::Code& CallResponse::code() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.code) - return has_code() - ? *operation_.code_ - : *reinterpret_cast< ::BERTBuffers::Code*>(&::BERTBuffers::_Code_default_instance_); + return _internal_code(); +} +inline ::BERTBuffers::Code* CallResponse::unsafe_arena_release_code() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.CallResponse.code) + if (operation_case() == kCode) { + clear_has_operation(); + auto* temp = _impl_.operation_.code_; + _impl_.operation_.code_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void CallResponse::unsafe_arena_set_allocated_code(::BERTBuffers::Code* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_operation(); + if (value) { + set_has_code(); + _impl_.operation_.code_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.CallResponse.code) } -inline ::BERTBuffers::Code* CallResponse::mutable_code() { - if (!has_code()) { +inline ::BERTBuffers::Code* CallResponse::_internal_mutable_code() { + if (operation_case() != kCode) { clear_operation(); set_has_code(); - operation_.code_ = new ::BERTBuffers::Code; + _impl_.operation_.code_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::Code>(GetArena()); } + return _impl_.operation_.code_; +} +inline ::BERTBuffers::Code* CallResponse::mutable_code() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::Code* _msg = _internal_mutable_code(); // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.code) - return operation_.code_; + return _msg; } // string shell_command = 7; @@ -6944,92 +10322,82 @@ inline bool CallResponse::has_shell_command() const { return operation_case() == kShellCommand; } inline void CallResponse::set_has_shell_command() { - _oneof_case_[0] = kShellCommand; + _impl_._oneof_case_[0] = kShellCommand; } inline void CallResponse::clear_shell_command() { - if (has_shell_command()) { - operation_.shell_command_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() == kShellCommand) { + _impl_.operation_.shell_command_.Destroy(); clear_has_operation(); } } -inline const ::std::string& CallResponse::shell_command() const { +inline const std::string& CallResponse::shell_command() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.shell_command) - if (has_shell_command()) { - return operation_.shell_command_.GetNoArena(); - } - return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); + return _internal_shell_command(); } -inline void CallResponse::set_shell_command(const ::std::string& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.shell_command) - if (!has_shell_command()) { +template +inline PROTOBUF_ALWAYS_INLINE void CallResponse::set_shell_command(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() != kShellCommand) { clear_operation(); + set_has_shell_command(); - operation_.shell_command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.operation_.shell_command_.InitDefault(); } - operation_.shell_command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + _impl_.operation_.shell_command_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.shell_command) } -#if LANG_CXX11 -inline void CallResponse::set_shell_command(::std::string&& value) { - // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.shell_command) - if (!has_shell_command()) { - clear_operation(); - set_has_shell_command(); - operation_.shell_command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } - operation_.shell_command_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:BERTBuffers.CallResponse.shell_command) +inline std::string* CallResponse::mutable_shell_command() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_shell_command(); + // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.shell_command) + return _s; } -#endif -inline void CallResponse::set_shell_command(const char* value) { - GOOGLE_DCHECK(value != NULL); - if (!has_shell_command()) { - clear_operation(); - set_has_shell_command(); - operation_.shell_command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline const std::string& CallResponse::_internal_shell_command() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (operation_case() != kShellCommand) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } - operation_.shell_command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(value)); - // @@protoc_insertion_point(field_set_char:BERTBuffers.CallResponse.shell_command) + return _impl_.operation_.shell_command_.Get(); } -inline void CallResponse::set_shell_command(const char* value, size_t size) { - if (!has_shell_command()) { +inline void CallResponse::_internal_set_shell_command(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() != kShellCommand) { clear_operation(); + set_has_shell_command(); - operation_.shell_command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.operation_.shell_command_.InitDefault(); } - operation_.shell_command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( - reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:BERTBuffers.CallResponse.shell_command) + _impl_.operation_.shell_command_.Set(value, GetArena()); } -inline ::std::string* CallResponse::mutable_shell_command() { - if (!has_shell_command()) { +inline std::string* CallResponse::_internal_mutable_shell_command() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() != kShellCommand) { clear_operation(); + set_has_shell_command(); - operation_.shell_command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + _impl_.operation_.shell_command_.InitDefault(); } - // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.shell_command) - return operation_.shell_command_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return _impl_.operation_.shell_command_.Mutable( GetArena()); } -inline ::std::string* CallResponse::release_shell_command() { +inline std::string* CallResponse::release_shell_command() { + ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:BERTBuffers.CallResponse.shell_command) - if (has_shell_command()) { - clear_has_operation(); - return operation_.shell_command_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } else { - return NULL; + if (operation_case() != kShellCommand) { + return nullptr; } + clear_has_operation(); + return _impl_.operation_.shell_command_.Release(); } -inline void CallResponse::set_allocated_shell_command(::std::string* shell_command) { - if (!has_shell_command()) { - operation_.shell_command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline void CallResponse::set_allocated_shell_command(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_operation()) { + clear_operation(); } - clear_operation(); - if (shell_command != NULL) { + if (value != nullptr) { set_has_shell_command(); - operation_.shell_command_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - shell_command); + _impl_.operation_.shell_command_.InitAllocated(value, GetArena()); } // @@protoc_insertion_point(field_set_allocated:BERTBuffers.CallResponse.shell_command) } @@ -7038,80 +10406,158 @@ inline void CallResponse::set_allocated_shell_command(::std::string* shell_comma inline bool CallResponse::has_function_call() const { return operation_case() == kFunctionCall; } +inline bool CallResponse::_internal_has_function_call() const { + return operation_case() == kFunctionCall; +} inline void CallResponse::set_has_function_call() { - _oneof_case_[0] = kFunctionCall; + _impl_._oneof_case_[0] = kFunctionCall; } inline void CallResponse::clear_function_call() { - if (has_function_call()) { - delete operation_.function_call_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() == kFunctionCall) { + if (GetArena() == nullptr) { + delete _impl_.operation_.function_call_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.function_call_); + } clear_has_operation(); } } inline ::BERTBuffers::CompositeFunctionCall* CallResponse::release_function_call() { // @@protoc_insertion_point(field_release:BERTBuffers.CallResponse.function_call) - if (has_function_call()) { + if (operation_case() == kFunctionCall) { clear_has_operation(); - ::BERTBuffers::CompositeFunctionCall* temp = operation_.function_call_; - operation_.function_call_ = NULL; + auto* temp = _impl_.operation_.function_call_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.operation_.function_call_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::CompositeFunctionCall& CallResponse::function_call() const { +inline const ::BERTBuffers::CompositeFunctionCall& CallResponse::_internal_function_call() const { + return operation_case() == kFunctionCall ? *_impl_.operation_.function_call_ : reinterpret_cast<::BERTBuffers::CompositeFunctionCall&>(::BERTBuffers::_CompositeFunctionCall_default_instance_); +} +inline const ::BERTBuffers::CompositeFunctionCall& CallResponse::function_call() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.function_call) - return has_function_call() - ? *operation_.function_call_ - : *reinterpret_cast< ::BERTBuffers::CompositeFunctionCall*>(&::BERTBuffers::_CompositeFunctionCall_default_instance_); + return _internal_function_call(); +} +inline ::BERTBuffers::CompositeFunctionCall* CallResponse::unsafe_arena_release_function_call() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.CallResponse.function_call) + if (operation_case() == kFunctionCall) { + clear_has_operation(); + auto* temp = _impl_.operation_.function_call_; + _impl_.operation_.function_call_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void CallResponse::unsafe_arena_set_allocated_function_call(::BERTBuffers::CompositeFunctionCall* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_operation(); + if (value) { + set_has_function_call(); + _impl_.operation_.function_call_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.CallResponse.function_call) } -inline ::BERTBuffers::CompositeFunctionCall* CallResponse::mutable_function_call() { - if (!has_function_call()) { +inline ::BERTBuffers::CompositeFunctionCall* CallResponse::_internal_mutable_function_call() { + if (operation_case() != kFunctionCall) { clear_operation(); set_has_function_call(); - operation_.function_call_ = new ::BERTBuffers::CompositeFunctionCall; + _impl_.operation_.function_call_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::CompositeFunctionCall>(GetArena()); } + return _impl_.operation_.function_call_; +} +inline ::BERTBuffers::CompositeFunctionCall* CallResponse::mutable_function_call() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::CompositeFunctionCall* _msg = _internal_mutable_function_call(); // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.function_call) - return operation_.function_call_; + return _msg; } // .BERTBuffers.FunctionList function_list = 9; inline bool CallResponse::has_function_list() const { return operation_case() == kFunctionList; } +inline bool CallResponse::_internal_has_function_list() const { + return operation_case() == kFunctionList; +} inline void CallResponse::set_has_function_list() { - _oneof_case_[0] = kFunctionList; + _impl_._oneof_case_[0] = kFunctionList; } inline void CallResponse::clear_function_list() { - if (has_function_list()) { - delete operation_.function_list_; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() == kFunctionList) { + if (GetArena() == nullptr) { + delete _impl_.operation_.function_list_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.operation_.function_list_); + } clear_has_operation(); } } inline ::BERTBuffers::FunctionList* CallResponse::release_function_list() { // @@protoc_insertion_point(field_release:BERTBuffers.CallResponse.function_list) - if (has_function_list()) { + if (operation_case() == kFunctionList) { clear_has_operation(); - ::BERTBuffers::FunctionList* temp = operation_.function_list_; - operation_.function_list_ = NULL; + auto* temp = _impl_.operation_.function_list_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.operation_.function_list_ = nullptr; return temp; } else { - return NULL; + return nullptr; } } -inline const ::BERTBuffers::FunctionList& CallResponse::function_list() const { +inline const ::BERTBuffers::FunctionList& CallResponse::_internal_function_list() const { + return operation_case() == kFunctionList ? *_impl_.operation_.function_list_ : reinterpret_cast<::BERTBuffers::FunctionList&>(::BERTBuffers::_FunctionList_default_instance_); +} +inline const ::BERTBuffers::FunctionList& CallResponse::function_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.function_list) - return has_function_list() - ? *operation_.function_list_ - : *reinterpret_cast< ::BERTBuffers::FunctionList*>(&::BERTBuffers::_FunctionList_default_instance_); + return _internal_function_list(); +} +inline ::BERTBuffers::FunctionList* CallResponse::unsafe_arena_release_function_list() { + // @@protoc_insertion_point(field_unsafe_arena_release:BERTBuffers.CallResponse.function_list) + if (operation_case() == kFunctionList) { + clear_has_operation(); + auto* temp = _impl_.operation_.function_list_; + _impl_.operation_.function_list_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void CallResponse::unsafe_arena_set_allocated_function_list(::BERTBuffers::FunctionList* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_operation(); + if (value) { + set_has_function_list(); + _impl_.operation_.function_list_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:BERTBuffers.CallResponse.function_list) } -inline ::BERTBuffers::FunctionList* CallResponse::mutable_function_list() { - if (!has_function_list()) { +inline ::BERTBuffers::FunctionList* CallResponse::_internal_mutable_function_list() { + if (operation_case() != kFunctionList) { clear_operation(); set_has_function_list(); - operation_.function_list_ = new ::BERTBuffers::FunctionList; + _impl_.operation_.function_list_ = + ::google::protobuf::Message::DefaultConstruct<::BERTBuffers::FunctionList>(GetArena()); } + return _impl_.operation_.function_list_; +} +inline ::BERTBuffers::FunctionList* CallResponse::mutable_function_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::BERTBuffers::FunctionList* _msg = _internal_mutable_function_list(); // @@protoc_insertion_point(field_mutable:BERTBuffers.CallResponse.function_list) - return operation_.function_list_; + return _msg; } // uint32 user_command = 10; @@ -7119,106 +10565,76 @@ inline bool CallResponse::has_user_command() const { return operation_case() == kUserCommand; } inline void CallResponse::set_has_user_command() { - _oneof_case_[0] = kUserCommand; + _impl_._oneof_case_[0] = kUserCommand; } inline void CallResponse::clear_user_command() { - if (has_user_command()) { - operation_.user_command_ = 0u; + ::google::protobuf::internal::TSanWrite(&_impl_); + if (operation_case() == kUserCommand) { + _impl_.operation_.user_command_ = 0u; clear_has_operation(); } } -inline ::google::protobuf::uint32 CallResponse::user_command() const { +inline ::uint32_t CallResponse::user_command() const { // @@protoc_insertion_point(field_get:BERTBuffers.CallResponse.user_command) - if (has_user_command()) { - return operation_.user_command_; - } - return 0u; + return _internal_user_command(); } -inline void CallResponse::set_user_command(::google::protobuf::uint32 value) { - if (!has_user_command()) { +inline void CallResponse::set_user_command(::uint32_t value) { + if (operation_case() != kUserCommand) { clear_operation(); set_has_user_command(); } - operation_.user_command_ = value; + _impl_.operation_.user_command_ = value; // @@protoc_insertion_point(field_set:BERTBuffers.CallResponse.user_command) } +inline ::uint32_t CallResponse::_internal_user_command() const { + if (operation_case() == kUserCommand) { + return _impl_.operation_.user_command_; + } + return 0u; +} inline bool CallResponse::has_operation() const { return operation_case() != OPERATION_NOT_SET; } inline void CallResponse::clear_has_operation() { - _oneof_case_[0] = OPERATION_NOT_SET; + _impl_._oneof_case_[0] = OPERATION_NOT_SET; } inline CallResponse::OperationCase CallResponse::operation_case() const { - return CallResponse::OperationCase(_oneof_case_[0]); + return CallResponse::OperationCase(_impl_._oneof_case_[0]); } #ifdef __GNUC__ - #pragma GCC diagnostic pop +#pragma GCC diagnostic pop #endif // __GNUC__ -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) - } // namespace BERTBuffers + namespace google { namespace protobuf { -template <> struct is_proto_enum< ::BERTBuffers::ErrorType> : ::google::protobuf::internal::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::BERTBuffers::ErrorType>() { +struct is_proto_enum<::BERTBuffers::ErrorType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::BERTBuffers::ErrorType>() { return ::BERTBuffers::ErrorType_descriptor(); } -template <> struct is_proto_enum< ::BERTBuffers::CallType> : ::google::protobuf::internal::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::BERTBuffers::CallType>() { +struct is_proto_enum<::BERTBuffers::CallType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::BERTBuffers::CallType>() { return ::BERTBuffers::CallType_descriptor(); } -template <> struct is_proto_enum< ::BERTBuffers::CallTarget> : ::google::protobuf::internal::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::BERTBuffers::CallTarget>() { +struct is_proto_enum<::BERTBuffers::CallTarget> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::BERTBuffers::CallTarget>() { return ::BERTBuffers::CallTarget_descriptor(); } -template <> struct is_proto_enum< ::BERTBuffers::GraphicsUpdateCommand> : ::google::protobuf::internal::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::BERTBuffers::GraphicsUpdateCommand>() { +struct is_proto_enum<::BERTBuffers::GraphicsUpdateCommand> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::BERTBuffers::GraphicsUpdateCommand>() { return ::BERTBuffers::GraphicsUpdateCommand_descriptor(); } @@ -7227,4 +10643,6 @@ inline const EnumDescriptor* GetEnumDescriptor< ::BERTBuffers::GraphicsUpdateCom // @@protoc_insertion_point(global_scope) -#endif // PROTOBUF_variable_2eproto__INCLUDED +#include "google/protobuf/port_undef.inc" + +#endif // variable_2eproto_2epb_2eh diff --git a/Ribbon/vcpkg.json b/Ribbon/vcpkg.json new file mode 100644 index 00000000..4b3fb5d3 --- /dev/null +++ b/Ribbon/vcpkg.json @@ -0,0 +1,5 @@ +{ + "dependencies": [ + "protobuf" + ] +} From 6a47d0d2a1b066ebd1837846b069c3cb4097910f Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:18:52 +1000 Subject: [PATCH 03/67] R: store controlr.cc as UTF-8 The file was UTF-16, which git treats as binary, so no change to it could be reviewed as a diff. The content is plain ASCII; only the encoding changes. Co-Authored-By: Claude Fable 5.1 --- ControlR/src/controlr.cc | Bin 37894 -> 18324 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ControlR/src/controlr.cc b/ControlR/src/controlr.cc index 8abdb5b4220f78fa7af5db63a70548852e35dc7c..3118e069d57e8d9b35326cfda733ff2636c8e1dd 100644 GIT binary patch literal 18324 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 z�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 Ivsz#LZ)Eubf&c&j literal 37894 zcmeI5`*R$}amV-PRONpFkyrvH6O?4famlZUASu)40|7wGDq4jiL68Cof(!skVwC*r zN%}M2`=V!d_x28aNKuswMc(c1JbL=wJ-u`P`#+bv59041yMO3b;&Y|j=$>~kx>wzC zchEiVzV1%r-deZUU5w99x{tb#yMOI2&A$CQ?rlel-cfuCVxV9h2i=2sdOCxIwbSZhcR6|;$JMj= zd>E}B#W)GUL4ovTX}Mq8oyN+5fRT=)7i-i?{N(fQc6T@KejY83N~`;Uft7AE=6?|1 z4gx}O$0sdL;(wrFq!(vxPRcxB{6PbeXSp7;@0Xt2W&Xs)N_Rc(2xe$?5LZWqUi}A3EqrlN&;3d~14q55G=xzi@{;|6g zbliyj}lJA`u%gzvlTYWaLKh3orqN`1N|Zz8!71;}4qO3CMsIP6N)JXt5D1xLK~adpGWG zM!W6kwI1z|aq*CFm@vE^4?mj0hAhFIE3w}Fz{>rC|C3P}|FU2Xi53nI3yz>4d?G1E zP7ca7_`4tf_M#WMtk1Ep19z?(IYm|;$GE0zt)al!jiR-VqTOkcDWn%Te;e?h#@~z3 zMVI66+w!*_V;u!&tVjFf_Z6$B zI7T~+|JP&A)zV|EH7h{FJr77uy4}Fri@38J@S_{h>XLluGBwVV=nYmrj=#Tk^%ebI z#GhaQYNYgGVBpj84XrC|GV_aA#Zf@)sU%cr5}6>j)8@~E4_8K zy~o$f{QXs-i5|rt8Z*}dUtv+vrtqlfiyc7^0|9&suV7>OL`oP#c0jbaA0x_q;x;N^BnHki)(QFAX-3=m4KQS$3d4I6^=8+(C1O~ zKP>HXWi4jz$H-5EMxr_R;SMu`&)qX>&Fi0h$GoiNWqh)t-57;$*;8JUG!LmWON-Q;=40yx-+Q#C&_2;Djt)};lXeCHAgKz~D8gs2k z7%hNSZLswT&%E)_3-j=^7Jle(rbS}{!AH>(E(AjU;Cy+kSmALxX*S{YcJOWuJ-%R# z&6Oe%$QIrMn#NWM+@YHvmiZ0C&Co5|VSTa2?MPRGn=IABFt!2D1nIJ*vj)7f|BR90 z*Su06ygNKkWV*%lXTeqS18xPs?L=>U3H*c40`J%2`m^B7o56J(T+AxBtc(HqLf{wKQ zsPr+^=4122I0yE5V{O44=7|32Xoidh>Uwb03BrNy8I;%9_ivV|mbmAH;oGA>t=|^t6!umJg$kWh>e8Mc-5XeVG;8 zWzLlDt9{XXGg^;(yI+MJ{(WdE(fEsi4QTg6ch#$_Ars#-4^jmd`*ZhUuH|U`jPvpC zEWy)rrKBZSw%oW?unRpm3*X7pTpQsQIHkpw^Fvpnwe6}XWlf{eUj#2Z&(iWzdK~Tj zK96bc`K_M?1ZW}hJ6P?$-w5^5yN5xYi-m6HVR{i6f`PTOY}ou2?Nsd*XT1taLicB9 z+z*BO>v??$`)gT?cn@2k63(;-0fx*1lQoNP4d6Kl4b2O@>;r^)RWcg3yQR#a# z`SKXMJ*@q3-1hp^`6=>`Xfq${DQEANgIbMKbBz2C`66`$j6EOPv7eG=@+##E^tDmF z*0n~mYdi98sWK(WHC<$zponur=w4;IeaD%HcPGiV_VrAQbni3`6!EOhyssMXX|>;M z2CT(*#oh>q^&D@9w&{s)%xtgt&2~Bc2jc=g{W|s>9WKiXC%oPWvS#TeB)8a)G?fjl zR@3+Cej5pyF_7Ha+pqCP`|UE*e)L<5n5ur7 zJ{9feMO3$?Q9z}#Z8KLc?b z86`4QTj7P@I?Fa)jr`6|{PVb`UCKy37SgZ`AKwiQ%lK!lNYF{(-O&as^6L6C*HnF* z98PSf9ZBqn*U9Qq9~n|n5!yJ9+G>!tSFOb?N6AsO#+N?+sp(^N9ZcNd&>N~Tnr{RypGVLAu(!E?mz)OH z<*g+JEl;+uEtlGA5uZ{6h?EhX*879d1Pws-&2Vo|^;w?9IwK*m=e`-y&W(szsQUXd zR=yFQ!;SD2s8Xyw2OuBH67^EXjOWsdhMoYJ#rLC1&%PGx5$49_KfRLqE12?k65r@B z{!+@2Mpe$(6CJ{A>I?INbQxXk*@TN}ywNtfiYxVEAC>CVV7=n*ju|d!>D3DjoSI!+}Dss;9#nU zv{u&Y8Qa2Qi_gSt+Jt`(+-WC$qrppNMox;JsI5VblPTD=vzjxsWA=M0hpJjV%hA~C z>vro!3%~`(1enS8^WqX@jJ-~(3ef$EN6;=$|uKgJ@cH1V}(ii+GqdI5txy_(rKvB5t7y1y6z5#_Nw=F=M?UxUeDQ z4be5PVx`!7;Mj{hroa4w)6$AjfRLw(3{45i{1_gA%&k}xm9%6sWiJ?Qf9A1)*?uLX zt9o3IsCA;>b3b@v2Fo)0%3Ec+C52AvzroO_Y3Cd{ps9`f}6l*29v+53fqS7FD=Z zyJ!q+8bfKlePOU-bd4%_CAsY1gJtlju`b0Y+$RoCNn>xnmLPWbhnjxT8h*UJ?Y_(y zXSOx(4)Q)%f^+lHKliY|J_q~wvVH6)=dgyY;15yI8Qqj$q-%P8H8#@fray5$j)HgK zs7nL>JBhWA@l9X5tVe&c)LGZ1wXMg<+ViO)X8kv3b8ZKRqYTpDQTWmnyo58*|*d9)E8n=vEZw>Fr|b?vOoz9%`Wt%CdHnm1o9&=KWb3YhRv zj|2Dnh3eYj8ecVVkG&U?ZwHbAwQd_~<-XQNlTp>rJ~;LrUyq$vcnGdfEpA!Qh+Vsb za5vEy^Y(W(+{Y5|CUETrM7bNV611e!5iL4|<4xw#Uf=pzW`yg9HK z6Ke%iqVjrhAees~*#5d;`{Jy=*0|$yY=*5F|7=&>b3HJ`cvLRx8``VJPc5;GoP5mH zP?MZTrpy_}SPOMMbI$s@S`tsV&SZ^C3sxWd?3xL#;A*bheM#)f*qABt;AdV0i^Q}o z!DQ|e))oGa(5d_XW2vaW8eaAnkz>da-W)&nF17M;?4(rISZd=@a`mpo`2H;K2`>0+ zXX*E>_hM>)G}q~IQmZjyyCWuz-JgqVETyy-@2a5>GH*QQ2QS)pFf@E-%-Zr$8^QLe zo^)f3^OE%dx8!JEmHdmX5HT@t>q_ldBKh2^g#t5sWkh@!ayHagk=vnas-2%a&Xed( z)s(Ut%KZ%IRK|)rA7(}ljzSNLHfWi;4uTjbp*opiN}3j((89n-WTx^I1Lvi^F0eq3 zRX!tG7jzR@BW1r53V0FER+59KL{3(xG|-E^05W=ydoUpDdgGe4z$Ky#l?0l@usHjH z9+;vL**bPypgp+HwxXKe!9^Oy2|$O9;cax)oROR2O-1@@Hene`fisQCTJMI&03$?P z`?I{DaK=-{feWW-y3@PgOSiS$Z@-3ppiD&i*bgv z?54(U=}klp-{TXx3JOkZM@ik)t^kNKa)Xb?qAlZ~9dig-&1b~B&ahcufG_0^T6pX6 z$70YrFP}ah(2TVv;>yC4=xwyUT8)6rz_IY6xhegQaU4un zegO@C%kUap!ah;bHN64G*eLqN>)njj)@1G559smb`On^q@z>U-7^a~m_o|3Mb7%jH zz#!UO?|t8zJtNzNCb|=vJVNTp ztYr{nZU3Lm>3=_HF9~*}qTash@AbCY$xxVD7iRL$D&WP`ctZ*I3|M}&x-pCmu5kfX z$w@eVSPLyfW>z}s4{?9Bxd#!+5by0+EpBVPJ1SoWW1iQaHS8Nj9~yRL5A9c` z-R+*P%9Vs6QR-$!!D-c&49@a<|vzxoKHPBb@UvpHJM|QGsF* z%VpLFsw47*njotDA+PBlaSOn}8WW;S#5 zav6VQ4y`j@YtrX%T_q1Ef;=*{@4qp`yDC>Z=gJBCr-2Q%%Fh|YGSr8kc4YEo| zQ8Vq~t|{*K+s4zU zEVAFJu04TeEY|hlB%e3amnvjuF`RvzPw@$BSytn01wYl5Vbb$=OaJ2%RX+`sjtl^f8y$a`NL?;jM@V#4B&k6@S+t%gD|T zt3j~vvdM7gd2|RFF0v8$C9=L$N$DPWo=-{+%kOhsJo8BKzdfgR-Evm>ZyKepbXlx- ziHoU>qIQ!CAfM)e<}y?t#`lj4RF<#Buf)P5E7f~EK4G+*{s z-ein=Prz2S|G9kLRB$CWT=%ya!rIzy&phtaDiSuQPuV}ej*x9JNEV%UFqG&YhDX#=kVcicH{7P_X>QM z3#9cOV%5G!!TxZ)TPGix3{*-4-aGp^oEez@G<%9VS=}&@K_W+!?;Iwy?Ki<*^GLg2 z)wa&7))$vdiBG0zd|p3T(B+vQIsfq6B3Y16I|W_ePpR##W3D!D-tNw4)w?^JRk9)jjM4cGF8vrN&rm;`+RxyNTissf_ zX@gqM^G;bS|DP9~u*|9b^=NSC@|vz6Ntt7E-TGz^ftlKDBTupo_8HyAyPT@-*qucO z4+F!>u(O+n->TmQV3&iP+nu0-DRez@g7y0{Yq4vJZ%4J*2Q!-9ue=FEH(l$(+BRbp z_8(I6lHPUYr1#}y*?|jLQ65#Cr1KrfPMrq6-IrhPSgRn^=!UQ65m#fG_B`{hrLt5l zeiCBW$0auy>_P&uT~yrwE@R+8mnJPGHxZdf|InjR#yVp z3M>a}AHEvKw9|USa%j=V;bM%WBffy@SHht?V$a=(kVq7@h!w zKSTBj-@_GH{TQ~zJ`usRmc7`E7yJFEeStpo_4PDv=0BbPWLaEJ;czO79>-Mcft=qe zfs^@bN?WjfW`oiyj9KaV<1K?9%W2;#q2qq6s1-{)&l|v61FLE%&l8o@yqH)9xAL8) zC48J>!@KRB_A2Qyj&+?udcJsdS>9e2r^`i);OacMUmoAf#*R=EKA4IdGrrTg3H&PU zW^fKXMD-YZ6};*BL9xNM_vt;^*K=g!{VZeyydTf@nt0aSGsr}@>qLQlO@@BCRkD`(+;RmKK7cD();|Icg5`?$m=!ydVM&(CMgWqmIm zEqNRka;5vX_?P++c$c>pLrgu1{;cJoV2Z02Q%_=tkKaL>=Z&=3d2+TJ*uVc_!9%{U zNH$2|GXoCyv1 zo_q#P9tV%Bf<&CouVk~k$CGa=%o+BSi26;Td*!@6)hTnf_#Xq483)u5JPEAnO+f8S z`wCxAXT4>=t;mxhy?=@SmANKUycT(3){-M}%^V)9I24Zxmrz^ zvzlvH3+|Gi6OMT;a-D9G5Veu2A?EZme^2Zm2c+M{*~q`@e%aufIwWbS)7Zh(ZoAq- zWzInPOMLz;GDYjv|5`_`kG8oMt`crz6n<^%wyp#PzU%niMg0a~J8vJin)6n~n!FA3 z=is%ZywCCSx~<<5LZ8O{i^8L=mgfXWe$`RG_PE>lC{)h#n}?h6$GP}B@$_my@R!nR zJF4vOM2m!knK|ntvEiBjhuz4PqxBS|FqJ#HU8XY zy?JgqGIy>9pCo@L7vzlnbESOxjx;myP|1N-Oz+9-8)|ec0vf%web!X6hvPckJaS<+ z8+lw}$h9+VCi^EjxD-#sfu9sQYPU)D$og+D;E)X*w;=XdG7Adi)}8l??ZM(Eu8^7e zx}4vrU5gzrVQUfm$8QXO{<5@izC7e5(KQ==#(3C!7-sN=^Z}{Af z_XPNjSbn7*iz>ZT>$2pkSRuK(Y7w?0eWBPY^kvdu%SPvN^> zpLst=8gg+y8=nPfs=e&p;9>kI=F-`5i)Qh9RPm$Omujrta+dOyu%LB)6i^(6on-fo z`}n>(FG2i>+#=b$kAR=-GZ`MtTI0{QzZxyS?^=xdO^im?^eAK!OyCWorw-zOoj!oS zk>?5ShVRKQGGCi%$J$Fp^K&kA?WfjWN8*)lj`jQ=xYkD%5}xY)N~#ittJw7>)QhcCXDA?q5!MewKc*MjcN3rsH)X&1xxiNU_$iLw#T3w6rz%r6n zkEy+?e2W?Tw#;}N1rByCp&0wy?Wo2f6ltG$)%6Oj)!LTuQw`a&u;p6ujkZHd^W3+z z^OgWK_dNPSh5C2OX=@sM91$bq|7k{(cAc`f^V-r6JP?PF{chJ?<4zEO#r{}2^%ptd zP0{U!Bc|b`Qu0AaI#o9C19+_=xK~NrYIrwXbF!kosW(@$PcXUVW5p&AV= z0dYHL9*M`m8yKhFmkJx~iS&}Ji0XrpeX_eeZ7Vj`?-^?3}wQJlk+G<4EC$YL)@r~=gz3=l|jZdHY!bu_QV7a#1 zt8eQHB&qz;!+zLdxEqYQEqg$Y%N3p9Dl2VkJ$9-d{aP5H@2^fH<;jUH=Ak88%y8>W z71iS8ZwVPA@*L24ry+%$k@7rNauVy%uUI8dv^CKwX?&}#b~_UmRW&%fF{ZqD;mr4a zH$7{|ABJ{(j1P;BTn#F3L^fl!@(gar3eNL({xb8KLt0#0I`C42Lu+kUH0Z>%TDFMH zbvBN$ZA{m6+lm%QnBF0Gbv|5`z8sbNKE<)6&EoY#F?8>kY>cn8hK{wVvfeZ#hl)Ls z?}2?}EG~vLYmkYAQO_(51*N>tKo9JX&KA2Dc2qnHcU=lP zJdgkV)SNbN6sW|^=+FJI(_>?`ZRU-bIblv!@i^ZHY?(9Qq#Q8Qt|0HUGhr!O55YJ% z&s^hJVb1zVJF_Eq@QHtl-El?n?;_sb319hA_v;v82&1&>Sbfe`L`Hh2nRoFxD-GMx z*Y1K$5d5-WOZejrh15FslLWV_$nl1t<-AM@T;+FU(4^Xdz Date: Thu, 3 Sep 2026 11:04:00 +1000 Subject: [PATCH 04/67] build: retarget to the v145 toolset and add ARM64EC configurations Move the projects from v141 to v145 and from a pinned Windows SDK to the latest installed one, enable vcpkg manifest mode so protobuf comes from the manifests added in the previous commit, and add Debug and Release ARM64EC configurations alongside x64. The solution header moves to Visual Studio 18 accordingly. Co-Authored-By: Claude Fable 5.1 --- BERT/BERT.sln | 26 ++++- BERT/BERT/BERT.vcxproj | 106 ++++++++++++++++-- ControlJulia-0.7/ControlJulia07.vcxproj | 74 +++++++++++- ControlJulia/ControlJulia.vcxproj | 74 +++++++++++- ControlR/ControlR.vcxproj | 99 ++++++++++++++-- Ribbon/BERTRibbon2.vcxproj | 143 +++++++++++++++++++++++- 6 files changed, 484 insertions(+), 38 deletions(-) diff --git a/BERT/BERT.sln b/BERT/BERT.sln index 3d2d3556..17c3f899 100644 --- a/BERT/BERT.sln +++ b/BERT/BERT.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27004.2002 +# Visual Studio Version 18 +VisualStudioVersion = 18.1.11312.151 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BERT", "BERT\BERT.vcxproj", "{0CA760D0-16BE-4A7E-A1BF-7296BF699485}" ProjectSection(ProjectDependencies) = postProject @@ -21,44 +21,58 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ControlJulia07", "..\Contro EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM64EC = Debug|ARM64EC Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|ARM64EC = Release|ARM64EC Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Debug|x64.ActiveCfg = Debug|x64 {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Debug|x64.Build.0 = Debug|x64 {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Debug|x86.ActiveCfg = Debug|Win32 + {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Release|ARM64EC.Build.0 = Release|ARM64EC {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Release|x64.ActiveCfg = Release|x64 {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Release|x64.Build.0 = Release|x64 {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Release|x86.ActiveCfg = Release|Win32 {0CA760D0-16BE-4A7E-A1BF-7296BF699485}.Release|x86.Build.0 = Release|Win32 + {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Debug|x64.ActiveCfg = Debug|x64 {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Debug|x64.Build.0 = Debug|x64 {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Debug|x86.ActiveCfg = Debug|Win32 + {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Release|ARM64EC.Build.0 = Release|ARM64EC {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Release|x64.ActiveCfg = Release|x64 {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Release|x64.Build.0 = Release|x64 {ADE9DA3C-93BF-4469-83B7-FBC015B6497F}.Release|x86.ActiveCfg = Release|Win32 + {3FAA4E29-8871-445F-9068-BF6518C295B5}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {3FAA4E29-8871-445F-9068-BF6518C295B5}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {3FAA4E29-8871-445F-9068-BF6518C295B5}.Debug|x64.ActiveCfg = Debug|x64 {3FAA4E29-8871-445F-9068-BF6518C295B5}.Debug|x64.Build.0 = Debug|x64 {3FAA4E29-8871-445F-9068-BF6518C295B5}.Debug|x86.ActiveCfg = Debug|Win32 + {3FAA4E29-8871-445F-9068-BF6518C295B5}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {3FAA4E29-8871-445F-9068-BF6518C295B5}.Release|ARM64EC.Build.0 = Release|ARM64EC {3FAA4E29-8871-445F-9068-BF6518C295B5}.Release|x64.ActiveCfg = Release|x64 {3FAA4E29-8871-445F-9068-BF6518C295B5}.Release|x64.Build.0 = Release|x64 {3FAA4E29-8871-445F-9068-BF6518C295B5}.Release|x86.ActiveCfg = Release|Win32 {3FAA4E29-8871-445F-9068-BF6518C295B5}.Release|x86.Build.0 = Release|Win32 + {3F1862DE-C93C-4980-84E1-D69792BF271F}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC {3F1862DE-C93C-4980-84E1-D69792BF271F}.Debug|x64.ActiveCfg = Debug|x64 - {3F1862DE-C93C-4980-84E1-D69792BF271F}.Debug|x64.Build.0 = Debug|x64 {3F1862DE-C93C-4980-84E1-D69792BF271F}.Debug|x86.ActiveCfg = Debug|Win32 + {3F1862DE-C93C-4980-84E1-D69792BF271F}.Release|ARM64EC.ActiveCfg = Release|ARM64EC {3F1862DE-C93C-4980-84E1-D69792BF271F}.Release|x64.ActiveCfg = Release|x64 - {3F1862DE-C93C-4980-84E1-D69792BF271F}.Release|x64.Build.0 = Release|x64 {3F1862DE-C93C-4980-84E1-D69792BF271F}.Release|x86.ActiveCfg = Release|Win32 + {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Debug|x64.ActiveCfg = Debug|x64 - {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Debug|x64.Build.0 = Debug|x64 {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Debug|x86.ActiveCfg = Debug|Win32 {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Debug|x86.Build.0 = Debug|Win32 + {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Release|ARM64EC.ActiveCfg = Release|ARM64EC {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Release|x64.ActiveCfg = Release|x64 - {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Release|x64.Build.0 = Release|x64 {E94424C4-D404-42CC-8D18-EF3462C4D7FB}.Release|x86.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution diff --git a/BERT/BERT/BERT.vcxproj b/BERT/BERT/BERT.vcxproj index 74166d83..0f45c81e 100644 --- a/BERT/BERT/BERT.vcxproj +++ b/BERT/BERT/BERT.vcxproj @@ -1,10 +1,18 @@ + + Debug + ARM64EC + Debug Win32 + + Release + ARM64EC + Release Win32 @@ -75,32 +83,45 @@ {0CA760D0-16BE-4A7E-A1BF-7296BF699485} Win32Proj BERT - 10.0.16299.0 + 10.0 DynamicLibrary true - v141 + v145 Unicode DynamicLibrary false - v141 + v145 true Unicode DynamicLibrary true - v141 + v145 + Unicode + + + DynamicLibrary + true + v145 Unicode DynamicLibrary false - v141 + v145 + true + Unicode + + + DynamicLibrary + false + v145 true Unicode @@ -118,9 +139,15 @@ + + + + + + true @@ -133,6 +160,12 @@ $(ProjectName)64D $(Platform)\$(Configuration)\$(ProjectName)\ + + $(ProjectName)64D + $(Platform)\$(Configuration)\$(ProjectName)\ + true + .xll + false .xll @@ -147,6 +180,15 @@ $(SolutionDir)..\Build\ $(Platform)\$(Configuration)\$(ProjectName)\ + + $(Platform)\$(Configuration)\$(ProjectName)\ + false + .xll + $(ProjectName)64 + + + true + NotUsing @@ -174,7 +216,29 @@ _DEBUG;BERT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) ..\..\..\protobuf-3.5.0\src;ExcelLib;..\..\PB;..\..\common;include;PB;%(AdditionalIncludeDirectories) true - 4146 + 4146;4251;4267;4018;4244;4141;4996 + stdcpp17 + + + Windows + true + src/BERT.def + libprotobufd.lib;Ws2_32.lib;psapi.lib;Userenv.lib;Iphlpapi.lib;Kernel32.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName)$(TargetExt) + ..\..\..\protobuf-3.5.0\cmake\build\solution\DebugDLL;%(AdditionalLibraryDirectories) + + + + + NotUsing + Level3 + Disabled + true + _DEBUG;BERT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + ..\..\..\protobuf-3.5.0\src;ExcelLib;..\..\PB;..\..\common;include;PB;%(AdditionalIncludeDirectories) + true + 4146;4251;4267;4018;4244;4141;4996 + stdcpp17 Windows @@ -218,9 +282,35 @@ true true NDEBUG;BERT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - ..\..\..\protobuf-3.5.0\src;ExcelLib;..\..\PB;..\..\common;include;PB;%(AdditionalIncludeDirectories) - 4146 + ExcelLib;..\..\PB;..\..\common;include;PB;%(AdditionalIncludeDirectories) + 4146;4251;4267;4018;4244;4141;4996 + MultiThreaded + stdcpp17 + + + Windows + true + true + true + src/BERT.def + libprotobuf.lib;Ws2_32.lib;psapi.lib;Userenv.lib;Iphlpapi.lib;Kernel32.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName)$(TargetExt) + ..\..\..\protobuf-3.5.0\cmake\build\solution\Release\x64 + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + NDEBUG;BERT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + ExcelLib;..\..\PB;..\..\common;include;PB;%(AdditionalIncludeDirectories) + 4146;4251;4267;4018;4244;4141;4996 MultiThreaded + stdcpp17 Windows diff --git a/ControlJulia-0.7/ControlJulia07.vcxproj b/ControlJulia-0.7/ControlJulia07.vcxproj index 3241200c..ae3085dd 100644 --- a/ControlJulia-0.7/ControlJulia07.vcxproj +++ b/ControlJulia-0.7/ControlJulia07.vcxproj @@ -1,10 +1,18 @@ + + Debug + ARM64EC + Debug Win32 + + Release + ARM64EC + Release Win32 @@ -22,32 +30,45 @@ 15.0 {E94424C4-D404-42CC-8D18-EF3462C4D7FB} ControlJulia07 - 10.0.16299.0 + 10.0 Application true - v141 + v145 MultiByte Application false - v141 + v145 true MultiByte Application true - v141 + v145 + MultiByte + + + Application + true + v145 MultiByte Application false - v141 + v145 + true + MultiByte + + + Application + false + v145 true MultiByte @@ -65,18 +86,30 @@ + + + + + + $(SolutionDir)..\Build\ $(Platform)\$(Configuration)\$(ProjectName)\ + + $(Platform)\$(Configuration)\$(ProjectName)\ + $(SolutionDir)..\Build\ $(Platform)\$(Configuration)\$(ProjectName)\ + + $(Platform)\$(Configuration)\$(ProjectName)\ + Level3 @@ -90,6 +123,19 @@ ..\..\protobuf-3.5.0\cmake\build\solution\DebugDLL;%(AdditionalLibraryDirectories) + + + Level3 + Disabled + true + ..\Common;..\PB;..\..\protobuf-3.5.0\src;C:\Users\duncan\AppData\Local\Julia-0.7.0-DEV\include\julia;./include + 4146 + + + lib-0.7.0/libjulia.lib;libprotobufd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\protobuf-3.5.0\cmake\build\solution\DebugDLL;%(AdditionalLibraryDirectories) + + Level3 @@ -132,6 +178,24 @@ lib-0.7.0/libjulia.lib;libprotobuf.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + Level3 + MaxSpeed + true + true + true + ..\PB;..\Common\;..\..\protobuf-3.5.0\src;C:\Users\duncan\AppData\Local\Julia-0.7.0-DEV\include\julia;./include + 4146 + MultiThreaded + + + true + true + ..\..\protobuf-3.5.0\cmake\build\solution\Release\x64 + lib-0.7.0/libjulia.lib;libprotobuf.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + diff --git a/ControlJulia/ControlJulia.vcxproj b/ControlJulia/ControlJulia.vcxproj index a4f74013..07e7ef52 100644 --- a/ControlJulia/ControlJulia.vcxproj +++ b/ControlJulia/ControlJulia.vcxproj @@ -1,10 +1,18 @@ + + Debug + ARM64EC + Debug Win32 + + Release + ARM64EC + Release Win32 @@ -22,32 +30,45 @@ 15.0 {3F1862DE-C93C-4980-84E1-D69792BF271F} ControlJulia - 10.0.16299.0 + 10.0 Application true - v141 + v145 MultiByte Application false - v141 + v145 true MultiByte Application true - v141 + v145 + MultiByte + + + Application + true + v145 MultiByte Application false - v141 + v145 + true + MultiByte + + + Application + false + v145 true MultiByte @@ -65,18 +86,30 @@ + + + + + + $(SolutionDir)..\Build\ $(Platform)\$(Configuration)\$(ProjectName)\ + + $(Platform)\$(Configuration)\$(ProjectName)\ + $(SolutionDir)..\Build\ $(Platform)\$(Configuration)\$(ProjectName)\ + + $(Platform)\$(Configuration)\$(ProjectName)\ + Level3 @@ -90,6 +123,19 @@ ..\..\protobuf-3.5.0\cmake\build\solution\DebugDLL;%(AdditionalLibraryDirectories) + + + Level3 + Disabled + true + ..\Common;..\PB;..\..\protobuf-3.5.0\src;C:\Users\duncan\AppData\Local\Julia-0.6.2\include\julia;./include + 4146 + + + lib/libjulia.lib;libprotobufd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\protobuf-3.5.0\cmake\build\solution\DebugDLL;%(AdditionalLibraryDirectories) + + Level3 @@ -132,6 +178,24 @@ lib/libjulia.lib;libprotobuf.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + Level3 + MaxSpeed + true + true + true + ..\PB;..\Common\;..\..\protobuf-3.5.0\src;C:\Users\duncan\AppData\Local\Julia-0.6.2\include\julia;./include + 4146 + MultiThreaded + + + true + true + ..\..\protobuf-3.5.0\cmake\build\solution\Release\x64 + lib/libjulia.lib;libprotobuf.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + diff --git a/ControlR/ControlR.vcxproj b/ControlR/ControlR.vcxproj index e2de4bf4..0ccb1343 100644 --- a/ControlR/ControlR.vcxproj +++ b/ControlR/ControlR.vcxproj @@ -1,10 +1,18 @@ + + Debug + ARM64EC + Debug Win32 + + Release + ARM64EC + Release Win32 @@ -55,33 +63,46 @@ {ADE9DA3C-93BF-4469-83B7-FBC015B6497F} Win32Proj Controlr3 - 10.0.16299.0 + 10.0 ControlR Application true - v141 + v145 Unicode Application false - v141 + v145 true Unicode Application true - v141 + v145 + Unicode + + + Application + true + v145 Unicode Application false - v141 + v145 + true + Unicode + + + Application + false + v145 true Unicode @@ -99,15 +120,25 @@ + + + + + + true $(SolutionDir)..\Build\ $(Platform)\$(Configuration)\$(ProjectName)\ + + $(Platform)\$(Configuration)\$(ProjectName)\ + true + true @@ -119,6 +150,13 @@ $(SolutionDir)..\Build\ $(Platform)\$(Configuration)\$(ProjectName)\ + + $(Platform)\$(Configuration)\$(ProjectName)\ + false + + + true + NotUsing @@ -126,8 +164,27 @@ Disabled true _DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 - include;..\common;..\PB;..\..\protobuf-3.5.0\src;E:\BERT\R-3.4.1\include - 4146 + include;..\common;..\PB;..\R-3.5.0\include + stdcpp17 + 4146;4251;4267;4018;4244;4141;4996 + + + Console + true + gdiplus.lib;libprotobufd.lib;lib\R64.lib;lib\RGraphApp64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\protobuf-3.5.0\cmake\build\solution\DebugDLL;%(AdditionalLibraryDirectories) + + + + + NotUsing + Level3 + Disabled + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 + include;..\common;..\PB;..\R-3.5.0\include + stdcpp17 + 4146;4251;4267;4018;4244;4141;4996 Console @@ -181,9 +238,33 @@ true true NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 - include;..\common;..\PB;..\..\protobuf-3.5.0\src;E:\BERT\R-3.4.1\include - 4146 + include;..\common;..\PB;..\R-3.5.0\include + 4146;4251;4267;4018;4244;4141;4996 + MultiThreaded + stdcpp17 + + + Console + true + true + true + gdiplus.lib;libprotobuf.lib;lib\R64.lib;lib\RGraphApp64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\protobuf-3.5.0\cmake\build\solution\Release\x64 + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 + include;..\common;..\PB;..\R-3.5.0\include + 4146;4251;4267;4018;4244;4141;4996 MultiThreaded + stdcpp17 Console diff --git a/Ribbon/BERTRibbon2.vcxproj b/Ribbon/BERTRibbon2.vcxproj index 7de39e54..c45fcd50 100644 --- a/Ribbon/BERTRibbon2.vcxproj +++ b/Ribbon/BERTRibbon2.vcxproj @@ -1,6 +1,10 @@  + + Debug + ARM64EC + Debug Win32 @@ -9,6 +13,10 @@ Debug x64 + + Release + ARM64EC + Release Win32 @@ -21,32 +29,44 @@ {3FAA4E29-8871-445F-9068-BF6518C295B5} AtlProj - 10.0.14393.0 + 10.0 Ribbon DynamicLibrary true - v141 + v145 Unicode DynamicLibrary true - v141 + v145 + Unicode + + + DynamicLibrary + true + v145 Unicode DynamicLibrary false - v141 + v145 Unicode DynamicLibrary false - v141 + v145 + Unicode + + + DynamicLibrary + false + v145 Unicode @@ -58,12 +78,18 @@ + + + + + + true @@ -80,6 +106,14 @@ .dll $(Platform)\$(Configuration)\$(ProjectName)\ + + $(VC_IncludePath);$(WindowsSDK_IncludePath) + BERT$(ProjectName)2x64D + .dll + $(Platform)\$(Configuration)\$(ProjectName)\ + true + true + true false @@ -97,6 +131,17 @@ .dll $(Platform)\$(Configuration)\$(ProjectName)\ + + $(VC_IncludePath);$(WindowsSDK_IncludePath) + BERT$(ProjectName)2x64 + .dll + $(Platform)\$(Configuration)\$(ProjectName)\ + true + false + + + true + Use @@ -142,6 +187,46 @@ Disabled WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions) true + stdcpp17 + + + false + _DEBUG;%(PreprocessorDefinitions) + BERTRibbon2_i.h + BERTRibbon2_i.c + BERTRibbon2_p.c + true + $(IntDir)BERTRibbon2.tlb + + + + + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + _DEBUG;%(PreprocessorDefinitions) + + + Windows + .\Ribbon.def + true + false + true + $(OutDir)$(TargetName)$(TargetExt) + Gdiplus.lib;psapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + Use + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions) + true + stdcpp17 false @@ -254,28 +339,76 @@ + + + Use + Level3 + MaxSpeed + WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions) + true + MultiThreaded + + + false + NDEBUG;%(PreprocessorDefinitions) + BERTRibbon2_i.h + BERTRibbon2_i.c + BERTRibbon2_p.c + true + $(IntDir)BERTRibbon2.tlb + + + + + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + NDEBUG;%(PreprocessorDefinitions) + + + Windows + .\Ribbon.def + true + true + true + false + $(OutDir)$(TargetName)$(TargetExt) + gdiplus.lib;psapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + false false + false + + false false + false + + Create Create + Create Create Create + Create From 6b65cab172d41d33ebf54655b92063df4b07586a Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:22:40 +1000 Subject: [PATCH 05/67] R: replace the hard-coded 3.5 version test with a minimum-version gate The controller refused to start unless the hosted R reported exactly 3.5, which is why BERT could not be pointed at a newer R even though the embedding interface it uses had not changed. Reject only versions older than the floor this code is built against, and warn rather than refuse on a major series newer than the one the build was tested with. Co-Authored-By: Claude Fable 5.1 --- ControlR/src/controlr.cc | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/ControlR/src/controlr.cc b/ControlR/src/controlr.cc index 3118e069..c7a21281 100644 --- a/ControlR/src/controlr.cc +++ b/ControlR/src/controlr.cc @@ -500,6 +500,24 @@ unsigned __stdcall ManagementThreadFunction(void *data) { return 0; } +/** + * the R versions this controller accepts. + * + * the headers this compiles against and the import libraries in lib/ come + * from one specific R release (see docs/BUILDING.md), but the embedding + * interface they describe has been stable across the 3.x and 4.x series, + * so a single binary can host any of them. the floor is the oldest series + * this code has been built against. there is deliberately no upper bound: + * the loader resolves the import libraries before main() runs, so a runtime + * that lacks a symbol we need has already failed to start by the time we + * get here. a newer major series than the one this build was tested with + * gets a warning rather than a refusal, so this does not turn back into + * the hard-coded barrier that the original major/minor equality test was. + */ +#define BERT_R_MINIMUM_MAJOR 3 +#define BERT_R_MINIMUM_MINOR 5 +#define BERT_R_TESTED_MAJOR 4 + void ScrubPath(char *string) { int len = strlen(string); @@ -530,8 +548,19 @@ int main(int argc, char** argv) { MessageBoxA(0, rvx, "R version", MB_OK); */ - if (major != 3) return PROCESS_ERROR_UNSUPPORTED_VERSION; - if( minor != 5) return PROCESS_ERROR_UNSUPPORTED_VERSION; + if (major < BERT_R_MINIMUM_MAJOR + || (major == BERT_R_MINIMUM_MAJOR && minor < BERT_R_MINIMUM_MINOR)) { + std::cerr << "unsupported R version " << major << "." << minor << "." << patch + << "; this build requires R " << BERT_R_MINIMUM_MAJOR << "." + << BERT_R_MINIMUM_MINOR << " or later" << std::endl; + return PROCESS_ERROR_UNSUPPORTED_VERSION; + } + + if (major > BERT_R_TESTED_MAJOR) { + std::cerr << "warning: R " << major << "." << minor << "." << patch + << " is newer than the " << BERT_R_TESTED_MAJOR + << ".x series this build was tested with; continuing" << std::endl; + } std::stringstream ss; ss << "R::" << major << "." << minor << "." << patch; From 65fb04cf1801881c65f3059b3e9f9d17bdae74b2 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:22:41 +1000 Subject: [PATCH 06/67] R: select console output encoding at runtime from the hosted R version R for Windows switched its native encoding to UTF-8 in 4.2.0. Before that, console output arrived in the Windows code page and was converted to UTF-8 on the way to the console, after a validity check that let already-UTF-8 output through. With a UTF-8 R that check is at best redundant and at worst harmful, because a multi-byte character split across two writes fails it and gets mangled by the conversion. Decide once at startup, from the version R reports, whether output is passed straight through, so one binary behaves correctly on both sides of the 4.2.0 change. Co-Authored-By: Claude Fable 5.1 --- ControlR/include/controlr.h | 7 +++++++ ControlR/src/controlr.cc | 7 +++++++ ControlR/src/rinterface_win.cc | 17 ++++++++++++++--- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/ControlR/include/controlr.h b/ControlR/include/controlr.h index 45743372..7e87fe03 100644 --- a/ControlR/include/controlr.h +++ b/ControlR/include/controlr.h @@ -141,3 +141,10 @@ void UpdateSpreadsheetGraphics(); */ void RGetVersion(int32_t *major, int32_t *minor, int32_t *patch); +/** + * true when the hosted R writes console output in UTF-8. R for Windows + * switched its native encoding to UTF-8 in 4.2.0; earlier versions write + * in the Windows code page and their output has to be converted before it + * is sent to the console. set once at startup from the R version. + */ +extern bool r_console_utf8; diff --git a/ControlR/src/controlr.cc b/ControlR/src/controlr.cc index c7a21281..30f30468 100644 --- a/ControlR/src/controlr.cc +++ b/ControlR/src/controlr.cc @@ -37,6 +37,9 @@ std::stack active_pipe; std::string language_tag; +// set from the R version at startup; see R_WriteConsoleEx +bool r_console_utf8 = false; + /** debug/util function */ std::string GetLastErrorAsString(DWORD err = -1) { @@ -562,6 +565,10 @@ int main(int argc, char** argv) { << ".x series this build was tested with; continuing" << std::endl; } + // R for Windows has written console output in UTF-8 since 4.2.0. see + // R_WriteConsoleEx in rinterface_win.cc for what this controls. + r_console_utf8 = (major > 4 || (major == 4 && minor >= 2)); + std::stringstream ss; ss << "R::" << major << "." << minor << "." << patch; language_tag = ss.str(); diff --git a/ControlR/src/rinterface_win.cc b/ControlR/src/rinterface_win.cc index d9500098..08f825e4 100644 --- a/ControlR/src/rinterface_win.cc +++ b/ControlR/src/rinterface_win.cc @@ -42,9 +42,20 @@ int R_ReadConsole(const char *prompt, char *buf, int len, int addtohistory) { */ void R_WriteConsoleEx(const char *buf, int len, int flag) { - // I cannot figure out how to get R to output UTF8 when it has windows cp - // strings. it just seems to ignore all the things I set. temporarily let's - // do this the hard way. + // from 4.2.0 R for Windows uses UTF-8 as its native encoding, so the + // buffer goes straight through. it is not validated first either: output + // that arrives in pieces could split a multi-byte character across two + // calls, and the fragment would fail validation and be mangled by the + // code-page conversion below. + + if (r_console_utf8) { + return ConsoleMessage(buf, len, flag); + } + + // earlier versions write in the Windows code page. I cannot figure out + // how to get R to output UTF8 when it has windows cp strings. it just + // seems to ignore all the things I set. temporarily let's do this the + // hard way. if (ValidUTF8(buf, len)) { return ConsoleMessage(buf, len, flag); From b5d6f90aee6c3dbb70155a3ddcc37aecbd0781fa Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:22:43 +1000 Subject: [PATCH 07/67] build: compile ControlR against R 4.5.2 Take the R headers and import libraries from a single, overridable location: BertRHome, defaulting to R-4.5.2 beside the projects and settable with /p:BertRHome=. Replace the checked-in R 3.5 import libraries with ones generated from R 4.5.2, and check in the .def files they were built from so the export lists are reviewable. Add ARM64X import libraries for the ARM64EC configurations. Define R_LEGACY_RCOMPLEX in every configuration: from 4.3.0, R_ext/Complex.h defines Rcomplex as a union with a C99 _Complex member, which MSVC does not support, and the legacy definition is the documented escape hatch. The layout is identical, and this code only reads and writes the r and i fields. RebuildLibs.ps1 learns to build the ARM64X libraries, gains a usage note, and loses a stray debugging line. Co-Authored-By: Claude Fable 5.1 --- ControlR/ControlR.vcxproj | 33 +- ControlR/lib/R64.def | 1357 +++++++++++++++++++++++++++++++ ControlR/lib/R64.lib | Bin 235250 -> 250776 bytes ControlR/lib/R64arm.lib | Bin 0 -> 273184 bytes ControlR/lib/RGraphApp64.def | 389 +++++++++ ControlR/lib/RGraphApp64.lib | Bin 75582 -> 75712 bytes ControlR/lib/RGraphApp64arm.lib | Bin 0 -> 82248 bytes ControlR/lib/RebuildLibs.ps1 | 31 +- 8 files changed, 1783 insertions(+), 27 deletions(-) create mode 100644 ControlR/lib/R64.def create mode 100644 ControlR/lib/R64arm.lib create mode 100644 ControlR/lib/RGraphApp64.def create mode 100644 ControlR/lib/RGraphApp64arm.lib diff --git a/ControlR/ControlR.vcxproj b/ControlR/ControlR.vcxproj index 0ccb1343..965ca73a 100644 --- a/ControlR/ControlR.vcxproj +++ b/ControlR/ControlR.vcxproj @@ -130,6 +130,11 @@ + + + $(MSBuildThisFileDirectory)..\R-4.5.2 + true $(SolutionDir)..\Build\ @@ -163,8 +168,8 @@ Level3 Disabled true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 - include;..\common;..\PB;..\R-3.5.0\include + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32;R_LEGACY_RCOMPLEX + include;..\common;..\PB;$(BertRHome)\include stdcpp17 4146;4251;4267;4018;4244;4141;4996 @@ -181,15 +186,15 @@ Level3 Disabled true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 - include;..\common;..\PB;..\R-3.5.0\include + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32;R_LEGACY_RCOMPLEX + include;..\common;..\PB;$(BertRHome)\include stdcpp17 4146;4251;4267;4018;4244;4141;4996 Console true - gdiplus.lib;libprotobufd.lib;lib\R64.lib;lib\RGraphApp64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + gdiplus.lib;libprotobufd.lib;lib\R64arm.lib;lib\RGraphApp64arm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ..\..\protobuf-3.5.0\cmake\build\solution\DebugDLL;%(AdditionalLibraryDirectories) @@ -199,8 +204,8 @@ Level3 Disabled true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 - E:\BERT2\PB;E:\BERT2\protobuf-3.5.0\src;E:\BERT\R-3.4.1\include + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32;R_LEGACY_RCOMPLEX + E:\BERT2\PB;E:\BERT2\protobuf-3.5.0\src;$(BertRHome)\include 4146 @@ -217,8 +222,8 @@ true true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 - include;..\common;..\PB;..\..\protobuf-3.5.0\src;E:\BERT\R-3.4.1\include + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32;R_LEGACY_RCOMPLEX + include;..\common;..\PB;..\..\protobuf-3.5.0\src;$(BertRHome)\include 4146 @@ -237,8 +242,8 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 - include;..\common;..\PB;..\R-3.5.0\include + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32;R_LEGACY_RCOMPLEX + include;..\common;..\PB;$(BertRHome)\include 4146;4251;4267;4018;4244;4141;4996 MultiThreaded stdcpp17 @@ -260,8 +265,8 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32 - include;..\common;..\PB;..\R-3.5.0\include + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32;_WIN32;R_LEGACY_RCOMPLEX + include;..\common;..\PB;$(BertRHome)\include 4146;4251;4267;4018;4244;4141;4996 MultiThreaded stdcpp17 @@ -271,7 +276,7 @@ true true true - gdiplus.lib;libprotobuf.lib;lib\R64.lib;lib\RGraphApp64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + gdiplus.lib;libprotobuf.lib;lib\R64arm.lib;lib\RGraphApp64arm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ..\..\protobuf-3.5.0\cmake\build\solution\Release\x64 diff --git a/ControlR/lib/R64.def b/ControlR/lib/R64.def new file mode 100644 index 00000000..7e822729 --- /dev/null +++ b/ControlR/lib/R64.def @@ -0,0 +1,1357 @@ +LIBRARY R +EXPORTS + +ALTREP +ALTREP_CLASS +ALTREP_LENGTH +ALTSTRING_ELT +ALTVEC_DATAPTR +ALTVEC_DATAPTR_RO +ANY_ATTRIB +ATTRIB +AllDevicesKilled +BODY +CAAR +CAD4R +CAD5R +CADDDR +CADDR +CADR +CAR +CDAR +CDDDR +CDDR +CDR +CHKVEC +CLEAR_ATTRIB +CLOENV +COMPLEX +COMPLEX0 +COMPLEX_ELT +COMPLEX_GET_REGION +COMPLEX_OR_NULL +COMPLEX_RO +CharacterMode +DATAPTR +DATAPTR_OR_NULL +DATAPTR_RO +DDVAL +DUPLICATE_ATTRIB +ENCLOS +ENC_KNOWN +ENSURE_NAMEDMAX +ENVFLAGS +EXTPTR_PROT +EXTPTR_PTR +EXTPTR_TAG +EmitEmbeddedUTF8 +FORMALS +FRAME +GECap +GECircle +GEExpressionHeight +GEExpressionMetric +GEExpressionWidth +GEFill +GEFillStroke +GEGlyph +GELine +GEMathText +GEMetricInfo +GEMode +GENewPage +GEPath +GEPolygon +GEPolyline +GEPretty +GERaster +GERect +GESetClip +GEStrHeight +GEStrMetric +GEStrWidth +GEStroke +GESymbol +GEText +GEXspline +GE_LENDget +GE_LENDpar +GE_LJOINget +GE_LJOINpar +GE_LTYget +GE_LTYpar +GEaddDevice +GEaddDevice2 +GEaddDevice2f +GEcheckState +GEcleanDevice +GEcontourLines +GEcopyDisplayList +GEcreateDevDesc +GEcreateSnapshot +GEcurrentDevice +GEdestroyDevDesc +GEdeviceDirty +GEdeviceNumber +GEdirtyDevice +GEfromDeviceHeight +GEfromDeviceWidth +GEfromDeviceX +GEfromDeviceY +GEgetDevice +GEhandleEvent +GEinitDisplayList +GEkillDevice +GEonExit +GEplayDisplayList +GEplaySnapshot +GErecordGraphicOperation +GErecording +GEregisterSystem +GEregisterWithDevice +GEstring_to_pch +GEsystemState +GEtoDeviceHeight +GEtoDeviceWidth +GEtoDeviceX +GEtoDeviceY +GEunregisterSystem +GetRNGstate +HASHTAB +INTEGER +INTEGER0 +INTEGER_ELT +INTEGER_GET_REGION +INTEGER_IS_SORTED +INTEGER_NO_NA +INTEGER_OR_NULL +INTEGER_RO +INTERNAL +IS_ASCII +IS_CACHED +IS_GROWABLE +IS_LONG_VEC +IS_S4_OBJECT +IS_SCALAR +IS_UTF8 +LENGTH +LENGTH_EX +LEVELS +LOGICAL +LOGICAL0 +LOGICAL_ELT +LOGICAL_GET_REGION +LOGICAL_NO_NA +LOGICAL_OR_NULL +LOGICAL_RO +MARK_NOT_MUTABLE +MAYBE_SHARED +N01_kind +NAMED +NO_REFERENCES +OBJECT +OutDec +PRCODE +PRENV +PRIMFUN +PRIMVAL +PRINTNAME +PRSEEN +PRVALUE +PutRNGstate +RAW +RAW0 +RAW_ELT +RAW_GET_REGION +RAW_OR_NULL +RAW_RO +RC_fopen +RConsole +RDEBUG +REAL +REAL0 +REAL_ELT +REAL_GET_REGION +REAL_IS_SORTED +REAL_NO_NA +REAL_OR_NULL +REAL_RO +REFCNT +REprintf +REvprintf +RFrame +R_AccuracyInfo +R_ActiveBindingFunction +R_AllocStringBuffer +R_AsCharacterSymbol +R_AtsignSymbol +R_BCFrame +R_BCNodeStackEnd +R_BCNodeStackTop +R_BadLongVector +R_BaseEnv +R_BaseNamespace +R_BaseSymbol +R_BindingIsActive +R_BindingIsLocked +R_BlankScalarString +R_BlankString +R_BraceSymbol +R_Bracket2Symbol +R_BracketSymbol +R_Busy +R_BytecodeExpr +R_CHAR +R_CStackDir +R_CStackLimit +R_CStackStart +R_CheckDeviceAvailable +R_CheckDeviceAvailableBool +R_CheckStack +R_CheckStack2 +R_CheckUserInterrupt +R_ClassSymbol +R_CleanTempDir +R_CleanUp +R_ClearExternalPtr +R_ClearerrConsole +R_ClosureBody +R_ClosureEnv +R_ClosureExpr +R_ClosureFormals +R_Consolefile +R_ContinueUnwind +R_CurrentExpression +R_DefParams +R_DefParamsEx +R_DeviceSymbol +R_DimNamesSymbol +R_DimSymbol +R_DirtyImage +R_DollarSymbol +R_DotsSymbol +R_DoubleColonSymbol +R_DropSymbol +R_EditFiles +R_EmptyEnv +R_EnvironmentIsLocked +R_EvalSymbol +R_ExecWithCleanup +R_ExpandFileName +R_ExpandFileNameUTF8 +R_ExternalPtrAddr +R_ExternalPtrAddrFn +R_ExternalPtrProtected +R_ExternalPtrTag +R_FalseValue +R_FileExists +R_FindNamespace +R_FindPackageEnv +R_FindSymbol +R_FixupRHS +R_FlushConsole +R_FreeStringBuffer +R_FunTab +R_FunctionSymbol +R_GE_checkVersionOrDie +R_GE_clipPathFillRule +R_GE_getVersion +R_GE_glyphColour +R_GE_glyphFont +R_GE_glyphFontFamily +R_GE_glyphFontFile +R_GE_glyphFontIndex +R_GE_glyphFontPSname +R_GE_glyphFontStyle +R_GE_glyphFontWeight +R_GE_glyphID +R_GE_glyphInfoFonts +R_GE_glyphInfoGlyphs +R_GE_glyphRotation +R_GE_glyphSize +R_GE_glyphX +R_GE_glyphY +R_GE_hasGlyphRotation +R_GE_isPattern +R_GE_linearGradientColour +R_GE_linearGradientExtend +R_GE_linearGradientNumStops +R_GE_linearGradientStop +R_GE_linearGradientX1 +R_GE_linearGradientX2 +R_GE_linearGradientY1 +R_GE_linearGradientY2 +R_GE_maskType +R_GE_patternType +R_GE_radialGradientCX1 +R_GE_radialGradientCX2 +R_GE_radialGradientCY1 +R_GE_radialGradientCY2 +R_GE_radialGradientColour +R_GE_radialGradientExtend +R_GE_radialGradientNumStops +R_GE_radialGradientR1 +R_GE_radialGradientR2 +R_GE_radialGradientStop +R_GE_rasterInterpolate +R_GE_rasterResizeForRotation +R_GE_rasterRotate +R_GE_rasterRotatedOffset +R_GE_rasterRotatedSize +R_GE_rasterScale +R_GE_str2col +R_GE_tilingPatternExtend +R_GE_tilingPatternFunction +R_GE_tilingPatternHeight +R_GE_tilingPatternWidth +R_GE_tilingPatternX +R_GE_tilingPatternY +R_GUIType +R_GetCCallable +R_GetConnection +R_GetCurrentEnv +R_GetCurrentSrcref +R_GetFDLimit +R_GetSrcFilename +R_GetVarLocMISSING +R_GlobalContext +R_GlobalEnv +R_HasFancyBindings +R_HashtabSEXP +R_HistoryFile +R_HistorySize +R_Home +R_HomeDir +R_InBCInterpreter +R_InitConnInPStream +R_InitConnOutPStream +R_InitFileInPStream +R_InitFileOutPStream +R_InitInPStream +R_InitOutPStream +R_Interactive +R_IsNA +R_IsNaN +R_IsNamespaceEnv +R_IsPackageEnv +R_LastvalueSymbol +R_LevelsSymbol +R_LockBinding +R_LockEnvironment +R_LogicalNAValue +R_MB_CUR_MAX +R_MakeActiveBinding +R_MakeExternalPtr +R_MakeExternalPtrFn +R_MakeUnwindCont +R_MakeWeakRef +R_MakeWeakRefC +R_MethodsNamespace +R_MissingArg +R_MissingArgError +R_MissingArgError_c +R_ModeSymbol +R_NaInt +R_NaN +R_NaReal +R_NaRmSymbol +R_NaString +R_NameSymbol +R_NamesSymbol +R_NamespaceEnvSpec +R_NamespaceEnvSymbol +R_NamespaceRegistry +R_NegInf +R_NewEnv +R_NewHashedEnv +R_NewPreciousMSet +R_NilValue +R_NoEcho +R_OldCStackLimit +R_Outputfile +R_PPStack +R_PPStackSize +R_PPStackTop +R_PV +R_PackageEnvName +R_PackageSymbol +R_ParentEnv +R_ParseContext +R_ParseContextLast +R_ParseContextLine +R_ParseError +R_ParseErrorMsg +R_ParseEvalString +R_ParseString +R_ParseVector +R_PosInf +R_PreserveInMSet +R_PreserveObject +R_PreviousSymbol +R_ProcessEvents +R_PromiseExpr +R_ProtectWithIndex +R_QuoteSymbol +R_ReadConnection +R_ReadConsole +R_RegisterCCallable +R_RegisterCFinalizer +R_RegisterCFinalizerEx +R_RegisterFinalizer +R_RegisterFinalizerEx +R_ReleaseFromMSet +R_ReleaseObject +R_ReplDLLdo1 +R_ReplDLLinit +R_Reprotect +R_ResetConsole +R_RestoreGlobalEnv +R_RestoreGlobalEnvFromFile +R_RestoreHashCount +R_RestoreHistory +R_RowNamesSymbol +R_RunExitFinalizers +R_RunPendingFinalizers +R_RunWeakRefFinalizer +R_S4_extends +R_SaveGlobalEnv +R_SaveGlobalEnvToFile +R_SeedsSymbol +R_Serialize +R_SetExternalPtrAddr +R_SetExternalPtrProtected +R_SetExternalPtrTag +R_SetParams +R_ShowMessage +R_SignalCStackOverflow +R_SignalHandlers +R_SizeFromEnv +R_SortListSymbol +R_SourceSymbol +R_SpecSymbol +R_SrcfileSymbol +R_Srcref +R_SrcrefSymbol +R_Suicide +R_TempDir +R_ToplevelExec +R_TripleColonSymbol +R_TrueValue +R_TspSymbol +R_UnboundValue +R_Unserialize +R_UnwindProtect +R_Visible +R_WaitEvent +R_WeakRefKey +R_WeakRefValue +R_WriteConnection +R_WriteConsole +R_WriteConsoleEx +R_addTaskCallback +R_alloc +R_allocLD +R_altrep_data1 +R_altrep_data2 +R_altrep_inherits +R_asHashtable +R_atof +R_baseSymbol +R_bcDecode +R_bcEncode +R_body_no_src +R_cairoCdynload +R_calloc_gc +R_check_class_and_super +R_check_class_etc +R_chk_calloc +R_chk_free +R_chk_memcpy +R_chk_memset +R_chk_realloc +R_closedir +R_clrhash +R_common_command_line +R_compact_intseq_class +R_compact_realseq_class +R_compute_identical +R_csort +R_curErrorBuf +R_current_debug_state +R_current_trace_state +R_cycle_detected +R_data_class +R_deferred_default_method +R_do_MAKE_CLASS +R_do_new_object +R_do_slot +R_do_slot_assign +R_dot_Generic +R_dot_Last +R_dot_Method +R_dot_defined +R_dot_packageName +R_dot_target +R_duplicate_attr +R_envHasNoSpecialSymbols +R_execMethod +R_existsVarInFrame +R_extends +R_findVar +R_findVarInFrame +R_findVarLoc +R_findVarLocInFrame +R_finite +R_fixbackslash +R_fopen +R_forceAndCall +R_forceSymbols +R_free_tmpnam +R_gc +R_gc_torture +R_getClassDef +R_getClassDef_R +R_getDllInfo +R_getEmbeddingDllInfo +R_getTaskCallbackNames +R_getVar +R_getVarEx +R_get_arith_function +R_gethash +R_gl_tab_set +R_gzclose +R_gzgets +R_gzopen +R_has_methods_attached +R_has_slot +R_interrupts_pending +R_interrupts_suspended +R_isForkedChild +R_isHashtable +R_isTRUE +R_isVirtualClass +R_is_redirection_tty +R_isnancpp +R_isort +R_listCompact +R_lsInternal +R_lsInternal3 +R_makePartialMatchWarningCondition +R_makeWarningCondition +R_make_altcomplex_class +R_make_altinteger_class +R_make_altlist_class +R_make_altlogical_class +R_make_altraw_class +R_make_altreal_class +R_make_altstring_class +R_malloc_gc +R_maphash +R_maphashC +R_max_col +R_mkClosure +R_mkEVPROMISE +R_mkhashtab +R_nchar +R_new_altrep +R_new_custom_connection +R_numhash +R_opendir +R_orderVector +R_orderVector1 +R_popen +R_pow +R_pow_di +R_primitive_generic +R_primitive_methods +R_print +R_putenv_path_cpy +R_qsort +R_qsort_I +R_qsort_int +R_qsort_int_I +R_reInitTempDir +R_readdir +R_realloc_gc +R_registerRoutines +R_remhash +R_removeTaskCallback +R_removeVarFromFrame +R_rsort +R_sample_kind +R_setInternetRoutines +R_setLapackRoutines +R_setStartTime +R_set_altcomplex_Elt_method +R_set_altcomplex_Get_region_method +R_set_altinteger_Elt_method +R_set_altinteger_Get_region_method +R_set_altinteger_Is_sorted_method +R_set_altinteger_Max_method +R_set_altinteger_Min_method +R_set_altinteger_No_NA_method +R_set_altinteger_Sum_method +R_set_altlist_Elt_method +R_set_altlist_Set_elt_method +R_set_altlogical_Elt_method +R_set_altlogical_Get_region_method +R_set_altlogical_Is_sorted_method +R_set_altlogical_No_NA_method +R_set_altlogical_Sum_method +R_set_altraw_Elt_method +R_set_altraw_Get_region_method +R_set_altreal_Elt_method +R_set_altreal_Get_region_method +R_set_altreal_Is_sorted_method +R_set_altreal_Max_method +R_set_altreal_Min_method +R_set_altreal_No_NA_method +R_set_altreal_Sum_method +R_set_altrep_Coerce_method +R_set_altrep_DuplicateEX_method +R_set_altrep_Duplicate_method +R_set_altrep_Inspect_method +R_set_altrep_Length_method +R_set_altrep_Serialized_state_method +R_set_altrep_UnserializeEX_method +R_set_altrep_Unserialize_method +R_set_altrep_data1 +R_set_altrep_data2 +R_set_altstring_Elt_method +R_set_altstring_Is_sorted_method +R_set_altstring_No_NA_method +R_set_altstring_Set_elt_method +R_set_altvec_Dataptr_method +R_set_altvec_Dataptr_or_null_method +R_set_altvec_Extract_subset_method +R_set_command_line_arguments +R_set_prim_method +R_set_quick_method_check +R_set_standardGeneric_ptr +R_sethash +R_setupHistory +R_shallow_duplicate_attr +R_signalWarningCondition +R_signal_protect_error +R_signal_reprotect_error +R_signal_unprotect_error +R_strtod +R_strtod4 +R_strtod5 +R_subassign3_dflt +R_system +R_taskCallbackRoutine +R_tmpnam +R_tmpnam2 +R_tryCatch +R_tryCatchError +R_tryEval +R_tryEvalSilent +R_tryWrap +R_typeToChar +R_typhash +R_unLockBinding +R_unif_index +R_useDynamicSymbols +R_vmakeWarningCondition +R_withCallingErrorHandler +Rconn_fgetc +Rconn_printf +Rconsolecmd +Rdownload +Rdqagi +Rdqags +RestoreAction +Rf_AdobeSymbol2utf8 +Rf_CleanEd +Rf_CreateAtVector +Rf_CreateTag +Rf_DropDims +Rf_EncodeChar +Rf_EncodeComplex +Rf_EncodeElement +Rf_EncodeElement0 +Rf_EncodeInteger +Rf_EncodeLogical +Rf_EncodeReal +Rf_EncodeReal0 +Rf_FixupDigits +Rf_FixupWidth +Rf_GAxisPars +Rf_GPretty +Rf_GetArrayDimnames +Rf_GetColNames +Rf_GetMatrixDimnames +Rf_GetOption +Rf_GetOption1 +Rf_GetOptionDigits +Rf_GetOptionWidth +Rf_GetRowNames +Rf_KillAllDevices +Rf_NewEnvironment +Rf_NewFrameConfirm +Rf_NoDevices +Rf_NonNullStringMatch +Rf_NumDevices +Rf_PairToVectorList +Rf_PrintDefaults +Rf_PrintInit +Rf_PrintValue +Rf_PrintWarnings +Rf_RGBpar +Rf_RGBpar3 +Rf_ReplIteration +Rf_S3Class +Rf_ScalarComplex +Rf_ScalarInteger +Rf_ScalarLogical +Rf_ScalarRaw +Rf_ScalarReal +Rf_ScalarString +Rf_StringBlank +Rf_StringFalse +Rf_StringTrue +Rf_VectorToPairList +Rf_XLENGTH +Rf_acopy_string +Rf_addTaskCallback +Rf_alloc3DArray +Rf_allocArray +Rf_allocFormalsList2 +Rf_allocFormalsList3 +Rf_allocFormalsList4 +Rf_allocFormalsList5 +Rf_allocFormalsList6 +Rf_allocLang +Rf_allocList +Rf_allocMatrix +Rf_allocS4Object +Rf_allocSExp +Rf_allocVector +Rf_allocVector3 +Rf_any_duplicated +Rf_any_duplicated3 +Rf_arraySubscript +Rf_asBool +Rf_asBool2 +Rf_asChar +Rf_asCharacterFactor +Rf_asComplex +Rf_asInteger +Rf_asLogical +Rf_asLogical2 +Rf_asRbool +Rf_asRboolean +Rf_asReal +Rf_asS4 +Rf_asXLength +Rf_begincontext +Rf_bessel_i +Rf_bessel_i_ex +Rf_bessel_j +Rf_bessel_j_ex +Rf_bessel_k +Rf_bessel_k_ex +Rf_bessel_y +Rf_bessel_y_ex +Rf_beta +Rf_bratio +Rf_cPsort +Rf_callToplevelHandlers +Rf_charIsASCII +Rf_charIsLatin1 +Rf_charIsUTF8 +Rf_checkArityCall +Rf_choose +Rf_classgets +Rf_coerceVector +Rf_col2name +Rf_con_pushback +Rf_conformable +Rf_cons +Rf_copyListMatrix +Rf_copyMatrix +Rf_copyMostAttrib +Rf_copyMostAttribNoTs +Rf_copyVector +Rf_countContexts +Rf_csduplicated +Rf_curDevice +Rf_currentTime +Rf_dbeta +Rf_dbinom +Rf_dbinom_raw +Rf_dcauchy +Rf_dchisq +Rf_defineVar +Rf_deparse1 +Rf_deparse1line +Rf_deparse1m +Rf_desc2GEDesc +Rf_dexp +Rf_df +Rf_dgamma +Rf_dgeom +Rf_dhyper +Rf_digamma +Rf_dimgets +Rf_dimnamesgets +Rf_dlnorm +Rf_dlogis +Rf_dnbeta +Rf_dnbinom +Rf_dnbinom_mu +Rf_dnchisq +Rf_dnf +Rf_dnorm4 +Rf_dnt +Rf_doIdle +Rf_doKeybd +Rf_doMouseEvent +Rf_doesIdle +Rf_dpois +Rf_dpois_raw +Rf_dpptr +Rf_dpsifn +Rf_dsignrank +Rf_dt +Rf_dunif +Rf_duplicate +Rf_duplicated +Rf_dweibull +Rf_dwilcox +Rf_ebd0 +Rf_elt +Rf_endEmbeddedR +Rf_endcontext +Rf_envlength +Rf_envxlength +Rf_error +Rf_errorcall +Rf_eval +Rf_findFun +Rf_findVar +Rf_findVarInFrame +Rf_findVarInFrame3 +Rf_fmax2 +Rf_fmin2 +Rf_formatComplex +Rf_formatInteger +Rf_formatLogical +Rf_formatReal +Rf_fprec +Rf_fround +Rf_fsign +Rf_ftrunc +Rf_gammafn +Rf_getAttrib +Rf_getCharCE +Rf_gsetVar +Rf_iPsort +Rf_imax2 +Rf_imin2 +Rf_inherits +Rf_initEmbeddedR +Rf_init_con +Rf_initialize_R +Rf_install +Rf_installChar +Rf_installTrChar +Rf_isArray +Rf_isBasicClass +Rf_isBlankString +Rf_isComplex +Rf_isDataFrame +Rf_isEnvironment +Rf_isExpression +Rf_isFactor +Rf_isFrame +Rf_isFunction +Rf_isInteger +Rf_isLanguage +Rf_isList +Rf_isLogical +Rf_isMatrix +Rf_isNewList +Rf_isNull +Rf_isNumber +Rf_isNumeric +Rf_isObject +Rf_isOrdered +Rf_isPairList +Rf_isPrimitive +Rf_isProtected +Rf_isReal +Rf_isS4 +Rf_isString +Rf_isSymbol +Rf_isTs +Rf_isUnordered +Rf_isUnsorted +Rf_isUserBinop +Rf_isValidString +Rf_isValidStringF +Rf_isVector +Rf_isVectorAtomic +Rf_isVectorList +Rf_isVectorizable +Rf_jump_to_toplevel +Rf_killDevice +Rf_lang1 +Rf_lang2 +Rf_lang3 +Rf_lang4 +Rf_lang5 +Rf_lang6 +Rf_lastElt +Rf_lazy_duplicate +Rf_lbeta +Rf_lchoose +Rf_lcons +Rf_length +Rf_lengthgets +Rf_lgamma1p +Rf_lgammafn +Rf_lgammafn_sign +Rf_list1 +Rf_list2 +Rf_list3 +Rf_list4 +Rf_list5 +Rf_list6 +Rf_listAppend +Rf_log1mexp +Rf_log1pexp +Rf_log1pmx +Rf_logspace_add +Rf_logspace_sub +Rf_logspace_sum +Rf_mainloop +Rf_match +Rf_matchE +Rf_mbcsToUcs2 +Rf_mbrtowc +Rf_memtrace_report +Rf_mkChar +Rf_mkCharCE +Rf_mkCharLen +Rf_mkCharLenCE +Rf_mkFalse +Rf_mkNamed +Rf_mkString +Rf_namesgets +Rf_ncols +Rf_ndevNumber +Rf_nextDevice +Rf_nlevels +Rf_nrows +Rf_nthcdr +Rf_onintr +Rf_onintrNoResume +Rf_pbeta +Rf_pbinom +Rf_pcauchy +Rf_pchisq +Rf_pentagamma +Rf_pexp +Rf_pf +Rf_pgamma +Rf_pgamma_raw +Rf_pgeom +Rf_phyper +Rf_plnorm +Rf_plogis +Rf_pmatch +Rf_pnbeta +Rf_pnbeta2 +Rf_pnbeta_raw +Rf_pnbinom +Rf_pnbinom_mu +Rf_pnchisq +Rf_pnchisq_raw +Rf_pnf +Rf_pnorm5 +Rf_pnorm_both +Rf_pnt +Rf_pow1p +Rf_ppois +Rf_prevDevice +Rf_protect +Rf_psigamma +Rf_psignrank +Rf_psmatch +Rf_pt +Rf_ptukey +Rf_punif +Rf_pweibull +Rf_pwilcox +Rf_qbeta +Rf_qbinom +Rf_qcauchy +Rf_qchisq +Rf_qexp +Rf_qf +Rf_qgamma +Rf_qgeom +Rf_qhyper +Rf_qlnorm +Rf_qlogis +Rf_qnbeta +Rf_qnbinom +Rf_qnbinom_mu +Rf_qnchisq +Rf_qnf +Rf_qnorm5 +Rf_qnt +Rf_qpois +Rf_qsignrank +Rf_qt +Rf_qtukey +Rf_qunif +Rf_qweibull +Rf_qwilcox +Rf_rPsort +Rf_rbeta +Rf_rbinom +Rf_rcauchy +Rf_rchisq +Rf_reEnc +Rf_removeTaskCallbackByIndex +Rf_removeTaskCallbackByName +Rf_revsort +Rf_rexp +Rf_rf +Rf_rgamma +Rf_rgeom +Rf_rhyper +Rf_rlnorm +Rf_rlogis +Rf_rmultinom +Rf_rnbinom +Rf_rnbinom_mu +Rf_rnchisq +Rf_rnorm +Rf_rpois +Rf_rsignrank +Rf_rt +Rf_runcmd +Rf_runif +Rf_rweibull +Rf_rwilcox +Rf_selectDevice +Rf_setAttrib +Rf_setVar +Rf_set_iconv +Rf_shallow_duplicate +Rf_sign +Rf_sortVector +Rf_str2type +Rf_strIsASCII +Rf_strchr +Rf_stringPositionTr +Rf_strrchr +Rf_substitute +Rf_tetragamma +Rf_topenv +Rf_translateChar +Rf_translateChar0 +Rf_translateCharFP +Rf_translateCharUTF8 +Rf_trigamma +Rf_type2char +Rf_type2rstr +Rf_type2str +Rf_type2str_nowarn +Rf_ucstoutf8 +Rf_unprotect +Rf_unprotect_ptr +Rf_utf8ToLatin1AdobeSymbol2utf8 +Rf_utf8Toutf8NoPUA +Rf_utf8toAdobeSymbol +Rf_utf8toucs +Rf_utf8towcs +Rf_utf8towcs4 +Rf_warning +Rf_warningcall +Rf_warningcall_immediate +Rf_wcstoutf8 +Rf_wtransChar +Rf_xlength +Rf_xlengthgets +Rg_set_col_ptrs +RgetMDIheight +RgetMDIsize +RgetMDIwidth +RguiMDI +Ri18n_iswctype +Ri18n_towlower +Ri18n_towupper +Ri18n_wctype +Ri18n_wcwidth +Riconv +Riconv_close +Riconv_open +Rprintf +Rsleep +Rsockclose +Rsockconnect +Rsocklisten +Rsockopen +Rsockread +Rsockwrite +Rstrdup +Rtanpi +Runzip +Rvprintf +Rwin_fpset +Rwin_graphicsx +Rwin_graphicsy +SCALAR_BVAL +SCALAR_CVAL +SCALAR_DVAL +SCALAR_IVAL +SCALAR_LVAL +SETCAD4R +SETCADDDR +SETCADDR +SETCADR +SETCAR +SETCDR +SETLENGTH +SETLEVELS +SET_ATTRIB +SET_BODY +SET_CLOENV +SET_COMPLEX_ELT +SET_ENCLOS +SET_ENVFLAGS +SET_FORMALS +SET_FRAME +SET_GROWABLE_BIT +SET_HASHTAB +SET_INTEGER_ELT +SET_LOGICAL_ELT +SET_NAMED +SET_OBJECT +SET_PRCODE +SET_PRENV +SET_PRIMFUN +SET_PRSEEN +SET_PRVALUE +SET_RAW_ELT +SET_RDEBUG +SET_REAL_ELT +SET_S4_OBJECT +SET_SCALAR_BVAL +SET_SCALAR_CVAL +SET_SCALAR_DVAL +SET_SCALAR_IVAL +SET_SCALAR_LVAL +SET_STRING_ELT +SET_TAG +SET_TRUELENGTH +SET_TYPEOF +SET_VECTOR_ELT +SHALLOW_DUPLICATE_ATTRIB +STDVEC_DATAPTR +STRING_ELT +STRING_IS_SORTED +STRING_NO_NA +STRING_PTR +STRING_PTR_RO +SYMVALUE +S_alloc +S_realloc +SaveAction +TAG +TRUELENGTH +TYPEOF +TerminateWindow +UNIMPLEMENTED +UNIMPLEMENTED_TYPE +UNSET_S4_OBJECT +UserBreak +User_norm_fun +User_unif_init +VECTOR_ELT +VECTOR_PTR +VECTOR_PTR_RO +XLENGTH +XLENGTH_EX +XTRUELENGTH +_hershey_accented_char_info +_hershey_typeface_info +baseRegisterIndex +bringtotop +cgmin +cmdlineoptions +consolefn +consolereads0 +cospi +d1mach_ +dblepr1_ +dblepr_ +dcar +dcdr +dchdc_ +ddfind +deparse1line_ex +do_Rprof +do_Rprofmem +do_contourLines +do_edit +do_getGraphicsEvent +do_getGraphicsEventEnv +do_getNSValue +do_getSnapshot +do_playSnapshot +do_setGraphicsEventEnv +do_set_prim_method +dpbfa_ +dpbsl_ +dpoco_ +dpodi_ +dpofa_ +dposl_ +dqrcf_ +dqrdc2_ +dqrdc_ +dqrls_ +dqrqty_ +dqrqy_ +dqrrsd_ +dqrsl_ +dqrxb_ +dsvdc_ +dtrco_ +dtrsl_ +dtype +dummy_fgetc +dummy_vfprintf +exp_rand +extR_HTTPDCreate +extR_HTTPDStop +fdhess +filenameToWchar +findFunctionForBodyInNamespace +findInterval +findInterval2 +formatComplexS +formatIntegerS +formatLogicalS +formatRealS +fprintf +freeConsoleData +freeRHOME +freeRHOMElong +freeRUser +free_R_HOME +freemenuitems +getConnection +getDLLVersion +getPRIMNAME +getRHOME +getRHOMElong +getRUser +get_R_HOME +getline2 +getusermenuname +gl_free +gl_hist_init +gl_histadd +gl_loadhistory +gl_savehistory +guiColors +i1mach_ +in_loadRconsole +in_shortpath +interv_ +intpr1_ +intpr_ +isFree +known_to_be_latin1 +labelpr_ +lbfgsb +libintl_dcgettext +libintl_dgettext +libintl_dngettext +libintl_gettext +locale2charset +localeCP +max_contour_segments +mbcsValid +mbcslocale +mbrtoint +msgwindow +newconsoledata +nmmin +norm_rand +numwinmenus +optclosefile +optfile +optif9 +optline +optopenfile +optread +orderVector1 +pagercol +pagerrow +parseError +printf +qsort3_ +qsort4_ +rchkusr_ +reEnc2 +readconsolecfg +realpr1_ +realpr_ +rexit_ +rexitc_ +rsort_with_index +run_Rmainloop +runcmd_timeout +rwarn_ +rwarnc_ +samin +saveConsoleTitle +seed_in +seed_out +set_R_Tcldo +setup_Rmainloop +setup_term_ui +setupui +showstatusbar +signrank_free +sinpi +sorted_any_duplicated +sorted_real_count_NANs +sprintf +systemCP +tanpi +unif_rand +unset_R_Tcldo +utf8Valid +utf8clen +utf8locale +vasprintf +vfprintf +vmaxget +vmaxset +vmmin +vprintf +vsprintf +wgl_histadd +wgl_loadhistoryW +wgl_savehistoryW +wilcox_free +winaddmenu +winaddmenuitem +windelmenu +windelmenuitem +windelmenus +wingetmenuitems +xdr_double +xdrmem_create +xerbla_ + + diff --git a/ControlR/lib/R64.lib b/ControlR/lib/R64.lib index 2dc1ad683f5cabeeaeb50a2e3fcbe1666b45d9d7..6780915bd20b574588238ecfe813cc6b62519b78 100644 GIT binary patch literal 250776 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 xfR6n{DXO8nLMYw_3P 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 literal 235250 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 diff --git a/ControlR/lib/R64arm.lib b/ControlR/lib/R64arm.lib new file mode 100644 index 0000000000000000000000000000000000000000..0b1014d3737bc1e582f617b9efd60c513ed465d4 GIT binary patch literal 273184 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 z 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 literal 0 HcmV?d00001 diff --git a/ControlR/lib/RGraphApp64.def b/ControlR/lib/RGraphApp64.def new file mode 100644 index 00000000..86fb945c --- /dev/null +++ b/ControlR/lib/RGraphApp64.def @@ -0,0 +1,389 @@ +LIBRARY RGraphApp +EXPORTS + +GA_ArrowCursor +GA_BlankCursor +GA_BringToTop +GA_CaretCursor +GA_ColorName +GA_Courier +GA_CrossCursor +GA_FixedFont +GA_GetCurrentWinPos +GA_HandCursor +GA_Helvetica +GA_MDIFrame +GA_MDIStatus +GA_MDIToolbar +GA_SystemFont +GA_TextCursor +GA_Times +GA_TopmostDialogs +GA_WatchCursor +GA_activatecontrol +GA_add_strings +GA_addpt +GA_addstatusbar +GA_addto +GA_addtooltip +GA_appcleanup +GA_apperror +GA_askUserPass +GA_askcdstring +GA_askchangedir +GA_askfilename +GA_askfilenameW +GA_askfilenames +GA_askfilenamesW +GA_askfilenamewithdir +GA_askfilesave +GA_askfilesaveW +GA_askfilesavewithdir +GA_askok +GA_askokcancel +GA_askpassword +GA_askstring +GA_askyesno +GA_askyesnocancel +GA_bitblt +GA_bitmaptoimage +GA_bottomleft +GA_bottomright +GA_brighter +GA_cam_image +GA_changelistbox +GA_changescrollbar +GA_check +GA_checklimittext +GA_clear +GA_cleartext +GA_clickbutton +GA_clipboardhastext +GA_clipr +GA_color_image +GA_console1_image +GA_console_image +GA_convert32to8 +GA_convert8to32 +GA_copy1_image +GA_copy_image +GA_copydrawstate +GA_copyimage +GA_copypaste_image +GA_copyrect +GA_copystringtoclipboard +GA_copytext +GA_copytoclipboard +GA_countFilenames +GA_createcursor +GA_currentcursor +GA_currentdrawing +GA_currentfont +GA_currentlinewidth +GA_currentmode +GA_currentpoint +GA_currentrgb +GA_currenttime +GA_cut_image +GA_cuttext +GA_darker +GA_delay +GA_delimage +GA_delobj +GA_delstatusbar +GA_deviceheight +GA_deviceheightmm +GA_devicepixelsx +GA_devicepixelsy +GA_devicewidth +GA_devicewidthmm +GA_dialog_bg +GA_disable +GA_divpt +GA_doevent +GA_draw +GA_drawall +GA_drawarc +GA_drawbrighter +GA_drawdarker +GA_drawellipse +GA_drawgreyscale +GA_drawimage +GA_drawline +GA_drawmonochrome +GA_drawpoint +GA_drawpolygon +GA_drawrect +GA_drawroundrect +GA_drawstr +GA_drawtext +GA_drawto +GA_enable +GA_equalpt +GA_equalr +GA_erase_image +GA_execapp +GA_exitapp +GA_fillarc +GA_fillellipse +GA_fillpolygon +GA_fillrect +GA_fillroundrect +GA_finddialog +GA_flashcontrol +GA_fontascent +GA_fontdescent +GA_fontheight +GA_fontwidth +GA_gabeep +GA_gamainloop +GA_gbitblt +GA_gchangemenubar +GA_gchangepopup +GA_gchangescrollbar +GA_gcharmetric +GA_gcopy +GA_gcopyalpha +GA_gcopyalpha2 +GA_gdrawellipse +GA_gdrawimage +GA_gdrawline +GA_gdrawpolyline +GA_gdrawrect +GA_gdrawstr +GA_gdrawstr1 +GA_gdrawwcs +GA_getHandle +GA_getSysFontSize +GA_getbackground +GA_getbitmapdata2 +GA_getcliprect +GA_getcurrentline +GA_getdata +GA_getforeground +GA_getkeystate +GA_getlimittext +GA_getlinelength +GA_getlistitem +GA_getpalette +GA_getpalettesize +GA_getpastelength +GA_getpixel +GA_getpixels +GA_getseltext +GA_getstringfromclipboard +GA_gettext +GA_gettextfont +GA_getvalue +GA_gfillellipse +GA_gfillpolygon +GA_gfillpolypolygon +GA_gfillrect +GA_ggetcliprect +GA_ggetkeystate +GA_ggetmodified +GA_ggetpixel +GA_ghasfixedwidth +GA_ginvert +GA_gmenubar +GA_gnewfont +GA_gnewfont2 +GA_goldfillellipse +GA_gpopup +GA_gprintf +GA_growr +GA_gscroll +GA_gsetcliprect +GA_gsetcursor +GA_gsetmodified +GA_gsetpixel +GA_gsetpolyfillmode +GA_gstrrect +GA_gstrsize +GA_gstrwidth +GA_gstrwidth1 +GA_gwcharmetric +GA_gwcswidth +GA_gwdrawstr1 +GA_help_image +GA_hide +GA_highlight +GA_hwndClient +GA_imagedepth +GA_imageheight +GA_imagetobitmap +GA_imagewidth +GA_initapp +GA_inserttext +GA_insetr +GA_invertrect +GA_isTopmost +GA_isUnicodeWindow +GA_ischecked +GA_isenabled +GA_ishighlighted +GA_isiconic +GA_ismdi +GA_isselected +GA_isvisible +GA_lineto +GA_midpt +GA_modeless_active +GA_moveto +GA_msgWindow +GA_mulpt +GA_myAppendMenu +GA_myGetSysColor +GA_myMessageBox +GA_nametorgb +GA_new_font_object +GA_newbitmap +GA_newbutton +GA_newcheckbox +GA_newcontrol +GA_newcursor +GA_newdrawing +GA_newdropfield +GA_newdroplist +GA_newfield +GA_newfield_no_border +GA_newfont +GA_newimage +GA_newimagebutton +GA_newimagecheckbox +GA_newlabel +GA_newlistbox +GA_newmdimenu +GA_newmenu +GA_newmenubar +GA_newmenuitem +GA_newmetafile +GA_newmultilist +GA_newpassword +GA_newpicture +GA_newpoint +GA_newpopup +GA_newprinter +GA_newprogressbar +GA_newradiobutton +GA_newradiogroup +GA_newrect +GA_newrichtextarea +GA_newscrollbar +GA_newsubmenu +GA_newtextarea +GA_newtextbox +GA_newtoolbar +GA_newtoolbutton +GA_newwindow +GA_nextpage +GA_objdepth +GA_objheight +GA_objrect +GA_objwidth +GA_oldfillellipse +GA_open1_image +GA_open_image +GA_parentwindow +GA_paste1_image +GA_paste_image +GA_pastetext +GA_peekevent +GA_print_image +GA_ptinr +GA_raddpt +GA_rcanon +GA_rcenter +GA_rdiv +GA_redraw +GA_remove_menu_item +GA_replacedialog +GA_resetdrawstate +GA_resize +GA_restoredrawstate +GA_rgbtoname +GA_rgbtonum +GA_rinr +GA_rmove +GA_rmul +GA_rpt +GA_rsubpt +GA_rxr +GA_save_image +GA_scaleimage +GA_screen_coords +GA_scrollcaret +GA_scrollrect +GA_scrolltext +GA_selecttext +GA_selecttextex +GA_setaction +GA_setbackground +GA_setcaret +GA_setcliprect +GA_setclose +GA_setcursor +GA_setdata +GA_setdel +GA_setdrawmode +GA_setdrawstate +GA_setdrop +GA_setfont +GA_setforeground +GA_sethit +GA_setim +GA_setimage +GA_setkeyaction +GA_setkeydown +GA_setlimittext +GA_setlinewidth +GA_setlistitem +GA_setmousedown +GA_setmousedrag +GA_setmousemove +GA_setmouserepeat +GA_setmousetimer +GA_setmouseup +GA_setonfocus +GA_setpalette +GA_setpixel +GA_setpixels +GA_setprogressbar +GA_setprogressbarrange +GA_setredraw +GA_setresize +GA_setrgb +GA_setstatus +GA_settext +GA_settextfont +GA_settimer +GA_settimerfn +GA_setuserfilter +GA_setuserfilterW +GA_setvalue +GA_show +GA_showcaret +GA_sortpalette +GA_startgraphapp +GA_stepprogressbar +GA_stop_image +GA_strrect +GA_strsize +GA_strwidth +GA_subpt +GA_textheight +GA_textselection +GA_textselectionex +GA_texturerect +GA_toolbar_hide +GA_toolbar_show +GA_topleft +GA_topright +GA_tree_search +GA_uncheck +GA_undotext +GA_unhighlight +GA_updatestatus +GA_waitevent + + diff --git a/ControlR/lib/RGraphApp64.lib b/ControlR/lib/RGraphApp64.lib index 7c8bff1aca8763455a85c5e012fda0fbf5362990..cd6a6df9c77d6cb016c9be7d31732ca1332534e1 100644 GIT binary patch literal 75712 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 w<>u7&`p_NGmJ;om< -def -x64 [-ARM64] [-x86] +# +# run from a Visual Studio developer prompt (needs dumpbin and lib). -def +# regenerates the .def files from the R.dll and RGraphApp.dll exports in +# ; the other switches build import libraries from those .def files. +# -ARM64 produces ARM64X libraries for the ARM64EC configuration; they are +# built from the x64 exports because R for Windows ships x64 binaries only. +# -x86 needs an R with an i386 build, which R stopped shipping in 4.2.0. + Param( [switch]$x86, [switch]$x64, + [switch]$ARM64, [switch]$def, [switch]$all, [String]$R @@ -52,7 +62,6 @@ Function GenerateDef( $sub, $key ) { $symbols = dumpbin /exports $r\bin\$sub\R.dll | Out-String ExitOnError; - Write-Host "11"; $symbols = ($symbols -replace "(?s)^.*ordinal.*?\n", ""); $symbols = ($symbols -replace "(?s)\n\s*Summary.*?$", ""); @@ -80,11 +89,11 @@ Function GenerateDef( $sub, $key ) { #--------------------------------------------- # create the lib file from the .def #--------------------------------------------- -Function GenerateLib( $machine, $key ){ +Function GenerateLib( $machine, $key, $suffix ){ - Write-Host "Generating $key-bit libs" -foregroundcolor yellow ; - lib /machine:$machine /def:R$key.def /out:R$key.lib - lib /machine:$machine /def:RGraphApp$key.def /out:RGraphApp$key.lib + Write-Host "Generating $key-bit libs for $machine" -foregroundcolor yellow ; + lib /machine:$machine /def:R$key.def /out:R$key$suffix.lib + lib /machine:$machine /def:RGraphApp$key.def /out:RGraphApp$key$suffix.lib ExitOnError; } @@ -96,16 +105,12 @@ Function GenerateLib( $machine, $key ){ Write-Host ""; if( $def ){ if( $x86 ){ GenerateDef "i386" "32" } - if( $x64 ){ GenerateDef "x64" "64" } + if( $x64 -or $ARM64 ){ GenerateDef "x64" "64" } Write-Host ""; } -if( $x86 ){ GenerateLib "X86" "32" } -if( $x64 ){ GenerateLib "X64" "64" } +if( $x86 ){ GenerateLib "X86" "32" "" } +if( $x64 ){ GenerateLib "X64" "64" "" } +if( $ARM64 ){ GenerateLib "ARM64X" "64" "arm" } Write-Host ""; Write-Host "Done" -foregroundcolor green; Write-Host ""; - - - - - From 57d94a8da5f52c0f01e48bced56f3cd31c6999e8 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:05:25 +1000 Subject: [PATCH 08/67] console: strip CRAN markup from package names, gate untranslated logging Two fixes in the console, both surfaced by running against a current CRAN and a current R. The package chooser scrapes available_packages_by_name.html and took the anchor text as the package name. CRAN now wraps some names in , so those entries appeared in the list with raw markup around them. Names are stripped of any tags rather than that one span, and empty results are skipped, so a further change to the page layout degrades instead of producing garbage entries. MessageUtilities.VariableToObject logged every protobuf value case it could not translate. R 4.x sends several of these, and the result was a devtools console too noisy to read. The log is now behind a BERT_DEBUG environment variable, following the BERT_VERSION convention already used in update_check.ts, so the diagnostic survives but is off by default. Co-Authored-By: Claude Opus 5 --- Console/src/common/message_utilities.ts | 7 ++++++- Console/src/shell/language_interface_r.ts | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Console/src/common/message_utilities.ts b/Console/src/common/message_utilities.ts index 0a6f9b9d..aa801f35 100644 --- a/Console/src/common/message_utilities.ts +++ b/Console/src/common/message_utilities.ts @@ -81,7 +81,12 @@ export class MessageUtilities { return object; default: - console.info(`UNTRANSLATED (${x.getValueCase()})\n`, x.toObject()); + // R 4.x sends value types this console does not render, and logging + // every one of them floods the devtools console. keep the diagnostic, + // but behind an opt-in environment variable. + if(process.env.BERT_DEBUG){ + console.info(`UNTRANSLATED (${x.getValueCase()})\n`, x.toObject()); + } return null; } } diff --git a/Console/src/shell/language_interface_r.ts b/Console/src/shell/language_interface_r.ts index 33ac4ec9..d1131d13 100644 --- a/Console/src/shell/language_interface_r.ts +++ b/Console/src/shell/language_interface_r.ts @@ -192,10 +192,17 @@ export class RInterface extends LanguageInterface { let regex = /[\s\S]*?[\s\S]*?(.*?)<\/a>[\s\S]*?<\/td>[\s\S]*?([\s\S]*?)<\/td>/g; let match; + // the package name cell now carries markup of its own; CRAN wraps + // some names in . strip any tags rather than that + // one span, so a later change to the page cannot leak markup into the + // completion list. + data = []; let index = 0; while(match = regex.exec(html)){ - data.push({name: match[1], description: match[2], index:index++}); + let name = match[1].replace(/<[^>]*>/g, "").trim(); + if(!name.length) continue; + data.push({name, description: match[2], index:index++}); } DataCache.Store(key, data); From 30fa74381f82b3abec07906a22b9e14b50ccf2b8 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:34:09 +1000 Subject: [PATCH 09/67] docs: describe the build, the R version policy, and the modernisation roadmap docs/BUILDING.md covers the toolchain, how the R installation is chosen (BertRHome), the import libraries and how to regenerate them, running against an R other than the bundled one, and which R versions the controller accepts and which have actually been exercised. docs/MODERNISATION.md records what changed in R and the toolchain since 2018, what this branch does about each change, and the remaining work in a suggested order. The README points at both. Co-Authored-By: Claude Fable 5.1 --- README.md | 3 + docs/BUILDING.md | 162 ++++++++++++++++++++++++++++++++++++++++++ docs/MODERNISATION.md | 128 +++++++++++++++++++++++++++++++++ 3 files changed, 293 insertions(+) create mode 100644 docs/BUILDING.md create mode 100644 docs/MODERNISATION.md diff --git a/README.md b/README.md index 829dd7e4..a420c44b 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,9 @@ Requirements (Runtime) Requirements (Building) ----------------------- +The notes below describe the original 2018 setup. For the current build, +including how the R version is chosen, see [docs/BUILDING.md](docs/BUILDING.md). + There are several third party tools and libraries used to build BERT: * Protocol Buffers diff --git a/docs/BUILDING.md b/docs/BUILDING.md new file mode 100644 index 00000000..4984f8c8 --- /dev/null +++ b/docs/BUILDING.md @@ -0,0 +1,162 @@ +# Building BERT + +These notes describe the build as it stands on the `r4-support` branch. The +"Requirements (Building)" section of the top-level README describes the +original 2018 setup and is kept for reference. + +## Layout + +| Directory | What it is | +| --- | --- | +| `BERT/` | The Excel add-in (`BERT64.xll`), the solution file, and the vcpkg configuration shared by the native projects | +| `ControlR/` | The R language controller, `ControlR.exe`. Hosts R out of process and talks to the add-in and the console over named pipes | +| `ControlJulia/`, `ControlJulia-0.7/` | The Julia language controllers, for Julia 0.6 and 0.7 | +| `Ribbon/` | The Excel ribbon COM add-in | +| `Console/` | The Electron console (editor and shell) | +| `PB/` | The protobuf schema for all inter-process messages, and the generated C++ | +| `Common/` | Code shared by the native projects | +| `Module/` | The `BERTModule` R package installed into the hosted R | +| `Install/` | The NSIS installer | +| `Build/` | Build output. Everything built lands here, next to the runtime configuration files that are checked in | + +## Prerequisites + +* Visual Studio 2026 (version 18) with the "Desktop development with C++" + workload. The projects use the v145 toolset and the latest installed + Windows SDK. For the ARM64EC configurations, add the ARM64/ARM64EC build + tools component. +* vcpkg, as installed by Visual Studio. The native projects use vcpkg in + manifest mode: each has a `vcpkg.json` naming its dependencies (protobuf), + and `BERT/vcpkg-configuration.json` pins the registry baseline. The first + build of each project installs the dependencies into a `vcpkg_installed/` + directory beside it, which is ignored by git and can be deleted freely. +* An R installation. The tree is currently built against R 4.5.2; see + "The R installation" below. +* The Excel SDK, for the add-in project only. +* Node and yarn, for the console only. +* NSIS, for the installer only. + +## The R installation + +`ControlR` compiles against R's headers and links against import libraries +generated from R's DLLs. Both come from one R installation, named by the +MSBuild property `BertRHome`. + +`BertRHome` defaults to `R-4.5.2` in the repository root, which is ignored +by git. Either copy your R installation there or point a junction at it: + +```powershell +New-Item -ItemType Junction -Path R-4.5.2 -Target "C:\Program Files\R\R-4.5.2" +``` + +To build against an R installed elsewhere, set the property on the command +line instead: + +```powershell +msbuild ControlR\ControlR.vcxproj /p:Configuration=Release /p:Platform=x64 /p:BertRHome="C:\Program Files\R\R-4.5.2" +``` + +### Import libraries + +`ControlR/lib/` holds the import libraries the controller links against, and +the `.def` export lists they were generated from, so that a change in the +export list is visible in review: + +| File | Purpose | +| --- | --- | +| `R64.def`, `RGraphApp64.def` | Export lists of `R.dll` and `RGraphApp.dll`, taken from R 4.5.2 | +| `R64.lib`, `RGraphApp64.lib` | x64 import libraries built from those lists | +| `R64arm.lib`, `RGraphApp64arm.lib` | ARM64X import libraries built from the same lists, for the ARM64EC configurations | + +To regenerate them from a different R, run `RebuildLibs.ps1` from a Visual +Studio developer PowerShell (it needs `dumpbin` and `lib`): + +```powershell +cd ControlR\lib +.\RebuildLibs.ps1 -R "C:\Program Files\R\R-4.5.2" -def -x64 -ARM64 +``` + +R for Windows has shipped x64 binaries only since 4.2.0, so the ARM64X +libraries are built from the x64 export lists, and the `-x86` switch is only +useful with an R old enough to include an i386 build. + +### Why `R_LEGACY_RCOMPLEX` is defined + +From 4.3.0, `R_ext/Complex.h` defines `Rcomplex` as a union whose second +member is a C99 `double _Complex`. MSVC does not implement `_Complex`, so the +header does not compile under MSVC without `R_LEGACY_RCOMPLEX`, which selects +the older two-`double` struct. The memory layout is the same either way, and +this code only reads and writes the `r` and `i` members. The define is set in +every `ControlR` configuration. + +## Building + +The full solution: + +```powershell +msbuild BERT\BERT.sln /p:Configuration=Release /p:Platform=x64 +``` + +Just the R controller, which is all you need when working on the R side: + +```powershell +msbuild ControlR\ControlR.vcxproj /p:Configuration=Release /p:Platform=x64 +``` + +`msbuild` is at `C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe` +if it is not on your path. Output goes to `Build\`. + +The console is built separately with yarn, from `Console/`: + +```powershell +yarn install +yarn build +yarn package +``` + +The console's dependencies are pinned by `yarn.lock` to the versions the +code was written against, which are old; see `MODERNISATION.md`. + +## Running against your own R + +BERT reads `Build\bert-languages.json` (installed as `bert-languages.json` +in the BERT directory) for the list of languages. Its default R home, +`%BERT_HOME%\R-3.5.0`, is the R that the installer used to bundle. To use +another R, set the home and library in `bert-config.json`, which lives in the +directory next to `BERT64.xll`, the directory BERT exports as `%BERT_HOME%`: + +```json +"BERT": { + "R": { + "home": "C:\\Program Files\\R\\R-4.5.2", + "lib": "C:\\Users\\you\\AppData\\Local\\R\\win-library\\4.5" + } +} +``` + +Restart Excel after changing this section. + +## Which versions of R the controller accepts + +The controller checks the version reported by the loaded `R.dll` at startup +(`main` in `ControlR/src/controlr.cc`). It refuses to start under R older +than 3.5, warns but continues under a major series newer than 4, and +otherwise runs. The floor is the oldest series this code has been built +against; the reason there is no ceiling is that the loader resolves the +import libraries before `main` runs, so an R lacking a symbol the controller +needs has already failed to start by the time the check happens. + +What has actually been exercised on this branch: + +| R | Status | +| --- | --- | +| 4.5.2 | Built against. Used with Excel and the console | +| 4.2.2 | `ControlR.exe` starts under it and reports the version correctly. Not used with Excel | +| 3.5.0 | `ControlR.exe` starts under it and reports the version correctly. Not used with Excel | +| 3.5 to 4.1 generally | Expected to work, untested | + +The one behavioural difference the controller keys off the version is +console output encoding. R for Windows switched its native encoding to +UTF-8 in 4.2.0; before that, console output arrived in the Windows code +page and the controller converts it to UTF-8. See `R_WriteConsoleEx` in +`ControlR/src/rinterface_win.cc`. diff --git a/docs/MODERNISATION.md b/docs/MODERNISATION.md new file mode 100644 index 00000000..222d79a1 --- /dev/null +++ b/docs/MODERNISATION.md @@ -0,0 +1,128 @@ +# Modernisation roadmap + +This is the plan for bringing BERT up to date after the `r4-support` branch, +which makes the R controller work with R 4.x. It records what changed in R +and in the toolchain since the 2018 release, what has been done about each +change, and what is still to do, in a suggested order. + +## Where the tree stands + +* Native projects build with the v145 toolset in Visual Studio 2026, take + protobuf 5.29.5 from vcpkg in manifest mode, and have ARM64EC + configurations alongside x64. +* `ControlR.exe` is a single binary built against R 4.5.2. It checks the R + version at startup instead of demanding exactly 3.5, and switches console + output handling on the 4.2.0 change of native encoding. It starts under + R 3.5.0, 4.2.2 and 4.5.2. Only 4.5.2 has been used with Excel. +* The console is unchanged apart from regenerated protobuf code and two + small fixes. It is pinned to Electron 1.8, TypeScript 2.7, xterm 3.2, + monaco 0.10 and rxjs 5. +* The Julia controllers target Julia 0.6 and 0.7 and are untouched. They + cannot host Julia 1.x. +* The installer still bundles R 3.5.0. +* There are no automated tests, and nothing runs in CI. + +## What changed in R since 3.5, and what it means here + +| R | Change | Effect on BERT | +| --- | --- | --- | +| 4.0.0 | `stringsAsFactors` defaults to `FALSE` | R-level code in `Module/` and `Build/startup/startup.R` should be audited for reliance on the old default | +| 4.1.0 | Graphics engine 14: `DevDesc` gains pattern, clip-path and mask callbacks and a `deviceVersion` field | A device that leaves `deviceVersion` at 0 is treated as pre-4.1 and the new callbacks are never called. The two BERT devices do not set it, so this depends on the descriptor being zero-initialised. Set it explicitly (see below) | +| 4.2.0 | Native encoding becomes UTF-8 on Windows; UCRT runtime; 32-bit builds dropped; `Rstart` gains `RstartVersion` and `R_DefParamsEx`; graphics engine 15 (groups, stroke and fill paths) | Output encoding handled at runtime on this branch. The controller still calls `R_DefParams`, which leaves the version at 0 and keeps the binary loadable under older R. Win32 configurations no longer have an R to link against | +| 4.3.0 | `Rcomplex` becomes a union with a `_Complex` member | Not compilable by MSVC; `R_LEGACY_RCOMPLEX` selects the old layout. See `BUILDING.md` | +| 4.4.0 | Graphics engine 16 (glyph rendering) | Same as 4.1: opt in by version, or leave it | +| 4.5.0 | `Rstart` boolean fields become `int`; R starts hiding entry points that are not part of the API | The tree compiles against 4.5.2 headers so the struct matches. The controller is an embedding front end and uses the documented front-end entry points. `controlr_common.h` also declares four internal symbols by hand (`R_Visible`, `Rf_PrintWarnings`, `R_RestoreGlobalEnvFromFile`, `R_SaveGlobalEnvToFile`); none is referenced, so the declarations can go | + +## Encoding: correct Unicode on every R + +The 4.2.0 switch to UTF-8 is the change most likely to produce wrong +characters rather than a crash, and it cuts both ways: code written for +code-page R mangles UTF-8, and code written for UTF-8 R mangles code-page +strings. The branch handles one path, console output. The remaining paths +in `ControlR/src/rinterface_common.cc` and `controlr.cc` are: + +1. **R strings out to Excel and the console.** `CHAR(Rf_asChar(x))` is + passed through a validity heuristic and converted from the code page if + it fails. Replace with `Rf_translateCharUTF8`, which honours the encoding + mark each string carries and is correct on every version. This removes + the heuristic. +2. **Strings in from Excel and the console.** `Rf_mkString` builds a + native-encoded string from what are UTF-8 bytes, which is only right from + 4.2.0. Use `Rf_mkCharCE(s, CE_UTF8)` with `Rf_ScalarString` or + `SET_STRING_ELT`, which is right everywhere. There are 28 call sites. +3. **Console input.** `R_ReadConsole` hands R the UTF-8 the console sent. + Before 4.2.0 R expects the code page; convert when `r_console_utf8` is + false, mirroring the output side. +4. **Paths.** The R home, the functions directory and file names cross the + process boundary as narrow strings. Check what encoding the add-in sends + and that the controller passes it on as R expects for its version. + +After 1 to 3, `ValidUTF8` and `WindowsCPToUTF8` only serve the pre-4.2 path. + +## Graphics devices + +`console_graphics_device.cc` and `spreadsheet_graphics_device.cc` fill in a +`DevDesc` and hand it to `GEaddDevice2`. Since 4.1.0 R reads +`deviceVersion` to decide which callbacks exist. Set it explicitly to +`R_GE_definitions` (13) to declare the pre-4.1 surface the devices actually +implement, and confirm the descriptor is zero-initialised so the unset +callbacks are null. Implementing the 4.1 and later callbacks (patterns, clip +paths, masks, groups, glyphs) is optional; without them R falls back to +plain fills, which is what happens today. + +## Toolchain and libraries + +* **Protobuf.** Done. Keep `protoc` and `libprotobuf` at the same version: + the generated C++ refuses to compile against any other. Regenerate with + the `protoc` from the vcpkg install + (`ControlR/vcpkg_installed/x64-windows/tools/protobuf/protoc.exe`). + `PB/build.sh` still points at a protoc 3.5 checkout and needs updating. + The JavaScript generator was split out of the main project after 3.21, so + the console's `google-protobuf` stays on 3.21 until the console moves to + the `protobuf-javascript` package. +* **Stale project settings.** `BERT.vcxproj` and the Win32 configurations + of `ControlR.vcxproj` still list `../protobuf-3.5.0` and `E:\BERT2` paths + that vcpkg has made irrelevant. Remove them. Decide whether to keep the + Win32 configurations at all: 32-bit Excel users would need R 4.1 or + older, and the controllers would have to be built against that R. +* **Console.** Every dependency is several major versions behind. Electron + is the hard part: current Electron isolates the renderer from Node by + default (`contextIsolation`, no `remote` module), and the console is + written against direct Node access in the renderer. The order that keeps + each step buildable is TypeScript first (compile-only changes), then + xterm, monaco and rxjs one at a time (each has API changes), and Electron + last, since it forces the main/renderer restructuring. Take a fresh look + at whether the console should instead be rebuilt on a current stack once + the R side is settled; the console's job is well defined and its + protobuf interface is stable. +* **Julia.** The 0.6 and 0.7 embedding API does not exist in Julia 1.x, so + supporting current Julia is a rewrite of the controller, not an upgrade. + Decide whether to drop it. Either way it is separate from the R work. +* **Installer.** The NSIS script bundles R 3.5.0 and removes older bundled + copies. Change it to use an R already installed (the registry key + `HKLM\SOFTWARE\R-core\R\InstallPath` gives the current one) and write + the chosen home into `bert-config.json`, or bundle a current R. Bundling + is what tied BERT to one R version in the first place. +* **CI.** A GitHub Actions workflow on a Windows runner can build `ControlR` + and the add-in with MSBuild and cache the vcpkg install. The hosted image + may not carry the v145 toolset; `/p:PlatformToolset` can override it for + the CI build. +* **Tests.** The controller can be driven without Excel: start + `ControlR.exe -p -r `, connect to the pipe, send an exec + message from the protobuf schema and check the reply. A small harness that + does this, in Node or Python, gives a smoke test for every R version on + the machine and a place to put encoding round-trip tests. It would run in + CI. + +## Suggested order + +1. Land `r4-support`. +2. Encoding, items 1 to 3 above. Small, high value, and the harness in the + next step is the way to test it. +3. The smoke-test harness, then CI running it against the R versions the + runner can install. +4. The graphics device `deviceVersion` change. +5. Remove the stale project settings and Win32 configurations; decide on + Julia. +6. The console. +7. The installer. From 560597d5047ccb0a33837eba962d14ad95760724 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:36:45 +1000 Subject: [PATCH 10/67] build: mark R's exported variables as DATA so the ARM64X import libraries link lib treats every export in a .def as a function unless told otherwise. x64 gets away with that because R's headers import variables through __declspec(dllimport), but the ARM64X libraries need to know which exports have no code behind them, or the ARM64EC link fails with LNK1373 looking for an exit thunk for R_DimNamesSymbol. RebuildLibs.ps1 now marks every name R's headers declare with LibExtern, plus the GA_-prefixed spellings graphapp.h maps them onto, and the .def and .lib files are regenerated from R 4.5.2. The x64 build is unaffected; the ARM64EC configuration now links. Co-Authored-By: Claude Fable 5.1 --- ControlR/lib/R64.def | 128 ++++++++++++++++---------------- ControlR/lib/R64.lib | Bin 250776 -> 248552 bytes ControlR/lib/R64arm.lib | Bin 273184 -> 268324 bytes ControlR/lib/RGraphApp64.def | 24 +++--- ControlR/lib/RGraphApp64.lib | Bin 75712 -> 75316 bytes ControlR/lib/RGraphApp64arm.lib | Bin 82248 -> 81378 bytes ControlR/lib/RebuildLibs.ps1 | 31 ++++++++ docs/BUILDING.md | 2 +- 8 files changed, 108 insertions(+), 77 deletions(-) diff --git a/ControlR/lib/R64.def b/ControlR/lib/R64.def index 7e822729..98abfe17 100644 --- a/ControlR/lib/R64.def +++ b/ControlR/lib/R64.def @@ -183,22 +183,22 @@ RFrame R_AccuracyInfo R_ActiveBindingFunction R_AllocStringBuffer -R_AsCharacterSymbol -R_AtsignSymbol +R_AsCharacterSymbol DATA +R_AtsignSymbol DATA R_BCFrame R_BCNodeStackEnd R_BCNodeStackTop R_BadLongVector -R_BaseEnv -R_BaseNamespace -R_BaseSymbol +R_BaseEnv DATA +R_BaseNamespace DATA +R_BaseSymbol DATA R_BindingIsActive R_BindingIsLocked -R_BlankScalarString -R_BlankString -R_BraceSymbol -R_Bracket2Symbol -R_BracketSymbol +R_BlankScalarString DATA +R_BlankString DATA +R_BraceSymbol DATA +R_Bracket2Symbol DATA +R_BracketSymbol DATA R_Busy R_BytecodeExpr R_CHAR @@ -210,7 +210,7 @@ R_CheckDeviceAvailableBool R_CheckStack R_CheckStack2 R_CheckUserInterrupt -R_ClassSymbol +R_ClassSymbol DATA R_CleanTempDir R_CleanUp R_ClearExternalPtr @@ -221,21 +221,21 @@ R_ClosureExpr R_ClosureFormals R_Consolefile R_ContinueUnwind -R_CurrentExpression +R_CurrentExpression DATA R_DefParams R_DefParamsEx -R_DeviceSymbol -R_DimNamesSymbol -R_DimSymbol -R_DirtyImage -R_DollarSymbol -R_DotsSymbol -R_DoubleColonSymbol -R_DropSymbol +R_DeviceSymbol DATA +R_DimNamesSymbol DATA +R_DimSymbol DATA +R_DirtyImage DATA +R_DollarSymbol DATA +R_DotsSymbol DATA +R_DoubleColonSymbol DATA +R_DropSymbol DATA R_EditFiles -R_EmptyEnv +R_EmptyEnv DATA R_EnvironmentIsLocked -R_EvalSymbol +R_EvalSymbol DATA R_ExecWithCleanup R_ExpandFileName R_ExpandFileNameUTF8 @@ -252,7 +252,7 @@ R_FixupRHS R_FlushConsole R_FreeStringBuffer R_FunTab -R_FunctionSymbol +R_FunctionSymbol DATA R_GE_checkVersionOrDie R_GE_clipPathFillRule R_GE_getVersion @@ -315,14 +315,14 @@ R_GetFDLimit R_GetSrcFilename R_GetVarLocMISSING R_GlobalContext -R_GlobalEnv +R_GlobalEnv DATA R_HasFancyBindings R_HashtabSEXP R_HistoryFile R_HistorySize R_Home R_HomeDir -R_InBCInterpreter +R_InBCInterpreter DATA R_InitConnInPStream R_InitConnOutPStream R_InitFileInPStream @@ -334,8 +334,8 @@ R_IsNA R_IsNaN R_IsNamespaceEnv R_IsPackageEnv -R_LastvalueSymbol -R_LevelsSymbol +R_LastvalueSymbol DATA +R_LevelsSymbol DATA R_LockBinding R_LockEnvironment R_LogicalNAValue @@ -347,25 +347,25 @@ R_MakeUnwindCont R_MakeWeakRef R_MakeWeakRefC R_MethodsNamespace -R_MissingArg +R_MissingArg DATA R_MissingArgError R_MissingArgError_c -R_ModeSymbol -R_NaInt -R_NaN -R_NaReal -R_NaRmSymbol -R_NaString -R_NameSymbol -R_NamesSymbol +R_ModeSymbol DATA +R_NaInt DATA +R_NaN DATA +R_NaReal DATA +R_NaRmSymbol DATA +R_NaString DATA +R_NameSymbol DATA +R_NamesSymbol DATA R_NamespaceEnvSpec -R_NamespaceEnvSymbol -R_NamespaceRegistry -R_NegInf +R_NamespaceEnvSymbol DATA +R_NamespaceRegistry DATA +R_NegInf DATA R_NewEnv R_NewHashedEnv R_NewPreciousMSet -R_NilValue +R_NilValue DATA R_NoEcho R_OldCStackLimit R_Outputfile @@ -374,7 +374,7 @@ R_PPStackSize R_PPStackTop R_PV R_PackageEnvName -R_PackageSymbol +R_PackageSymbol DATA R_ParentEnv R_ParseContext R_ParseContextLast @@ -384,14 +384,14 @@ R_ParseErrorMsg R_ParseEvalString R_ParseString R_ParseVector -R_PosInf +R_PosInf DATA R_PreserveInMSet R_PreserveObject -R_PreviousSymbol +R_PreviousSymbol DATA R_ProcessEvents R_PromiseExpr R_ProtectWithIndex -R_QuoteSymbol +R_QuoteSymbol DATA R_ReadConnection R_ReadConsole R_RegisterCCallable @@ -409,14 +409,14 @@ R_RestoreGlobalEnv R_RestoreGlobalEnvFromFile R_RestoreHashCount R_RestoreHistory -R_RowNamesSymbol +R_RowNamesSymbol DATA R_RunExitFinalizers R_RunPendingFinalizers R_RunWeakRefFinalizer R_S4_extends R_SaveGlobalEnv R_SaveGlobalEnvToFile -R_SeedsSymbol +R_SeedsSymbol DATA R_Serialize R_SetExternalPtrAddr R_SetExternalPtrProtected @@ -426,19 +426,19 @@ R_ShowMessage R_SignalCStackOverflow R_SignalHandlers R_SizeFromEnv -R_SortListSymbol -R_SourceSymbol -R_SpecSymbol +R_SortListSymbol DATA +R_SourceSymbol DATA +R_SpecSymbol DATA R_SrcfileSymbol -R_Srcref +R_Srcref DATA R_SrcrefSymbol R_Suicide -R_TempDir +R_TempDir DATA R_ToplevelExec -R_TripleColonSymbol +R_TripleColonSymbol DATA R_TrueValue -R_TspSymbol -R_UnboundValue +R_TspSymbol DATA +R_UnboundValue DATA R_Unserialize R_UnwindProtect R_Visible @@ -456,7 +456,7 @@ R_altrep_data2 R_altrep_inherits R_asHashtable R_atof -R_baseSymbol +R_baseSymbol DATA R_bcDecode R_bcEncode R_body_no_src @@ -486,12 +486,12 @@ R_do_MAKE_CLASS R_do_new_object R_do_slot R_do_slot_assign -R_dot_Generic +R_dot_Generic DATA R_dot_Last -R_dot_Method -R_dot_defined -R_dot_packageName -R_dot_target +R_dot_Method DATA +R_dot_defined DATA +R_dot_packageName DATA +R_dot_target DATA R_duplicate_attr R_envHasNoSpecialSymbols R_execMethod @@ -524,8 +524,8 @@ R_gzgets R_gzopen R_has_methods_attached R_has_slot -R_interrupts_pending -R_interrupts_suspended +R_interrupts_pending DATA +R_interrupts_suspended DATA R_isForkedChild R_isHashtable R_isTRUE @@ -1170,7 +1170,7 @@ TerminateWindow UNIMPLEMENTED UNIMPLEMENTED_TYPE UNSET_S4_OBJECT -UserBreak +UserBreak DATA User_norm_fun User_unif_init VECTOR_ELT @@ -1280,7 +1280,7 @@ locale2charset localeCP max_contour_segments mbcsValid -mbcslocale +mbcslocale DATA mbrtoint msgwindow newconsoledata diff --git a/ControlR/lib/R64.lib b/ControlR/lib/R64.lib index 6780915bd20b574588238ecfe813cc6b62519b78..1979db60b1a50a90f12fac2c61f7aea3bcd9a5f1 100644 GIT binary patch delta 52707 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%0AHh7PPWQT! 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 delta 53978 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 diff --git a/ControlR/lib/R64arm.lib b/ControlR/lib/R64arm.lib index 0b1014d3737bc1e582f617b9efd60c513ed465d4..2a48ad984f5416993d7c1f62426f9b003a6590c2 100644 GIT binary patch delta 51112 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 delta 52730 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 delta 11609 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 V2_gpnOkxJd%B;Ee+hSGZ{{uTBOO^lt diff --git a/ControlR/lib/RebuildLibs.ps1 b/ControlR/lib/RebuildLibs.ps1 index fcebf733..58e16e10 100644 --- a/ControlR/lib/RebuildLibs.ps1 +++ b/ControlR/lib/RebuildLibs.ps1 @@ -69,6 +69,7 @@ Function GenerateDef( $sub, $key ) { echo "LIBRARY R`nEXPORTS`n`n$symbols`n" | Out-File -encoding ASCII R$key.def ExitOnError; + MarkDataExports "R$key.def"; Write-Host "Generating $key-bit .defs (RGraphApp.dll)" -foregroundcolor yellow ; @@ -83,6 +84,36 @@ Function GenerateDef( $sub, $key ) { echo "LIBRARY RGraphApp`nEXPORTS`n`n$symbols`n" | Out-File -encoding ASCII RGraphApp$key.def ExitOnError; + MarkDataExports "RGraphApp$key.def"; + +} + +#--------------------------------------------- +# mark exported variables as DATA. lib treats every export in a .def as a +# function unless told otherwise. that is fine for x64, where R's headers +# import variables through __declspec(dllimport), but an ARM64X import +# library has to know which exports have no code behind them, or the +# linker fails looking for an exit thunk. the variables are the names R's +# headers declare with LibExtern. +#--------------------------------------------- +Function MarkDataExports( $defFile ) { + + $names = @{}; + Get-ChildItem -Path "$r\include" -Recurse -Filter *.h | ForEach-Object { + Select-String -Path $_.FullName -Pattern '^\s*LibExtern\s+\w+\s*\*?\s*(\w+)' | ForEach-Object { + $name = $_.Matches[0].Groups[1].Value; + $names[$name] = $TRUE; + $names["GA_$name"] = $TRUE; # graphapp.h maps its names onto GA_-prefixed exports + } + } + + $marked = 0; + $lines = Get-Content $defFile | ForEach-Object { + $name = $_.Trim(); + if( $name -ne "" -and $names.ContainsKey($name) ){ $marked++; "$name DATA" } else { $_ } + } + $lines | Out-File -encoding ASCII $defFile; + Write-Host "Marked $marked exports in $defFile as DATA"; } diff --git a/docs/BUILDING.md b/docs/BUILDING.md index 4984f8c8..7e3f9ba2 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -104,7 +104,7 @@ msbuild ControlR\ControlR.vcxproj /p:Configuration=Release /p:Platform=x64 ``` `msbuild` is at `C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe` -if it is not on your path. Output goes to `Build\`. +if it is not on your path. x64 output goes to `Build\`; the ARM64EC configurations write to `ControlR\ARM64EC\\` instead. The console is built separately with yarn, from `Console/`: From 348ea75d979028e98e41592340aaf20194f0fde3 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 11:53:52 +1000 Subject: [PATCH 11/67] build: tag the add-in version with the branch and build time The console's Help menu shows the version string the add-in exports, and until now a locally built add-in was indistinguishable from the 2.4.3 release. Split the define into the release number, which the installer script reads, and the string the console shows, which now carries a branch tag and the compile time of bert.cc. Co-Authored-By: Claude Fable 5.1 --- BERT/BERT/include/bert_version.h | 17 +++++++++++++++-- Install/build-installer.ps1 | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/BERT/BERT/include/bert_version.h b/BERT/BERT/include/bert_version.h index f3b9e8f1..1044a0f3 100644 --- a/BERT/BERT/include/bert_version.h +++ b/BERT/BERT/include/bert_version.h @@ -16,8 +16,21 @@ * You should have received a copy of the GNU General Public License * along with BERT. If not, see . */ - #pragma once -#define BERT_VERSION L"2.4.3" +// the release number. Install/build-installer.ps1 reads this line to name +// the installer, so keep the define on one line in this form. +#define BERT_VERSION_NUMBER L"2.4.3" + +// a tag for builds from this branch, and the time the add-in was compiled, +// so a locally built add-in can be told from a release in the console's +// Help menu. the stamp is the compile time of bert.cc, the one file that +// includes this header, so it only moves when that file recompiles. +#define BERT_VERSION_TAG L"-r4" + +#define BERT_WIDEN_(s) L ## s +#define BERT_WIDEN(s) BERT_WIDEN_(s) +#define BERT_VERSION \ + BERT_VERSION_NUMBER BERT_VERSION_TAG \ + L" (built " BERT_WIDEN(__DATE__) L" " BERT_WIDEN(__TIME__) L")" diff --git a/Install/build-installer.ps1 b/Install/build-installer.ps1 index d9cf68b9..b2745fb4 100644 --- a/Install/build-installer.ps1 +++ b/Install/build-installer.ps1 @@ -60,7 +60,7 @@ $logfile = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPa # read the version string from the header file # Function GetVersion() { - $m = select-string ..\BERT\BERT\include\BERT_Version.h -pattern "BERT_VERSION\s+L""(.*)""" + $m = select-string ..\BERT\BERT\include\BERT_Version.h -pattern "BERT_VERSION_NUMBER\s+L""(.*)""" $v = $m.Matches[0].Groups[1].Value return $v; } From 348ed12a7d7ca095796207d732f537ca80f6eae3 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 12:02:08 +1000 Subject: [PATCH 12/67] console: skip the release update check for tagged development builds The console asks bert-toolkit.com for the latest release and offers it whenever the add-in's version is lower. A build from a development branch carries a tag after its release number and is not a release, so the comparison is meaningless; on the r4-support branch it offered the 2018 release as an upgrade. Return before fetching when the version is not a plain number. Co-Authored-By: Claude Fable 5.1 --- Console/src/common/update_check.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Console/src/common/update_check.ts b/Console/src/common/update_check.ts index f25069b1..d66bbd8e 100644 --- a/Console/src/common/update_check.ts +++ b/Console/src/common/update_check.ts @@ -27,6 +27,12 @@ export namespace UpdateCheck { }); */ + // a development build carries a tag after the release number (see + // BERT/BERT/include/bert_version.h). it is not a release, so there is + // nothing to compare it against; skip the check rather than offer an + // older release as an upgrade. + if(!/^\d+(\.\d+)*$/.test(process.env.BERT_VERSION || "")) return; + let response = await fetch("https://bert-toolkit.com/version.json", {cache: "no-cache"}); let version_object = await response.json(); From b72f036fc26c48e6c37ef7ed14c33912024fa6f3 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 12:35:02 +1000 Subject: [PATCH 13/67] console: move to Electron 44, TypeScript 7 and Monaco 0.56 The console was pinned to Electron 1.8, TypeScript 2.7 and Monaco 0.10. This brings the platform up to date while keeping the console's architecture: the renderer still talks to the add-in over named pipes and reads and watches files itself, which current Electron allows as an explicit choice (nodeIntegration on, contextIsolation off), and the removed remote module is replaced by @electron/remote. Changes forced by the new versions: - dialogs return promises now; the editor and shell use the *Sync variants, which keep the existing control flow - clipboard.readText is asynchronous; Paste awaits it - Menu.popup takes an options object - modules exported as a function (markdown-it, less) are imported as defaults, since the namespace shim only copies own properties - Promise sites whose resolve carries no value are typed Promise - Monaco's JSON defaults moved to a top-level namespace, and the model's language comes from getLanguageId() instead of a private field - the AMD loader is loaded after the console's own code, so that UMD-packaged libraries register with node rather than with the loader's global define, and Monaco loading waits for the loader script if it gets there first Also: the "first run" path no longer rejects when an example file is missing, the version parser ignores the tag a development build carries, strict mode is explicitly off (the code predates it; making it strict-clean is separate work), and the package manager is npm with a committed lockfile instead of yarn. Verified by launching the console from source: the welcome page renders, a file opens through the File menu and Monaco highlights it. The terminal needs Excel and is not covered yet. Co-Authored-By: Claude Fable 5.1 --- Console/.gitignore | 2 - Console/index.html | 12 +- Console/main.js | 80 +- Console/package-lock.json | 6570 ++++++++++++++++++ Console/package.json | 32 +- Console/src/common/config_manager.ts | 2 +- Console/src/common/utilities.ts | 7 +- Console/src/editor/editor.ts | 60 +- Console/src/io/pipe.ts | 4 +- Console/src/renderer.ts | 7 +- Console/src/shell/language_interface.ts | 2 +- Console/src/shell/language_interface_r.ts | 4 +- Console/src/shell/multiplexed_terminal.ts | 2 +- Console/src/shell/terminal_implementation.ts | 12 +- Console/src/ui/menu_utilities.ts | 2 +- Console/src/ui/user_stylesheet.ts | 4 +- Console/tsconfig.json | 14 +- Console/yarn.lock | 3460 --------- 18 files changed, 6704 insertions(+), 3572 deletions(-) create mode 100644 Console/package-lock.json delete mode 100644 Console/yarn.lock diff --git a/Console/.gitignore b/Console/.gitignore index 03d418ec..61e2c59e 100644 --- a/Console/.gitignore +++ b/Console/.gitignore @@ -3,5 +3,3 @@ build dist test -# this project uses yarn; a stray npm lockfile causes divergent installs -package-lock.json diff --git a/Console/index.html b/Console/index.html index 7c54c35d..f4ad946a 100644 --- a/Console/index.html +++ b/Console/index.html @@ -45,7 +45,16 @@ @@ -53,7 +62,6 @@ diff --git a/Console/main.js b/Console/main.js index f894e844..41d2fc62 100644 --- a/Console/main.js +++ b/Console/main.js @@ -16,18 +16,12 @@ * You should have received a copy of the GNU General Public License * along with BERT. If not, see . */ - -const url = require('url') const path = require('path'); -const electron = require('electron') -// Module to control application life. -const app = electron.app -// Module to create native browser window. -const BrowserWindow = electron.BrowserWindow - +const { app, BrowserWindow } = require('electron'); +const remote = require('@electron/remote/main'); const WindowState = require('electron-window-state'); -require('electron-reload')(path.join(__dirname,"build")); +remote.initialize(); let dev_flags = 0; let pipe_list = []; @@ -35,16 +29,11 @@ let management_pipe = ""; process.env['BERT_CONSOLE_ROOT'] = __dirname; -// we might have (in fact we expect to have) multiple pipes, -// and we need to keep track of all of them. they're not -// specifically identified, we ask the pipe what language -// it uses. +// command line: -m , -p (repeated), -d for( let i = 0; i< process.argv.length; i++ ){ - let arg = process.argv[i]; let more = (i < (process.argv.length - 1)); - if( arg === "-p" && more ){ pipe_list.push(process.argv[++i]); } @@ -65,9 +54,7 @@ if(pipe_list.length){ process.env['BERT_PIPE_NAME'] = pipe_list.join(";"); } -// Keep a global reference of the window object, if you don't, the window will -// be closed automatically when the JavaScript object is garbage collected. -let mainWindow +let mainWindow; function createWindow () { @@ -75,50 +62,45 @@ function createWindow () { defaultWidth: 1200, defaultHeight: 800 }); - // Create the browser window. - mainWindow = new BrowserWindow(window_state); + // the renderer talks to the add-in over named pipes and reads and watches + // files itself, so it runs with node available. that is the architecture + // the console has always had; current electron just makes it an explicit + // choice instead of the default. + + mainWindow = new BrowserWindow({ + x: window_state.x, + y: window_state.y, + width: window_state.width, + height: window_state.height, + webPreferences: { + nodeIntegration: true, + contextIsolation: false + } + }); + remote.enable(mainWindow.webContents); window_state.manage(mainWindow); - // and load the index.html of the app. - mainWindow.loadURL(url.format({ - pathname: path.join(__dirname, 'index.html'), - protocol: 'file:', - slashes: true - })) + mainWindow.loadFile(path.join(__dirname, 'index.html')); - if(dev_flags) mainWindow.webContents.openDevTools() + if(dev_flags) mainWindow.webContents.openDevTools(); - // Emitted when the window is closed. mainWindow.on('closed', function () { - // Dereference the window object, usually you would store windows - // in an array if your app supports multi windows, this is the time - // when you should delete the corresponding element. - mainWindow = null - }) + mainWindow = null; + }); + } -// This method will be called when Electron has finished -// initialization and is ready to create browser windows. -// Some APIs can only be used after this event occurs. -app.on('ready', createWindow) +app.whenReady().then(createWindow); -// Quit when all windows are closed. app.on('window-all-closed', function () { - // On OS X it is common for applications and their menu bar - // to stay active until the user quits explicitly with Cmd + Q if (process.platform !== 'darwin') { - app.quit() + app.quit(); } -}) +}); app.on('activate', function () { - // On OS X it's common to re-create a window in the app when the - // dock icon is clicked and there are no other windows open. if (mainWindow === null) { - createWindow() + createWindow(); } -}) - -// In this file you can include the rest of your app's specific main process -// code. You can also put them in separate files and require them here. +}); diff --git a/Console/package-lock.json b/Console/package-lock.json new file mode 100644 index 00000000..adaf4d3a --- /dev/null +++ b/Console/package-lock.json @@ -0,0 +1,6570 @@ +{ + "name": "bert2-console", + "version": "2.4.3", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "bert2-console", + "version": "2.4.3", + "license": "GPL-3.0", + "dependencies": { + "@electron/remote": "^2.1.3", + "chokidar": "^2.0.1", + "electron-window-state": "^5.0.3", + "google-protobuf": "^3.21.4", + "js-base64": "^2.4.3", + "less": "^3.0.1", + "markdown-it": "^8.4.0", + "markdown-it-task-lists": "^2.1.0", + "monaco-editor": "^0.56.0", + "rxjs": "^5.5.6", + "xterm": "^3.2.0" + }, + "devDependencies": { + "@types/node": "^22.0.0", + "electron": "^44.1.1", + "electron-builder": "^26.15.3", + "typescript": "^7.0.2" + } + }, + "node_modules/@electron-internal/extract-zip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@electron-internal/extract-zip/-/extract-zip-1.0.5.tgz", + "integrity": "sha512-+bqFCP98pLI0Tt0XQo1TmlXtwjWchISndDOxCkEcIuUgXWpBnLyRI+2DU+mesvnMMX6L1XDqYNA0lXNDHd/yiA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@electron/asar": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz", + "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@electron/asar/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/fuses/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/get": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-5.1.0.tgz", + "integrity": "sha512-3kSBtG8ObcTVfXanm5vVJ6UnBLEVmVsRk1M+vGqCuMBV+XLCbJYuWQful+yIy0GQDsSlK0kHEriEHn7SPk4EnA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^3.0.0", + "graceful-fs": "^4.2.11", + "progress": "^2.0.3", + "semver": "^7.6.3", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=22.12.0" + }, + "optionalDependencies": { + "undici": "^7.24.4" + } + }, + "node_modules/@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.3.tgz", + "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/@electron/rebuild": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.2.0.tgz", + "integrity": "sha512-RKL/O+jGoXJMxrx/5771y1n0xTKmFuOYGO3gMmwypBM6rsH0kou0mswwdXA2JrhIkE4xyC7v9vGk0n6NPzgOxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.1.1", + "node-abi": "^4.2.0", + "node-api-version": "^0.2.1", + "node-gyp": "^12.2.0", + "read-binary-file-arch": "^1.0.6" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@electron/remote": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.1.3.tgz", + "integrity": "sha512-XlpxC8S4ttj/v2d+PKp9na/3Ev8bV7YWNL7Cw5b9MAWgTphEml7iYgbc7V0r9D6yDOfOkj06bchZgOZdlWJGNA==", + "license": "MIT", + "peerDependencies": { + "electron": ">= 13.0.0" + } + }, + "node_modules/@electron/universal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.3.tgz", + "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.3.1", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "engines": { + "node": ">=16.4" + } + }, + "node_modules/@electron/universal/node_modules/brace-expansion": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", + "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/universal/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/universal/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/windows-sign": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "bin": { + "electron-windows-sign": "bin/electron-windows-sign.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@noble/hashes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.4.0.tgz", + "integrity": "sha512-X5XaVWZIBCT7HHZGm5I7ZQXDwLG+bGXuSrMQAW+7Zvl87h1kmc1ZB1VSRJcpUfoUrGQp4Fkoxm5kZ+Ms+aW+eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.9.4.tgz", + "integrity": "sha512-GjzePcT9Iw8NzeOPf73iNS9xM+TBhd/FilAfP+RQGkTMQJTVWtytN3JHJACCjf/ABNau5S7mS3g+DcuxmRgYEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/utils": "^2.0.2", + "asn1js": "^3.0.10", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@peculiar/utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@peculiar/utils/-/utils-2.0.3.tgz", + "integrity": "sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/webcrypto": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.7.1.tgz", + "integrity": "sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/json-schema": "^1.1.12", + "@peculiar/utils": "^2.0.2", + "tslib": "^2.8.1", + "webcrypto-core": "^1.9.2" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.20.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz", + "integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@typescript/typescript-aix-ppc64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz", + "integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.2.tgz", + "integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.2.tgz", + "integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.2.tgz", + "integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.2.tgz", + "integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.2.tgz", + "integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.2.tgz", + "integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-loong64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.2.tgz", + "integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-mips64el": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.2.tgz", + "integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-ppc64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.2.tgz", + "integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-riscv64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.2.tgz", + "integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-s390x": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.2.tgz", + "integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.2.tgz", + "integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.2.tgz", + "integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.2.tgz", + "integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.2.tgz", + "integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.2.tgz", + "integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-sunos-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.2.tgz", + "integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.2.tgz", + "integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.2.tgz", + "integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz", + "integrity": "sha512-/5NV/vDALVFDXgLmfsy9TRCBlKwO2LNBFzpzvb9iIj+jR+eSc6DLYYvVOdivT/jm7MtU6TebYuRmzEOI7w40UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "license": "ISC", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/app-builder-lib": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.15.3.tgz", + "integrity": "sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "3.4.1", + "@electron/fuses": "^1.8.0", + "@electron/get": "^3.0.0", + "@electron/notarize": "2.5.0", + "@electron/osx-sign": "1.3.3", + "@electron/rebuild": "^4.0.4", + "@electron/universal": "2.0.3", + "@malept/flatpak-bundler": "^0.4.0", + "@noble/hashes": "^2.2.0", + "@peculiar/webcrypto": "^1.7.1", + "@types/fs-extra": "9.0.13", + "ajv": "^8.18.0", + "asn1js": "^3.0.10", + "async-exit-hook": "^2.0.1", + "builder-util": "26.15.3", + "builder-util-runtime": "9.7.0", + "chromium-pickle-js": "^0.2.0", + "ci-info": "4.3.1", + "debug": "^4.3.4", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", + "ejs": "^3.1.8", + "electron-publish": "26.15.3", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", + "isbinaryfile": "^5.0.0", + "jiti": "^2.4.2", + "js-yaml": "^4.1.0", + "json5": "^2.2.3", + "lazy-val": "^1.0.5", + "minimatch": "^10.2.5", + "pkijs": "^3.4.0", + "plist": "3.1.0", + "proper-lockfile": "^4.1.2", + "resedit": "^1.7.0", + "semver": "~7.7.3", + "tar": "^7.5.7", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0", + "unzipper": "^0.12.3", + "which": "^5.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "dmg-builder": "26.15.3", + "electron-builder-squirrel-windows": "26.15.3" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/app-builder-lib/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/app-builder-lib/node_modules/brace-expansion": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/app-builder-lib/node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/app-builder-lib/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/app-builder-lib/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/app-builder-lib/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.8" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/app-builder-lib/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/app-builder-lib/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha512-iK7YPKV+GsvihPUTKcM3hh2gq47zSFCpVDv/Ay2O9mzuD7dfvLV4vhms4XcjZvv4VRgXuGLMEts51IlTjS11/A==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT", + "optional": true + }, + "node_modules/asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w==", + "license": "MIT", + "optional": true + }, + "node_modules/asn1js": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", + "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.5", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha512-STDwmg+1mv249vNFx+s+sF4HrdLxlF5Z6L4npilrkgchWPEuW4X13gKzSJq51qJy9InOgwmPepgfMb9/Qu0fSg==", + "license": "MIT" + }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", + "integrity": "sha512-Yxttd2MoIWl3oCSKqG85cu2FkbPtv3P8nDirIpelp4/Pwl7rQ3diJDthXEueFZxxLgjGNrtB2oRej1ONzC9sug==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==", + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha512-vY4sOrSlpwNZXsinfJ0HpbSkFft4nhSVLeUrQ4j2ydGmBOiVY83aMJStJATBy0C3+XdaYa990kIA1qkC2mUq6g==", + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha512-9XXbu17rAPSov41Lvd1NwrwA3Wvh2WRpxJptRjVTw55R+ZIQ9QrzuEPMMPhxXry2GTpmmUXwd8rSvp50H+7uQA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha512-Dnfc9ROAPrkkeLIUweEbh7LFT9Mc53tO/bbM044rKjhgAEyIGKvKXg97PM/kRizZIfUHaROZIoeEaWao+Unzfw==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", + "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builder-util": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.15.3.tgz", + "integrity": "sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.6", + "builder-util-runtime": "9.7.0", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.6", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "js-yaml": "^4.1.0", + "sanitize-filename": "^1.6.3", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.7.0.tgz", + "integrity": "sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/bytestreamjs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", + "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "license": "Apache-2.0", + "optional": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.1.tgz", + "integrity": "sha512-rv5iP8ENhpqvDWr677rAXcB+SMoPQ1urd4ch79+PhM4lQwbATdJUQK69t0lJIKNB+VXpqxt5V1gvqs59XEPKnw==", + "license": "MIT", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "1.0.0" + }, + "optionalDependencies": { + "fsevents": "^1.0.0" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "deprecated": "Please upgrade to v0.1.7", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "deprecated": "Please upgrade to v0.1.5", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", + "optional": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha512-jPatnhd33viNplKjqXKRkGU345p263OIWzDL2wH3LGIGp5Kojo+uXizHmOADRvhGFFTnJqX3jBAKP6vvmSDKcA==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "license": "MIT" + }, + "node_modules/cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boom": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dashdash/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } + }, + "node_modules/dmg-builder": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.15.3.tgz", + "integrity": "sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.15.3", + "builder-util": "26.15.3", + "fs-extra": "^10.1.0", + "js-yaml": "^4.1.0" + } + }, + "node_modules/dompurify": { + "version": "3.4.8", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.8.tgz", + "integrity": "sha512-yb1cEmaOum7wFvOCSQxyfgVlv5D47Rc30iZWoMpbDIWTnJ6grDDQyu2KFJzB2k7u0pMuJcQ1zphH//fFnw2tjQ==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha512-8Pvg9QY16SYajEL9W1Lk+9yM7XCK/MOq2wibslLZYAAEEkbAIO6mLkW+GFYbvvw8qTuDFzFMg40rS9IxkNCWPg==", + "license": "MIT", + "optional": true, + "dependencies": { + "jsbn": "~0.1.0" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron": { + "version": "44.1.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-44.1.1.tgz", + "integrity": "sha512-N2WCq2sbOkqQgvXJYx2lS6UiO8bF+Yr67trDnS6JKa2WxTCRQsAjGl57SUtdW9h6r5PlduBFjIhxhgd3dzv1hg==", + "license": "MIT", + "dependencies": { + "@electron-internal/extract-zip": "^1.0.1", + "@electron/get": "^5.0.0", + "@types/node": "^24.9.0" + }, + "bin": { + "electron": "cli.js", + "install-electron": "install.js" + }, + "engines": { + "node": ">= 22.12.0" + } + }, + "node_modules/electron-builder": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.15.3.tgz", + "integrity": "sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.15.3", + "builder-util": "26.15.3", + "builder-util-runtime": "9.7.0", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "dmg-builder": "26.15.3", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "simple-update-notifier": "2.0.0", + "yargs": "^17.6.2" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder-squirrel-windows": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.15.3.tgz", + "integrity": "sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "app-builder-lib": "26.15.3", + "builder-util": "26.15.3", + "electron-winstaller": "5.4.0" + } + }, + "node_modules/electron-publish": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.15.3.tgz", + "integrity": "sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^9.0.11", + "aws4": "^1.13.2", + "builder-util": "26.15.3", + "builder-util-runtime": "9.7.0", + "chalk": "^4.1.2", + "form-data": "^4.0.5", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/node_modules/form-data": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/electron-window-state": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/electron-window-state/-/electron-window-state-5.0.3.tgz", + "integrity": "sha512-1mNTwCfkolXl3kMf50yW3vE2lZj0y92P/HYWFBrb+v2S/pCka5mdwN3cagKm458A7NjndSwijynXgcLWRodsVg==", + "license": "MIT", + "dependencies": { + "jsonfile": "^4.0.0", + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/electron-window-state/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-winstaller": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.4.0.tgz", + "integrity": "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.21", + "temp": "^0.9.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "@electron/windows-sign": "^1.1.2" + } + }, + "node_modules/electron-winstaller/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/electron-winstaller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-winstaller/node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/electron-winstaller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/electron/node_modules/@types/node": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/electron/node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha512-bWStsIg5+vWzgtKoA/pkAIJzRAeUatnImqcK4CyHd2KoNq3fCg/tHDoE/7e81yRq9Xg8XUSvAcsSaMCp4a3HuQ==", + "license": "BSD-like" + }, + "node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/errno": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", + "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", + "license": "MIT", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "deprecated": "Please upgrade to v0.1.7", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "deprecated": "Please upgrade to v0.1.5", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha512-u1aUSYGdAQxyguoP919qsgj24krDCtaO/DJFNPwFmojMmKp14gtCTVsc8lQSqRDFrwAch+mxMWC8/6ZJPz5Hpw==", + "license": "MIT", + "optional": true + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "optional": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz", + "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/filelist": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", + "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", + "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-extra/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.39" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/getpass/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "license": "ISC", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/google-protobuf": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", + "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==", + "license": "(BSD-3-Clause AND Apache-2.0)" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==", + "license": "ISC", + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", + "deprecated": "this library is no longer supported", + "license": "ISC", + "optional": true, + "dependencies": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator/node_modules/ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", + "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "deprecated": "Please upgrade to v1.0.1", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "deprecated": "Please upgrade to v1.0.1", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha512-IEg9HSCKitWUYBRkCSztkm2Lenav8e04mlxHjiMRg2w9Bx82TFIDEDamwfn0RgwFgLNLSkZd0YJT2ColdN8KCw==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-odd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz", + "integrity": "sha512-yIhxkKCK7pZnj48WBvaTQ36Or7PymGYqmZrSNqkrhmU3pakkp2TWhuN7hH25bqJgH+Xq4IZ3QNd3+QVshldEHA==", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT", + "optional": true + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isbinaryfile": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz", + "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "license": "MIT", + "optional": true + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-base64": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", + "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", + "license": "BSD-3-Clause" + }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "license": "MIT", + "optional": true + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==", + "optional": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", + "license": "MIT", + "optional": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "license": "ISC", + "optional": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==", + "license": "Public Domain", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog==", + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/jsprim/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazy-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", + "license": "MIT", + "dependencies": { + "set-getter": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/less": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/less/-/less-3.0.1.tgz", + "integrity": "sha512-qUR4uNv88/c0mpnGOULgMLRXXSD6X0tYo4cVrokzsvn68+nuj8rskInCSe2eLAVYWGD/oAlq8P7J/FeZ/euKiw==", + "license": "Apache-2.0", + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=4" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.4.1", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "2.81.0", + "source-map": "^0.5.3" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/linkify-it": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", + "integrity": "sha512-eMNKghlRbOz74oeCO61NHixBXtKifyBAxs3YQRLthhViT8T/9reBq00NIWYEC1CdwQmn/xShUl8JqgWFYxo6gw==", + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==", + "license": "MIT" + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.0.tgz", + "integrity": "sha512-tNuOCCfunY5v5uhcO2AUMArvKAyKMygX8tfup/JrgnsDqcCATQsAExBq7o5Ml9iMmO82bk6jYNLj6khcrl0JGA==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.3" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-task-lists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.0.tgz", + "integrity": "sha512-3mT1oQ/brZiV719l3iY/ZIEQLIn60Y9U840l4hh3sA1seHM+ZZjzE5Env1+V1bWqKE1BeVffiuE7qNALzh7r2Q==", + "license": "ISC" + }, + "node_modules/marked": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", + "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", + "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.0", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.0", + "nanomatch": "^1.2.5", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "deprecated": "Critical bug fixed in v2.0.1, please upgrade to the latest version.", + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", + "license": "MIT" + }, + "node_modules/monaco-editor": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.56.0.tgz", + "integrity": "sha512-sXboRm3BeBeLm938eaiyLMe0OxzfXIlZvbv4ir/jVgQy1zDhWjgmny0WoN45fuDKhCCQsYMbBJrv/A6jd8aCUg==", + "license": "MIT", + "dependencies": { + "dompurify": "3.4.8", + "marked": "14.0.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha512-kBTsZNixwSmgVRl1nIVCkQzqRmosFpnY/pLPYo8xC7Mu9ehnKkbrMsM4xb889UafRGLqJ58hKZp+Dn4XVP9Bpg==", + "license": "MIT", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz", + "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "is-odd": "^1.0.0", + "kind-of": "^5.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-abi": { + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.35.0.tgz", + "integrity": "sha512-ymk4aIzxdPopw2giv8Fs1Ec6vybGkjmyxUwVqhkI4MCy2tVfXdkOGGWieWVjL0THgH+7a8lRdevyupoYj3Js/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/node-api-version": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.1.tgz", + "integrity": "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/node-gyp": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.4.0.tgz", + "integrity": "sha512-OMcPNvqTCFUnNaBlmdgq+lfNqY7gTiSmNRDjY3uAXRyudeKZEZxu3CLtjMQrx4zZxCX2b/mpNqTtwuCJgXhHkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "undici": "^6.25.0", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/undici": { + "version": "6.28.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.28.0.tgz", + "integrity": "sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "deprecated": "Please upgrade to v0.1.7", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "deprecated": "Please upgrade to v0.1.5", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "license": "MIT" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pe-library": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pe-library/-/pe-library-0.4.1.tgz", + "integrity": "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", + "license": "MIT", + "optional": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkijs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", + "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/pkijs/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "commander": "^9.4.0" + }, + "bin": { + "postject": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/postject/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==", + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "license": "MIT", + "optional": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "license": "MIT", + "optional": true + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT", + "optional": true + }, + "node_modules/pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/pvutils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.2.0.tgz", + "integrity": "sha512-BbubeCEyTuQjVMakvJQ/Sxbc93F2pwmbsxONT/ZRrwU7Ua38d8unYTwXpTVLAKJ4BDuH9IGztCjQcd/N/39Dvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha512-Qs6dfgR5OksK/PSxl1kGxiZgEQe8RqJMB9wZqVlKQfU+zzV+HY77pWJnoJENACKDQByWdpr8ZPIh1TBi4lpiSQ==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-binary-file-arch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", + "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "bin": { + "read-binary-file-arch": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha512-LgQ8mdp6hbxJUZz27qxVl7gmFM/0DfHRO52c5RUbKAgMvr81tour7YYWW1JYNmrXyD/o0Myy9/DC3fUYkqnyzg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/regex-not": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz", + "integrity": "sha512-bZ6ng7U/JpG63F9+br3N+dh8QsE1Jm24CEXfUir8lyvZRYZsbQyNy5gflhttrAlmjMtE1JTSKQCx5aVGQGWRKA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC" + }, + "node_modules/repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha512-PJn5P/wQgXwp0Bpmzv9JU693QYky9P5bwntpuw8SsMXgUZHlcEyr9Vajgp/zhGSFX56/lv9Bz2k9mKrkpxLI4A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resedit": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/resedit/-/resedit-1.7.2.tgz", + "integrity": "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pe-library": "^0.4.1" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "license": "MIT" + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.0.5" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/roarr/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/rxjs": { + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", + "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", + "license": "Apache-2.0", + "dependencies": { + "symbol-observable": "1.0.1" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "license": "MIT" + }, + "node_modules/sanitize-filename": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.4.tgz", + "integrity": "sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==", + "dev": true, + "license": "WTFPL OR ISC", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/set-getter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", + "integrity": "sha512-lIj6AWViymAQLQyq1qehP44w4iGbSv6pYOKRQCDzqlmxctLyCrecuge0bxRPrNSnV8EeMHKR2fVTRl3LniQLNg==", + "license": "MIT", + "dependencies": { + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/snapdragon": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", + "integrity": "sha512-fdVXpAHhS009K1+ldH0ZNPLgRK8TNw6KyOMohBhzufiYrVI2v/zIhQ16/W9mdKB7vrAJhYCtvmdSjnZGbG7/Zg==", + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "deprecated": "Please upgrade to v0.1.7", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "deprecated": "Please upgrade to v0.1.5", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", + "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "optional": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "license": "MIT", + "dependencies": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha512-liJwHPI9x9d9w5WSIjM58MqGmmb7XzNqwdUA3kSBQ4lmDngexlKwawGzK3J1mKXi6+sysoMDlpVyZh9sv5vRfw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "license": "MIT" + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha512-oKPL4k+ld5d737ZPB4VM99bqNb3JH+ZkxwWXR1iSPtqYbZv81hkLD7v8gmclrgR7aA8uh8ar+q0IF7gHFHg7PQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "getpass": "^0.1.1" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "bcrypt-pbkdf": "^1.0.0", + "ecc-jsbn": "~0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + } + }, + "node_modules/sshpk/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "deprecated": "Please upgrade to v0.1.7", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "deprecated": "Please upgrade to v0.1.5", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha512-QUQ1kThMjLRt4jA8lsn9lyIkE9bKafE7LDOL/nBBUY9Tfv2i3x1NAsVHG0uMCusFOWeeI6COhY/F20+avxRWSw==", + "license": "MIT", + "optional": true + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar": { + "version": "7.5.22", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.22.tgz", + "integrity": "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/tiny-async-pool": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.3.0.tgz", + "integrity": "sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.5.0" + } + }, + "node_modules/tiny-async-pool/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/tmp-promise/node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz", + "integrity": "sha512-lSIz7PKxfLbP/dbEiTKL9Ove+h5AZ1VwI4TB3rF619tU4mFPvtA8tDuf3skAuKYtvZ3+zTqENZs07xyynLHswg==", + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "regex-not": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "deprecated": "Please upgrade to v0.1.7", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "deprecated": "Please upgrade to v0.1.5", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha512-WR9pjSY3qO0z3yC6g33CRcVt2Wbevh0gP1XiSFql0/xRioi9qbDs3C+g4Nv2N8jmv/BloIi/SYoy/mfw5vus2A==", + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dev": true, + "license": "WTFPL", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "license": "Unlicense", + "optional": true + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz", + "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc" + }, + "engines": { + "node": ">=16.20.0" + }, + "optionalDependencies": { + "@typescript/typescript-aix-ppc64": "7.0.2", + "@typescript/typescript-darwin-arm64": "7.0.2", + "@typescript/typescript-darwin-x64": "7.0.2", + "@typescript/typescript-freebsd-arm64": "7.0.2", + "@typescript/typescript-freebsd-x64": "7.0.2", + "@typescript/typescript-linux-arm": "7.0.2", + "@typescript/typescript-linux-arm64": "7.0.2", + "@typescript/typescript-linux-loong64": "7.0.2", + "@typescript/typescript-linux-mips64el": "7.0.2", + "@typescript/typescript-linux-ppc64": "7.0.2", + "@typescript/typescript-linux-riscv64": "7.0.2", + "@typescript/typescript-linux-s390x": "7.0.2", + "@typescript/typescript-linux-x64": "7.0.2", + "@typescript/typescript-netbsd-arm64": "7.0.2", + "@typescript/typescript-netbsd-x64": "7.0.2", + "@typescript/typescript-openbsd-arm64": "7.0.2", + "@typescript/typescript-openbsd-x64": "7.0.2", + "@typescript/typescript-sunos-x64": "7.0.2", + "@typescript/typescript-win32-arm64": "7.0.2", + "@typescript/typescript-win32-x64": "7.0.2" + } + }, + "node_modules/uc.micro": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", + "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==", + "license": "MIT" + }, + "node_modules/underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg==", + "engines": { + "node": "*" + } + }, + "node_modules/undici": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz", + "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha512-gKXL/GYJJ6/EUcUoTJ0wvupGylrP1Q0QhkgTMixasTn8J5mEZY3fbcj25gOL3opWToztz7/BUHGm78npw7J57Q==", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha512-2Z0LRUUvYeF7gIFFep48ksPq0NR09e5oKoFXznaMGNcu+EZAfGnyL0K6xno2gCqX6dZYEZRjrcn04/gvZzcKhQ==", + "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unzipper": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.5.tgz", + "integrity": "sha512-tXYOi9R57Uj/2Z25SOs5RRSzq886MBQj2gY8dPL+xl/kv6s6SvByoKfAtvfVeEuhntWDgjd2o9p2lb4TVPAz0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "~3.7.2", + "duplexer2": "~0.1.4", + "fs-extra": "11.3.1", + "graceful-fs": "^4.2.2", + "node-int64": "^0.4.0" + } + }, + "node_modules/unzipper/node_modules/fs-extra": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", + "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/unzipper/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/upath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.0.tgz", + "integrity": "sha512-0vACkN+o0lRwiR2jnvY3eaKyqlpWEbR3W3CXpCMSzOPmSGK4Q7X3fLPJwGT6MCJAATkU5LhGma7ZHNjC7TbYxQ==", + "license": "MIT", + "dependencies": { + "lodash": "3.x", + "underscore.string": "2.3.x" + }, + "engines": { + "node": ">=0.10 <=7" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "license": "MIT" + }, + "node_modules/use": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", + "integrity": "sha512-RrhWfFWkNCz3djfSFZh7uSwu491QRhwNaHyAgB2sGl4kmmznb5ZUuuHpiWLVEsXOdpDakYK/x5+9o4lgg41UMw==", + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "lazy-cache": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "deprecated": "Please upgrade to v0.1.7", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "deprecated": "Please upgrade to v0.1.5", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT", + "optional": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/webcrypto-core": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.9.2.tgz", + "integrity": "sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/json-schema": "^1.1.12", + "@peculiar/utils": "^2.0.2", + "asn1js": "^3.0.10", + "tslib": "^2.8.1" + } + }, + "node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/xterm": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/xterm/-/xterm-3.2.0.tgz", + "integrity": "sha512-WH1V7eOwybpZoms8zQmMsAVcF3NlW3bVUdftCRt7TYs1E7tYgr59QknJ/pfVqQh5Ao8I8XiPGVKn//6U/yJ9ew==", + "deprecated": "This package is now deprecated. Move to @xterm/xterm instead.", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/Console/package.json b/Console/package.json index a74beea9..fbec6143 100644 --- a/Console/package.json +++ b/Console/package.json @@ -1,7 +1,10 @@ { + "name": "bert2-console", "version": "2.4.3", + "description": "BERT console: an editor and shell for R in Excel", + "author": "Structured Data, LLC", + "license": "GPL-3.0", "main": "main.js", - "name": "bert2-console", "build": { "directories": { "output": "../Build/Console" @@ -21,31 +24,28 @@ }, "scripts": { "start": "electron .", - "clean": "rm -fr build/*", - "build": "./node_modules/.bin/less-watch-compiler --run-once && ./node_modules/.bin/tsc", - "watch": "./node_modules/.bin/less-watch-compiler & ./node_modules/.bin/tsc --watch &", - "package": "./node_modules/.bin/electron-builder", - "repackage": "./node_modules/.bin/less-watch-compiler --run-once && ./node_modules/.bin/tsc && ./node_modules/.bin/electron-builder" + "clean": "node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"", + "build": "lessc style/style.less build/style.css && tsc", + "watch": "tsc --watch", + "package": "electron-builder", + "repackage": "npm run build && electron-builder" }, "devDependencies": { - "@types/node": "^8.9.1", - "asar": "^0.14.1", - "electron": "^1.8.2", - "electron-builder": "^19.56.0", - "less-watch-compiler": "^1.11.0", - "typescript": "^2.7.2" + "@types/node": "^22.0.0", + "electron": "^44.1.1", + "electron-builder": "^26.15.3", + "typescript": "^7.0.2" }, "dependencies": { - "@types/text-encoding": "^0.0.32", + "@electron/remote": "^2.1.3", "chokidar": "^2.0.1", - "electron-reload": "^1.2.2", - "electron-window-state": "^4.1.1", + "electron-window-state": "^5.0.3", "google-protobuf": "^3.21.4", "js-base64": "^2.4.3", "less": "^3.0.1", "markdown-it": "^8.4.0", "markdown-it-task-lists": "^2.1.0", - "monaco-editor": "^0.10.1", + "monaco-editor": "^0.56.0", "rxjs": "^5.5.6", "xterm": "^3.2.0" } diff --git a/Console/src/common/config_manager.ts b/Console/src/common/config_manager.ts index 855f4b73..59f26a14 100644 --- a/Console/src/common/config_manager.ts +++ b/Console/src/common/config_manager.ts @@ -104,7 +104,7 @@ class ConfigManager extends Rx.BehaviorSubject { * */ private ReadConfig() : Promise { - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { fs.readFile(this.config_path, "utf8", (err, json) => { if(!err){ this.raw_config_file_ = json; diff --git a/Console/src/common/utilities.ts b/Console/src/common/utilities.ts index 5e817c42..f7d966fa 100644 --- a/Console/src/common/utilities.ts +++ b/Console/src/common/utilities.ts @@ -36,8 +36,13 @@ export class Utilities { } + /** + * "2.4.3" -> 2004003. anything after the numeric part, such as the tag a + * development build carries ("2.4.3-r4 (built ...)"), is ignored. + */ static VersionToNumber(version_string){ - return version_string.split(".").reduce((a,x) => a * 1000 + (Number(x)||0)); + let numeric = ((version_string || "").match(/^\d+(\.\d+)*/) || [""])[0]; + return numeric.split(".").reduce((a,x) => a * 1000 + (Number(x)||0), 0); } } diff --git a/Console/src/editor/editor.ts b/Console/src/editor/editor.ts index 78ce7b1d..350e1e07 100644 --- a/Console/src/editor/editor.ts +++ b/Console/src/editor/editor.ts @@ -24,11 +24,12 @@ import * as fs from 'fs'; import * as Rx from 'rxjs'; import { EEXIST } from 'constants'; -import * as MarkdownIt from 'markdown-it'; -import * as MarkdownItTasks from 'markdown-it-task-lists'; +import MarkdownIt from 'markdown-it'; +import MarkdownItTasks from 'markdown-it-task-lists'; const MD = new MarkdownIt().use(MarkdownItTasks); -import { remote, clipboard, shell as electron_shell } from 'electron'; +import { clipboard, shell as electron_shell } from 'electron'; +import * as remote from '@electron/remote'; const { Menu, MenuItem, dialog } = remote; const Constants = require("../../data/constants.json"); @@ -129,17 +130,30 @@ export class Editor { if (this.loaded_) return Promise.resolve(); - return new Promise((resolve, reject) => { + return new Promise(async (resolve, reject) => { this.loaded_ = true; - // see monaco electron sample for this + // index.html loads the AMD loader in a script tag after the console's + // own code, so it is not there yet if we got here from a promise that + // resolved during startup. wait for the page to finish parsing. + + if (typeof amd_require === "undefined") { + if (document.readyState !== "loading") { + return reject(new Error("monaco loader not found")); + } + await new Promise(r => document.addEventListener("DOMContentLoaded", () => r(), { once: true })); + } + + // see the monaco electron-amd sample for this. hiding node's module + // global is the sample's workaround for language contributions that + // otherwise mistake the environment. amd_require.config({ baseUrl: Editor.UriFromPath(path.join(__dirname, '../../node_modules/monaco-editor/min')) }); self['module'] = undefined; - self['process'].browser = true; + self['process']['browser'] = true; // this is async amd_require(['vs/editor/editor.main'], () => { @@ -489,7 +503,7 @@ export class Editor { * ensure that we have loaded config (or initial defaults) */ private EnsureConfig() : Promise { - return new Promise(resolve => { + return new Promise(resolve => { ConfigManager.filter(x => x.config).first().subscribe(config => { this.editor_options_ = config['editor'] || {}; resolve(); @@ -554,7 +568,7 @@ export class Editor { } }); - menu.popup(remote.getCurrentWindow()); + menu.popup({ window: remote.getCurrentWindow() }); }); @@ -576,7 +590,7 @@ export class Editor { // why are we including json schema schema? is that just because // I was editing the schema in the editor? (...) - monaco.languages.json.jsonDefaults.setDiagnosticsOptions({ + monaco.json.jsonDefaults.setDiagnosticsOptions({ validate: true, allowComments: true, schemas: [{ uri: "http://bert-toolkit.com/config-schema", @@ -939,11 +953,19 @@ export class Editor { // fixme: parameterize defaults? - await this.OpenFileInternal(path.join(functions_path, "..", "examples", "excel-scripting.r"), { - type:DocumentType.editor, suppress_error:true }); + // suppress_error only suppresses the dialog; a missing file still + // rejects, and neither of these is essential. - await this.OpenFileInternal(path.join(functions_path, "functions.r"), { - type:DocumentType.editor, suppress_error:true }); + for (const file_path of [ + path.join(functions_path, "..", "examples", "excel-scripting.r"), + path.join(functions_path, "functions.r")]) { + try { + await this.OpenFileInternal(file_path, { type:DocumentType.editor, suppress_error:true }); + } + catch(e) { + console.warn("default file not opened: " + file_path); + } + } } @@ -1193,7 +1215,7 @@ export class Editor { // this is just aesthetic? whose aesthetic? - let language = document.model_['_languageIdentifier'].language; + let language = document.model_.getLanguageId(); switch (language.toLowerCase()) { case "json": case "js": @@ -1266,7 +1288,7 @@ export class Editor { if(save_as_dialog) { - file_path = remote.dialog.showSaveDialog({ + file_path = remote.dialog.showSaveDialogSync({ defaultPath: document.file_path_ || document.label_ }); @@ -1342,7 +1364,7 @@ export class Editor { */ public RevertFile() { - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { let tab = this.active_tab_; let document = tab.data as Document; @@ -1408,7 +1430,7 @@ export class Editor { /** shows a fnf alert. FIXME: use our alerts? */ private OpenFileError(){ - remote.dialog.showMessageBox({ + remote.dialog.showMessageBoxSync({ type: "info", icon: null, message: Constants.errors.openFileError @@ -1444,7 +1466,7 @@ export class Editor { // not found, open - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { fs.readFile(file_path, "utf8", (err, data) => { @@ -1500,7 +1522,7 @@ export class Editor { */ public OpenFile(file_path?: string) { if (file_path) return this.OpenFileInternal(file_path); - let files = remote.dialog.showOpenDialog({ + let files = remote.dialog.showOpenDialogSync({ properties: ["openFile"] }); if (files && files.length) return this.OpenFileInternal(files[0]); diff --git a/Console/src/io/pipe.ts b/Console/src/io/pipe.ts index c9361d0c..7379318f 100644 --- a/Console/src/io/pipe.ts +++ b/Console/src/io/pipe.ts @@ -460,7 +460,7 @@ export class Pipe { } RegisterConsoleMessages(){ - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { // register for console messages console.info("calling console"); this.Control("console").then(() => { @@ -476,7 +476,7 @@ export class Pipe { opts = opts || {}; this.pipe_name_ = opts.pipe_name || ""; - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { console.info("Connecting..."); let client = net.createConnection({ path: "\\\\.\\pipe\\" + this.pipe_name_ }, () => { diff --git a/Console/src/renderer.ts b/Console/src/renderer.ts index 41bf932c..13172ef4 100644 --- a/Console/src/renderer.ts +++ b/Console/src/renderer.ts @@ -18,7 +18,8 @@ */ import {Pipe, ConsoleMessage, ConsoleMessageType} from './io/pipe'; -import {clipboard, remote, dialog, shell as electron_shell} from 'electron'; +import {clipboard, shell as electron_shell} from 'electron'; +import * as remote from '@electron/remote'; const {Menu, MenuItem} = remote; @@ -184,7 +185,7 @@ ConfigManager.filter(x => x.config).first().subscribe(x => { // delay? UX) Promise.all(pipe_list.map(pipe_name => { - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { if(pipe_name){ let pipe = new Pipe(); let language = "unknown"; // just for reporting @@ -302,7 +303,7 @@ MenuUtilities.events.subscribe(event => { remote.getCurrentWindow().reload(); break; case "main.view.toggle-developer-tools": - remote.getCurrentWindow()['toggleDevTools'](); + remote.getCurrentWindow().webContents.toggleDevTools(); break; // layout diff --git a/Console/src/shell/language_interface.ts b/Console/src/shell/language_interface.ts index 44b3dd5d..1c7836b0 100644 --- a/Console/src/shell/language_interface.ts +++ b/Console/src/shell/language_interface.ts @@ -88,7 +88,7 @@ export class LanguageInterface extends Rx.Subject { // ugh. use async. - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { if(this.management_pipe_){ // this.management_pipe_.Close(); // no close method? } diff --git a/Console/src/shell/language_interface_r.ts b/Console/src/shell/language_interface_r.ts index d1131d13..74c10b98 100644 --- a/Console/src/shell/language_interface_r.ts +++ b/Console/src/shell/language_interface_r.ts @@ -178,7 +178,7 @@ export class RInterface extends LanguageInterface { let html_blob = await html_list.blob(); let reader = new FileReader(); - await new Promise((resolve, reject) => { + await new Promise((resolve, reject) => { reader.onloadend = () => { resolve(); } @@ -188,7 +188,7 @@ export class RInterface extends LanguageInterface { reader.readAsText(html_blob); }); - let html = reader.result; + let html = reader.result as string; let regex = /[\s\S]*?[\s\S]*?(.*?)<\/a>[\s\S]*?<\/td>[\s\S]*?([\s\S]*?)<\/td>/g; let match; diff --git a/Console/src/shell/multiplexed_terminal.ts b/Console/src/shell/multiplexed_terminal.ts index 98f88c2e..4170fa2c 100644 --- a/Console/src/shell/multiplexed_terminal.ts +++ b/Console/src/shell/multiplexed_terminal.ts @@ -23,7 +23,7 @@ import { TerminalState } from './terminal_state'; import { LanguageInterface } from './language_interface'; import { ConfigManagerInstance as ConfigManager, ConfigLoadStatus } from '../common/config_manager'; -import { remote } from 'electron'; +import * as remote from '@electron/remote'; import * as Rx from 'rxjs'; const {Menu, MenuItem} = remote; diff --git a/Console/src/shell/terminal_implementation.ts b/Console/src/shell/terminal_implementation.ts index ec3a58f5..bf0e2748 100644 --- a/Console/src/shell/terminal_implementation.ts +++ b/Console/src/shell/terminal_implementation.ts @@ -48,7 +48,7 @@ const Constants = require("../../data/constants.json"); import * as Rx from 'rxjs'; // for save image dialog -import { remote } from 'electron'; +import * as remote from '@electron/remote'; import * as fs from 'fs'; @@ -600,7 +600,7 @@ export class TerminalImplementation { } if(src){ - let file_name = remote.dialog.showSaveDialog({ + let file_name = remote.dialog.showSaveDialogSync({ filters: [ { name: Constants.shell.imageTypes.replace(/#/, image_type.toUpperCase()), extensions: [image_type] } ] @@ -748,11 +748,13 @@ export class TerminalImplementation { /** * */ - Paste(text?: string) { + async Paste(text?: string) { this.xterm_.scrollToBottom(); - - if (!text) text = (clipboard.readText() || ""); + + // electron's clipboard.readText is asynchronous now, like the + // navigator.clipboard API it follows + if (!text) text = ((await clipboard.readText()) || ""); // FIXME: cursor pos [meaning what?] diff --git a/Console/src/ui/menu_utilities.ts b/Console/src/ui/menu_utilities.ts index 2298c695..2fae897e 100644 --- a/Console/src/ui/menu_utilities.ts +++ b/Console/src/ui/menu_utilities.ts @@ -17,7 +17,7 @@ * along with BERT. If not, see . */ -import {remote} from 'electron'; +import * as remote from '@electron/remote'; const {Menu, MenuItem} = remote; import * as Rx from 'rxjs'; diff --git a/Console/src/ui/user_stylesheet.ts b/Console/src/ui/user_stylesheet.ts index 869c238d..bf725b72 100644 --- a/Console/src/ui/user_stylesheet.ts +++ b/Console/src/ui/user_stylesheet.ts @@ -17,7 +17,7 @@ * along with BERT. If not, see . */ -import * as less from 'less'; +import less from 'less'; import * as path from 'path'; import * as fs from 'fs'; import { FileWatcher } from '../common/file_watcher'; @@ -57,7 +57,7 @@ export class UserStylesheet { } static Load(){ - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { fs.readFile(this.stylesheet_path_, "utf8", (err, data) => { if(err){ return reject("user stylesheet not found"); diff --git a/Console/tsconfig.json b/Console/tsconfig.json index cca8deb7..8ebee505 100644 --- a/Console/tsconfig.json +++ b/Console/tsconfig.json @@ -1,13 +1,17 @@ { - "files":[ + "files": [ "src/renderer.ts" ], "compilerOptions": { + "rootDir": "src", "outDir": "build", - "target": "es5", + "target": "es2022", + "module": "node20", + "lib": [ "es2022", "dom" ], + "types": [ "node" ], "inlineSourceMap": true, "inlineSources": true, - "moduleResolution": "node", - "lib": [ "es2015", "dom", "es5" ] + "skipLibCheck": true, + "strict": false } -} \ No newline at end of file +} diff --git a/Console/yarn.lock b/Console/yarn.lock deleted file mode 100644 index 10fdae4c..00000000 --- a/Console/yarn.lock +++ /dev/null @@ -1,3460 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@types/node@^8.0.24", "@types/node@^8.9.1": - version "8.9.1" - resolved "https://registry.npmjs.org/@types/node/-/node-8.9.1.tgz" - integrity sha512-4JFGIC1RSoFngVsT5EZcL793/uRi/OJ3ilsp9DQUr4LZOaMhNM1pPrt9TqlXOnXj3h73hl6NF31v87eQAPXYTg== - -"@types/text-encoding@^0.0.32": - version "0.0.32" - resolved "https://registry.npmjs.org/@types/text-encoding/-/text-encoding-0.0.32.tgz" - integrity sha512-kQ79aFmYcD/DR3QKo6wXyvNrKi7PunY0KYTBUhHjHl0SXwWuLRl9Leh73YtnsSJMBi9qSiK+fxWhdJNQPbhc9A== - -"7zip-bin-win@~2.1.1": - version "2.1.1" - resolved "https://registry.npmjs.org/7zip-bin-win/-/7zip-bin-win-2.1.1.tgz" - integrity sha512-6VGEW7PXGroTsoI2QW3b0ea95HJmbVBHvfANKLLMzSzFA1zKqVX5ybNuhmeGpf6vA0x8FJTt6twpprDANsY5WQ== - -"7zip-bin@^2.4.1": - version "2.4.1" - resolved "https://registry.npmjs.org/7zip-bin/-/7zip-bin-2.4.1.tgz" - integrity sha512-QU3oR1dLLVrYGRkb7LU17jMCpIkWtXXW7q71ECXWXkR9vOv37VjykqpvFgs29HgSCNLZHnNKJzdG6RwAW0LwIA== - optionalDependencies: - "7zip-bin-linux" "~1.3.1" - "7zip-bin-mac" "~1.0.1" - "7zip-bin-win" "~2.1.1" - -abbrev@1: - version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz" - integrity sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA== - -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz" - integrity sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ== - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^5.0.0, ajv@^5.5.0: - version "5.5.2" - resolved "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz" - integrity sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw== - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -"amdefine@>= 0.1.0": - version "1.0.1" - resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz" - integrity sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA== - dependencies: - string-width "^2.0.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" - integrity sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ== - -ansi-styles@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz" - integrity sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug== - dependencies: - color-convert "^1.9.0" - -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz" - integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz" - integrity sha512-iK7YPKV+GsvihPUTKcM3hh2gq47zSFCpVDv/Ay2O9mzuD7dfvLV4vhms4XcjZvv4VRgXuGLMEts51IlTjS11/A== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz" - integrity sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA== - dependencies: - arr-flatten "^1.0.1" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" - integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" - integrity sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -asar-integrity@0.2.4: - version "0.2.4" - resolved "https://registry.npmjs.org/asar-integrity/-/asar-integrity-0.2.4.tgz" - integrity sha512-6UDOmyl4RUo8i/0Sem/UKFJ70XZrXLCDQcILTbjTjAKZrSA3JbXVnWRFi2ZFEbeZxQ2LVCc3CWHnDlqj2AyVXg== - dependencies: - bluebird-lst "^1.0.5" - fs-extra-p "^4.5.0" - -asar@^0.14.1: - version "0.14.1" - resolved "https://registry.npmjs.org/asar/-/asar-0.14.1.tgz" - integrity sha512-zLifD8peD4VeEj4QblUv63xTvPOLDXPRRDInzbm23QxGzXjcZQzo3CfLKnBbxbOrKILCTrPLVOyWYc4d+BnPPg== - dependencies: - chromium-pickle-js "^0.2.0" - commander "^2.9.0" - cuint "^0.2.1" - glob "^6.0.4" - minimatch "^3.0.3" - mkdirp "^0.5.0" - mksnapshot "^0.3.0" - tmp "0.0.28" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - integrity sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w== - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - integrity sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw== - -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -assert-plus@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz" - integrity sha512-STDwmg+1mv249vNFx+s+sF4HrdLxlF5Z6L4npilrkgchWPEuW4X13gKzSJq51qJy9InOgwmPepgfMb9/Qu0fSg== - -async-exit-hook@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz" - integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -atob@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz" - integrity sha512-Yxttd2MoIWl3oCSKqG85cu2FkbPtv3P8nDirIpelp4/Pwl7rQ3diJDthXEueFZxxLgjGNrtB2oRej1ONzC9sug== - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" - integrity sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw== - -aws4@^1.2.1: - version "1.6.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz" - integrity sha512-tkleq4Df8UWu/7xf/tfbo7t2vDa07bcONGnKhl0QXKQsh3fJ0yJ1M5wzpy8BtBSENQw/9VTsthMhLG+yXHfStQ== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" - integrity sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -base64-js@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz" - integrity sha512-hURVuTTGLOppKhjSe9lZy4NCjnvaIAF/juwazv4WtHwsk5rxKrU1WbxN+XtwKDSvkrNbIIaTBQd9wUsSwruZUg== - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz" - integrity sha512-vY4sOrSlpwNZXsinfJ0HpbSkFft4nhSVLeUrQ4j2ydGmBOiVY83aMJStJATBy0C3+XdaYa990kIA1qkC2mUq6g== - dependencies: - tweetnacl "^0.14.3" - -binary-extensions@^1.0.0: - version "1.11.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz" - integrity sha512-9XXbu17rAPSov41Lvd1NwrwA3Wvh2WRpxJptRjVTw55R+ZIQ9QrzuEPMMPhxXry2GTpmmUXwd8rSvp50H+7uQA== - -binary@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz" - integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== - dependencies: - buffers "~0.1.1" - chainsaw "~0.1.0" - -bluebird-lst@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.5.tgz" - integrity sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA== - dependencies: - bluebird "^3.5.1" - -bluebird@^3.5.0, bluebird@^3.5.1: - version "3.5.1" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz" - integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - integrity sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q== - dependencies: - hoek "2.x.x" - -boxen@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz" - integrity sha512-Dnfc9ROAPrkkeLIUweEbh7LFT9Mc53tO/bbM044rKjhgAEyIGKvKXg97PM/kRizZIfUHaROZIoeEaWao+Unzfw== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz" - integrity sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw== - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -braces@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz" - integrity sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - define-property "^1.0.0" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -buffers@~0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz" - integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== - -builder-util-runtime@^4.0.4, builder-util-runtime@4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.0.4.tgz" - integrity sha512-WyTMyWXX7zahY0MyR8Fh8SRxH//ugUaBgsgrCT/orwTv5ud4s0htLlucNiQdDTiWdHyQFqAigTfqILED4bAXUA== - dependencies: - bluebird-lst "^1.0.5" - debug "^3.1.0" - fs-extra-p "^4.5.0" - sax "^1.2.4" - -builder-util@^4.2.2, builder-util@4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/builder-util/-/builder-util-4.2.2.tgz" - integrity sha512-B+xyCkbhUSXfyKnEyuLgxzWaEfkyVQVTH8EFGYF+38a8HMgd7UAvXBZdxxrRL/lHZULSoA31OWuzZzliWQRnTQ== - dependencies: - "7zip-bin" "^2.4.1" - bluebird-lst "^1.0.5" - builder-util-runtime "^4.0.4" - chalk "^2.3.0" - debug "^3.1.0" - fs-extra-p "^4.5.0" - ini "^1.3.5" - is-ci "^1.1.0" - js-yaml "^3.10.0" - lazy-val "^1.0.3" - semver "^5.5.0" - source-map-support "^0.5.3" - stat-mode "^0.2.2" - temp-file "^3.1.1" - tunnel-agent "^0.6.0" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" - integrity sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" - integrity sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ== - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" - integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw== - -camelcase@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz" - integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz" - integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== - -capture-stack-trace@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz" - integrity sha512-8Yf8Cckt0aVhGIdBV0hOkN+xWECIfItME3K/auxEQw803TndhW5DkPxHvNBoYxxUJ8YG/896rAhpna2u3hG/5A== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -chainsaw@~0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz" - integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== - dependencies: - traverse ">=0.3.0 <0.4" - -chalk@^2.0.1, chalk@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz" - integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q== - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -chokidar@^1.5.1: - version "1.7.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz" - integrity sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg== - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chokidar@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.0.1.tgz" - integrity sha512-rv5iP8ENhpqvDWr677rAXcB+SMoPQ1urd4ch79+PhM4lQwbATdJUQK69t0lJIKNB+VXpqxt5V1gvqs59XEPKnw== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "1.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chromium-pickle-js@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz" - integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== - -ci-info@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz" - integrity sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz" - integrity sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg== - -cliui@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz" - integrity sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz" - integrity sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ== - dependencies: - color-name "^1.1.1" - -color-convert@~0.5.0: - version "0.5.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz" - integrity sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling== - -color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" - integrity sha512-JgSRe4l4UzPwpJuxfcPWEK1SCrL4dxNjp1uqrQLMop3QZUVo+hDU8w9BJKA4JPbulTWI+UzrI2UA3tK12yQ6bg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.9.0: - version "2.14.1" - resolved "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz" - integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw== - -compare-version@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz" - integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A== - -component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz" - integrity sha512-jPatnhd33viNplKjqXKRkGU345p263OIWzDL2wH3LGIGp5Kojo+uXizHmOADRvhGFFTnJqX3jBAKP6vvmSDKcA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz" - integrity sha512-afaQKFIg+fob6EzbytOlXZZTYrdZWaegQx2b6AWg9MoALXgctIcbRQrjcu6Wsh5801lVXaQYVwBw6vlATW0qPA== - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -configstore@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz" - integrity sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw== - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - -core-util-is@~1.0.0, core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz" - integrity sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw== - dependencies: - capture-stack-trace "^1.0.0" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" - integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" - integrity sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog== - dependencies: - boom "2.x.x" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz" - integrity sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg== - -cuint@^0.2.1: - version "0.2.2" - resolved "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz" - integrity sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw== - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" - integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng== - dependencies: - array-find-index "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -debug@^2.1.3: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^2.3.3: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^2.6.8: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.0.0, debug@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== - -decompress-zip@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.0.tgz" - integrity sha512-xzje4HUZr/jdpqnggH6QPOXJEkq6Vx7J0ULgJa5WCtoF5s7rDf1BjAebTLDkLAKFwYiU4bCJptTuQxeNb3SAzg== - dependencies: - binary "^0.3.0" - graceful-fs "^4.1.3" - mkpath "^0.1.0" - nopt "^3.0.1" - q "^1.1.2" - readable-stream "^1.1.8" - touch "0.0.3" - -deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz" - integrity sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw== - -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz" - integrity sha512-cQ0iXSEKi3JRNhjUsLWvQ+MVPxLVqpwCd0cFsWbJxlCim2TlCo1JvN5WaPdPvSpUdEnkJ/X+mPGcq5RJ68EK8g== - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -dmg-builder@3.1.4: - version "3.1.4" - resolved "https://registry.npmjs.org/dmg-builder/-/dmg-builder-3.1.4.tgz" - integrity sha512-nobhBdmpA8XmJM13rjvhLQOMUUM9HNyZjXmvFWCZPK8A8sP2rJciQDOzvJoc2ioFehR7vfLbWHNpKgYQrSPIPw== - dependencies: - bluebird-lst "^1.0.5" - builder-util "^4.2.2" - fs-extra-p "^4.5.0" - iconv-lite "^0.4.19" - js-yaml "^3.10.0" - parse-color "^1.0.0" - -dom-walk@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz" - integrity sha512-8CGZnLAdYN/o0SHjlP3nLvliHpi2f/prVU63/Hc4DTDpBgsNVAJekegjFtxfZ7NTUEDzHUByjX1gT3eYakIKqg== - -dot-prop@^4.1.0: - version "4.2.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - -dotenv-expand@^4.0.1: - version "4.2.0" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz" - integrity sha512-pHWVt6L/YkqbBCMb1hG6e7oO0WdMhlapDIibl+BZ9PncVE3i+G77uvNr8GUxW2ItSituOK8QOYC9oOJjwWD94A== - -dotenv@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz" - integrity sha512-XcaMACOr3JMVcEv0Y/iUM2XaOsATRZ3U1In41/1jjK6vJZ2PZbQ1bzCG8uvaByfaBpl9gqc9QWJovpUGBXLLYQ== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" - integrity sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA== - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" - integrity sha512-8Pvg9QY16SYajEL9W1Lk+9yM7XCK/MOq2wibslLZYAAEEkbAIO6mLkW+GFYbvvw8qTuDFzFMg40rS9IxkNCWPg== - dependencies: - jsbn "~0.1.0" - -ejs@^2.5.7: - version "2.5.7" - resolved "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz" - integrity sha512-ukpoEmMkRXdzig9UGWFSY+GqurZ+PROb/Q/6NUf+FYlIAI4fO79XFcFzob3TikfbaZZ3OGQAmryINW6/ELWPAg== - -electron-builder-lib@19.56.0: - version "19.56.0" - resolved "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-19.56.0.tgz" - integrity sha512-7uZRo/bh/o8MLS1PZQyXKua7GZ5qwJbQgvsnSanXIp/qBisaPMOyydYEcJcJDLomfStgRubbtWG82eDNKCeiLA== - dependencies: - "7zip-bin" "^2.4.1" - asar-integrity "0.2.4" - async-exit-hook "^2.0.1" - bluebird-lst "^1.0.5" - builder-util "4.2.2" - builder-util-runtime "4.0.4" - chromium-pickle-js "^0.2.0" - debug "^3.1.0" - dmg-builder "3.1.4" - ejs "^2.5.7" - electron-osx-sign "0.4.8" - electron-publish "19.56.0" - fs-extra-p "^4.5.0" - hosted-git-info "^2.5.0" - is-ci "^1.1.0" - isbinaryfile "^3.0.2" - js-yaml "^3.10.0" - lazy-val "^1.0.3" - minimatch "^3.0.4" - normalize-package-data "^2.4.0" - plist "^2.1.0" - read-config-file "2.1.1" - sanitize-filename "^1.6.1" - semver "^5.5.0" - temp-file "^3.1.1" - -electron-builder@^19.56.0: - version "19.56.0" - resolved "https://registry.npmjs.org/electron-builder/-/electron-builder-19.56.0.tgz" - integrity sha512-3jlhgF/KuwzJRuPIa4YmZc1OrE1y2L+QEHk4W9B8Sx3ig3hK84b+yW8MfhQxwwEhYnA1q9XkzcNK5xToZPqpWQ== - dependencies: - bluebird-lst "^1.0.5" - builder-util "4.2.2" - builder-util-runtime "4.0.4" - chalk "^2.3.0" - electron-builder-lib "19.56.0" - electron-download-tf "4.3.4" - fs-extra-p "^4.5.0" - is-ci "^1.1.0" - lazy-val "^1.0.3" - read-config-file "2.1.1" - sanitize-filename "^1.6.1" - update-notifier "^2.3.0" - yargs "^11.0.0" - -electron-download-tf@4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/electron-download-tf/-/electron-download-tf-4.3.4.tgz" - integrity sha512-SQYDGMLpTgty1bx3NycuDb7dNPzktVSdK2sqPZjyRocauq/uN/V4S2lcpFVLupaHhKlD8zozm9fTpm5UdohvTg== - dependencies: - debug "^3.0.0" - env-paths "^1.0.0" - fs-extra "^4.0.1" - minimist "^1.2.0" - nugget "^2.0.1" - path-exists "^3.0.0" - rc "^1.2.1" - semver "^5.4.1" - sumchecker "^2.0.2" - -electron-download@^3.0.1: - version "3.3.0" - resolved "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz" - integrity sha512-F/p1+fwr/UAMl6NXp2w6Ke5x5WReguHp6EDm/1tIIqUyXfOW7JezoMoAUNL0ZaKDDCbciydllMwq8qq/f9ks0w== - dependencies: - debug "^2.2.0" - fs-extra "^0.30.0" - home-path "^1.0.1" - minimist "^1.2.0" - nugget "^2.0.0" - path-exists "^2.1.0" - rc "^1.1.2" - semver "^5.3.0" - sumchecker "^1.2.0" - -electron-osx-sign@0.4.8: - version "0.4.8" - resolved "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.8.tgz" - integrity sha512-fQXB2/8ZmA4HkVTTrlFJB9LZMGue5HsQILq9GshAwqCzTtt1fFt3y0vjuBYX4GFZbgtO7+LJWHnYBDOMLDwOUw== - dependencies: - bluebird "^3.5.0" - compare-version "^0.1.2" - debug "^2.6.8" - isbinaryfile "^3.0.2" - minimist "^1.2.0" - plist "^2.1.0" - -electron-publish@19.56.0: - version "19.56.0" - resolved "https://registry.npmjs.org/electron-publish/-/electron-publish-19.56.0.tgz" - integrity sha512-mJYJLaDKdxq/F1VAZwqany4LuWt9fEm2FMsKVCXdzYp1WAXhK5+J5Ng6rxc8n1BUWqYbs99tkRWp+5iyxiGcfA== - dependencies: - bluebird-lst "^1.0.5" - builder-util "^4.2.2" - builder-util-runtime "^4.0.4" - chalk "^2.3.0" - fs-extra-p "^4.5.0" - mime "^2.2.0" - -electron-reload@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/electron-reload/-/electron-reload-1.2.2.tgz" - integrity sha512-dPZrcqjgFR3Gu5TOOVK3GQx63JcB2WJ0hki/4M5tlenDF7epFSnKkcAZyKYwUGEqk1TkUkUUOl7ZyzAK6QNuNQ== - dependencies: - chokidar "^1.5.1" - -electron-window-state@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/electron-window-state/-/electron-window-state-4.1.1.tgz" - integrity sha512-7KhUFCXmYwvL+++GBaAS7eIZwM8Nql3MyMaQmk8D9JzDAY/Tnmv9y+X2l/Xioij8KvgVfZ1AOhENkUhHk4YkTA== - dependencies: - deep-equal "^1.0.1" - jsonfile "^2.2.3" - mkdirp "^0.5.1" - -electron@^1.8.2: - version "1.8.2" - resolved "https://registry.npmjs.org/electron/-/electron-1.8.2.tgz" - integrity sha512-0TV5Hy92g8ACnPn+PVol6a/2uk+khzmRtWxhah/FcKs6StCytm5hD14QqOdZxEdJN8HljXIVCayN/wJX+0wDiQ== - dependencies: - "@types/node" "^8.0.24" - electron-download "^3.0.1" - extract-zip "^1.0.3" - -entities@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" - integrity sha512-bWStsIg5+vWzgtKoA/pkAIJzRAeUatnImqcK4CyHd2KoNq3fCg/tHDoE/7e81yRq9Xg8XUSvAcsSaMCp4a3HuQ== - -env-paths@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz" - integrity sha512-+6r/UAzikJWJPcQZpBQS+bVmjAMz2BkDP/N4n2Uz1zz8lyw1IHWUeVdh/85gs0dp5A+z76LOQhCZkR6F88mlUw== - -errno@^0.1.1: - version "0.1.6" - resolved "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz" - integrity sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz" - integrity sha512-FfmVxYsm1QOFoPI2xQmNnEH10Af42mCxtGrKvS1JfDTXlPLYiAz2T+QpjHPxf+OGniMfWZah9ULAhPoKQ3SEqg== - dependencies: - is-arrayish "^0.2.1" - -es6-promise@^4.0.5: - version "4.2.4" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz" - integrity sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz" - integrity sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw== - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz" - integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz" - integrity sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA== - dependencies: - is-posix-bracket "^0.1.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz" - integrity sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA== - dependencies: - fill-range "^2.1.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -"extend@>= 2.0.0", extend@~3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz" - integrity sha512-u1aUSYGdAQxyguoP919qsgj24krDCtaO/DJFNPwFmojMmKp14gtCTVsc8lQSqRDFrwAch+mxMWC8/6ZJPz5Hpw== - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz" - integrity sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg== - dependencies: - is-extglob "^1.0.0" - -extglob@^2.0.2: - version "2.0.4" - resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-zip@^1.0.3: - version "1.6.6" - resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz" - integrity sha512-zzFIURH1cHodCESbwDsIijbki47jXAvffc044IpX4uBiTWldwQ2viYkYrb94x49ZvAcanD0gobvQwgAaaQOUvQ== - dependencies: - concat-stream "1.6.0" - debug "2.6.9" - mkdirp "0.5.0" - yauzl "2.4.1" - -extsprintf@^1.2.0, extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz" - integrity sha512-46+Jxk9Yj/nQY+3a1KTnpbBTemcAbPySTKya8iM9D7EsiONpSWbvzesalcCJ6tmJrCUITT2fmAQfNHFG+OHM6Q== - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz" - integrity sha512-eIgZvM9C3P05kg0qxfqaVU6Tma4QedCPIByQOcemV0vju8ot3cS2DpHi4m2G2JvbSMI152rjfLX0p1pkSdyPlQ== - -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz" - integrity sha512-MX1ZLPIuKED51hrI4++K+1B0VX87Cs4EkybD2q12Ysuf5p4vkmHqMvQJRlDwROqFr4D2Pzyit5wGQxf30grIcw== - dependencies: - pend "~1.2.0" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz" - integrity sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ== - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz" - integrity sha512-P1WnpaJQ8BQdSEIjEmgyCHm9ESwkO6sMu+0Moa4s0u9B+iQ5M9tBbbCYvWmF7vRvqyMO2ENqC+w4Hev8wErQcg== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz" - integrity sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw== - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz" - integrity sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - -fs-extra-p@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.5.0.tgz" - integrity sha512-V/sdZmV+Yx3+nfXmjRTdBP4mVWCt7hZ0+ZOv+IZo+6fdkBxafaGsI7mYeNv/J3rWyz+mIToCFQORFSwt1bZw8Q== - dependencies: - bluebird-lst "^1.0.5" - fs-extra "^5.0.0" - -fs-extra@^0.30.0: - version "0.30.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz" - integrity sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - -fs-extra@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz" - integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@0.26.7: - version "0.26.7" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz" - integrity sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz" - integrity sha512-A6srK23btrgde1mUYEzplvRPjdwkZXrHsIRNRZnG5p8ZEJHG+QB8ENw16MtH7NWiyDGiSF2giAlJpcls/y2wxQ== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" - integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz" - integrity sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA== - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz" - integrity sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w== - dependencies: - is-glob "^2.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" - integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob@^6.0.4: - version "6.0.4" - resolved "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" - integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0: - version "7.1.2" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.5: - version "7.1.2" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz" - integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== - dependencies: - ini "^1.3.4" - -global@^4.3.1: - version "4.3.2" - resolved "https://registry.npmjs.org/global/-/global-4.3.2.tgz" - integrity sha512-/4AybdwIDU4HkCUbJkZdWpe4P6vuw/CUtu+0I1YlLIPe7OlUO7KNJ+q/rO70CW2/NW6Jc6I62++Hzsf5Alu6rQ== - dependencies: - min-document "^2.19.0" - process "~0.5.1" - -google-protobuf@^3.21.4: - version "3.21.4" - resolved "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz" - integrity sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ== - -got@^6.7.1: - version "6.7.1" - resolved "https://registry.npmjs.org/got/-/got-6.7.1.tgz" - integrity sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg== - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" - integrity sha512-9x6DLUuW+ROFdMTII9ec9t/FK8va6kYcC8/LggumssLM8kNv7IdFl3VrNUqgir2tJuBVxBga1QBoRziZacO5Zg== - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz" - integrity sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ== - -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz" - integrity sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw== - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" - integrity sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng== - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" - integrity sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg== - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" - integrity sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ== - -home-path@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz" - integrity sha512-xAC3eONvA+pV35Vm6X2zrEpP+/pzeMnA/PYEit1KAYcZPJoXyRqgLRx91FyShXNH6QGbwDB/1vGOXr8warHcWw== - -hosted-git-info@^2.1.4, hosted-git-info@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz" - integrity sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg== - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" - integrity sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg== - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -iconv-lite@^0.4.19: - version "0.4.19" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz" - integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" - integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" - integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" - integrity sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg== - dependencies: - repeating "^2.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3, inherits@2: - version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz" - integrity sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA== - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" - integrity sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" - integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" - integrity sha512-C2wz7Juo5pUZTFQVer9c+9b4qw3I5T/CHQxQyhVu7BJel6C22FmsLIWsdseYyOw6xz9Pqy9eJWSkQ7+3iN1HVw== - dependencies: - builtin-modules "^1.0.0" - -is-ci@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz" - integrity sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg== - dependencies: - ci-info "^1.0.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz" - integrity sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg== - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" - integrity sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA== - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" - integrity sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww== - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz" - integrity sha512-e+gU0KGrlbqjEcV80SAqg4g7PQYOm3/IrdwAJ+kPwHqGhLKhtuTJGGxGtrsc8RXlHt2A8Vlnv+79Vq2B1GQasg== - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" - integrity sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg== - dependencies: - is-extglob "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz" - integrity sha512-IEg9HSCKitWUYBRkCSztkm2Lenav8e04mlxHjiMRg2w9Bx82TFIDEDamwfn0RgwFgLNLSkZd0YJT2ColdN8KCw== - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz" - integrity sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw== - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz" - integrity sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg== - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz" - integrity sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg== - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -is-odd@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz" - integrity sha512-yIhxkKCK7pZnj48WBvaTQ36Or7PymGYqmZrSNqkrhmU3pakkp2TWhuN7hH25bqJgH+Xq4IZ3QNd3+QVshldEHA== - dependencies: - is-number "^3.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz" - integrity sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g== - dependencies: - path-is-inside "^1.0.1" - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" - integrity sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ== - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" - integrity sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q== - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz" - integrity sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw== - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz" - integrity sha512-leC1bcIRBHjXtaZSM2gAXNeZsIOdDMgq/kHKAVKQ05JTwvb7hnvrHBEm6mnnMRyE7yu+ljNlcG8YUmALCevSxg== - -is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== - -isarray@~1.0.0, isarray@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isbinaryfile@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz" - integrity sha512-ndp0qbtJMB5d8CCDtk6yxz0GnvRzlnrxp2qXA/DJEbhn8PKvpQBjB0xN4mjnLGovEF47aywIytHqZCPFBNSjfQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -js-base64@^2.4.3: - version "2.4.3" - resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz" - integrity sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw== - -js-yaml@^3.10.0: - version "3.10.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz" - integrity sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz" - integrity sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" - integrity sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ== - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" - integrity sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg== - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" - integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== - -jsonfile@^2.1.0, jsonfile@^2.2.3: - version "2.4.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz" - integrity sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" - integrity sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA== - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" - integrity sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3: - version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^5.0.2: - version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz" - integrity sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw== - optionalDependencies: - graceful-fs "^4.1.9" - -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz" - integrity sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w== - dependencies: - package-json "^4.0.0" - -lazy-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz" - integrity sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA== - dependencies: - set-getter "^0.1.0" - -lazy-val@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz" - integrity sha512-pjCf3BYk+uv3ZcPzEVM0BFvO9Uw58TmlrU0oG5tTrr9Kcid3+kdKxapH8CjdYmVa2nO5wOoZn2rdvZx2PKj/xg== - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" - integrity sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw== - dependencies: - invert-kv "^1.0.0" - -less-watch-compiler@^1.11.0: - version "1.11.0" - resolved "https://registry.npmjs.org/less-watch-compiler/-/less-watch-compiler-1.11.0.tgz" - integrity sha512-JrNGaBl3RZoJ4lKuDTc0WzsF7Xo7JwOl8Ak+jdjgjf05k6OCM8Ogzow1pNE9msGwiCUmBujY1SO8o4vQBC977w== - dependencies: - amdefine ">= 0.1.0" - commander "^2.9.0" - extend ">= 2.0.0" - global "^4.3.1" - less "^2.7.1" - shelljs ">= 0.4.0" - -less@^2.7.1: - version "2.7.3" - resolved "https://registry.npmjs.org/less/-/less-2.7.3.tgz" - integrity sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ== - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - mime "^1.2.11" - mkdirp "^0.5.0" - promise "^7.1.1" - request "2.81.0" - source-map "^0.5.3" - -less@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/less/-/less-3.0.1.tgz" - integrity sha512-qUR4uNv88/c0mpnGOULgMLRXXSD6X0tYo4cVrokzsvn68+nuj8rskInCSe2eLAVYWGD/oAlq8P7J/FeZ/euKiw== - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - mime "^1.4.1" - mkdirp "^0.5.0" - promise "^7.1.1" - request "2.81.0" - source-map "^0.5.3" - -linkify-it@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz" - integrity sha512-eMNKghlRbOz74oeCO61NHixBXtKifyBAxs3YQRLthhViT8T/9reBq00NIWYEC1CdwQmn/xShUl8JqgWFYxo6gw== - dependencies: - uc.micro "^1.0.1" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lodash@3.x: - version "3.10.1" - resolved "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" - integrity sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ== - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" - integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ== - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz" - integrity sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A== - -lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz" - integrity sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -make-dir@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz" - integrity sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA== - dependencies: - pify "^3.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - -markdown-it-task-lists@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.0.tgz" - integrity sha512-3mT1oQ/brZiV719l3iY/ZIEQLIn60Y9U840l4hh3sA1seHM+ZZjzE5Env1+V1bWqKE1BeVffiuE7qNALzh7r2Q== - -markdown-it@^8.4.0: - version "8.4.0" - resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.0.tgz" - integrity sha512-tNuOCCfunY5v5uhcO2AUMArvKAyKMygX8tfup/JrgnsDqcCATQsAExBq7o5Ml9iMmO82bk6jYNLj6khcrl0JGA== - dependencies: - argparse "^1.0.7" - entities "~1.1.1" - linkify-it "^2.0.0" - mdurl "^1.0.1" - uc.micro "^1.0.3" - -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" - integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz" - integrity sha512-nOBDrc/wgpkd3X/JOhMqYR+/eLqlfLP4oQfoBA6QExIxEl+GU01oyEkwWyueyO8110pUKijtiHGhEmYoOn88oQ== - dependencies: - mimic-fn "^1.0.0" - -meow@^3.1.0: - version "3.7.0" - resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" - integrity sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA== - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" - integrity sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA== - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -micromatch@^3.1.4: - version "3.1.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz" - integrity sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.0" - define-property "^1.0.0" - extend-shallow "^2.0.1" - extglob "^2.0.2" - fragment-cache "^0.2.1" - kind-of "^6.0.0" - nanomatch "^1.2.5" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz" - integrity sha512-SUaL89ROHF5P6cwrhLxE1Xmk60cFcctcJl3zwMeQWcoQzt0Al/X8qxUz2gi19NECqYspzbYpAJryIRnLcjp20g== - -mime-types@^2.1.12, mime-types@~2.1.7: - version "2.1.17" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz" - integrity sha512-rOFZoFAbaupSpzARUe5CU1P9mwfX+lIFAuj0soNsEZEnrHu6LZNyV7/FClEB/oF9A1o5KStlumRjW6D4Q2FRCA== - dependencies: - mime-db "~1.30.0" - -mime@^1.2.11: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^1.4.1: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz" - integrity sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" - integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== - dependencies: - dom-walk "^0.1.0" - -minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, "minimatch@2 || 3": - version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" - integrity sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw== - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - integrity sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q== - -mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz" - integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" - integrity sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA== - dependencies: - minimist "0.0.8" - -mkdirp@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz" - integrity sha512-xjjNGy+ry1lhtIKcr2PT6ok3aszhQfgrUDp4OZLHacgRgFmF6XR9XCOJVcXlVGQonIqXcK1DvqgKKQOPWYGSfw== - dependencies: - minimist "0.0.8" - -mkpath@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz" - integrity sha512-bauHShmaxVQiEvlrAPWxSPn8spSL8gDVRl11r8vLT4r/KdnknLqtqwQbToZ2Oa8sJkExYY1z6/d+X7pNiqo4yg== - -mksnapshot@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/mksnapshot/-/mksnapshot-0.3.1.tgz" - integrity sha512-7QXruE/gZfnu91Ewnl2KAAKtr7/5XPt6raMtse3KJuI/d4WwqovZsQTWC/Zw63CEm5N51CTvIB5Sbty4UKNX2Q== - dependencies: - decompress-zip "0.3.0" - fs-extra "0.26.7" - request "^2.79.0" - -monaco-editor@^0.10.1: - version "0.10.1" - resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.10.1.tgz" - integrity sha512-cAd8PNlDnX6C6RQgv6dbddgg7oeAwKYB8OijP7HRiUA0Og+7XOs+SYZeZ4CzyYlkaHqHrzNVgjw7UjGIldA7bA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -nanomatch@^1.2.5: - version "1.2.7" - resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz" - integrity sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^1.0.0" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - is-odd "^1.0.0" - kind-of "^5.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -nopt@^3.0.1: - version "3.0.6" - resolved "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" - integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== - dependencies: - abbrev "1" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" - integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz" - integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== - dependencies: - remove-trailing-separator "^1.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - -nugget@^2.0.0, nugget@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz" - integrity sha512-4KCQZJuw6bdKTIWZYMN9Q//ust0W7CT0UDy7Y/l5KbJEFM/fQpqKIRTtHujRh9lqBkQm06k+driOS6rB5RgMzQ== - dependencies: - debug "^2.1.3" - minimist "^1.1.0" - pretty-bytes "^1.0.2" - progress-stream "^1.1.0" - request "^2.45.0" - single-line-log "^1.1.2" - throttleit "0.0.2" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== - -oauth-sign@~0.8.1: - version "0.8.2" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" - integrity sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg== - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" - integrity sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz" - integrity sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA== - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-tmpdir@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-limit@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz" - integrity sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng== - dependencies: - p-try "^1.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz" - integrity sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA== - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -parse-color@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz" - integrity sha512-fuDHYgFHJGbpGMgw9skY/bj3HL/Jrn4l/5rSspy00DoT4RyLnDcRvPxdZ+r6OFwIsgAuhDh4I09tAId4mI12bw== - dependencies: - color-convert "~0.5.0" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz" - integrity sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA== - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== - dependencies: - error-ex "^1.2.0" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" - integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== - -path-exists@^2.0.0, path-exists@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz" - integrity sha512-u4e4H/UUeMbJ1UnBnePf6r4cm4fFZs57BMocUSFeea807JTYk2HJnE9GjUpWHaDZk1OQGoArnWW1yEo9nd57ww== - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz" - integrity sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== - -plist@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz" - integrity sha512-yirJ+8SSb8o7pkfyNv+fTzUP0GbK52HMvh0MjMycCxvpL8rHiAfKhXU/3R5znSJnrGakV0WNZhr8yTR4//PjyA== - dependencies: - base64-js "1.2.0" - xmlbuilder "8.2.2" - xmldom "0.1.x" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz" - integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg== - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz" - integrity sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ== - -pretty-bytes@^1.0.2: - version "1.0.4" - resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz" - integrity sha512-LNisJvAjy+hruxp3GV4IkZZscTI34+ISfeM1hesB9V6ezIDfXYrBi9TIXVjjMcEB4QFN7tL+dFDEk4s8jMBMyA== - dependencies: - get-stdin "^4.0.1" - meow "^3.1.0" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" - integrity sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw== - -process@~0.5.1: - version "0.5.2" - resolved "https://registry.npmjs.org/process/-/process-0.5.2.tgz" - integrity sha512-oNpcutj+nYX2FjdEW7PGltWhXulAnFlM0My/k48L90hARCOJtvBbQXc/6itV2jDvU5xAAtonP+r6wmQgCcbAUA== - -progress-stream@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz" - integrity sha512-MIBPjZz6oGNSw5rn2mSp+nP9FGoaVo6QsPyPVEaD4puilz5hZNa3kfnrlqRNYFsugslbU3An4mnkLLtZOaWvrA== - dependencies: - speedometer "~0.1.2" - through2 "~0.2.3" - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz" - integrity sha512-Qs6dfgR5OksK/PSxl1kGxiZgEQe8RqJMB9wZqVlKQfU+zzV+HY77pWJnoJENACKDQByWdpr8ZPIh1TBi4lpiSQ== - -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz" - integrity sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.2.1: - version "1.2.5" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz" - integrity sha512-W9DW3KA9AMPhH/9ptNc+yy6BgL8xSAJINMdA8NRi3XKbb3FFUp/szBcNb4BdV3VAma8CinXnWxlrPjP5tEGBug== - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-config-file@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/read-config-file/-/read-config-file-2.1.1.tgz" - integrity sha512-tzV5MRYA1OIbjy0ZC3cKlQZMLyRYMJ7k37Inff0CH0fQGXFP9p0s0eJ3bQxnnvQDhPSspnW9fw9v2K0b+6TODg== - dependencies: - ajv "^5.5.0" - ajv-keywords "^2.1.0" - bluebird-lst "^1.0.5" - dotenv "^4.0.0" - dotenv-expand "^4.0.1" - fs-extra-p "^4.5.0" - js-yaml "^3.10.0" - json5 "^0.5.1" - lazy-val "^1.0.3" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -readable-stream@^1.1.8: - version "1.1.14" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" - integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.2, readable-stream@^2.2.2: - version "2.3.3" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" - integrity sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" - integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz" - integrity sha512-LgQ8mdp6hbxJUZz27qxVl7gmFM/0DfHRO52c5RUbKAgMvr81tour7YYWW1JYNmrXyD/o0Myy9/DC3fUYkqnyzg== - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" - integrity sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g== - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - dependencies: - is-equal-shallow "^0.1.3" - -regex-not@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz" - integrity sha512-bZ6ng7U/JpG63F9+br3N+dh8QsE1Jm24CEXfUir8lyvZRYZsbQyNy5gflhttrAlmjMtE1JTSKQCx5aVGQGWRKA== - dependencies: - extend-shallow "^2.0.1" - -registry-auth-token@^3.0.1: - version "3.3.2" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz" - integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz" - integrity sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA== - dependencies: - rc "^1.0.1" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" - integrity sha512-PJn5P/wQgXwp0Bpmzv9JU693QYky9P5bwntpuw8SsMXgUZHlcEyr9Vajgp/zhGSFX56/lv9Bz2k9mKrkpxLI4A== - -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" - integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== - dependencies: - is-finite "^1.0.0" - -request@^2.45.0, request@^2.79.0, request@2.81.0: - version "2.81.0" - resolved "https://registry.npmjs.org/request/-/request-2.81.0.tgz" - integrity sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw== - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" - integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - -resolve@^1.1.6: - version "1.5.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz" - integrity sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw== - dependencies: - path-parse "^1.0.5" - -rimraf@^2.2.8: - version "2.6.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz" - integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== - dependencies: - glob "^7.0.5" - -rxjs@^5.5.6: - version "5.5.6" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz" - integrity sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg== - dependencies: - symbol-observable "1.0.1" - -safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" - integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== - -sanitize-filename@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz" - integrity sha512-XJty6Im+yPTLWiF7mW6BeZogNpYLk4jCSHJh1Xm8MyTcjajC1NDB/SwJEN5rDop3hp0AV2FFipwaTnmtKJMyRQ== - dependencies: - truncate-utf8-bytes "^1.0.0" - -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz" - integrity sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw== - dependencies: - semver "^5.0.3" - -semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, "semver@2 || 3 || 4 || 5": - version "5.5.0" - resolved "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz" - integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz" - integrity sha512-lIj6AWViymAQLQyq1qehP44w4iGbSv6pYOKRQCDzqlmxctLyCrecuge0bxRPrNSnV8EeMHKR2fVTRl3LniQLNg== - dependencies: - to-object-path "^0.3.0" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz" - integrity sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ== - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz" - integrity sha512-2Z0LRUUvYeF7gIFFep48ksPq0NR09e5oKoFXznaMGNcu+EZAfGnyL0K6xno2gCqX6dZYEZRjrcn04/gvZzcKhQ== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -"shelljs@>= 0.4.0": - version "0.8.1" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz" - integrity sha512-YA/iYtZpzFe5HyWVGrb02FjPxc4EMCfpoU/Phg9fQoyMC72u9598OUBrsU8IrtwAKG0tO8IYaqbaLIw+k3IRGA== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" - integrity sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA== - -single-line-log@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz" - integrity sha512-awzaaIPtYFdexLr6TBpcZSGPB6D1RInNO/qNetgaJloPDF/D0GkVtLvGEp8InfmLV7CyLyQ5fIRP+tVN/JmWQA== - dependencies: - string-width "^1.0.1" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz" - integrity sha512-fdVXpAHhS009K1+ldH0ZNPLgRK8TNw6KyOMohBhzufiYrVI2v/zIhQ16/W9mdKB7vrAJhYCtvmdSjnZGbG7/Zg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^2.0.0" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" - integrity sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A== - dependencies: - hoek "2.x.x" - -source-map-resolve@^0.5.0: - version "0.5.1" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz" - integrity sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A== - dependencies: - atob "^2.0.0" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz" - integrity sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w== - dependencies: - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz" - integrity sha512-liJwHPI9x9d9w5WSIjM58MqGmmb7XzNqwdUA3kSBQ4lmDngexlKwawGzK3J1mKXi6+sysoMDlpVyZh9sv5vRfw== - -source-map@^0.5.3, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz" - integrity sha512-A6UuuDdsSvKK2bqmUetv33zJVv0iczyaQZ536YL9+GAvbC4HceGKvXDtptnU9YZ/zGgryaFFsR4YaUCq+N/53g== - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz" - integrity sha512-xMXXC4eLKaIskvZm89nZi/MstVv1UtGk3nJz9BBKjreMVyoWisWFKfboH+kJS97+wUyBLpO/8ghV9M5VvrwwrA== - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz" - integrity sha512-qIBFhkh6ILCWNeWEe3ODFPKDYhPJrZpqdNCI2Z+w9lNdH5hoVEkfRLLbRfoIi8fb4xRYmpEOaaMH4G2pwYp/iQ== - -speedometer@~0.1.2: - version "0.1.4" - resolved "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz" - integrity sha512-phdEoDlA6EUIVtzwq1UiNMXDUogczp204aYF/yfOhjNePWFfIpBJ1k5wLMuXQhEOOMjuTJEcc4vdZa+vuP+n/Q== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sshpk@^1.7.0: - version "1.13.1" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz" - integrity sha512-oKPL4k+ld5d737ZPB4VM99bqNb3JH+ZkxwWXR1iSPtqYbZv81hkLD7v8gmclrgR7aA8uh8ar+q0IF7gHFHg7PQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -stat-mode@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz" - integrity sha512-o+7DC0OM5Jt3+gratXXqfXf62V/CBoqQbT7Kp7jCxTYW2PLOB2/ZSGIfm9T5/QZe1Vw1MCbu6DoB6JnhVtxcJw== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" - integrity sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ== - dependencies: - safe-buffer "~5.1.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" - integrity sha512-QUQ1kThMjLRt4jA8lsn9lyIkE9bKafE7LDOL/nBBUY9Tfv2i3x1NAsVHG0uMCusFOWeeI6COhY/F20+avxRWSw== - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== - dependencies: - is-utf8 "^0.2.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" - integrity sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA== - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -sumchecker@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz" - integrity sha512-ZfWTnMBdeHaXR7ncH96vRUI07B+wLuXxGPGUMR+EM4QJRJoD535ALIdpc+vHB8eA+1DXJztu3CgHZ1zEhbDF4A== - dependencies: - debug "^2.2.0" - es6-promise "^4.0.5" - -sumchecker@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz" - integrity sha512-16O54scwFPgX60Of/+QJSufmklGqnHZyBK6uewBvtcp3VxT5RM65c/OnGCeEPnjBF8TJoO5Pf6gHAOXfxIjNpA== - dependencies: - debug "^2.2.0" - -supports-color@^4.0.0: - version "4.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" - integrity sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw== - dependencies: - has-flag "^2.0.0" - -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz" - integrity sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw== - -temp-file@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/temp-file/-/temp-file-3.1.1.tgz" - integrity sha512-W/6SJgtg2SE/5rxgwUwoDhdSXrvUWQBpgKJglaAe6S7mk1kLkI+LUbY/jPZBu3UhydDJZstNNd7AJhnZ0UZHtw== - dependencies: - async-exit-hook "^2.0.1" - bluebird-lst "^1.0.5" - fs-extra-p "^4.5.0" - lazy-val "^1.0.3" - -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz" - integrity sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ== - dependencies: - execa "^0.7.0" - -throttleit@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz" - integrity sha512-HtlTFeyYs1elDM2txiIGsdXHaq8kffVaZH/QEBRbo95zQqzlsBx5ELKhkPOZVad9OK9oxzwx6UrQN8Vfh/+yag== - -through2@~0.2.3: - version "0.2.3" - resolved "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz" - integrity sha512-mLa8Bn2mZurjyomGKWRu3Bo2mvoQojFks9NvOK8H+k4kDJNkdEqG522KFZsEFBEl6rKkxTgFbE5+OPcgfvPEHA== - dependencies: - readable-stream "~1.1.9" - xtend "~2.1.1" - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - -tmp@0.0.28: - version "0.0.28" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz" - integrity sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg== - dependencies: - os-tmpdir "~1.0.1" - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz" - integrity sha512-lSIz7PKxfLbP/dbEiTKL9Ove+h5AZ1VwI4TB3rF619tU4mFPvtA8tDuf3skAuKYtvZ3+zTqENZs07xyynLHswg== - dependencies: - define-property "^0.2.5" - extend-shallow "^2.0.1" - regex-not "^1.0.0" - -touch@0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz" - integrity sha512-/LQ54KM9rPf3rGXGo2UPQWx3ol242Zg6Whq27H5DEmZhCJo+pm9N5BzRGepO9vTVhYxpXJdcc1+3uaYt9NyeKg== - dependencies: - nopt "~1.0.10" - -tough-cookie@~2.3.0: - version "2.3.3" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz" - integrity sha512-WR9pjSY3qO0z3yC6g33CRcVt2Wbevh0gP1XiSFql0/xRioi9qbDs3C+g4Nv2N8jmv/BloIi/SYoy/mfw5vus2A== - dependencies: - punycode "^1.4.1" - -"traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz" - integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" - integrity sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw== - -truncate-utf8-bytes@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz" - integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== - dependencies: - utf8-byte-length "^1.0.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@^2.7.2: - version "2.7.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz" - integrity sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw== - -uc.micro@^1.0.1, uc.micro@^1.0.3: - version "1.0.5" - resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz" - integrity sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg== - -underscore.string@2.3.x: - version "2.3.3" - resolved "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" - integrity sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg== - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz" - integrity sha512-gKXL/GYJJ6/EUcUoTJ0wvupGylrP1Q0QhkgTMixasTn8J5mEZY3fbcj25gOL3opWToztz7/BUHGm78npw7J57Q== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz" - integrity sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg== - dependencies: - crypto-random-string "^1.0.0" - -universalify@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz" - integrity sha512-MVi79HEPwGk0grI7/Kl6H51fX7wcDTe6gGoCdK22pkRG6IPsi9L6NltClWJfBLUoIE5y3pKy3SplFAs/b0G+QQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz" - integrity sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw== - -upath@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/upath/-/upath-1.0.0.tgz" - integrity sha512-0vACkN+o0lRwiR2jnvY3eaKyqlpWEbR3W3CXpCMSzOPmSGK4Q7X3fLPJwGT6MCJAATkU5LhGma7ZHNjC7TbYxQ== - dependencies: - lodash "3.x" - underscore.string "2.3.x" - -update-notifier@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz" - integrity sha512-KBLtk9uq+79OJkHB+hdxbikPrYwPc1JoiSbpU/bKknBG3z2gzFzYabHI7jNkQXzMDqipUnvNsKnowCq6PoEakg== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz" - integrity sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA== - dependencies: - prepend-http "^1.0.1" - -use@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/use/-/use-2.0.2.tgz" - integrity sha512-RrhWfFWkNCz3djfSFZh7uSwu491QRhwNaHyAgB2sGl4kmmznb5ZUuuHpiWLVEsXOdpDakYK/x5+9o4lgg41UMw== - dependencies: - define-property "^0.2.5" - isobject "^3.0.0" - lazy-cache "^2.0.2" - -utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz" - integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -uuid@^3.0.0: - version "3.2.1" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz" - integrity sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA== - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" - integrity sha512-VD0zBfAttoSxzPa+I+rF6ckOEEPSbifYNTSgRW5BsyfaD7gSE/uge00r2Xqa0d/yhF1MyHnMPHqLUdQRNimR2A== - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== - -which@^1.2.9: - version "1.3.0" - resolved "https://registry.npmjs.org/which/-/which-1.3.0.tgz" - integrity sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg== - dependencies: - isexe "^2.0.0" - -widest-line@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz" - integrity sha512-qtJMTOlxGeYU2euDtbbhxBMCSDM02Yd+0W1CShkwpf4mufD9Jmc33cdQjYyZXSHvArpEhlaCqI/gxob/J4/AyA== - dependencies: - string-width "^2.1.1" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz" - integrity sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz" - integrity sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ== - -xmlbuilder@8.2.2: - version "8.2.2" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz" - integrity sha512-eKRAFz04jghooy8muekqzo8uCSVNeyRedbuJrp0fovbLIi7wlsYtdUn3vBAAPq2Y3/0xMz2WMEUQ8yhVVO9Stw== - -xmldom@0.1.x: - version "0.1.27" - resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz" - integrity sha512-7WpJBYwyhvsddFJA51SOIU0Be9W44sbGGjc6Z3ly8Wx/Wl7nriMPZ5xf6Np9ASlJ6gACfXcTLukm4DtX372lFw== - -xtend@~2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz" - integrity sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== - dependencies: - object-keys "~0.4.0" - -xterm@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/xterm/-/xterm-3.2.0.tgz" - integrity sha512-WH1V7eOwybpZoms8zQmMsAVcF3NlW3bVUdftCRt7TYs1E7tYgr59QknJ/pfVqQh5Ao8I8XiPGVKn//6U/yJ9ew== - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz" - integrity sha512-Vd1yWKYGMtzFB6bAuTI7/POwJnwQStQXOe1PW1GmjUZgkaKYGc6/Pl3IDGFgplEklF65niuwBHeS5yve4+U01Q== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yargs-parser@^9.0.2: - version "9.0.2" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz" - integrity sha512-CswCfdOgCr4MMsT1GzbEJ7Z2uYudWyrGX8Bgh/0eyCzj/DXWdKq6a/ADufkzI1WAOIW6jYaXJvRyLhDO0kfqBw== - dependencies: - camelcase "^4.1.0" - -yargs@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz" - integrity sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw== - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^9.0.2" - -yauzl@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz" - integrity sha512-TXNR2Feu/p/8k5YRy4z45wCUhoncIrZywmRd+xW0IvB3lWTAM7F6wVbeJvRjO0dplQ8oqmJEj/TpJuULBV/hbw== - dependencies: - fd-slicer "~1.0.1" From db32af0fd624335c785f7700715e05579847faad Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 12:46:52 +1000 Subject: [PATCH 14/67] console: update rxjs, xterm, protobuf and the smaller libraries rxjs 5 to 7: operators move into pipe(), Observable.create becomes the constructor, and merge is a top-level function. Every site changes the same way. xterm 3 to 6: the terminal no longer patches xterm's prototype or imports its internals. The fit, cursor-position and annotation addons become plain functions and a class that use the public buffer API (cursorX, cursorY, viewportY, baseY, getLine), the fit addon for the proposed geometry, and the web-links addon. Cell sizes and the scrollback trim event have no public equivalent, so xterm_internals.ts holds those two reaches into xterm's core, with a fallback, and nothing else touches it. Horizontal scrolling of wide output, which used to shift xterm's screen element under its own viewport, now scrolls the terminal's container instead; the fit still keeps the column count at least as wide as the widest line. xterm stopped exporting its character width table, so wcwidth comes from the package of that name. google-protobuf 3.21 to 4.0 (the generated code is unchanged), chokidar 2 to 4 (5 is ESM-only), markdown-it 8 to 15, less 3 to 4, js-base64 2 to 3, all without source changes beyond the imports already made. Verified by launching from source: startup is clean and the editor works. The terminal needs Excel and is covered next. Co-Authored-By: Claude Fable 5.1 --- Console/index.html | 2 +- Console/package-lock.json | 2732 +++-------------- Console/package.json | 19 +- Console/src/common/config_manager.ts | 2 +- Console/src/editor/editor.ts | 10 +- Console/src/renderer.ts | 6 +- Console/src/shell/annotation_addon.ts | 85 +- .../src/shell/cursor_client_position_addon.ts | 55 - Console/src/shell/custom-fit.ts | 98 +- Console/src/shell/multiplexed_terminal.ts | 2 +- Console/src/shell/terminal_implementation.ts | 97 +- Console/src/shell/terminal_state.ts | 16 +- Console/src/shell/wcwidth.ts | 29 + Console/src/shell/xterm_internals.ts | 104 + Console/src/ui/user_stylesheet.ts | 3 +- Console/typings.d.ts | 5 + 16 files changed, 615 insertions(+), 2650 deletions(-) delete mode 100644 Console/src/shell/cursor_client_position_addon.ts create mode 100644 Console/src/shell/wcwidth.ts create mode 100644 Console/src/shell/xterm_internals.ts diff --git a/Console/index.html b/Console/index.html index f4ad946a..3b773f76 100644 --- a/Console/index.html +++ b/Console/index.html @@ -24,7 +24,7 @@ BERT Console - + diff --git a/Console/package-lock.json b/Console/package-lock.json index adaf4d3a..a0a5dadd 100644 --- a/Console/package-lock.json +++ b/Console/package-lock.json @@ -10,16 +10,19 @@ "license": "GPL-3.0", "dependencies": { "@electron/remote": "^2.1.3", - "chokidar": "^2.0.1", + "@xterm/addon-fit": "^0.11.0", + "@xterm/addon-web-links": "^0.12.0", + "@xterm/xterm": "^6.0.0", + "chokidar": "^4.0.3", "electron-window-state": "^5.0.3", - "google-protobuf": "^3.21.4", - "js-base64": "^2.4.3", - "less": "^3.0.1", - "markdown-it": "^8.4.0", - "markdown-it-task-lists": "^2.1.0", + "google-protobuf": "^4.0.2", + "js-base64": "^3.9.3", + "less": "^4.9.1", + "markdown-it": "^15.0.1", + "markdown-it-task-lists": "^2.1.1", "monaco-editor": "^0.56.0", - "rxjs": "^5.5.6", - "xterm": "^3.2.0" + "rxjs": "^7.8.2", + "wcwidth": "^1.0.1" }, "devDependencies": { "@types/node": "^22.0.0", @@ -1003,6 +1006,27 @@ "node": ">=10.0.0" } }, + "node_modules/@xterm/addon-fit": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-fit/-/addon-fit-0.11.0.tgz", + "integrity": "sha512-jYcgT6xtVYhnhgxh3QgYDnnNMYTcf8ElbxxFzX0IZo+vabQqSPAjC3c1wJrKB5E19VwQei89QCiZZP86DCPF7g==", + "license": "MIT" + }, + "node_modules/@xterm/addon-web-links": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-web-links/-/addon-web-links-0.12.0.tgz", + "integrity": "sha512-4Smom3RPyVp7ZMYOYDoC/9eGJJJqYhnPLGGqJ6wOBfB8VxPViJNSKdgRYb8NpaM6YSelEKbA2SStD7lGyqaobw==", + "license": "MIT" + }, + "node_modules/@xterm/xterm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-6.0.0.tgz", + "integrity": "sha512-TQwDdQGtwwDt+2cgKDLn0IRaSxYu1tSUjgKarSDkUM0ZNiSRXFpjxEsvc/Zgc5kq5omJ+V0a8/kIM2WD3sMOYg==", + "license": "MIT", + "workspaces": [ + "addons/*" + ] + }, "node_modules/agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", @@ -1056,16 +1080,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "license": "ISC", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, "node_modules/app-builder-lib": { "version": "26.15.3", "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.15.3.tgz", @@ -1269,63 +1283,20 @@ } }, "node_modules/argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha512-iK7YPKV+GsvihPUTKcM3hh2gq47zSFCpVDv/Ay2O9mzuD7dfvLV4vhms4XcjZvv4VRgXuGLMEts51IlTjS11/A==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "license": "MIT", - "optional": true - }, - "node_modules/asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w==", - "license": "MIT", - "optional": true + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-3.0.1.tgz", + "integrity": "sha512-nM4mHF/KM1v59ZNKX7zfusQz5wUAxR511YG8Vo6TyiV4aqhu++rbJW4v04xsWhpSsHFj66flT8P7znVpyO20xQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "PSF-2.0" }, "node_modules/asn1js": { "version": "3.0.10", @@ -1342,25 +1313,6 @@ "node": ">=12.0.0" } }, - "node_modules/assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -1368,12 +1320,6 @@ "dev": true, "license": "MIT" }, - "node_modules/async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha512-STDwmg+1mv249vNFx+s+sF4HrdLxlF5Z6L4npilrkgchWPEuW4X13gKzSJq51qJy9InOgwmPepgfMb9/Qu0fSg==", - "license": "MIT" - }, "node_modules/async-exit-hook": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", @@ -1388,7 +1334,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/at-least-node": { @@ -1401,59 +1347,20 @@ "node": ">= 4.0.0" } }, - "node_modules/atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha512-Yxttd2MoIWl3oCSKqG85cu2FkbPtv3P8nDirIpelp4/Pwl7rQ3diJDthXEueFZxxLgjGNrtB2oRej1ONzC9sug==", - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": "*" - } - }, "node_modules/aws4": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==", + "dev": true, "license": "MIT" }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "license": "MIT", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -1475,25 +1382,6 @@ ], "license": "MIT" }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha512-vY4sOrSlpwNZXsinfJ0HpbSkFft4nhSVLeUrQ4j2ydGmBOiVY83aMJStJATBy0C3+XdaYa990kIA1qkC2mUq6g==", - "license": "BSD-3-Clause", - "optional": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha512-9XXbu17rAPSov41Lvd1NwrwA3Wvh2WRpxJptRjVTw55R+ZIQ9QrzuEPMMPhxXry2GTpmmUXwd8rSvp50H+7uQA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -1510,52 +1398,17 @@ "license": "MIT", "optional": true }, - "node_modules/boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", - "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "license": "BSD-3-Clause", - "optional": true, - "dependencies": { - "hoek": "2.x.x" - }, - "engines": { - "node": ">=0.10.40" - } - }, "node_modules/brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha512-Dnfc9ROAPrkkeLIUweEbh7LFT9Mc53tO/bbM044rKjhgAEyIGKvKXg97PM/kRizZIfUHaROZIoeEaWao+Unzfw==", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", - "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -1613,26 +1466,6 @@ "node": ">=6.0.0" } }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "license": "MIT", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -1676,13 +1509,6 @@ "node": ">= 0.4" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "license": "Apache-2.0", - "optional": true - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1701,25 +1527,18 @@ } }, "node_modules/chokidar": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.1.tgz", - "integrity": "sha512-rv5iP8ENhpqvDWr677rAXcB+SMoPQ1urd4ch79+PhM4lQwbATdJUQK69t0lJIKNB+VXpqxt5V1gvqs59XEPKnw==", - "license": "MIT", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "1.0.0" + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" }, - "optionalDependencies": { - "fsevents": "^1.0.0" + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/chownr": { @@ -1755,106 +1574,6 @@ "node": ">=8" } }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "deprecated": "Please upgrade to v0.1.7", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "deprecated": "Please upgrade to v0.1.5", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -1870,6 +1589,15 @@ "node": ">=12" } }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/clone-response": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", @@ -1883,30 +1611,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "license": "MIT", - "optional": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "license": "MIT", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1931,7 +1635,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" @@ -1950,31 +1654,33 @@ "node": ">=0.10.0" } }, - "node_modules/component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha512-jPatnhd33viNplKjqXKRkGU345p263OIWzDL2wH3LGIGp5Kojo+uXizHmOADRvhGFFTnJqX3jBAKP6vvmSDKcA==", - "license": "MIT" - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, "license": "MIT" }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, "license": "MIT" }, "node_modules/cross-dirname": { @@ -2024,43 +1730,6 @@ "node": ">= 8" } }, - "node_modules/cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", - "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "license": "BSD-3-Clause", - "optional": true, - "dependencies": { - "boom": "2.x.x" - }, - "engines": { - "node": ">=0.10.40" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "license": "MIT", - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dashdash/node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -2078,21 +1747,6 @@ } } }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -2122,6 +1776,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -2170,23 +1836,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -2287,16 +1941,6 @@ "readable-stream": "^2.0.2" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha512-8Pvg9QY16SYajEL9W1Lk+9yM7XCK/MOq2wibslLZYAAEEkbAIO6mLkW+GFYbvvw8qTuDFzFMg40rS9IxkNCWPg==", - "license": "MIT", - "optional": true, - "dependencies": { - "jsbn": "~0.1.0" - } - }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", @@ -2528,10 +2172,16 @@ } }, "node_modules/entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha512-bWStsIg5+vWzgtKoA/pkAIJzRAeUatnImqcK4CyHd2KoNq3fCg/tHDoE/7e81yRq9Xg8XUSvAcsSaMCp4a3HuQ==", - "license": "BSD-like" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/env-paths": { "version": "3.0.0", @@ -2646,118 +2296,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "license": "MIT", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "deprecated": "Please upgrade to v0.1.7", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "deprecated": "Please upgrade to v0.1.5", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/exponential-backoff": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", @@ -2765,54 +2303,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha512-u1aUSYGdAQxyguoP919qsgj24krDCtaO/DJFNPwFmojMmKp14gtCTVsc8lQSqRDFrwAch+mxMWC8/6ZJPz5Hpw==", - "license": "MIT", - "optional": true - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "license": "MIT", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "optional": true - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2888,67 +2378,6 @@ "node": ">=10" } }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "license": "MIT", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -2984,28 +2413,6 @@ "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "bundleDependencies": [ - "node-pre-gyp" - ], - "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "nan": "^2.3.0", - "node-pre-gyp": "^0.6.39" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3081,57 +2488,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "license": "MIT", - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/getpass/node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "license": "ISC", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/global-agent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", @@ -3170,9 +2526,9 @@ } }, "node_modules/google-protobuf": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", - "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-4.0.2.tgz", + "integrity": "sha512-yD2fqbNgvJPuQwdKJiPdbUcXveNRxgqy070gzsBsCyFJA8Qdj9oxa9xtkddb/JEhcDk0RD5SfGUWg+nhINfMxA==", "license": "(BSD-3-Clause AND Apache-2.0)" }, "node_modules/gopd": { @@ -3220,42 +2576,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, - "node_modules/har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==", - "license": "ISC", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", - "deprecated": "this library is no longer supported", - "license": "ISC", - "optional": true, - "dependencies": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator/node_modules/ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3309,45 +2629,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "license": "MIT", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/hasown": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", @@ -3361,34 +2642,6 @@ "node": ">= 0.4" } }, - "node_modules/hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", - "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", - "license": "BSD-3-Clause", - "optional": true, - "dependencies": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - }, - "engines": { - "node": ">=0.10.32" - } - }, - "node_modules/hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", - "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.10.40" - } - }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -3423,22 +2676,6 @@ "node": ">= 14" } }, - "node_modules/http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", - "license": "MIT", - "optional": true, - "dependencies": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, "node_modules/http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -3467,14 +2704,14 @@ "node": ">= 14" } }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "optional": true, - "bin": { - "image-size": "bin/image-size.js" + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -3496,84 +2733,9 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true, "license": "ISC" }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "deprecated": "Please upgrade to v1.0.1", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "license": "MIT" - }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "deprecated": "Please upgrade to v1.0.1", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -3584,77 +2746,23 @@ "node": ">=8" } }, - "node_modules/is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha512-IEg9HSCKitWUYBRkCSztkm2Lenav8e04mlxHjiMRg2w9Bx82TFIDEDamwfn0RgwFgLNLSkZd0YJT2ColdN8KCw==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-odd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz", - "integrity": "sha512-yIhxkKCK7pZnj48WBvaTQ36Or7PymGYqmZrSNqkrhmU3pakkp2TWhuN7hH25bqJgH+Xq4IZ3QNd3+QVshldEHA==", + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", "license": "MIT", - "dependencies": { - "is-number": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" + "node": ">=12.13" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "license": "MIT", - "optional": true - }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, "license": "MIT" }, "node_modules/isbinaryfile": { @@ -3680,22 +2788,6 @@ "node": ">=18" } }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "license": "MIT", - "optional": true - }, "node_modules/jake": { "version": "10.9.4", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", @@ -3725,9 +2817,9 @@ } }, "node_modules/js-base64": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", - "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.9.3.tgz", + "integrity": "sha512-uwYQp+VJ38FVvtim6qNbit6e9uT6dwWQ4Y1+H9TxhW5hcHjpHwoxlR0nMpqUmIFOmu4VqMxwdJA88gIVuZJQ/g==", "license": "BSD-3-Clause" }, "node_modules/js-yaml": { @@ -3760,13 +2852,6 @@ "dev": true, "license": "Python-2.0" }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "license": "MIT", - "optional": true - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -3774,12 +2859,6 @@ "dev": true, "license": "MIT" }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==", - "optional": true - }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -3787,20 +2866,11 @@ "dev": true, "license": "MIT" }, - "node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "license": "MIT", - "optional": true, - "dependencies": { - "jsonify": "~0.0.0" - } - }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, "license": "ISC", "optional": true }, @@ -3817,42 +2887,6 @@ "node": ">=6" } }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==", - "license": "Public Domain", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog==", - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/jsprim/node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -3863,27 +2897,6 @@ "json-buffer": "3.0.1" } }, - "node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==", - "license": "MIT", - "dependencies": { - "set-getter": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/lazy-val": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", @@ -3892,25 +2905,28 @@ "license": "MIT" }, "node_modules/less": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.0.1.tgz", - "integrity": "sha512-qUR4uNv88/c0mpnGOULgMLRXXSD6X0tYo4cVrokzsvn68+nuj8rskInCSe2eLAVYWGD/oAlq8P7J/FeZ/euKiw==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/less/-/less-4.9.1.tgz", + "integrity": "sha512-orp15PfJvvNDIqJdVWzMI9Sjpjp3VTiw3sfvbB+67LlISTEn8uVT2EdYSuyl02BLvaftv6sdk9Umnxmm5rckmg==", "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^3.0.5", + "parse-node-version": "^1.0.1" + }, "bin": { "lessc": "bin/lessc" }, "engines": { - "node": ">=4" + "node": ">=18" }, "optionalDependencies": { "errno": "^0.1.1", "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", + "make-dir": "^5.1.0", "mime": "^1.4.1", - "mkdirp": "^0.5.0", - "promise": "^7.1.1", - "request": "2.81.0", - "source-map": "^0.5.3" + "needle": "^3.1.0", + "probe-image-size": "^7.2.3", + "source-map": "~0.6.0" } }, "node_modules/less/node_modules/mime": { @@ -3927,19 +2943,30 @@ } }, "node_modules/linkify-it": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", - "integrity": "sha512-eMNKghlRbOz74oeCO61NHixBXtKifyBAxs3YQRLthhViT8T/9reBq00NIWYEC1CdwQmn/xShUl8JqgWFYxo6gw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-6.1.0.tgz", + "integrity": "sha512-wJ/TwpSDTLepCrQoYWYIExIKg5Zchex2Nn5yk2mFnB+6PtdkHtyLx742md9csRjjOnGkKIS/RrbY7l8D6gT9Vw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { - "uc.micro": "^1.0.1" + "uc.micro": "^3.0.0" } }, - "node_modules/lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==", - "license": "MIT" + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT", + "optional": true }, "node_modules/lowercase-keys": { "version": "2.0.0", @@ -3964,47 +2991,50 @@ "node": ">=10" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "node_modules/make-dir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-5.1.0.tgz", + "integrity": "sha512-IfpFq6UM39dUNiphpA6uDezNx/AvWyhwfICWPR3t1VspkgkMZrL+Rk1RbN1bx+aeNYwOrqGJgEgV3yotk+ZUVw==", "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "license": "MIT", - "dependencies": { - "object-visit": "^1.0.0" + "node": ">=18" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/markdown-it": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.0.tgz", - "integrity": "sha512-tNuOCCfunY5v5uhcO2AUMArvKAyKMygX8tfup/JrgnsDqcCATQsAExBq7o5Ml9iMmO82bk6jYNLj6khcrl0JGA==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-15.0.1.tgz", + "integrity": "sha512-9/7gE95FNPkfUWrjJIoHZza2iLmuJlPD0UNMxPi7bxUrbCR525YZY0r+zyfes0dZI5ZZ/uNIXUJca0pJvtw41g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.3" + "argparse": "^3.0.0", + "entities": "^8.0.0", + "linkify-it": "^6.0.0", + "mdurl": "^2.1.0", + "punycode.js": "^2.3.1", + "uc.micro": "^3.0.0" }, "bin": { - "markdown-it": "bin/markdown-it.js" + "markdown-it": "bin/markdown-it.mjs" } }, "node_modules/markdown-it-task-lists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.0.tgz", - "integrity": "sha512-3mT1oQ/brZiV719l3iY/ZIEQLIn60Y9U840l4hh3sA1seHM+ZZjzE5Env1+V1bWqKE1BeVffiuE7qNALzh7r2Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz", + "integrity": "sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA==", "license": "ISC" }, "node_modules/marked": { @@ -4044,35 +3074,11 @@ } }, "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.1.0.tgz", + "integrity": "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==", "license": "MIT" }, - "node_modules/micromatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", - "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.0", - "define-property": "^1.0.0", - "extend-shallow": "^2.0.1", - "extglob": "^2.0.2", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.0", - "nanomatch": "^1.2.5", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", @@ -4090,7 +3096,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -4100,7 +3106,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -4123,6 +3129,7 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -4164,32 +3171,6 @@ "node": ">= 18" } }, - "node_modules/mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "deprecated": "Critical bug fixed in v2.0.1, please upgrade to the latest version.", - "license": "MIT", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -4220,47 +3201,26 @@ } }, "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, - "node_modules/nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha512-kBTsZNixwSmgVRl1nIVCkQzqRmosFpnY/pLPYo8xC7Mu9ehnKkbrMsM4xb889UafRGLqJ58hKZp+Dn4XVP9Bpg==", - "license": "MIT", - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz", - "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==", + "node_modules/needle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.5.0.tgz", + "integrity": "sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==", "license": "MIT", + "optional": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "is-odd": "^1.0.0", - "kind-of": "^5.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node": ">= 4.4.x" } }, "node_modules/node-abi": { @@ -4390,18 +3350,6 @@ "dev": true, "license": "MIT" }, - "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "license": "MIT", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", @@ -4415,103 +3363,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "license": "MIT", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "deprecated": "Please upgrade to v0.1.7", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "deprecated": "Please upgrade to v0.1.5", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -4523,30 +3374,6 @@ "node": ">= 0.4" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -4583,25 +3410,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "license": "MIT" - }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -4632,13 +3454,6 @@ "url": "https://github.com/sponsors/jet2jet" } }, - "node_modules/performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", - "license": "MIT", - "optional": true - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -4705,15 +3520,6 @@ "node": ">=10.4.0" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postject": { "version": "1.0.0-alpha.6", "resolved": "https://registry.npmjs.org/postject/-/postject-1.0.0-alpha.6.tgz", @@ -4744,6 +3550,69 @@ "node": "^12.20.0 || >=14" } }, + "node_modules/probe-image-size": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.4.0.tgz", + "integrity": "sha512-cdEprVtZxV+awMde9X+4jILBFYh4CARxVrQaMl4wY4YcPWbul9jntXrIW95NInBDyJwcVUP3U0T6yukN8rMBaQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "lodash.merge": "^4.6.2", + "needle": "^2.5.2", + "stream-parser": "~0.3.1" + } + }, + "node_modules/probe-image-size/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/probe-image-size/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/probe-image-size/node_modules/needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, "node_modules/proc-log": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", @@ -4758,6 +3627,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==", + "dev": true, "license": "MIT" }, "node_modules/progress": { @@ -4769,16 +3639,6 @@ "node": ">=0.4.0" } }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "license": "MIT", - "optional": true, - "dependencies": { - "asap": "~2.0.3" - } - }, "node_modules/promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", @@ -4823,12 +3683,14 @@ "once": "^1.3.1" } }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "license": "MIT", - "optional": true + "engines": { + "node": ">=6" + } }, "node_modules/pvtsutils": { "version": "1.3.6", @@ -4850,16 +3712,6 @@ "node": ">=16.0.0" } }, - "node_modules/qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha512-Qs6dfgR5OksK/PSxl1kGxiZgEQe8RqJMB9wZqVlKQfU+zzV+HY77pWJnoJENACKDQByWdpr8ZPIh1TBi4lpiSQ==", - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -4890,6 +3742,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", @@ -4902,89 +3755,16 @@ } }, "node_modules/readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha512-LgQ8mdp6hbxJUZz27qxVl7gmFM/0DfHRO52c5RUbKAgMvr81tour7YYWW1JYNmrXyD/o0Myy9/DC3fUYkqnyzg==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/regex-not": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz", - "integrity": "sha512-bZ6ng7U/JpG63F9+br3N+dh8QsE1Jm24CEXfUir8lyvZRYZsbQyNy5gflhttrAlmjMtE1JTSKQCx5aVGQGWRKA==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "license": "ISC" - }, - "node_modules/repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha512-PJn5P/wQgXwp0Bpmzv9JU693QYky9P5bwntpuw8SsMXgUZHlcEyr9Vajgp/zhGSFX56/lv9Bz2k9mKrkpxLI4A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "license": "MIT", "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" + "node": ">= 14.18.0" }, - "engines": { - "node": ">= 4" + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/require-directory": { @@ -5032,13 +3812,6 @@ "dev": true, "license": "MIT" }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "license": "MIT" - }, "node_modules/responselike": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", @@ -5125,23 +3898,28 @@ "optional": true }, "node_modules/rxjs": { - "version": "5.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", - "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "license": "Apache-2.0", "dependencies": { - "symbol-observable": "1.0.1" - }, - "engines": { - "npm": ">=2.0.0" + "tslib": "^2.1.0" } }, "node_modules/safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true, "license": "MIT" }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT", + "optional": true + }, "node_modules/sanitize-filename": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.4.tgz", @@ -5156,7 +3934,7 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", - "dev": true, + "devOptional": true, "license": "BlueOak-1.0.0", "engines": { "node": ">=11.0.0" @@ -5199,43 +3977,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/set-getter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", - "integrity": "sha512-lIj6AWViymAQLQyq1qehP44w4iGbSv6pYOKRQCDzqlmxctLyCrecuge0bxRPrNSnV8EeMHKR2fVTRl3LniQLNg==", - "license": "MIT", - "dependencies": { - "to-object-path": "^0.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -5279,413 +4020,69 @@ "node": ">=10" } }, - "node_modules/snapdragon": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", - "integrity": "sha512-fdVXpAHhS009K1+ldH0ZNPLgRK8TNw6KyOMohBhzufiYrVI2v/zIhQ16/W9mdKB7vrAJhYCtvmdSjnZGbG7/Zg==", - "license": "MIT", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^2.0.0" - }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "license": "MIT", "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, "license": "MIT", - "dependencies": { - "kind-of": "^3.2.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", "license": "MIT", + "optional": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "debug": "2" } }, - "node_modules/snapdragon/node_modules/debug": { + "node_modules/stream-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", + "optional": true, "dependencies": { "ms": "2.0.0" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "deprecated": "Please upgrade to v0.1.7", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "deprecated": "Please upgrade to v0.1.5", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", - "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", - "optional": true, - "dependencies": { - "hoek": "2.x.x" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "license": "MIT", - "dependencies": { - "atob": "^2.0.0", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha512-liJwHPI9x9d9w5WSIjM58MqGmmb7XzNqwdUA3kSBQ4lmDngexlKwawGzK3J1mKXi6+sysoMDlpVyZh9sv5vRfw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "license": "MIT" - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha512-oKPL4k+ld5d737ZPB4VM99bqNb3JH+ZkxwWXR1iSPtqYbZv81hkLD7v8gmclrgR7aA8uh8ar+q0IF7gHFHg7PQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "dashdash": "^1.12.0", - "getpass": "^0.1.1" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - }, - "optionalDependencies": { - "bcrypt-pbkdf": "^1.0.0", - "ecc-jsbn": "~0.1.1", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" - } - }, - "node_modules/sshpk/node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "license": "MIT", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "deprecated": "Please upgrade to v0.1.7", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "deprecated": "Please upgrade to v0.1.5", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/stream-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "optional": true }, "node_modules/string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" @@ -5706,13 +4103,6 @@ "node": ">=8" } }, - "node_modules/stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha512-QUQ1kThMjLRt4jA8lsn9lyIkE9bKafE7LDOL/nBBUY9Tfv2i3x1NAsVHG0uMCusFOWeeI6COhY/F20+avxRWSw==", - "license": "MIT", - "optional": true - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -5751,15 +4141,6 @@ "node": ">=8" } }, - "node_modules/symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/tar": { "version": "7.5.22", "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.22.tgz", @@ -5870,155 +4251,6 @@ "node": ">=14.14" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz", - "integrity": "sha512-lSIz7PKxfLbP/dbEiTKL9Ove+h5AZ1VwI4TB3rF619tU4mFPvtA8tDuf3skAuKYtvZ3+zTqENZs07xyynLHswg==", - "license": "MIT", - "dependencies": { - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "regex-not": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "deprecated": "Please upgrade to v0.1.7", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "deprecated": "Please upgrade to v0.1.5", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha512-WR9pjSY3qO0z3yC6g33CRcVt2Wbevh0gP1XiSFql0/xRioi9qbDs3C+g4Nv2N8jmv/BloIi/SYoy/mfw5vus2A==", - "license": "BSD-3-Clause", - "optional": true, - "dependencies": { - "punycode": "^1.4.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", @@ -6033,29 +4265,8 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, "license": "0BSD" }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "license": "Unlicense", - "optional": true - }, "node_modules/type-fest": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", @@ -6106,19 +4317,11 @@ } }, "node_modules/uc.micro": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", - "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-3.0.0.tgz", + "integrity": "sha512-U3PppEkleoTnIfi8BozMx3yju3qc/L6SwqWo2Sw+54PX+PX0q9I+r1Um5HCmqD7n9VDX5/v3vQH/AjA6deDdtw==", "license": "MIT" }, - "node_modules/underscore.string": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "integrity": "sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg==", - "engines": { - "node": "*" - } - }, "node_modules/undici": { "version": "7.29.0", "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz", @@ -6136,37 +4339,6 @@ "dev": true, "license": "MIT" }, - "node_modules/union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha512-gKXL/GYJJ6/EUcUoTJ0wvupGylrP1Q0QhkgTMixasTn8J5mEZY3fbcj25gOL3opWToztz7/BUHGm78npw7J57Q==", - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha512-2Z0LRUUvYeF7gIFFep48ksPq0NR09e5oKoFXznaMGNcu+EZAfGnyL0K6xno2gCqX6dZYEZRjrcn04/gvZzcKhQ==", - "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -6177,54 +4349,6 @@ "node": ">= 10.0.0" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "license": "MIT", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "license": "MIT", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/unzipper": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.5.tgz", @@ -6267,125 +4391,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/upath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.0.tgz", - "integrity": "sha512-0vACkN+o0lRwiR2jnvY3eaKyqlpWEbR3W3CXpCMSzOPmSGK4Q7X3fLPJwGT6MCJAATkU5LhGma7ZHNjC7TbYxQ==", - "license": "MIT", - "dependencies": { - "lodash": "3.x", - "underscore.string": "2.3.x" - }, - "engines": { - "node": ">=0.10 <=7" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "license": "MIT" - }, - "node_modules/use": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", - "integrity": "sha512-RrhWfFWkNCz3djfSFZh7uSwu491QRhwNaHyAgB2sGl4kmmznb5ZUuuHpiWLVEsXOdpDakYK/x5+9o4lgg41UMw==", - "license": "MIT", - "dependencies": { - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "lazy-cache": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "deprecated": "Please upgrade to v0.1.7", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "deprecated": "Please upgrade to v0.1.5", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/utf8-byte-length": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", @@ -6397,42 +4402,16 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, "license": "MIT" }, - "node_modules/uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "license": "MIT", - "optional": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "license": "MIT", - "optional": true, "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.8" + "defaults": "^1.0.3" } }, "node_modules/webcrypto-core": { @@ -6500,13 +4479,6 @@ "node": ">=8.0" } }, - "node_modules/xterm": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/xterm/-/xterm-3.2.0.tgz", - "integrity": "sha512-WH1V7eOwybpZoms8zQmMsAVcF3NlW3bVUdftCRt7TYs1E7tYgr59QknJ/pfVqQh5Ao8I8XiPGVKn//6U/yJ9ew==", - "deprecated": "This package is now deprecated. Move to @xterm/xterm instead.", - "license": "MIT" - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/Console/package.json b/Console/package.json index fbec6143..517c0fd1 100644 --- a/Console/package.json +++ b/Console/package.json @@ -38,15 +38,18 @@ }, "dependencies": { "@electron/remote": "^2.1.3", - "chokidar": "^2.0.1", + "@xterm/addon-fit": "^0.11.0", + "@xterm/addon-web-links": "^0.12.0", + "@xterm/xterm": "^6.0.0", + "chokidar": "^4.0.3", "electron-window-state": "^5.0.3", - "google-protobuf": "^3.21.4", - "js-base64": "^2.4.3", - "less": "^3.0.1", - "markdown-it": "^8.4.0", - "markdown-it-task-lists": "^2.1.0", + "google-protobuf": "^4.0.2", + "js-base64": "^3.9.3", + "less": "^4.9.1", + "markdown-it": "^15.0.1", + "markdown-it-task-lists": "^2.1.1", "monaco-editor": "^0.56.0", - "rxjs": "^5.5.6", - "xterm": "^3.2.0" + "rxjs": "^7.8.2", + "wcwidth": "^1.0.1" } } diff --git a/Console/src/common/config_manager.ts b/Console/src/common/config_manager.ts index 59f26a14..66ccc2ce 100644 --- a/Console/src/common/config_manager.ts +++ b/Console/src/common/config_manager.ts @@ -72,7 +72,7 @@ class ConfigManager extends Rx.BehaviorSubject { this.ReadConfig().then(() => { FileWatcher.Watch(this.config_path); - FileWatcher.events.filter( x => (x === this.config_path)).subscribe(x => { + FileWatcher.events.pipe(Rx.filter(x => (x === this.config_path))).subscribe(x => { this.ReadConfig(); }); }); diff --git a/Console/src/editor/editor.ts b/Console/src/editor/editor.ts index 350e1e07..0202101e 100644 --- a/Console/src/editor/editor.ts +++ b/Console/src/editor/editor.ts @@ -303,15 +303,15 @@ export class Editor { tabs.addEventListener("contextmenu", event => this.TabContextMenu(event)); - this.tabs_.events.filter(event => event.type === TabEventType.deactivate).subscribe(event => { + this.tabs_.events.pipe(Rx.filter(event => event.type === TabEventType.deactivate)).subscribe(event => { this.DeactivateTab(event.tab); }); - this.tabs_.events.filter(event => event.type === TabEventType.activate).subscribe(event => { + this.tabs_.events.pipe(Rx.filter(event => event.type === TabEventType.activate)).subscribe(event => { this.ActivateTab(event.tab); }); - this.tabs_.events.filter(x => x.type === TabEventType.buttonClick).subscribe(event => { + this.tabs_.events.pipe(Rx.filter(x => x.type === TabEventType.buttonClick)).subscribe(event => { this.CloseTab(event.tab); }); @@ -359,7 +359,7 @@ export class Editor { } }); - MenuUtilities.loaded.filter(x => x).first().subscribe(() => this.UpdateRecentFilesList()); + MenuUtilities.loaded.pipe(Rx.filter(x => x), Rx.first()).subscribe(() => this.UpdateRecentFilesList()); } @@ -504,7 +504,7 @@ export class Editor { */ private EnsureConfig() : Promise { return new Promise(resolve => { - ConfigManager.filter(x => x.config).first().subscribe(config => { + ConfigManager.pipe(Rx.filter(x => x.config), Rx.first()).subscribe(config => { this.editor_options_ = config['editor'] || {}; resolve(); }); diff --git a/Console/src/renderer.ts b/Console/src/renderer.ts index 13172ef4..95c80f85 100644 --- a/Console/src/renderer.ts +++ b/Console/src/renderer.ts @@ -173,7 +173,7 @@ let pipe_list = (process.env['BERT_PIPE_NAME']||"").split(";"); // separator? // wait until we have read prefs once, then set up. // FIXME: is that necessary? we could just repaint. -ConfigManager.filter(x => x.config).first().subscribe(x => { +ConfigManager.pipe(Rx.filter(x => x.config), Rx.first()).subscribe(x => { let shell_config = x.config.shell || {}; @@ -267,7 +267,7 @@ ConfigManager.subscribe(x => { // deal with splitter change on drag end -splitter.events.filter(x => (x === SplitterEvent.EndDrag||x === SplitterEvent.UpdateLayout)).subscribe(x => { +splitter.events.pipe(Rx.filter(x => (x === SplitterEvent.EndDrag||x === SplitterEvent.UpdateLayout))).subscribe(x => { terminals.UpdateLayout(); editor.UpdateLayout(); properties.terminal.split = splitter.split; @@ -370,7 +370,7 @@ window.addEventListener("resize", event => { }); -TerminalImplementation.events.filter(x => (x.type === "release-focus")).subscribe(x => { +TerminalImplementation.events.pipe(Rx.filter(x => (x.type === "release-focus"))).subscribe(x => { editor.Focus(); }); diff --git a/Console/src/shell/annotation_addon.ts b/Console/src/shell/annotation_addon.ts index e9735826..5c98e9de 100644 --- a/Console/src/shell/annotation_addon.ts +++ b/Console/src/shell/annotation_addon.ts @@ -17,12 +17,8 @@ * along with BERT. If not, see . */ -// we can use this for importing type info, but it will break the -// production build. xterm's ts integration is somewhat iffy atm. -// import {Terminal} from "xterm/src/Terminal"; - -// for build -type Terminal = any; +import { Terminal } from '@xterm/xterm'; +import { GetCellDimensions, GetScreenElement, OnBufferTrim } from './xterm_internals'; /** * addon for annotations (html nodes) in xtermjs. the basic idea @@ -102,16 +98,17 @@ export class AnnotationManager { /** attach to node */ private node_:HTMLElement; - /** constructor is private; use factory (via accessor) */ - private constructor(terminal:Terminal){ + /** one manager per terminal instance; create it once the terminal is open */ + constructor(terminal:Terminal){ this.terminal_ = terminal; - // hook up events. we're interested in scrolling, but that's not - // implemented (at least not as one would expect). @see #657. + // positions depend on the viewport, so follow scrolling and resizing. + // when the scrollback fills, lines drop off the top and every line + // index shifts; that is what the top offset accounts for. - (this.terminal_.viewport as any).viewportElement.addEventListener('scroll', e => { - this.UpdateAnnotations(); - }); + this.terminal_.onScroll(() => this.UpdateAnnotations()); + this.terminal_.onResize(() => this.UpdateAnnotations()); + OnBufferTrim(this.terminal_, count => this.Overflow(count)); } @@ -129,14 +126,14 @@ export class AnnotationManager { // notified on style chages. is that a thing? OTOH, this is // not expensive. optimize somewhere else. - let dimensions = this.terminal_.renderer.dimensions; + const cell = GetCellDimensions(this.terminal_); // don't cache this one, though. - let buffer = this.terminal_.buffer; + const buffer = this.terminal_.buffer.active; if(!this.node_){ - this.node_ = ((this.terminal_ as any).parent as HTMLElement).querySelector(".xterm-screen"); + this.node_ = GetScreenElement(this.terminal_); } // update positions @@ -148,8 +145,8 @@ export class AnnotationManager { // TAG: switching scaled -> actual to fix highdpi - let top = (annotation.line - buffer.ydisp - this.top_offset_) * dimensions.actualCellHeight; - let left = (annotation.column||0) * dimensions.actualCellWidth; + let top = (annotation.line - buffer.viewportY - this.top_offset_) * cell.height; + let left = (annotation.column||0) * cell.width; if(!annotation.attached){ annotation.element.style.position = "absolute"; @@ -216,57 +213,5 @@ export class AnnotationManager { this.annotations_ = []; } - static apply(terminalConstructor) { - - // NOTE: the business with the top offset is not going to work - // if the instance is not created before scrolling over the end. - // so we will need to create beforehand, which will require - // overloading some method. or you can just be very disciplined - // and call the accessor when you create the thing. - // - // [UPDATE: that's what the Init method is for] - - Object.defineProperty(terminalConstructor.prototype, "annotation_manager", { - - // NOTE: don't use an arrow function here as it will rewrite `this` - - get: function(){ - if(!this.annotation_manager_){ - this.annotation_manager_ = new AnnotationManager(this); - } - return this.annotation_manager_; - } - - }); - - // override scroll so we can get clean overflow events. - - let scroll_function = terminalConstructor.prototype.scroll; - terminalConstructor.prototype.scroll = function(arg){ - - // this test is duplicated from the scroll function, which - // checks for overflow - - if ( this.annotation_manager - && this.buffer.scrollTop === 0 - && (this.buffer.lines.length === this.buffer.lines.maxLength)){ - this.annotation_manager.Overflow(); - } - - scroll_function.call(this, arg); - }; - - // extend "clear" to remove annotations, reset overflow - - let clear_function = terminalConstructor.prototype.clear; - terminalConstructor.prototype.clear = function(){ - clear_function.call(this); - if(this.annotation_manager){ - this.annotation_manager.RemoveAnnotations(); - this.annotation_manager.SetTopOffset(); // reset w/ default value - } - }; - - } } \ No newline at end of file diff --git a/Console/src/shell/cursor_client_position_addon.ts b/Console/src/shell/cursor_client_position_addon.ts deleted file mode 100644 index 0c6f7885..00000000 --- a/Console/src/shell/cursor_client_position_addon.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Copyright (c) 2017-2018 Structured Data, LLC - * - * This file is part of BERT. - * - * BERT is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * BERT is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with BERT. If not, see . - */ - -/** - * cursor position locator, implemented as terminal add-on. not - * in love with patching prototype, but should be fine for electron - */ -const GetCursorPosition = function(terminal, offset_x = 0){ - - // character position - let x = terminal.buffer.x; - let y = terminal.buffer.y; - - // renderer dimensions - let dimensions = terminal.renderer.dimensions; - - // position is relative to the canvas... although we should be - // able to use the container node as a proxy. fixme: cache, or - // use our node? (actually this is our node, we should just cache) - let client_rect = (terminal.parent as HTMLElement).getBoundingClientRect(); - - // TAG: switching scaled -> actual to fix highdpi - - let rect = { - left: client_rect.left + ((x+offset_x) * dimensions.actualCellWidth), - right: client_rect.left + ((x+offset_x+1) * dimensions.actualCellWidth), - top: client_rect.top + (y * dimensions.actualCellHeight), - bottom: client_rect.top + ((y+1) * dimensions.actualCellHeight), - }; - - return rect; - -} - -export const apply = function(terminalConstructor) { - terminalConstructor.prototype.GetCursorPosition = function (offset_x = 0) { - return GetCursorPosition(this, offset_x); // this will be terminal - }; -} diff --git a/Console/src/shell/custom-fit.ts b/Console/src/shell/custom-fit.ts index 14dd0c9a..d118076b 100644 --- a/Console/src/shell/custom-fit.ts +++ b/Console/src/shell/custom-fit.ts @@ -17,90 +17,32 @@ * */ -/// +import { Terminal } from '@xterm/xterm'; +import { FitAddon } from '@xterm/addon-fit'; -import { Terminal } from 'xterm'; - -export interface IGeometry { - rows: number; - cols: number; -} - -export function proposeGeometry(term: Terminal): IGeometry { - if (!term.element.parentElement) { - return null; - } - const parentElementStyle = window.getComputedStyle(term.element.parentElement); - const parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')); - const parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width'))); - const elementStyle = window.getComputedStyle(term.element); - const elementPadding = { - top: parseInt(elementStyle.getPropertyValue('padding-top')), - bottom: parseInt(elementStyle.getPropertyValue('padding-bottom')), - right: parseInt(elementStyle.getPropertyValue('padding-right')), - left: parseInt(elementStyle.getPropertyValue('padding-left')) - }; - const elementPaddingVer = elementPadding.top + elementPadding.bottom; - const elementPaddingHor = elementPadding.right + elementPadding.left; -// const availableHeight = parentElementHeight - elementPaddingVer; - const availableHeight = parentElementHeight - elementPaddingVer - (term).viewport.scrollBarWidth; - const availableWidth = parentElementWidth - elementPaddingHor - (term).viewport.scrollBarWidth; - const geometry = { - cols: Math.floor(availableWidth / (term).renderer.dimensions.actualCellWidth), - rows: Math.floor(availableHeight / (term).renderer.dimensions.actualCellHeight) - }; +/** + * fits the terminal to its container, like the fit addon, except that the + * column count never drops below the widest line in the buffer (plus a + * margin). wide output then scrolls horizontally instead of rewrapping; + * the terminal's container is what scrolls (see TerminalImplementation). + */ +export function fit(terminal: Terminal, fit_addon: FitAddon, minimum_columns = 0): void { - return geometry; -} + const geometry = fit_addon.proposeDimensions(); + if (!geometry) return; -export function fit(term: Terminal, minimum_columns = 0): void { + let cols = Math.max(geometry.cols, minimum_columns); - if(!term['custom_fit_listener_attached']){ - term['custom_fit_listener_attached'] = true; - term['viewport'].viewportElement.addEventListener('scroll', e => { - term['screenElement'].style.left = (-term['viewport'].viewportElement.scrollLeft) + "px"; - }); + const buffer = terminal.buffer.active; + let widest = 0; + for (let i = 0; i < buffer.length; i++) { + const line = buffer.getLine(i); + if (line) widest = Math.max(widest, line.translateToString(true).length); } + cols = Math.max(cols, widest + 2); - const geometry = proposeGeometry(term); - geometry.cols = Math.max(geometry.cols, minimum_columns); - if (geometry) { - // Force a full render - if (term.rows !== geometry.rows || term.cols !== geometry.cols) { - (term).renderer.clear(); - - // we don't want to size the buffer based on target width, we want - // to use max characters width (if it's wider) -- this can happen if - // you resize without resetting. unfortunately these buffers are pre- - // allocated. - - let max = geometry.cols - 2; // if it's wider - term['buffers']._activeBuffer.lines.forEach(line => { - let line_max = max; - for( let i = max; i< line.length; i++ ){ - if(line[i][0] !== 131840) line_max = i; - } - max = Math.max(max, line_max); - }); - - let dimensions = term['renderer'].dimensions; - - let cols = Math.max(geometry.cols, max + 2); - term.resize(cols, geometry.rows); - - term['viewport'].scrollArea.style.width = dimensions.canvasWidth + "px"; - - } + if (terminal.rows !== geometry.rows || terminal.cols !== cols) { + terminal.resize(cols, geometry.rows); } -} - -export function apply(terminalConstructor: typeof Terminal): void { - (terminalConstructor.prototype).proposeGeometry = function (): IGeometry { - return proposeGeometry(this); - }; - - (terminalConstructor.prototype).fit = function (minimum_columns = 0): void { - fit(this, minimum_columns); - }; } diff --git a/Console/src/shell/multiplexed_terminal.ts b/Console/src/shell/multiplexed_terminal.ts index 4170fa2c..6760e3dd 100644 --- a/Console/src/shell/multiplexed_terminal.ts +++ b/Console/src/shell/multiplexed_terminal.ts @@ -91,7 +91,7 @@ export class MultiplexedTerminal { // subscribe to preference changes. the filter ignores the // initial state where preferences = null. - ConfigManager.filter(x => x.config).subscribe(x => this.SetPreferences(x.config.shell||{})); + ConfigManager.pipe(Rx.filter(x => x.config)).subscribe(x => this.SetPreferences(x.config.shell||{})); } diff --git a/Console/src/shell/terminal_implementation.ts b/Console/src/shell/terminal_implementation.ts index bf0e2748..000da1a5 100644 --- a/Console/src/shell/terminal_implementation.ts +++ b/Console/src/shell/terminal_implementation.ts @@ -17,23 +17,15 @@ * along with BERT. If not, see . */ -import { Terminal as XTerm, ITerminalOptions, ITheme as ITerminalTheme } from 'xterm'; +import { Terminal as XTerm, ITerminalOptions, ITheme as ITerminalTheme } from '@xterm/xterm'; +import { FitAddon } from '@xterm/addon-fit'; +import { WebLinksAddon } from '@xterm/addon-web-links'; import { Base64 } from 'js-base64'; -//import * as fit from 'xterm/lib/addons/fit/fit'; -import * as fit from './custom-fit'; -XTerm.applyAddon(fit); - -import * as weblinks from 'xterm/lib/addons/webLinks/webLinks'; -XTerm.applyAddon(weblinks); - -import { wcwidth } from 'xterm/lib/CharWidth'; - -import * as CursorClientPosition from './cursor_client_position_addon'; -XTerm.applyAddon(CursorClientPosition); - -import {AnnotationManager, AnnotationType} from './annotation_addon'; -XTerm.applyAddon(AnnotationManager); +import { fit } from './custom-fit'; +import { wcwidth } from './wcwidth'; +import { GetCursorClientRect, GetCellDimensions } from './xterm_internals'; +import { AnnotationManager, AnnotationType } from './annotation_addon'; import { TextFormatter } from './text_formatter'; import { shell, clipboard } from 'electron'; @@ -60,12 +52,11 @@ const SymbolTable = require('../../data/symbol_table.json'); const BaseTheme:ITerminalTheme = { background: "#fff", foreground: "#000", - selection: "rgba(255, 255, 0, .1)", + selectionBackground: "rgba(255, 255, 0, .1)", cursor: "#000" }; const BaseOptions:ITerminalOptions = { - cols: 80, cursorBlink: true, theme: BaseTheme, fontFamily: 'consolas', @@ -258,6 +249,15 @@ export class TerminalImplementation { private viewport_rect:DOMRect; + /** xterm's fit addon, which proposes a geometry for the container */ + private fit_addon_:FitAddon; + + /** html nodes (graphics) positioned over buffer lines */ + private annotations_:AnnotationManager; + + /** the element that scrolls horizontally when output is wider than the view */ + private scroll_node_:HTMLElement; + /** options is constructed from base, then preferences are overlaid */ private options_:ITerminalOptions; @@ -305,7 +305,12 @@ export class TerminalImplementation { } else */ - this.xterm_.setOption(key, this.options_[key]); + try { + this.xterm_.options[key] = this.options_[key]; + } + catch(e) { + console.warn("terminal option not applied:", key, e.message || e); + } }); this.UpdateContainerBackground(); @@ -319,7 +324,7 @@ export class TerminalImplementation { * @param offset_x */ CursorClientPosition(offset_x = 0){ - return (this.xterm_ as any).GetCursorPosition(offset_x); + return GetCursorClientRect(this.xterm_, offset_x); } /** focus */ @@ -452,22 +457,21 @@ export class TerminalImplementation { EnsureCursorVisible(){ // FIXME: cache [no] - let viewport = (this.xterm_ as any).viewport; - let dimensions = (this.xterm_ as any).renderer.dimensions; - let screenElement = (this.xterm_ as any).screenElement; - let viewportElement = (this.xterm_ as any).viewportElement; + const cell = GetCellDimensions(this.xterm_); + const viewportElement = this.scroll_node_; + const canvas_width = cell.width * this.xterm_.cols; let cursor = this.state_.line_info.cursor_position; let offset = cursor + this.state_.line_info.prompt.length; // FIXME: gate on scrollable, otherwise this is just noise - if(dimensions.canvasWidth <= this.viewport_rect.width) return; + if(canvas_width <= this.viewport_rect.width) return; // if cursor is at zero, always jump back to the start. // actually do that if it's within 1/2 screen width... - let cursor_position = offset * dimensions.scaledCellWidth; + let cursor_position = offset * cell.width; if( cursor_position <= this.viewport_rect.width/2){ viewportElement.scrollLeft = 0; @@ -635,17 +639,17 @@ export class TerminalImplementation { */ InsertGraphic(height:number, node:HTMLElement){ - let buffer = (this.xterm_ as any).buffer; + const buffer = this.xterm_.buffer.active; // console.info(buffer); // TAG: switching scaled -> actual to fix highdpi - let row_height = (this.xterm_ as any).renderer.dimensions.actualCellHeight; + const row_height = GetCellDimensions(this.xterm_).height; let rows = Math.ceil( height / row_height ) + 2; - let row = buffer.y + buffer.ybase + 1; + let row = buffer.cursorY + buffer.baseY + 1; this.InsertLines(rows); - (this.xterm_ as any).annotation_manager.AddAnnotation({ + this.annotations_.AddAnnotation({ element: node, line: row }); @@ -699,7 +703,9 @@ export class TerminalImplementation { ClearShell() { this.xterm_.clear(); - (this.xterm_ as any).fit(); + this.annotations_.RemoveAnnotations(); + this.annotations_.SetTopOffset(); // reset to the default + fit(this.xterm_, this.fit_addon_); } /** @@ -963,8 +969,8 @@ export class TerminalImplementation { Resize(){ - (this.xterm_ as any).fit(); - this.viewport_rect = (this.xterm_ as any).viewportElement.getBoundingClientRect(); + fit(this.xterm_, this.fit_addon_); + this.viewport_rect = this.scroll_node_.getBoundingClientRect(); // FIXME: pass through to languages to adjust terminal size @@ -1121,8 +1127,22 @@ export class TerminalImplementation { this.xterm_ = new XTerm(copy); - // so this is for layout. unfortunate. + this.fit_addon_ = new FitAddon(); + this.xterm_.loadAddon(this.fit_addon_); + + // so this is for layout. unfortunate. this node fills the container + // and scrolls horizontally when the terminal is wider than it (see + // custom-fit, which keeps columns at least as wide as the output). + let inner_node = document.createElement("div"); + inner_node.style.position = "absolute"; + inner_node.style.top = "0"; + inner_node.style.right = "0"; + inner_node.style.bottom = "0"; + inner_node.style.left = "0"; + inner_node.style.overflowX = "auto"; + inner_node.style.overflowY = "hidden"; + this.scroll_node_ = inner_node; this.node_.appendChild(inner_node); this.xterm_.open(inner_node); this.xterm_.focus(); @@ -1132,7 +1152,7 @@ export class TerminalImplementation { // FIXME: STATE -- have to figure out how to move annotations to state // ensure - (this.xterm_ as any).annotation_manager.Init(); + this.annotations_ = new AnnotationManager(this.xterm_); this.Resize(); // (this.xterm_ as any).fit(); @@ -1162,18 +1182,17 @@ export class TerminalImplementation { this.Resize(); // checks active [it does?] }); - (this.xterm_ as any).webLinksInit((event: MouseEvent, uri: string) => { + this.xterm_.loadAddon(new WebLinksAddon((event: MouseEvent, uri: string) => { shell.openExternal(uri); - return true; - }); + })); - this.xterm_.on("key", (key, event) => this.KeyDown(key, event)); + this.xterm_.onKey(({ key, domEvent }) => this.KeyDown(key, domEvent)); // FIXME: I don't think we ever use (or display) title, but it // seems like something that should be part of state. not sure how it // works. - this.xterm_.on("title", title => { + this.xterm_.onTitleChange(title => { console.warn( "title change:", title ); // ?? }); diff --git a/Console/src/shell/terminal_state.ts b/Console/src/shell/terminal_state.ts index 396bb7b8..3413e80f 100644 --- a/Console/src/shell/terminal_state.ts +++ b/Console/src/shell/terminal_state.ts @@ -21,7 +21,7 @@ import { LanguageInterface } from './language_interface'; import { ConsoleMessage, ConsoleMessageType } from '../io/pipe'; import * as Rx from 'rxjs'; -import { wcwidth } from 'xterm/lib/CharWidth'; +import { wcwidth } from './wcwidth'; export enum StdIOStream { STDIN, STDOUT, STDERR @@ -262,29 +262,29 @@ export class TerminalState { // since we are no longer swapping state in and out, it might be // more efficient to split these back up (at least the stdio streams) - this.console_messages_ = Rx.Observable.create(observer => { + this.console_messages_ = new Rx.Observable(observer => { this.language_interface_.pipe_.console_messages.subscribe(observer); }); let sources:any[] = []; if(this.language_interface_.stdout_pipe_){ - sources.push(this.language_interface_.stdout_pipe_.data.map(text => { + sources.push(this.language_interface_.stdout_pipe_.data.pipe(Rx.map(text => { return { text, stream:StdIOStream.STDOUT } - })); + }))); } if(this.language_interface_.stderr_pipe_){ - sources.push(this.language_interface_.stderr_pipe_.data.map(text => { + sources.push(this.language_interface_.stderr_pipe_.data.pipe(Rx.map(text => { return { text, stream:StdIOStream.STDERR } - })); + }))); } // only create this if necessary, client can test if(sources.length){ - this.stdio_ = Rx.Observable.create(observer => { - Rx.Observable.merge(...sources).subscribe(observer); + this.stdio_ = new Rx.Observable(observer => { + Rx.merge(...sources).subscribe(observer); }); } diff --git a/Console/src/shell/wcwidth.ts b/Console/src/shell/wcwidth.ts new file mode 100644 index 00000000..a133f15d --- /dev/null +++ b/Console/src/shell/wcwidth.ts @@ -0,0 +1,29 @@ +/** + * Copyright (c) 2017-2018 Structured Data, LLC + * + * This file is part of BERT. + * + * BERT is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * BERT is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with BERT. If not, see . + */ + +import wcwidth_string from 'wcwidth'; + +/** + * display width, in cells, of a single UTF-16 code unit. xterm 3 exported + * this from its own character width table; current versions do not, so it + * comes from the wcwidth package instead. + */ +export function wcwidth(code: number): number { + return wcwidth_string(String.fromCharCode(code)); +} diff --git a/Console/src/shell/xterm_internals.ts b/Console/src/shell/xterm_internals.ts new file mode 100644 index 00000000..aca4e219 --- /dev/null +++ b/Console/src/shell/xterm_internals.ts @@ -0,0 +1,104 @@ +/** + * Copyright (c) 2017-2018 Structured Data, LLC + * + * This file is part of BERT. + * + * BERT is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * BERT is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with BERT. If not, see . + */ + +/** + * the few things the terminal needs from xterm that its public API does + * not offer, gathered in one place. each is a public API call where one + * exists, and otherwise a single reach into xterm's internal _core object + * with a fallback, so that an xterm upgrade has one file to check. + */ + +import { Terminal } from '@xterm/xterm'; + +export interface CellDimensions { + width: number; + height: number; +} + +export interface CursorClientRect { + left: number; + right: number; + top: number; + bottom: number; +} + +/** size of one character cell, in css pixels */ +export function GetCellDimensions(terminal: Terminal): CellDimensions { + + const core = (terminal as any)._core; + const cell = core && core._renderService && core._renderService.dimensions + && core._renderService.dimensions.css && core._renderService.dimensions.css.cell; + + if (cell && cell.width && cell.height) { + return { width: cell.width, height: cell.height }; + } + + // fallback: measure a rendered row + + const row = terminal.element ? terminal.element.querySelector('.xterm-rows > div') as HTMLElement : null; + if (row) { + const rect = row.getBoundingClientRect(); + return { width: rect.width / terminal.cols, height: rect.height }; + } + + return { width: 0, height: 0 }; +} + +/** the element the character cells are drawn in */ +export function GetScreenElement(terminal: Terminal): HTMLElement { + return terminal.element ? terminal.element.querySelector('.xterm-screen') as HTMLElement : null; +} + +/** + * client rect of the cursor cell, shifted by a number of columns. used to + * position tooltips and the autocomplete list. + */ +export function GetCursorClientRect(terminal: Terminal, offset_x = 0): CursorClientRect { + + const buffer = terminal.buffer.active; + const cell = GetCellDimensions(terminal); + const origin = (GetScreenElement(terminal) || terminal.element).getBoundingClientRect(); + + const x = buffer.cursorX + offset_x; + const y = buffer.cursorY; + + return { + left: origin.left + x * cell.width, + right: origin.left + (x + 1) * cell.width, + top: origin.top + y * cell.height, + bottom: origin.top + (y + 1) * cell.height + }; +} + +/** + * calls handler when lines are dropped from the top of the scrollback, + * which shifts every buffer line index up by that many. there is no public + * event for this; the buffer's line list raises one internally. returns + * false if that event could not be found. + */ +export function OnBufferTrim(terminal: Terminal, handler: (count: number) => void): boolean { + const core = (terminal as any)._core; + const lines = core && core.buffer && core.buffer.lines; + if (lines && typeof lines.onTrim === 'function') { + lines.onTrim(handler); + return true; + } + console.warn("xterm buffer trim event not found; annotations will drift once the scrollback fills"); + return false; +} diff --git a/Console/src/ui/user_stylesheet.ts b/Console/src/ui/user_stylesheet.ts index bf725b72..49b5d479 100644 --- a/Console/src/ui/user_stylesheet.ts +++ b/Console/src/ui/user_stylesheet.ts @@ -17,6 +17,7 @@ * along with BERT. If not, see . */ +import * as Rx from 'rxjs'; import less from 'less'; import * as path from 'path'; import * as fs from 'fs'; @@ -41,7 +42,7 @@ export class UserStylesheet { // subscribe to changes FileWatcher.Watch(this.stylesheet_path_); - FileWatcher.events.filter(x => x === this.stylesheet_path_).subscribe(x => { + FileWatcher.events.pipe(Rx.filter(x => x === this.stylesheet_path_)).subscribe(x => { this.Load().then(() => {}).catch(err => { console.warn(err); }); diff --git a/Console/typings.d.ts b/Console/typings.d.ts index 8f991f9a..e046f067 100644 --- a/Console/typings.d.ts +++ b/Console/typings.d.ts @@ -3,3 +3,8 @@ declare module "*.json" { const value: any; export default value; } + +declare module "wcwidth" { + function wcwidth(text: string): number; + export = wcwidth; +} From 6df1c39b68c432f43fbfc8c4fddf856612330ee5 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 12:50:08 +1000 Subject: [PATCH 15/67] docs: record the console upgrade and the npm build Co-Authored-By: Claude Fable 5.1 --- docs/BUILDING.md | 16 ++++++++++------ docs/MODERNISATION.md | 15 ++++++++++++--- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/docs/BUILDING.md b/docs/BUILDING.md index 7e3f9ba2..c9ae4043 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -106,16 +106,20 @@ msbuild ControlR\ControlR.vcxproj /p:Configuration=Release /p:Platform=x64 `msbuild` is at `C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe` if it is not on your path. x64 output goes to `Build\`; the ARM64EC configurations write to `ControlR\ARM64EC\\` instead. -The console is built separately with yarn, from `Console/`: +The console is built separately with npm, from `Console/`: ```powershell -yarn install -yarn build -yarn package +npm install +npm run build +npm run package ``` -The console's dependencies are pinned by `yarn.lock` to the versions the -code was written against, which are old; see `MODERNISATION.md`. +`npm install` also downloads the Electron binary. `npm run build` compiles +the stylesheet and the TypeScript into `build/`; `npm start` then runs the +console from source (it needs the environment the add-in sets, at least +`BERT_HOME`), and `npm run package` produces `Build\Console\win-unpacked`, +which is what the installer ships and what the add-in starts. The +dependencies are pinned by `package-lock.json`. ## Running against your own R diff --git a/docs/MODERNISATION.md b/docs/MODERNISATION.md index 222d79a1..d6053864 100644 --- a/docs/MODERNISATION.md +++ b/docs/MODERNISATION.md @@ -14,9 +14,18 @@ change, and what is still to do, in a suggested order. version at startup instead of demanding exactly 3.5, and switches console output handling on the 4.2.0 change of native encoding. It starts under R 3.5.0, 4.2.2 and 4.5.2. Only 4.5.2 has been used with Excel. -* The console is unchanged apart from regenerated protobuf code and two - small fixes. It is pinned to Electron 1.8, TypeScript 2.7, xterm 3.2, - monaco 0.10 and rxjs 5. +* The console (on the `console-upgrade` branch) runs on Electron 44, + TypeScript 7, Monaco 0.56, xterm 6, rxjs 7 and google-protobuf 4, with + the smaller libraries current too. It keeps its architecture: Node in + the renderer, `@electron/remote` for the few main-process calls. It has + been used inside Excel: pipes connect, the editor and the R shell work. + Left over from that work: the code is compiled with strict mode off + and would benefit from being made strict-clean; Monaco is still loaded + through its AMD loader, which in an Electron renderer uses Node's `vm` + module (Electron warns about it), and the way out is bundling Monaco as + ES modules; the page has no content security policy; the protobuf + JavaScript is generated code from the 3.21 generator running on the 4.0 + runtime, and can be regenerated with protoc-gen-js 4.0. * The Julia controllers target Julia 0.6 and 0.7 and are untouched. They cannot host Julia 1.x. * The installer still bundles R 3.5.0. From ab13c71a8362987ed1c8c1465d30e93d3076f7ca Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 12:59:52 +1000 Subject: [PATCH 16/67] console: use navigator.clipboard; R: parse only the numeric part of the version Electron no longer provides its clipboard module to renderer processes, so Copy in the shell, Paste, and the editor's copy-path command threw on an undefined module. The standard navigator.clipboard API is what Electron recommends instead; a small wrapper keeps the call sites as they were. Checked in a bare renderer: the round trip works, and xterm keeps its selection across the right-click that opens the context menu. startup.R split BERT_VERSION on dots and coerced every part to a number, so the tag a development build now carries produced an NA warning that R reported at the next prompt. Parse the leading numeric part only; the full string is still kept as version.string. Co-Authored-By: Claude Fable 5.1 --- Build/startup/startup.R | 5 ++- Console/src/common/clipboard.ts | 35 ++++++++++++++++++++ Console/src/editor/editor.ts | 3 +- Console/src/renderer.ts | 2 +- Console/src/shell/terminal_implementation.ts | 6 ++-- 5 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 Console/src/common/clipboard.ts diff --git a/Build/startup/startup.R b/Build/startup/startup.R index 074011f5..b25193dd 100644 --- a/Build/startup/startup.R +++ b/Build/startup/startup.R @@ -294,7 +294,10 @@ library(BERTModule, lib.loc=paste0(Sys.getenv("BERT_HOME"), "module")); version.string <- Sys.getenv('BERT_VERSION'); version <- list(); version['build.date'] <- Sys.getenv('BERT_BUILD_DATE'); - parts <- as.numeric(unlist(strsplit(version.string, '\\.'))); + # a development build carries a tag after the release number, e.g. + # "2.4.3-r4 (built ...)"; only the leading numeric part is the version + numeric.part <- regmatches(version.string, regexpr('^[0-9]+(\\.[0-9]+)*', version.string)); + parts <- as.numeric(unlist(strsplit(numeric.part, '\\.'))); version['major'] <- parts[1]; version['minor'] <- parts[2]; version['patch'] <- parts[3]; diff --git a/Console/src/common/clipboard.ts b/Console/src/common/clipboard.ts new file mode 100644 index 00000000..fc2c970b --- /dev/null +++ b/Console/src/common/clipboard.ts @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2017-2018 Structured Data, LLC + * + * This file is part of BERT. + * + * BERT is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * BERT is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with BERT. If not, see . + */ + +/** + * text clipboard for the renderer. electron's clipboard module is no + * longer available in renderer processes, and the standard web API is + * what it recommends instead. both calls are asynchronous. + */ +export const clipboard = { + + writeText(text: string): Promise { + return navigator.clipboard.writeText(text); + }, + + readText(): Promise { + return navigator.clipboard.readText(); + } + +}; diff --git a/Console/src/editor/editor.ts b/Console/src/editor/editor.ts index 0202101e..a0c5265b 100644 --- a/Console/src/editor/editor.ts +++ b/Console/src/editor/editor.ts @@ -28,7 +28,8 @@ import MarkdownIt from 'markdown-it'; import MarkdownItTasks from 'markdown-it-task-lists'; const MD = new MarkdownIt().use(MarkdownItTasks); -import { clipboard, shell as electron_shell } from 'electron'; +import { shell as electron_shell } from 'electron'; +import { clipboard } from '../common/clipboard'; import * as remote from '@electron/remote'; const { Menu, MenuItem, dialog } = remote; diff --git a/Console/src/renderer.ts b/Console/src/renderer.ts index 95c80f85..8438414c 100644 --- a/Console/src/renderer.ts +++ b/Console/src/renderer.ts @@ -18,7 +18,7 @@ */ import {Pipe, ConsoleMessage, ConsoleMessageType} from './io/pipe'; -import {clipboard, shell as electron_shell} from 'electron'; +import {shell as electron_shell} from 'electron'; import * as remote from '@electron/remote'; const {Menu, MenuItem} = remote; diff --git a/Console/src/shell/terminal_implementation.ts b/Console/src/shell/terminal_implementation.ts index 000da1a5..96db28a7 100644 --- a/Console/src/shell/terminal_implementation.ts +++ b/Console/src/shell/terminal_implementation.ts @@ -28,7 +28,8 @@ import { GetCursorClientRect, GetCellDimensions } from './xterm_internals'; import { AnnotationManager, AnnotationType } from './annotation_addon'; import { TextFormatter } from './text_formatter'; -import { shell, clipboard } from 'electron'; +import { shell } from 'electron'; +import { clipboard } from '../common/clipboard'; import { LanguageInterface } from './language_interface'; import { Pipe, ConsoleMessage, ConsoleMessageType } from '../io/pipe'; @@ -758,8 +759,7 @@ export class TerminalImplementation { this.xterm_.scrollToBottom(); - // electron's clipboard.readText is asynchronous now, like the - // navigator.clipboard API it follows + // the clipboard is asynchronous if (!text) text = ((await clipboard.readText()) || ""); // FIXME: cursor pos [meaning what?] From cddad5e8abccda567a13a5ebae6a84bab44a7017 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 13:12:18 +1000 Subject: [PATCH 17/67] R: handle string encoding explicitly on every R version Strings from the add-in and the console are UTF-8 whatever R is hosted: the add-in converts Excel's UTF-16 strings and COM names to UTF-8, and the console is a web page. The controller used to hand them to R as native strings, which is right from 4.2.0 and wrong before, and took strings back from R with CHAR(), guessing at the encoding with a validity check and a code-page conversion. Now strings into R are marked UTF-8 (Rf_mkCharLenCE with CE_UTF8) and strings out of R go through Rf_translateCharUTF8, which honours the encoding mark each string carries. Console keyboard input is converted to the Windows code page under an R older than 4.2.0, the mirror of the existing output conversion, keyed off the same startup check. The one string left native is the path given to source(): the add-in produces it with the ANSI file APIs, and the fix for that belongs on its side. Co-Authored-By: Claude Fable 5.1 --- ControlR/include/convert.h | 7 ++- ControlR/src/controlr.cc | 10 +++- ControlR/src/convert.cc | 20 ++++---- ControlR/src/rinterface_common.cc | 83 +++++++++++++++++++------------ docs/MODERNISATION.md | 38 +++++++------- 5 files changed, 97 insertions(+), 61 deletions(-) diff --git a/ControlR/include/convert.h b/ControlR/include/convert.h index 4c6f6313..9d421a24 100644 --- a/ControlR/include/convert.h +++ b/ControlR/include/convert.h @@ -31,4 +31,9 @@ bool ValidUTF8(const char *string, int len); void WindowsCPToUTF8(const char *input_buffer, int input_length, char **output_buffer, int *output_length); -std::string WindowsCPToUTF8_2(const char *input_buffer, int input_length); +/** + * the reverse direction, for console input to an R older than 4.2.0, + * which expects the windows code page. characters the code page cannot + * represent become the system default character. + */ +std::string UTF8ToWindowsCP(const std::string &utf8); diff --git a/ControlR/src/controlr.cc b/ControlR/src/controlr.cc index 30f30468..80d9e01c 100644 --- a/ControlR/src/controlr.cc +++ b/ControlR/src/controlr.cc @@ -18,6 +18,7 @@ */ #include "controlr.h" +#include "convert.h" #include "windows_api_functions.h" #include "json11\json11.hpp" @@ -388,8 +389,13 @@ int InputStreamRead(const char *prompt, char *buf, int len, int addtohistory, bo break; case BERTBuffers::CallResponse::kShellCommand: - len = min(len - 2, (int)call.shell_command().length()); - strcpy_s(buf, len + 1, call.shell_command().c_str()); + { + // the console sends UTF-8; before 4.2.0 R expects the + // windows code page here, the mirror of R_WriteConsoleEx + std::string command = r_console_utf8 ? call.shell_command() : UTF8ToWindowsCP(call.shell_command()); + len = min(len - 2, (int)command.length()); + strcpy_s(buf, len + 1, command.c_str()); + } buf[len++] = '\n'; buf[len++] = 0; prompt_transaction_id = call.id(); diff --git a/ControlR/src/convert.cc b/ControlR/src/convert.cc index ef95d4d3..21e24788 100644 --- a/ControlR/src/convert.cc +++ b/ControlR/src/convert.cc @@ -92,19 +92,21 @@ void WindowsCPToUTF8(const char *input_buffer, int input_length, char **output_b } /** - * alloc-heavy version + * the reverse direction, for console input to an R older than 4.2.0, + * which expects the windows code page. characters the code page cannot + * represent become the system default character. */ -std::string WindowsCPToUTF8_2(const char *input_buffer, int input_length) { - - if (input_length <= 0) input_length = strlen(input_buffer); +std::string UTF8ToWindowsCP(const std::string &utf8) { - int wide_size = MultiByteToWideChar(CP_ACP, MB_COMPOSITE, input_buffer, input_length, 0, 0); - std::wstring wide_string(wide_size, '\0'); - MultiByteToWideChar(CP_ACP, MB_COMPOSITE, input_buffer, input_length, &(wide_string[0]), wide_size); + if (utf8.empty()) return utf8; + + int wide_size = MultiByteToWideChar(CP_UTF8, 0, utf8.data(), (int)utf8.length(), 0, 0); + std::wstring wide_string(wide_size, L'\0'); + MultiByteToWideChar(CP_UTF8, 0, utf8.data(), (int)utf8.length(), &wide_string[0], wide_size); - int narrow_size = WideCharToMultiByte(CP_UTF8, 0, &(wide_string[0]), wide_size, 0, 0, 0, 0); + int narrow_size = WideCharToMultiByte(CP_ACP, 0, wide_string.data(), wide_size, 0, 0, 0, 0); std::string narrow_string(narrow_size, '\0'); - WideCharToMultiByte(CP_UTF8, 0, &(wide_string[0]), wide_size, &(narrow_string[0]), narrow_size, 0, 0); + WideCharToMultiByte(CP_ACP, 0, wide_string.data(), wide_size, &narrow_string[0], narrow_size, 0, 0); return narrow_string; } diff --git a/ControlR/src/rinterface_common.cc b/ControlR/src/rinterface_common.cc index c4e38ea8..b459488b 100644 --- a/ControlR/src/rinterface_common.cc +++ b/ControlR/src/rinterface_common.cc @@ -25,6 +25,30 @@ #include "gdi_graphics_device.h" +// --------------------------------------------------------------------------- +// encoding. strings from the add-in and the console are UTF-8 on every R +// version, so they are marked as such when handed to R, and strings taken +// from R are translated to UTF-8 whatever encoding R holds them in. file +// paths are the exception: the add-in produces them with the ANSI file +// APIs, so they are in the windows code page, which is R's own encoding +// before 4.2.0 and not after (see docs/MODERNISATION.md). +// --------------------------------------------------------------------------- + +/** CHARSXP marked as UTF-8 */ +static inline SEXP UTF8Char(const std::string &text) { + return Rf_mkCharLenCE(text.data(), (int)text.length(), CE_UTF8); +} + +/** length-one character vector marked as UTF-8 */ +static inline SEXP UTF8String(const std::string &text) { + return Rf_ScalarString(UTF8Char(text)); +} + +/** the string value of an R object, as UTF-8 */ +static inline const char *ToUTF8(SEXP sexp) { + return Rf_translateCharUTF8(Rf_asChar(sexp)); +} + // try to store fuel now, you jerks #undef clear #undef length @@ -39,7 +63,7 @@ void SetNames(SEXP variable, const std::vector &names) { int len = (int)names.size(); SEXP names_sexp = Rf_allocVector(STRSXP, len); for (int i = 0; i < len; i++) { - SET_STRING_ELT(names_sexp, i, Rf_mkChar(names[i].c_str())); + SET_STRING_ELT(names_sexp, i, UTF8Char(names[i])); } Rf_setAttrib(variable, R_NamesSymbol, names_sexp); } @@ -52,7 +76,7 @@ SEXP VariableToSEXP(const BERTBuffers::Variable &var) { return R_NilValue; case BERTBuffers::Variable::ValueCase::kStr: - return Rf_mkString(var.str().c_str()); + return UTF8String(var.str()); case BERTBuffers::Variable::ValueCase::kInteger: return Rf_ScalarInteger(var.integer()); @@ -167,7 +191,7 @@ SEXP VariableToSEXP(const BERTBuffers::Variable &var) { SET_STRING_ELT(list, i, NA_STRING); } else { - SET_STRING_ELT(list, i, Rf_mkChar(arr.data(i).str().c_str())); + SET_STRING_ELT(list, i, UTF8Char(arr.data(i).str())); } } } @@ -184,7 +208,7 @@ SEXP VariableToSEXP(const BERTBuffers::Variable &var) { if (has_names) { SEXP names = Rf_allocVector(VECSXP, count); for (int i = 0; i < count; i++) { - if (arr.data(i).name().length()) SET_VECTOR_ELT(names, i, Rf_mkString(arr.data(i).name().c_str())); + if (arr.data(i).name().length()) SET_VECTOR_ELT(names, i, UTF8String(arr.data(i).name())); } Rf_setAttrib(list, R_NamesSymbol, names); } @@ -206,7 +230,7 @@ SEXP VariableToSEXP(const BERTBuffers::Variable &var) { R_RegisterCFinalizerEx(external_pointer, (R_CFinalizer_t)ReleaseExternalPointer, TRUE); SEXP descriptor = Rf_allocVector(VECSXP, 4); - SET_VECTOR_ELT(descriptor, 0, Rf_mkString(com_pointer.interface_name().c_str())); + SET_VECTOR_ELT(descriptor, 0, UTF8String(com_pointer.interface_name())); SET_VECTOR_ELT(descriptor, 1, external_pointer); // there's a possibility (in fact a good likelihood) of repeated names, @@ -239,14 +263,14 @@ SEXP VariableToSEXP(const BERTBuffers::Variable &var) { int arguments_len = com_function.arguments_size(); SEXP r_arguments_list = Rf_allocVector(STRSXP, arguments_len); for (int j = 0; j < arguments_len; j++) { - SET_STRING_ELT(r_arguments_list, j, Rf_mkChar(com_function.arguments(j).name().c_str())); + SET_STRING_ELT(r_arguments_list, j, UTF8Char(com_function.arguments(j).name())); } // function has name, index, type and list of arguments SEXP r_function_descriptor = Rf_allocVector(VECSXP, 4); - SET_VECTOR_ELT(r_function_descriptor, 0, Rf_mkString(com_function.function().name().c_str())); + SET_VECTOR_ELT(r_function_descriptor, 0, UTF8String(com_function.function().name())); SET_VECTOR_ELT(r_function_descriptor, 1, Rf_ScalarInteger(com_function.function().index())); - SET_VECTOR_ELT(r_function_descriptor, 2, Rf_mkString(call_type.c_str())); + SET_VECTOR_ELT(r_function_descriptor, 2, UTF8String(call_type)); SET_VECTOR_ELT(r_function_descriptor, 3, r_arguments_list); SetNames(r_function_descriptor, {"name", "index", "call.type", "arguments"}); @@ -321,7 +345,7 @@ SEXP RCallSEXP(const BERTBuffers::CompositeFunctionCall &fc, bool wait, int &err // this is a mapped function, use special calling syntax... SEXP sargs = Rf_allocVector(VECSXP, len+1); - SET_VECTOR_ELT(sargs, 0, Rf_mkString(fc.function().c_str())); + SET_VECTOR_ELT(sargs, 0, UTF8String(fc.function())); for (int i = 0; i < len; i++) { SET_VECTOR_ELT(sargs, i + 1, VariableToSEXP(fc.arguments(i))); @@ -378,12 +402,12 @@ SEXP RCallSEXP(const BERTBuffers::CompositeFunctionCall &fc, bool wait, int &err if (parts.size() > 1) { for (int i = 0; !err && i < parts.size() - 1; i++) { - SEXP s = R_tryEvalSilent(Rf_lang2(Rf_install("get"), Rf_mkString(parts[i].c_str())), env, &err); + SEXP s = R_tryEvalSilent(Rf_lang2(Rf_install("get"), UTF8String(parts[i])), env, &err); if (!err && Rf_isEnvironment(s)) env = s; } } - SEXP call_result = R_tryEval(Rf_lang3(Rf_install("do.call"), Rf_mkString(parts[parts.size() - 1].c_str()), sargs), env, &err); + SEXP call_result = R_tryEval(Rf_lang3(Rf_install("do.call"), UTF8String(parts[parts.size() - 1]), sargs), env, &err); UNPROTECT(1); return call_result; @@ -397,8 +421,9 @@ bool ReadSourceFile(const std::string &file, bool notify) { std::string message = "Loading script file: "; message.append(file); message.append("\n"); - R_tryEval(Rf_lang2(Rf_install("cat"), Rf_mkString(message.c_str())), R_GlobalEnv, &err); + R_tryEval(Rf_lang2(Rf_install("cat"), UTF8String(message)), R_GlobalEnv, &err); } + // the path stays in R's native encoding; see the encoding note at the top R_tryEval(Rf_lang2(Rf_install("source"), Rf_mkString(file.c_str())), R_GlobalEnv, &err); return !err; @@ -428,7 +453,7 @@ __inline bool HandleSimpleTypes(SEXP sexp, int len, int rtype, BERTBuffers::Arra int level_count = Rf_length(levels); for (int level = 0; level < level_count; level++) { SEXP strsxp = STRING_ELT(levels, level); - level_strings.push_back(CHAR(Rf_asChar(strsxp))); + level_strings.push_back(ToUTF8(strsxp)); } } @@ -488,11 +513,7 @@ __inline bool HandleSimpleTypes(SEXP sexp, int len, int rtype, BERTBuffers::Arra ptr->mutable_err()->set_type(BERTBuffers::ErrorType::NA); } else { - const char *sexp_string = CHAR(Rf_asChar(strsxp)); - if (!ValidUTF8(sexp_string, 0)) { - ptr->set_str(WindowsCPToUTF8_2(sexp_string, 0)); - } - else ptr->set_str(sexp_string); + ptr->set_str(ToUTF8(strsxp)); } } } @@ -637,7 +658,7 @@ void SEXPToVariable(BERTBuffers::Variable *var, SEXP sexp, std::vector en int names_len = Rf_length(names); if (names && names_len && isString(names)) { for (int i = 0; i < names_len; i++) { - arr->add_colnames()->assign(CHAR(Rf_asChar(STRING_ELT(names, i)))); + arr->add_colnames()->assign(ToUTF8(STRING_ELT(names, i))); } } } @@ -648,7 +669,7 @@ void SEXPToVariable(BERTBuffers::Variable *var, SEXP sexp, std::vector en int names_len = Rf_length(names); if (names && names_len && isString(names)) { for (int i = 0; i < names_len; i++) { - arr->add_rownames()->assign(CHAR(Rf_asChar(STRING_ELT(names, i)))); + arr->add_rownames()->assign(ToUTF8(STRING_ELT(names, i))); } } } @@ -718,7 +739,7 @@ void SEXPToVariable(BERTBuffers::Variable *var, SEXP sexp, std::vector en for (int i = 0; i < len && i < nameslen && i < array_len; i++) { auto ref = arr ? arr->mutable_data(i) : var; SEXP name = STRING_ELT(names, i); - std::string str(CHAR(Rf_asChar(name))); + std::string str(ToUTF8(name)); if (str.length()) { ref->set_name(str); } } @@ -732,13 +753,13 @@ void SEXPToVariable(BERTBuffers::Variable *var, SEXP sexp, std::vector en auto rownames = arr->mutable_rownames(); SEXP name_list = VECTOR_ELT(dimnames, 0); int nameslen = Rf_length(name_list); - for (int i = 0; i < nameslen; i++) rownames->Add(CHAR(Rf_asChar(STRING_ELT(name_list, i)))); + for (int i = 0; i < nameslen; i++) rownames->Add(ToUTF8(STRING_ELT(name_list, i))); } if (dimnames_length > 1) { auto colnames = arr->mutable_colnames(); SEXP name_list = VECTOR_ELT(dimnames, 1); int nameslen = Rf_length(name_list); - for (int i = 0; i < nameslen; i++) colnames->Add(CHAR(Rf_asChar(STRING_ELT(name_list, i)))); + for (int i = 0; i < nameslen; i++) colnames->Add(ToUTF8(STRING_ELT(name_list, i))); } if (dimnames_length > 2) { std::cout << " * unhandled dimnames: length is " << dimnames_length << std::endl; @@ -906,7 +927,7 @@ BERTBuffers::CallResponse& RExec(BERTBuffers::CallResponse &rsp, const BERTBuffe for (int i = 0; i < count; i++) { // temp const std::string &line = code.line(i); - SET_STRING_ELT(cmds, i, Rf_mkChar(code.line(i).c_str())); + SET_STRING_ELT(cmds, i, UTF8Char(code.line(i))); } SEXP parsed = PROTECT(R_ParseVector(cmds, -1, &ps, R_NilValue)); @@ -938,8 +959,8 @@ SEXP COMCallback(SEXP function_name, SEXP call_type, SEXP index, SEXP pointer_ke std::string string_name; std::string string_type; - if (isString(function_name)) string_name = (CHAR(Rf_asChar(STRING_ELT(function_name, 0)))); - if (isString(call_type)) string_type = (CHAR(Rf_asChar(STRING_ELT(call_type, 0)))); + if (isString(function_name)) string_name = (ToUTF8(STRING_ELT(function_name, 0))); + if (isString(call_type)) string_type = (ToUTF8(STRING_ELT(call_type, 0))); if (!string_name.length()) return R_NilValue; @@ -1056,7 +1077,7 @@ SEXP RCallback(SEXP command, SEXP data) { std::string string_command; if (isString(command)) { - string_command = (CHAR(Rf_asChar(STRING_ELT(command, 0)))); + string_command = (ToUTF8(STRING_ELT(command, 0))); } if (!string_command.length()) { @@ -1075,11 +1096,11 @@ SEXP RCallback(SEXP command, SEXP data) { double width, height, pointsize; void *pointer; - background = CHAR(Rf_asChar(VECTOR_ELT(data, 0))); + background = ToUTF8(VECTOR_ELT(data, 0)); width = Rf_asReal(VECTOR_ELT(data, 1)); height = Rf_asReal(VECTOR_ELT(data, 2)); pointsize = Rf_asReal(VECTOR_ELT(data, 3)); - type = CHAR(Rf_asChar(VECTOR_ELT(data, 4))); + type = ToUTF8(VECTOR_ELT(data, 4)); pointer = R_ExternalPtrAddr(VECTOR_ELT(data, 5)); return ConsoleGraphicsDevice::CreateConsoleDevice(background, width, height, pointsize, type, pointer); @@ -1094,8 +1115,8 @@ SEXP RCallback(SEXP command, SEXP data) { double width, height, pointsize; void *pointer; - name = CHAR(Rf_asChar(VECTOR_ELT(data, 0))); - background = CHAR(Rf_asChar(VECTOR_ELT(data, 1))); + name = ToUTF8(VECTOR_ELT(data, 0)); + background = ToUTF8(VECTOR_ELT(data, 1)); width = Rf_asReal(VECTOR_ELT(data, 2)); height = Rf_asReal(VECTOR_ELT(data, 3)); pointsize = Rf_asReal(VECTOR_ELT(data, 4)); diff --git a/docs/MODERNISATION.md b/docs/MODERNISATION.md index d6053864..2b8f13bd 100644 --- a/docs/MODERNISATION.md +++ b/docs/MODERNISATION.md @@ -47,26 +47,28 @@ change, and what is still to do, in a suggested order. The 4.2.0 switch to UTF-8 is the change most likely to produce wrong characters rather than a crash, and it cuts both ways: code written for code-page R mangles UTF-8, and code written for UTF-8 R mangles code-page -strings. The branch handles one path, console output. The remaining paths -in `ControlR/src/rinterface_common.cc` and `controlr.cc` are: +strings. The controller now handles all four paths on the `console-upgrade` +branch (see the encoding note at the top of +`ControlR/src/rinterface_common.cc`): -1. **R strings out to Excel and the console.** `CHAR(Rf_asChar(x))` is - passed through a validity heuristic and converted from the code page if - it fails. Replace with `Rf_translateCharUTF8`, which honours the encoding - mark each string carries and is correct on every version. This removes - the heuristic. -2. **Strings in from Excel and the console.** `Rf_mkString` builds a - native-encoded string from what are UTF-8 bytes, which is only right from - 4.2.0. Use `Rf_mkCharCE(s, CE_UTF8)` with `Rf_ScalarString` or - `SET_STRING_ELT`, which is right everywhere. There are 28 call sites. -3. **Console input.** `R_ReadConsole` hands R the UTF-8 the console sent. - Before 4.2.0 R expects the code page; convert when `r_console_utf8` is - false, mirroring the output side. -4. **Paths.** The R home, the functions directory and file names cross the - process boundary as narrow strings. Check what encoding the add-in sends - and that the controller passes it on as R expects for its version. +1. **R strings out to Excel and the console** go through + `Rf_translateCharUTF8`, which honours the encoding mark each string + carries, instead of a validity heuristic and a code-page conversion. +2. **Strings in from Excel and the console** are marked UTF-8 + (`Rf_mkCharLenCE` with `CE_UTF8`). The add-in converts Excel's UTF-16 + strings and COM names to UTF-8, so the bytes are UTF-8 on every R version. +3. **Console output and input** are converted to and from the Windows code + page only under an R older than 4.2.0, decided once at startup from the + version R reports. +4. **Paths** are the remaining gap. The add-in lists the functions directory + with the ANSI file APIs, so file names reach the controller in the Windows + code page, and `source()` is given them as native strings. That is right + before 4.2.0 and wrong after it for names outside ASCII. The fix belongs + in the add-in: use the wide file APIs and send UTF-8, then mark the path + UTF-8 in the controller like every other string. -After 1 to 3, `ValidUTF8` and `WindowsCPToUTF8` only serve the pre-4.2 path. +`ValidUTF8` and `WindowsCPToUTF8` now serve only the pre-4.2 console +output path. ## Graphics devices From 4a1043dd8cc9877b0c5d8ae762b4d88239683043 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 13:30:39 +1000 Subject: [PATCH 18/67] R: run with the UTF-8 code page, and send console text by length MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two things stood between the encoding work and a working shell. R 4.2.0 and later use UTF-8 as their native encoding only in a process that has the UTF-8 code page, which R's own executables get from a manifest. Embedded in ControlR.exe, R was running on code page 1252, so the version check alone was the wrong test for UTF-8 pass-through: nchar("café") gave 5. ControlR.exe now carries the same manifest setting, and the pass-through is decided by the version and GetACP() together, with the code-page conversion as the fallback. ConsoleMessage built the protobuf string from R's buffer as if it were NUL-terminated, ignoring the length R passes. Stale bytes after the text went out with it; the old JavaScript protobuf runtime substituted characters silently, the current one rejects the message, and the prompt that followed was lost, leaving the shell busy for ever. The console now also logs and skips a frame it cannot decode instead of abandoning the rest of the batch. The console gains a BERT_CONSOLE_DEBUG_PORT environment variable that exposes the DevTools protocol, which is how this was diagnosed and verified: l10n_info() reports UTF-8, nchar("café") is 4, and "café ñ 日本" round-trips through the shell. Co-Authored-By: Claude Fable 5.1 --- Console/main.js | 6 ++++++ Console/src/io/pipe.ts | 15 +++++++++++++-- ControlR/ControlR.vcxproj | 3 +++ ControlR/controlr.manifest | 16 ++++++++++++++++ ControlR/src/controlr.cc | 20 +++++++++++++++----- ControlR/src/rinterface_win.cc | 10 +++++----- docs/BUILDING.md | 11 +++++++++++ docs/MODERNISATION.md | 11 ++++++++--- 8 files changed, 77 insertions(+), 15 deletions(-) create mode 100644 ControlR/controlr.manifest diff --git a/Console/main.js b/Console/main.js index 41d2fc62..62be527a 100644 --- a/Console/main.js +++ b/Console/main.js @@ -23,6 +23,12 @@ const WindowState = require('electron-window-state'); remote.initialize(); +// for automated testing: expose the devtools protocol on this port, so a +// test can drive the console and read its state without touching the UI +if (process.env.BERT_CONSOLE_DEBUG_PORT) { + app.commandLine.appendSwitch('remote-debugging-port', process.env.BERT_CONSOLE_DEBUG_PORT); +} + let dev_flags = 0; let pipe_list = []; let management_pipe = ""; diff --git a/Console/src/io/pipe.ts b/Console/src/io/pipe.ts index 7379318f..38f17e65 100644 --- a/Console/src/io/pipe.ts +++ b/Console/src/io/pipe.ts @@ -354,8 +354,19 @@ export class Pipe { while (array && array.length) { let byte_length = new Int32Array(array.buffer.slice(0, 4))[0]; - let response = messages.CallResponse.deserializeBinary(array.slice(4, byte_length + 4)); - stack.push(response); + try { + let response = messages.CallResponse.deserializeBinary(array.slice(4, byte_length + 4)); + stack.push(response); + } + catch (e) { + + // a frame the runtime refuses (invalid UTF-8 in a string field, + // typically). log it and carry on with the next one, so that a + // single bad message does not take the prompt down with it. + + console.error("dropping console frame:", e.message || e, + Buffer.from(array.slice(4, Math.min(byte_length + 4, 260))).toString("hex")); + } array = array.slice(byte_length + 4); } diff --git a/ControlR/ControlR.vcxproj b/ControlR/ControlR.vcxproj index 965ca73a..4711b8a9 100644 --- a/ControlR/ControlR.vcxproj +++ b/ControlR/ControlR.vcxproj @@ -58,6 +58,9 @@ + + + 15.0 {ADE9DA3C-93BF-4469-83B7-FBC015B6497F} diff --git a/ControlR/controlr.manifest b/ControlR/controlr.manifest new file mode 100644 index 00000000..1435c6ad --- /dev/null +++ b/ControlR/controlr.manifest @@ -0,0 +1,16 @@ + + + + + + UTF-8 + + + diff --git a/ControlR/src/controlr.cc b/ControlR/src/controlr.cc index 80d9e01c..9916bfda 100644 --- a/ControlR/src/controlr.cc +++ b/ControlR/src/controlr.cc @@ -108,8 +108,14 @@ void ConsolePrompt(const char *prompt, uint32_t id) { void ConsoleMessage(const char *buf, int len, int flag) { BERTBuffers::CallResponse message; - if (flag) message.mutable_console()->set_err(buf); - else message.mutable_console()->set_text(buf); + + // R passes a length, and the buffer is not necessarily terminated there. + // reading past it sent whatever followed, which the console's protobuf + // runtime rejects as invalid UTF-8, losing the message. + + if (len < 0) len = (int)strlen(buf); + if (flag) message.mutable_console()->set_err(buf, len); + else message.mutable_console()->set_text(buf, len); PushConsoleMessage(message); } @@ -571,9 +577,13 @@ int main(int argc, char** argv) { << ".x series this build was tested with; continuing" << std::endl; } - // R for Windows has written console output in UTF-8 since 4.2.0. see - // R_WriteConsoleEx in rinterface_win.cc for what this controls. - r_console_utf8 = (major > 4 || (major == 4 && minor >= 2)); + // R for Windows uses UTF-8 as its native encoding from 4.2.0, but only + // when the process has the UTF-8 code page, which controlr.manifest asks + // for. otherwise R uses the system code page and console text has to be + // converted. see R_WriteConsoleEx in rinterface_win.cc. + r_console_utf8 = (major > 4 || (major == 4 && minor >= 2)) && (GetACP() == CP_UTF8); + std::cout << "process code page " << GetACP() << "; console text " + << (r_console_utf8 ? "passes through as UTF-8" : "is converted from the code page") << std::endl; std::stringstream ss; ss << "R::" << major << "." << minor << "." << patch; diff --git a/ControlR/src/rinterface_win.cc b/ControlR/src/rinterface_win.cc index 08f825e4..c27561ef 100644 --- a/ControlR/src/rinterface_win.cc +++ b/ControlR/src/rinterface_win.cc @@ -42,11 +42,11 @@ int R_ReadConsole(const char *prompt, char *buf, int len, int addtohistory) { */ void R_WriteConsoleEx(const char *buf, int len, int flag) { - // from 4.2.0 R for Windows uses UTF-8 as its native encoding, so the - // buffer goes straight through. it is not validated first either: output - // that arrives in pieces could split a multi-byte character across two - // calls, and the fragment would fail validation and be mangled by the - // code-page conversion below. + // when R's native encoding is UTF-8 (4.2.0 or later, in a process with + // the UTF-8 code page; see main) the buffer goes straight through. it is + // not validated first either: output that arrives in pieces could split + // a multi-byte character across two calls, and the fragment would fail + // validation and be mangled by the code-page conversion below. if (r_console_utf8) { return ConsoleMessage(buf, len, flag); diff --git a/docs/BUILDING.md b/docs/BUILDING.md index c9ae4043..e725a54d 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -80,6 +80,17 @@ R for Windows has shipped x64 binaries only since 4.2.0, so the ARM64X libraries are built from the x64 export lists, and the `-x86` switch is only useful with an R old enough to include an i386 build. +### The UTF-8 code page manifest + +`ControlR/controlr.manifest` is embedded in `ControlR.exe` and asks Windows +for the UTF-8 code page. R 4.2.0 and later use UTF-8 as their native +encoding only in a process that has it (R's own executables carry the same +manifest setting); without it, R embedded in the controller falls back to +the system code page, and strings outside that code page cannot exist in +the R session. The setting needs Windows 10 version 1903 or later and is +ignored on older systems. The controller checks the resulting code page at +startup and converts console text when it is not UTF-8. + ### Why `R_LEGACY_RCOMPLEX` is defined From 4.3.0, `R_ext/Complex.h` defines `Rcomplex` as a union whose second diff --git a/docs/MODERNISATION.md b/docs/MODERNISATION.md index 2b8f13bd..a0f7f22f 100644 --- a/docs/MODERNISATION.md +++ b/docs/MODERNISATION.md @@ -57,9 +57,14 @@ branch (see the encoding note at the top of 2. **Strings in from Excel and the console** are marked UTF-8 (`Rf_mkCharLenCE` with `CE_UTF8`). The add-in converts Excel's UTF-16 strings and COM names to UTF-8, so the bytes are UTF-8 on every R version. -3. **Console output and input** are converted to and from the Windows code - page only under an R older than 4.2.0, decided once at startup from the - version R reports. +3. **Console output and input** pass through untouched when R's native + encoding is UTF-8, which needs both R 4.2.0 or later and a process with + the UTF-8 code page. `ControlR.exe` now carries the same manifest setting + R's own executables use to get that code page (see `BUILDING.md`); the + controller checks `GetACP()` at startup and otherwise converts to and + from the code page. Console messages are also built from the length R + supplies rather than a terminating NUL, which the stricter UTF-8 checks + in google-protobuf 4 turned from a latent bug into dropped messages. 4. **Paths** are the remaining gap. The add-in lists the functions directory with the ANSI file APIs, so file names reach the controller in the Windows code page, and `source()` is given them as native strings. That is right From f3c80933d105054083985725ca42241ade632a3b Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 15:21:26 +1000 Subject: [PATCH 19/67] installer: 64-bit only, no bundled R, settings kept on upgrade; release script The NSIS script now installs over an existing BERT 2 without touching bert-config.json, user-stylesheet.less or Documents\BERT2 (created from templates only when absent, as before), replaces the application-owned console, module and startup directories outright, and ships only what the x64 build produces: no 32-bit add-in, no Julia controllers, no bundled R. It finds the installed 64-bit R in the registry and writes it into bert-languages.json as the last candidate home, after the R-3.5.0 an older installer may have left, so an upgraded installation moves to the installed R without editing a file. BERT.R.home still overrides. build-release.ps1 replaces the 2018 build-installer.ps1 (Visual Studio 2017 paths, code signing, 32-bit builds): it builds the native projects, installs the BERTModule R package into Build\module with the registered R, packages the console, runs makensis, and zips the same files together with INSTALL-FROM-ZIP.md for people who copy by hand. Co-Authored-By: Claude Fable 5.1 --- .gitignore | 9 + Install/INSTALL-FROM-ZIP.md | 47 ++++ Install/bert-languages.template.json | 42 ++++ Install/build-installer.ps1 | 287 ---------------------- Install/build-release.ps1 | 124 ++++++++++ Install/install-script.nsi | 350 +++++++++++---------------- docs/BUILDING.md | 28 +++ docs/MODERNISATION.md | 11 +- 8 files changed, 402 insertions(+), 496 deletions(-) create mode 100644 Install/INSTALL-FROM-ZIP.md create mode 100644 Install/bert-languages.template.json delete mode 100644 Install/build-installer.ps1 create mode 100644 Install/build-release.ps1 diff --git a/.gitignore b/.gitignore index 13f83991..6ab6647a 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,12 @@ ARM64EC/ *.7z Console/generated/variable_pb_new.js Console/generated/variable_pb_old.js + +# release outputs (Install/build-release.ps1) +Install/BERT-Installer-*.exe +Install/BERT-*.zip +Install/build-log.txt + +# R CMD INSTALL byproducts in the module source +Module/src/*.dll +Module/src/*.o diff --git a/Install/INSTALL-FROM-ZIP.md b/Install/INSTALL-FROM-ZIP.md new file mode 100644 index 00000000..1d69f731 --- /dev/null +++ b/Install/INSTALL-FROM-ZIP.md @@ -0,0 +1,47 @@ +# Installing BERT from the zip + +The installer (`BERT-Installer--x64.exe`) is the easy route: it +installs over an existing BERT 2 without touching your settings. This zip is +for anyone who prefers to copy files by hand, or has no existing BERT. + +You need 64-bit Excel and a 64-bit R, 4.2 or later, from +https://cran.r-project.org. + +## Over an existing BERT 2 installation + +BERT 2 lives in `%LOCALAPPDATA%\BERT2` (type that into the Explorer address +bar). Close Excel, then: + +1. Delete the `console`, `module` and `startup` folders there and copy the + ones from this zip in their place. +2. Copy these files over the existing ones: `BERT64.xll`, + `BERTRibbon2x64.dll`, `ControlR.exe`, `libprotobuf.dll`, `abseil_dll.dll`, + `Welcome.md`, `bert-config-template.json`, + `user-stylesheet-template.less`. +3. Do not copy `bert-languages.json` over yours unless you want the copy in + this zip, which has no R location in it. +4. Tell BERT where your R is, in `bert-config.json` (the installer would + have done this for you): + + ```json + "R": { + "home": "C:\\Program Files\\R\\R-4.5.2" + } + ``` + +Your `bert-config.json`, `user-stylesheet.less` and the files in +`Documents\BERT2` are untouched. + +## A fresh installation + +1. Create `%LOCALAPPDATA%\BERT2` and copy everything from the zip into it. +2. Copy `bert-config-template.json` to `bert-config.json` and set the R + location in it as above. +3. Register the ribbon add-in, from a command prompt: + + ``` + regsvr32 "%LOCALAPPDATA%\BERT2\BERTRibbon2x64.dll" + ``` + +4. Start Excel. If BERT does not load, add `BERT64.xll` through File > + Options > Add-ins > Manage Excel Add-ins > Browse. diff --git a/Install/bert-languages.template.json b/Install/bert-languages.template.json new file mode 100644 index 00000000..0c1bdf24 --- /dev/null +++ b/Install/bert-languages.template.json @@ -0,0 +1,42 @@ +[ + { + "name": "R", + "executable": "controlR.exe", + "prefix": "R", + "extensions": ["r", "rsrc", "rscript"], + "command_arguments": "-r \"$HOME\"", + "prepend_path": "$HOME\\bin\\x64", + "startup_resource": "startup.r", + "named_arguments": true, + "home": ["%BERT_HOME%\\R-3.5.0", "@R_HOME@"] + }, + { + "name": "Julia", + "prefix": "Jl", + "extensions": ["jl", "julia"], + "command_arguments": "", + "prepend_path": "$HOME\\bin", + "named_arguments": false, + "versions": [ + { + "tag": "0.7", + "executable": "controlJulia07.exe", + "startup_resource": "startup-0.7.jl", + "home": "%localappdata%\\Julia-0.7.0-DEV", + "priority": 2 + }, + { + "tag": "0.6", + "executable": "controlJulia.exe", + "prepend_path": "$HOME\\bin", + "startup_resource": "startup-0.6.jl", + "home": [ + "%localappdata%\\Julia-0.6.2", + "%localappdata%\\Julia-0.6.3", + "%localappdata%\\Julia-0.6.4" + ], + "priority": 1 + } + ] + } +] diff --git a/Install/build-installer.ps1 b/Install/build-installer.ps1 deleted file mode 100644 index b2745fb4..00000000 --- a/Install/build-installer.ps1 +++ /dev/null @@ -1,287 +0,0 @@ -# -# Copyright (c) 2017-2018 Structured Data, LLC -# -# This file is part of BERT. -# -# BERT is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# BERT is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with BERT. If not, see . -# - -#------------------------------------------------------------------------------- -# parameters -#------------------------------------------------------------------------------- - -Param( [switch]$sign = $false, - [switch]$build = $false, - [switch]$installer = $false, - [switch]$console = $false, - [switch]$x86 = $false, - [switch]$x64 = $false, - [switch]$clean = $false, - [switch]$zip = $false, - [switch]$all = $false, - [string]$logfile = ".\build-log.txt" ); - -if( $all ) { - $console = $TRUE; - $sign = $TRUE; - $build = $TRUE; - $installer = $TRUE; - $x64 = $TRUE; - $x86 = $TRUE; - $zip = $TRUE; -}; - -# FIXME: parameterize - -$timestamp_server = "http://timestamp.verisign.com/scripts/timestamp.dll" - -# thanks to -# https://stackoverflow.com/questions/3038337/powershell-resolve-path-that-might-not-exist -# - -$logfile = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($logfile) - -#------------------------------------------------------------------------------- -# functions -#------------------------------------------------------------------------------- - -# -# read the version string from the header file -# -Function GetVersion() { - $m = select-string ..\BERT\BERT\include\BERT_Version.h -pattern "BERT_VERSION_NUMBER\s+L""(.*)""" - $v = $m.Matches[0].Groups[1].Value - return $v; -} - -# -# exit on error, with message -# -Function ExitOnError( $message ) { - - if( $LastExitCode -ne 0 ){ - if( $message -ne $null ){ Write-Host "$message" -foregroundcolor red ; } - Write-Host " Exit on error: $LastExitCode`r`n" -foregroundcolor red ; - Exit $LastExitCode; - } - else { - # Write-Host "LE? $LastExitCode"; - } -} - -# -# build one config -# -Function BuildConfiguration( $platform ) { - $extraargs = ""; - if( $clean ){ - $extraargs = "/t:Clean,Build" - Write-Host " Configuration: $platform (clean+build)" -foregroundcolor yellow - } - else { - Write-Host " Configuration: $platform (build)" -foregroundcolor yellow - } - msbuild '..\BERT\BERT.sln' /p:Configuration=Release /p:platform=$platform /m $extraargs | out-file -append -encoding "utf8" $logfile 2>&1 - ExitOnError ; -} - -# -# setup environment. thanks to -# https://github.com/nightroman/PowerShelf/blob/master/Invoke-Environment.ps1 -# -Function InvokeEnvironment(){ - - param - ( - [Parameter(Mandatory=1)][string]$Directory, - [Parameter(Mandatory=1)][string]$Command, - [switch]$Output, - [switch]$Force - ) - - $stream = if ($Output) { ($temp = [IO.Path]::GetTempFileName()) } else { 'nul' } - $operator = if ($Force) {'&'} else {'&&'} - - Write-Host "Dir: $Directory"; - Write-Host "Cmd: $Command"; - - Push-Location $Directory; - foreach($_ in cmd /c " $Command > `"$stream`" 2>&1 $operator SET") { - if ($_ -match '^([^=]+)=(.*)') { - [System.Environment]::SetEnvironmentVariable($matches[1], $matches[2]) - } - } - Pop-Location; - - if ($Output) { - Get-Content -LiteralPath $temp - Remove-Item -LiteralPath $temp - } - -} - -function ZipFile( $zipfile, $file ) -{ - Add-Type -Assembly System.IO.Compression - Add-Type -Assembly System.IO.Compression.FileSystem - - $current = Get-Location - $resolved = Join-Path $current $file - $zipfile = Join-Path $current $zipfile - - # use update in case there's an existing file (we run more than once) - $archive = [System.IO.Compression.ZipFile]::Open($zipfile, [System.IO.Compression.ZipArchiveMode]::Update) - - # if you do that, then you have to check for an entry and delete it - $entry = $archive.GetEntry($file) - if($entry) { $entry.Delete() } - - $entry = $archive.CreateEntry($file) - $output_stream = $entry.Open() - [System.IO.File]::OpenRead($resolved).CopyTo($output_stream) - $output_stream.Flush() - $output_stream.Close() - $archive.Dispose() -} - -#------------------------------------------------------------------------------- -# runtime -#------------------------------------------------------------------------------- - -InvokeEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" "Common7\Tools\VsDevCmd.bat"; - -$bert_version = GetVersion; - -Write-Host "" -Write-Host "Building installer for BERT Version $bert_version" -ForegroundColor blue - -# -# reset log file -# - -$startdate = Get-Date ; -Set-Content $logfile "Starting build @ $startdate`r`n" ; - -Write-Host "Build started @ $startdate" -ForegroundColor blue -Write-Host "" - -# -# console -# - -if($console){ - Write-Host "Building console..." -ForegroundColor green - Push-Location ..\Console - & yarn run repackage | out-file -append -encoding "utf8" $logfile 2>&1 - Pop-Location - ExitOnError -} -else { - Write-Host "Skipping console" -foregroundcolor gray -} - -Write-Host "" - -# -# build -- this is composite -# - -if($build){ - Write-Host "Building configurations..." -ForegroundColor green - if( $x86 -or $x64 ){ - if( $x86 ){ - BuildConfiguration "x86" - ExitOnError - } - if( $x64 ){ - BuildConfiguration "x64" - ExitOnError - } - } - else { - Write-Host " No configurations selected (use -x86 and/or -x64)" -foregroundcolor red - Write-Host "" - Exit 1; - } -} -else { - Write-Host "Skipping build" -foregroundcolor gray -} - -Write-Host "" - -# -# installer -# - -if($installer){ - Write-Host "Building installer..." -ForegroundColor green - & 'C:\Program Files (x86)\NSIS\makensis.exe' /DVERSION=$bert_version /DR=../../R install-script.nsi | out-file -append -encoding "utf8" $logfile 2>&1 - ExitOnError - - # nsis holds a lock on the output file, which breaks the next command. - # not sure what this is about, but 1s is not sufficient. - Start-Sleep 3 -} -else { - Write-Host "Skipping installer" -foregroundcolor gray -} - -Write-Host "" - -# -# sign installer -# - -if( $sign ) { - Write-Host "Signing installer..." -ForegroundColor green - & cmd /c 'signtool.exe' sign /t $timestamp_server /a /i comodo BERT-Installer-$bert_version.exe | out-file -append -encoding "utf8" $logfile 2>&1 - ExitOnError ; -} -else { - Write-Host "Not signing installer" -foregroundcolor gray; -} - -Write-Host "" - -# -# zip installer -# - -if( $zip ) { - Write-Host "Creating zip file..." -ForegroundColor green - ZipFile "BERT-Installer-$bert_version.zip" "BERT-Installer-$bert_version.exe" - ExitOnError; -} -else { - Write-Host "Not creating zip file" -foregroundcolor gray; -} - -Write-Host "" - -#------------------------------------------------------------------------------- -# done -#------------------------------------------------------------------------------- - -$enddate = Get-Date ; -$elapsed = $enddate - $startdate; - -Add-Content $logfile "Build complete @ $enddate`r`n" ; - -Write-Host "Build finished @ $enddate" -ForegroundColor blue -Write-Host "Elapsed time $elapsed" -ForegroundColor blue -Write-Host "" - - - diff --git a/Install/build-release.ps1 b/Install/build-release.ps1 new file mode 100644 index 00000000..b209adc4 --- /dev/null +++ b/Install/build-release.ps1 @@ -0,0 +1,124 @@ +# Builds the pieces of a release and packages them: the native projects, +# the BERTModule R package, the console, the installer and a zip. +# +# .\build-release.ps1 -Version 2.4.3-r4 +# +# Prerequisites: Visual Studio 2026 (msbuild on the path or found below), +# R 4.2 or later with Rtools for the module, node for the console, and NSIS +# (makensis) for the installer. Each stage can be skipped. +# +# Output, in ..\Build: the native binaries, module\, Console\win-unpacked\, +# and in this directory BERT-Installer--x64.exe and +# BERT--x64.zip. + +Param( + [string]$Version = "", + [string]$RHome = "", + [string]$MakeNsis = "makensis", + [switch]$SkipNative, + [switch]$SkipModule, + [switch]$SkipConsole, + [switch]$SkipInstaller, + [switch]$SkipZip +) + +$ErrorActionPreference = "Stop" +$here = Split-Path -Parent $MyInvocation.MyCommand.Path +$root = Resolve-Path (Join-Path $here "..") +$build = Join-Path $root "Build" + +function Step($text) { Write-Host "`n== $text" -ForegroundColor Cyan } +function Fail($text) { Write-Host $text -ForegroundColor Red; exit 1 } + +# ---- version: from the add-in's header unless given ------------------------ +if (-not $Version) { + $header = Get-Content (Join-Path $root "BERT\BERT\include\bert_version.h") -Raw + $number = [regex]::Match($header, 'BERT_VERSION_NUMBER\s+L"([^"]+)"').Groups[1].Value + $tag = [regex]::Match($header, 'BERT_VERSION_TAG\s+L"([^"]*)"').Groups[1].Value + if (-not $number) { Fail "could not read the version from bert_version.h" } + $Version = "$number$tag" +} +Write-Host "release version: $Version" + +# ---- R: the registered current version unless given ------------------------ +if (-not $RHome) { + foreach ($key in "HKCU:\SOFTWARE\R-core\R64", "HKLM:\SOFTWARE\R-core\R64", "HKCU:\SOFTWARE\R-core\R", "HKLM:\SOFTWARE\R-core\R") { + if (Test-Path $key) { $RHome = (Get-ItemProperty $key).InstallPath; if ($RHome) { break } } + } +} +if (-not $RHome -or -not (Test-Path "$RHome\bin\x64\R.exe")) { Fail "no 64-bit R found; pass -RHome" } +Write-Host "R: $RHome" + +# ---- native ---------------------------------------------------------------- +if (-not $SkipNative) { + Step "native projects (Release x64)" + $msbuild = Get-Command msbuild -ErrorAction SilentlyContinue + if ($msbuild) { $msbuild = $msbuild.Source } + else { + $candidates = Get-ChildItem "C:\Program Files\Microsoft Visual Studio\*\*\MSBuild\Current\Bin\MSBuild.exe" -ErrorAction SilentlyContinue + if (-not $candidates) { Fail "msbuild not found" } + $msbuild = $candidates[0].FullName + } + & $msbuild (Join-Path $root "BERT\BERT.sln") -p:Configuration=Release -p:Platform=x64 -m -nologo -v:minimal + if ($LASTEXITCODE) { Fail "native build failed" } +} + +# ---- R module -------------------------------------------------------------- +if (-not $SkipModule) { + Step "BERTModule (R CMD INSTALL with $RHome)" + $lib = Join-Path $build "module" + if (Test-Path $lib) { Remove-Item $lib -Recurse -Force } + New-Item -ItemType Directory $lib | Out-Null + & "$RHome\bin\x64\R.exe" CMD INSTALL --library="$lib" --no-multiarch (Join-Path $root "Module") + if ($LASTEXITCODE) { Fail "module build failed" } +} + +# ---- console --------------------------------------------------------------- +if (-not $SkipConsole) { + Step "console (npm run repackage)" + Push-Location (Join-Path $root "Console") + try { + if (-not (Test-Path "node_modules")) { npm install --no-audit --no-fund; if ($LASTEXITCODE) { Fail "npm install failed" } } + npm run repackage + if ($LASTEXITCODE) { Fail "console build failed" } + } finally { Pop-Location } +} + +# ---- what a release contains ----------------------------------------------- +$files = "BERT64.xll", "BERTRibbon2x64.dll", "ControlR.exe", "libprotobuf.dll", "abseil_dll.dll", + "bert-config-template.json", "user-stylesheet-template.less", "Welcome.md", "bert2.ico" +$dirs = "Console", "module", "startup" +foreach ($f in $files) { if (-not (Test-Path (Join-Path $build $f))) { Fail "missing $f in Build" } } +foreach ($d in $dirs) { if (-not (Test-Path (Join-Path $build $d))) { Fail "missing $d\ in Build" } } + +# ---- installer ------------------------------------------------------------- +if (-not $SkipInstaller) { + Step "installer (makensis)" + Push-Location $here + try { + & $MakeNsis "/DVERSION=$Version" install-script.nsi + if ($LASTEXITCODE) { Fail "makensis failed" } + } finally { Pop-Location } + Write-Host "installer: $(Join-Path $here "BERT-Installer-$Version-x64.exe")" +} + +# ---- zip ------------------------------------------------------------------- +if (-not $SkipZip) { + Step "zip" + $stage = Join-Path $env:TEMP "bert-release-$Version" + if (Test-Path $stage) { Remove-Item $stage -Recurse -Force } + New-Item -ItemType Directory $stage | Out-Null + foreach ($f in $files) { Copy-Item (Join-Path $build $f) $stage } + foreach ($d in $dirs) { Copy-Item (Join-Path $build $d) (Join-Path $stage $d) -Recurse } + # the languages file with no R filled in: the zip relies on BERT.R.home + (Get-Content (Join-Path $here "bert-languages.template.json") -Raw).Replace('"@R_HOME@"', '""') | + Set-Content (Join-Path $stage "bert-languages.json") -NoNewline + Copy-Item (Join-Path $here "INSTALL-FROM-ZIP.md") $stage + $zip = Join-Path $here "BERT-$Version-x64.zip" + if (Test-Path $zip) { Remove-Item $zip -Force } + Compress-Archive -Path (Join-Path $stage "*") -DestinationPath $zip -CompressionLevel Optimal + Remove-Item $stage -Recurse -Force + Write-Host "zip: $zip" +} + +Write-Host "`ndone" -ForegroundColor Green diff --git a/Install/install-script.nsi b/Install/install-script.nsi index 96c223dc..ec72ec22 100644 --- a/Install/install-script.nsi +++ b/Install/install-script.nsi @@ -1,6 +1,6 @@ ; ; Copyright (c) 2017-2018 Structured Data, LLC -; +; ; This file is part of BERT. ; ; BERT is free software: you can redistribute it and/or modify @@ -18,39 +18,81 @@ ; ;-------------------------------- +; BERT 2 installer, 64-bit only. Installs over an existing BERT 2 +; installation without touching the user's settings: bert-config.json, +; user-stylesheet.less and the files in Documents\BERT2 are created from +; templates only when they do not exist. The console, module and startup +; directories belong to the application and are replaced. +; +; makensis /DVERSION= install-script.nsi ; +; R is not bundled. The installer looks for an installed 64-bit R in the +; registry and writes it into bert-languages.json as the default R home, +; after the bundled R-3.5.0 that older installers left behind (the add-in +; uses the last candidate that exists). BERT.R.home in bert-config.json +; overrides both. !ifndef VERSION !error "version is not defined" !endif +!include "MUI2.nsh" +!include "FileFunc.nsh" +!include "StrFunc.nsh" +${StrRep} + +Unicode true + +Var ExcelFlavor +Var ExcelPath +Var RHome + +Icon "bert2.ico" +UninstallIcon "bert2.ico" +Name "BERT ${VERSION}" +OutFile "BERT-Installer-${VERSION}-x64.exe" +BrandingText "BERT-Installer" +InstallDir "$LOCALAPPDATA\BERT2" +InstallDirRegKey HKCU "Software\BERT2" "InstallDir" +RequestExecutionLevel user + +!define MUI_ABORTWARNING +!define MUI_FINISHPAGE_RUN_TEXT "Open Excel and the BERT Console" +!define MUI_FINISHPAGE_RUN_PARAMETERS "/x:BERT" +!define MUI_FINISHPAGE_RUN $ExcelPath +!define MUI_ICON "bert2.ico" +!define MUI_UNICON "bert2.ico" + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "license.txt" +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH +!insertmacro MUI_LANGUAGE "English" + ;-------------------------------- -;Check bitness and path +; which Excel is installed (Win64 or Win32), and where Function CheckExcelVersion - - Var /GLOBAL ExcelFlavor - Var /GLOBAL ExcelPath - + StrCpy $ExcelFlavor "" + StrCpy $ExcelPath "" EnumRegKey $1 HKCR "TypeLib\{00020813-0000-0000-C000-000000000046}" 0 StrCmp $1 "" CheckExcel_end - EnumRegKey $ExcelFlavor HKCR "TypeLib\{00020813-0000-0000-C000-000000000046}\$1\0" 0 StrCmp $ExcelFlavor "" CheckExcel_end - ReadRegStr $ExcelPath HKCR "TypeLib\{00020813-0000-0000-C000-000000000046}\$1\0\$ExcelFlavor" "" - - CheckExcel_end: - +CheckExcel_end: FunctionEnd ;-------------------------------- -;Check for BERT1 +; a BERT v1 installation is disabled (not removed), with the user's consent Function CheckOldBERT - StrCpy $1 "" - SetRegView 32 ReadRegStr $0 HKCU "Software\Microsoft\Office\Excel\Addins\BERTRibbon.Connect" "Description" StrCmp $0 "" CheckOldBERT_Check64 @@ -60,9 +102,7 @@ Function CheckOldBERT MessageBox MB_OKCANCEL|MB_ICONQUESTION "Installer found an old BERT (v1) installation.$\nOkay to disable it?" IDCANCEL CheckOldBERT_Cancel WriteRegDWORD HKCU "Software\Microsoft\Office\Excel\Addins\BERTRibbon.Connect" "LoadBehavior" 2 StrCpy $1 "Disable" - CheckOldBERT_Check64: - SetRegView 64 ReadRegStr $0 HKCU "Software\Microsoft\Office\Excel\Addins\BERTRibbon.Connect" "Description" StrCmp $0 "" CheckOldBERT_End @@ -73,277 +113,180 @@ CheckOldBERT_Check64: WriteRegDWORD HKCU "Software\Microsoft\Office\Excel\Addins\BERTRibbon.Connect" "LoadBehavior" 2 StrCpy $1 "Disable" Goto CheckOldBERT_End - CheckOldBERT_Cancel: Abort "Install canceled. Please see the BERT website for more information about upgrading." - CheckOldBERT_End: SetRegView default StrCmp $1 "" CheckOldBERT_Exit - MessageBox MB_OK|MB_ICONINFORMATION "Your old BERT installation was disabled, but not deleted. Please see the BERT website for more information on upgrading from BERT v1." - CheckOldBERT_Exit: FunctionEnd ;-------------------------------- -;Delete old versions of R - -!macro DeleteRVersions - - ; this happens both on uninstall and on update. we are breaking - ; it out so there's only one list to maintain. it has to be a macro - ; and not a function, otherwise we would still need separate functions. - - RMDir /r "$INSTDIR\R-3.4.1" - RMDir /r "$INSTDIR\R-3.4.2" - RMDir /r "$INSTDIR\R-3.4.3" - RMDir /r "$INSTDIR\R-3.4.4" +; the current 64-bit R, as registered by the R installer (per user or per +; machine, under R64 for 64-bit builds, older installers under R) -!macroend - -;-------------------------------- -;Includes - - !include "MUI2.nsh" - - ; for GetTime - - !include "FileFunc.nsh" - -;-------------------------------- -;General - - Icon "bert2.ico" - UninstallIcon "bert2.ico" - - ;Name and file - Name "BERT ${VERSION}" - OutFile "BERT-Installer-${VERSION}.exe" - BrandingText "BERT-Installer" - - ;Default installation folder - InstallDir "$LOCALAPPDATA\BERT2" - - ;Get installation folder from registry if available - InstallDirRegKey HKCU "Software\BERT2" "InstallDir" - - ;Request application privileges for Windows Vista - RequestExecutionLevel user - -;-------------------------------- -;Interface Settings - - !define MUI_ABORTWARNING - !define MUI_FINISHPAGE_RUN_TEXT "Open Excel and the BERT Console" - !define MUI_FINISHPAGE_RUN_PARAMETERS "/x:BERT" - !define MUI_FINISHPAGE_RUN $ExcelPath - - !define MUI_ICON "bert2.ico" - !define MUI_UNICON "bert2.ico" - -;-------------------------------- -;Pages - - !insertmacro MUI_PAGE_WELCOME - !insertmacro MUI_PAGE_LICENSE "license.txt" - !insertmacro MUI_PAGE_DIRECTORY - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_PAGE_FINISH - - !insertmacro MUI_UNPAGE_WELCOME - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_INSTFILES - !insertmacro MUI_UNPAGE_FINISH +Function DetectR + StrCpy $RHome "" + SetRegView 64 + ReadRegStr $RHome HKCU "Software\R-core\R64" "InstallPath" + StrCmp $RHome "" 0 DetectR_check + ReadRegStr $RHome HKLM "Software\R-core\R64" "InstallPath" + StrCmp $RHome "" 0 DetectR_check + ReadRegStr $RHome HKCU "Software\R-core\R" "InstallPath" + StrCmp $RHome "" 0 DetectR_check + ReadRegStr $RHome HKLM "Software\R-core\R" "InstallPath" +DetectR_check: + SetRegView default + StrCmp $RHome "" DetectR_none + IfFileExists "$RHome\bin\x64\R.dll" DetectR_ok +DetectR_none: + StrCpy $RHome "" + MessageBox MB_OK|MB_ICONINFORMATION "No 64-bit R installation was found. BERT needs R 4.2 or later (https://cran.r-project.org).$\n$\nAfter installing R, either run this installer again or set BERT.R.home in bert-config.json." +DetectR_ok: +FunctionEnd ;-------------------------------- -;Languages - - !insertmacro MUI_LANGUAGE "English" +; bert-languages.json from its template, with the detected R filled in +; (backslashes doubled for JSON) + +Function WriteLanguagesFile + ${StrRep} $1 $RHome "\" "\\" + ClearErrors + FileOpen $2 "$INSTDIR\bert-languages.template.json" r + FileOpen $3 "$INSTDIR\bert-languages.json" w +WriteLanguages_loop: + FileRead $2 $4 + IfErrors WriteLanguages_end + ${StrRep} $4 $4 "@R_HOME@" $1 + FileWrite $3 $4 + Goto WriteLanguages_loop +WriteLanguages_end: + FileClose $3 + FileClose $2 + ClearErrors +FunctionEnd ;-------------------------------- -;Installer Sections Section "Main" SecMain - CheckExcelRunning: - FindWindow $0 "XLMAIN" - StrCmp $0 0 +4 - MessageBox MB_OKCANCEL|MB_ICONINFORMATION "Please close Excel before running the installer." IDCANCEL +2 - Goto CheckExcelRunning - Abort "Install canceled" +CheckExcelRunning: + FindWindow $0 "XLMAIN" + StrCmp $0 0 +4 + MessageBox MB_OKCANCEL|MB_ICONINFORMATION "Please close Excel before running the installer." IDCANCEL +2 + Goto CheckExcelRunning + Abort "Install canceled" Call CheckExcelVersion + StrCmp $ExcelFlavor "Win64" +3 + MessageBox MB_OK|MB_ICONSTOP "This installer is for 64-bit Excel, which was not found (found: '$ExcelFlavor')." + Abort "Install canceled: 64-bit Excel not found" Call CheckOldBERT - -; StrCmp $ExcelFlavor "Win64" +3 -; MessageBox MB_ICONSTOP|MB_OK "Sorry, 32-bit Excel is not supported in this release." -; Abort "Install error - invalid Excel version detected" + Call DetectR SetOutPath "$INSTDIR" - ; console - File /r ..\Build\console - - ; R module + ; application-owned directories are replaced outright, so nothing from an + ; older layout is left behind + RMDir /r "$INSTDIR\console" + RMDir /r "$INSTDIR\module" + RMDir /r "$INSTDIR\startup" + File /r ..\Build\Console File /r ..\Build\module - - ; config File /r ..\Build\startup - File ..\Build\bert-languages.json - ; excel modules - ; - ; FIXME: since we know, we only need to install the appropriate version. - ; (although we still need the File command to build the installer) - ; File ..\Build\BERT64.xll - File ..\Build\BERT32.xll File ..\Build\BERTRibbon2x64.dll - File ..\Build\BERTRibbon2x86.dll + File ..\Build\ControlR.exe + File ..\Build\libprotobuf.dll + File ..\Build\abseil_dll.dll - ; default prefs - File ..\Build\bert-config-template.json + ; the language list, with the detected R filled in + File "bert-languages.template.json" + Call WriteLanguagesFile - ; copy unless there is an existing prefs file + ; settings: created from the templates only when they do not exist + File ..\Build\bert-config-template.json IfFileExists "$INSTDIR\bert-config.json" +2 CopyFiles "$INSTDIR\bert-config-template.json" "$INSTDIR\bert-config.json" - ; default stylesheet File "..\Build\user-stylesheet-template.less" - - ; copy unless there is an existing stylesheet IfFileExists "$INSTDIR\user-stylesheet.less" +2 CopyFiles "$INSTDIR\user-stylesheet-template.less" "$INSTDIR\user-stylesheet.less" - ; register, depends on bitness - StrCmp $ExcelFlavor "Win64" 0 +3 ExecWait 'regsvr32 /s "$INSTDIR\BERTRibbon2x64.dll"' - Goto +2 - ExecWait 'regsvr32 /s "$INSTDIR\BERTRibbon2x86.dll"' - - ; controllers - File ..\Build\ControlR.exe - File ..\Build\ControlJulia.exe - File ..\Build\ControlJulia07.exe - ;Store installation folder WriteRegStr HKCU "Software\BERT2" "InstallDir" "$INSTDIR" - - ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" - ; create a lib dir for R libs CreateDirectory "$INSTDIR\lib" - ; files are installed to the root directory, - ; then we can copy them if they don't already exist - + ; examples and starter functions, only where the user has none SetOutPath "$INSTDIR\files" File ..\Examples\functions.* File ..\Examples\excel-scripting.r - File ..\Examples\excel-scripting.jl File ..\Examples\excel-functions.r CreateDirectory "$DOCUMENTS\BERT2\examples" CreateDirectory "$DOCUMENTS\BERT2\functions" - ; FIXME: make this a function - IfFileExists "$DOCUMENTS\BERT2\examples\excel-scripting.r" +2 CopyFiles "$INSTDIR\files\excel-scripting.r" "$DOCUMENTS\BERT2\examples\excel-scripting.r" - - IfFileExists "$DOCUMENTS\BERT2\examples\excel-scripting.jl" +2 - CopyFiles "$INSTDIR\files\excel-scripting.jl" "$DOCUMENTS\BERT2\examples\excel-scripting.jl" - IfFileExists "$DOCUMENTS\BERT2\functions\functions.r" +2 CopyFiles "$INSTDIR\files\functions.r" "$DOCUMENTS\BERT2\functions\functions.r" - - IfFileExists "$DOCUMENTS\BERT2\functions\functions.jl" +2 - CopyFiles "$INSTDIR\files\functions.jl" "$DOCUMENTS\BERT2\functions\functions.jl" - IfFileExists "$DOCUMENTS\BERT2\examples\excel-functions.r" +2 CopyFiles "$INSTDIR\files\excel-functions.r" "$DOCUMENTS\BERT2\examples\excel-functions.r" - ; intro/release notes - SetOutPath "$INSTDIR" - File ..\Build\Welcome.md - - ; icon for add/remove programs - + File ..\Build\Welcome.md File "bert2.ico" - ; delete old versions of R, if we are updating - - !insertmacro DeleteRVersions - -!ifdef R - - ; R. this is somewhat convoluted because I can't figure out how to get - ; NSIS to install a directory without using a containing directory. - ; this will install whatever is in the passed directory, which should - ; contain the current version of R (and nothing else). - - File /r ${R}\*.* - -!endif - - ; add uninstall info + ; bundled R from installers before 2.4 (2.4 bundled R-3.5.0, which stays + ; as a fallback for anyone who has not installed R themselves) + RMDir /r "$INSTDIR\R-3.4.1" + RMDir /r "$INSTDIR\R-3.4.2" + RMDir /r "$INSTDIR\R-3.4.3" + RMDir /r "$INSTDIR\R-3.4.4" - WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "DisplayName" "BERT Tookit" + WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "DisplayName" "BERT Toolkit" WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "DisplayIcon" "$\"$INSTDIR\bert2.ico$\"" WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "DisplayVersion" ${VERSION} WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "Publisher" "Structured Data LLC" WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "NoModify" 1 WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "NoRepair" 1 - ${GetTime} "" "L" $0 $1 $2 $3 $4 $5 $6 - ; $0="01" day - ; $1="04" month - ; $2="2005" year - ; $3="Friday" day of week name - ; $4="16" hour - ; $5="05" minute - ; $6="50" seconds - WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" "InstallDate" "$2$1$0" - SectionEnd ;-------------------------------- -;Uninstaller Section +; uninstall leaves the user's settings (bert-config.json, user-stylesheet.less) +; and Documents\BERT2 in place Section "Uninstall" - UninstallCheckExcelRunning: - FindWindow $0 "XLMAIN" - StrCmp $0 0 +4 - MessageBox MB_OKCANCEL|MB_ICONINFORMATION "Please close Excel before running the uninstaller." IDCANCEL +2 - Goto UninstallCheckExcelRunning - Abort "Uninstall canceled" - - ; directories and files +UninstallCheckExcelRunning: + FindWindow $0 "XLMAIN" + StrCmp $0 0 +4 + MessageBox MB_OKCANCEL|MB_ICONINFORMATION "Please close Excel before running the uninstaller." IDCANCEL +2 + Goto UninstallCheckExcelRunning + Abort "Uninstall canceled" RMDir /r "$INSTDIR\console" RMDir /r "$INSTDIR\module" RMDir /r "$INSTDIR\files" RMDir /r "$INSTDIR\startup" - - ; clean up R - - !insertmacro DeleteRVersions - - ; this is data for the console - + RMDir /r "$INSTDIR\R-3.4.1" + RMDir /r "$INSTDIR\R-3.4.2" + RMDir /r "$INSTDIR\R-3.4.3" + RMDir /r "$INSTDIR\R-3.4.4" + RMDir /r "$INSTDIR\R-3.5.0" RMDir /r "$APPDATA\bert2-console" - ; unregister, brute force ExecWait 'regsvr32 /s /u "$INSTDIR\BERTRibbon2x64.dll"' - ExecWait 'regsvr32 /s /u "$INSTDIR\BERTRibbon2x86.dll"' Delete "$INSTDIR\BERT64.xll" Delete "$INSTDIR\BERT32.xll" @@ -352,18 +295,17 @@ Section "Uninstall" Delete "$INSTDIR\ControlR.exe" Delete "$INSTDIR\ControlJulia.exe" Delete "$INSTDIR\ControlJulia07.exe" + Delete "$INSTDIR\libprotobuf.dll" + Delete "$INSTDIR\abseil_dll.dll" Delete "$INSTDIR\bert-config-template.json" - Delete "$INSTDIR\user-stylesheet-template.json" + Delete "$INSTDIR\user-stylesheet-template.less" Delete "$INSTDIR\bert-languages.json" + Delete "$INSTDIR\bert-languages.template.json" Delete "$INSTDIR\Welcome.md" Delete "$INSTDIR\bert2.ico" - - ; uninstaller - Delete "$INSTDIR\Uninstall.exe" RMDir "$INSTDIR" - ; DeleteRegKey /ifempty HKCU "Software\BERT2" DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\BERT2" SectionEnd diff --git a/docs/BUILDING.md b/docs/BUILDING.md index e725a54d..d4fe898d 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -132,6 +132,34 @@ console from source (it needs the environment the add-in sets, at least which is what the installer ships and what the add-in starts. The dependencies are pinned by `package-lock.json`. +## Making a release + +`Install\build-release.ps1` builds everything a release needs and packages +it: + +```powershell +cd Install +.\build-release.ps1 +``` + +It reads the version from `bert_version.h` (number plus tag), builds the +native projects, installs the `BERTModule` R package into `Build\module` +with the registered R (needs Rtools), packages the console, runs `makensis` +on `install-script.nsi`, and zips the same files with `INSTALL-FROM-ZIP.md`. +Each stage has a `-Skip...` switch; `-Version` and `-RHome` override the +detection. Outputs land in `Install\`: `BERT-Installer--x64.exe` +and `BERT--x64.zip`. + +The installer is 64-bit only, does not bundle R, and installs over an +existing BERT 2 without touching `bert-config.json`, `user-stylesheet.less` +or `Documents\BERT2`; the console, module and startup directories are +replaced. It finds the current R in the registry (where the R installer +records it) and writes it into `bert-languages.json` after the bundled +`R-3.5.0` an older installer may have left, so an existing installation +moves to the installed R without anyone editing a file, and `BERT.R.home` +in `bert-config.json` still overrides it. The module is compiled with the R +used for the build, so a release built with R 4.5 needs R 4.x to load it. + ## Running against your own R BERT reads `Build\bert-languages.json` (installed as `bert-languages.json` diff --git a/docs/MODERNISATION.md b/docs/MODERNISATION.md index a0f7f22f..5c59f042 100644 --- a/docs/MODERNISATION.md +++ b/docs/MODERNISATION.md @@ -114,11 +114,12 @@ plain fills, which is what happens today. * **Julia.** The 0.6 and 0.7 embedding API does not exist in Julia 1.x, so supporting current Julia is a rewrite of the controller, not an upgrade. Decide whether to drop it. Either way it is separate from the R work. -* **Installer.** The NSIS script bundles R 3.5.0 and removes older bundled - copies. Change it to use an R already installed (the registry key - `HKLM\SOFTWARE\R-core\R\InstallPath` gives the current one) and write - the chosen home into `bert-config.json`, or bundle a current R. Bundling - is what tied BERT to one R version in the first place. +* **Installer.** Done on the `console-upgrade` branch: the NSIS script no + longer bundles R, is 64-bit only, finds the installed R in the registry + and writes it into `bert-languages.json`, and leaves the user's settings + alone when installing over an existing BERT 2. `Install\build-release.ps1` + produces the installer and a zip. The installer is not code-signed, so + SmartScreen warns on first run. * **CI.** A GitHub Actions workflow on a Windows runner can build `ControlR` and the add-in with MSBuild and cache the vcpkg install. The hosted image may not carry the v145 toolset; `/p:PlatformToolset` can override it for From 37022d4adce5c2876341ba6467c140fa04c13c71 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 15:42:28 +1000 Subject: [PATCH 20/67] build: link protobuf statically so the binaries need no VC++ redistributable The add-in, ribbon and controller already use the static C runtime, but protobuf and abseil came from vcpkg's x64-windows triplet as DLLs built against the dynamic runtime. On a machine without the Visual C++ redistributable the add-in could not load its dependency and Excel dropped it silently: the ribbon appeared, R functions gave #NAME?, and the console would not open. The x64 configurations now use the x64-windows-static triplet, so protobuf and abseil are linked in and the shipped files import only Windows system DLLs. The installer stops shipping the two DLLs and removes them from an earlier installation; the release script refuses to package a binary that still imports the runtime or protobuf DLLs, and finds makensis where the NSIS installer puts it. Build tag bumped to -r5 so the corrected release is distinguishable from -r4. Co-Authored-By: Claude Fable 5.1 --- BERT/BERT/BERT.vcxproj | 3 +++ BERT/BERT/include/bert_version.h | 2 +- ControlR/ControlR.vcxproj | 3 +++ Install/INSTALL-FROM-ZIP.md | 7 ++++--- Install/build-release.ps1 | 17 ++++++++++++++++- Install/install-script.nsi | 7 +++++-- Ribbon/BERTRibbon2.vcxproj | 3 +++ docs/BUILDING.md | 4 ++++ 8 files changed, 39 insertions(+), 7 deletions(-) diff --git a/BERT/BERT/BERT.vcxproj b/BERT/BERT/BERT.vcxproj index 0f45c81e..ed92de53 100644 --- a/BERT/BERT/BERT.vcxproj +++ b/BERT/BERT/BERT.vcxproj @@ -188,6 +188,9 @@ true + + x64-windows-static diff --git a/BERT/BERT/include/bert_version.h b/BERT/BERT/include/bert_version.h index 1044a0f3..4a8ec3b8 100644 --- a/BERT/BERT/include/bert_version.h +++ b/BERT/BERT/include/bert_version.h @@ -26,7 +26,7 @@ // so a locally built add-in can be told from a release in the console's // Help menu. the stamp is the compile time of bert.cc, the one file that // includes this header, so it only moves when that file recompiles. -#define BERT_VERSION_TAG L"-r4" +#define BERT_VERSION_TAG L"-r5" #define BERT_WIDEN_(s) L ## s #define BERT_WIDEN(s) BERT_WIDEN_(s) diff --git a/ControlR/ControlR.vcxproj b/ControlR/ControlR.vcxproj index 4711b8a9..ea712425 100644 --- a/ControlR/ControlR.vcxproj +++ b/ControlR/ControlR.vcxproj @@ -164,6 +164,9 @@ true + + x64-windows-static diff --git a/Install/INSTALL-FROM-ZIP.md b/Install/INSTALL-FROM-ZIP.md index 1d69f731..9ea66c5a 100644 --- a/Install/INSTALL-FROM-ZIP.md +++ b/Install/INSTALL-FROM-ZIP.md @@ -15,9 +15,10 @@ bar). Close Excel, then: 1. Delete the `console`, `module` and `startup` folders there and copy the ones from this zip in their place. 2. Copy these files over the existing ones: `BERT64.xll`, - `BERTRibbon2x64.dll`, `ControlR.exe`, `libprotobuf.dll`, `abseil_dll.dll`, - `Welcome.md`, `bert-config-template.json`, - `user-stylesheet-template.less`. + `BERTRibbon2x64.dll`, `ControlR.exe`, `Welcome.md`, + `bert-config-template.json`, `user-stylesheet-template.less`. If an + earlier build left `libprotobuf.dll` and `abseil_dll.dll` there, delete + them; they are no longer used. 3. Do not copy `bert-languages.json` over yours unless you want the copy in this zip, which has no R location in it. 4. Tell BERT where your R is, in `bert-config.json` (the installer would diff --git a/Install/build-release.ps1 b/Install/build-release.ps1 index b209adc4..d8044783 100644 --- a/Install/build-release.ps1 +++ b/Install/build-release.ps1 @@ -85,8 +85,18 @@ if (-not $SkipConsole) { } # ---- what a release contains ----------------------------------------------- -$files = "BERT64.xll", "BERTRibbon2x64.dll", "ControlR.exe", "libprotobuf.dll", "abseil_dll.dll", +$files = "BERT64.xll", "BERTRibbon2x64.dll", "ControlR.exe", "bert-config-template.json", "user-stylesheet-template.less", "Welcome.md", "bert2.ico" + +# the binaries must not need the Visual C++ redistributable: everything is +# linked against the static runtime, protobuf included (x64-windows-static) +foreach ($f in "BERT64.xll", "BERTRibbon2x64.dll", "ControlR.exe") { + $bytes = [IO.File]::ReadAllBytes((Join-Path $build $f)) + $text = [Text.Encoding]::ASCII.GetString($bytes) + foreach ($dll in "VCRUNTIME140", "MSVCP140", "libprotobuf.dll", "abseil_dll.dll") { + if ($text.IndexOf($dll, [StringComparison]::OrdinalIgnoreCase) -ge 0) { Fail "$f imports $dll; build with the static vcpkg triplet" } + } +} $dirs = "Console", "module", "startup" foreach ($f in $files) { if (-not (Test-Path (Join-Path $build $f))) { Fail "missing $f in Build" } } foreach ($d in $dirs) { if (-not (Test-Path (Join-Path $build $d))) { Fail "missing $d\ in Build" } } @@ -94,6 +104,11 @@ foreach ($d in $dirs) { if (-not (Test-Path (Join-Path $build $d))) { Fail "miss # ---- installer ------------------------------------------------------------- if (-not $SkipInstaller) { Step "installer (makensis)" + if (-not (Get-Command $MakeNsis -ErrorAction SilentlyContinue)) { + $found = "${env:ProgramFiles(x86)}\NSIS\makensis.exe", "$env:ProgramFiles\NSIS\makensis.exe" | Where-Object { Test-Path $_ } | Select-Object -First 1 + if (-not $found) { Fail "makensis not found; install NSIS or pass -MakeNsis" } + $MakeNsis = $found + } Push-Location $here try { & $MakeNsis "/DVERSION=$Version" install-script.nsi diff --git a/Install/install-script.nsi b/Install/install-script.nsi index ec72ec22..24b09cfd 100644 --- a/Install/install-script.nsi +++ b/Install/install-script.nsi @@ -200,8 +200,11 @@ CheckExcelRunning: File ..\Build\BERT64.xll File ..\Build\BERTRibbon2x64.dll File ..\Build\ControlR.exe - File ..\Build\libprotobuf.dll - File ..\Build\abseil_dll.dll + + ; protobuf is linked statically now; remove the DLLs an earlier build + ; shipped, which needed the Visual C++ redistributable + Delete "$INSTDIR\libprotobuf.dll" + Delete "$INSTDIR\abseil_dll.dll" ; the language list, with the detected R filled in File "bert-languages.template.json" diff --git a/Ribbon/BERTRibbon2.vcxproj b/Ribbon/BERTRibbon2.vcxproj index c45fcd50..730a454c 100644 --- a/Ribbon/BERTRibbon2.vcxproj +++ b/Ribbon/BERTRibbon2.vcxproj @@ -141,6 +141,9 @@ true + + x64-windows-static diff --git a/docs/BUILDING.md b/docs/BUILDING.md index d4fe898d..6910fddf 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -30,6 +30,10 @@ original 2018 setup and is kept for reference. and `BERT/vcpkg-configuration.json` pins the registry baseline. The first build of each project installs the dependencies into a `vcpkg_installed/` directory beside it, which is ignored by git and can be deleted freely. + The x64 configurations use the `x64-windows-static` triplet, so protobuf + and abseil are linked into the binaries: like the rest of the build they + use the static C runtime, and the shipped files need no Visual C++ + redistributable on the target machine. * An R installation. The tree is currently built against R 4.5.2; see "The R installation" below. * The Excel SDK, for the add-in project only. From 085334f808c850fa26506be4a3328913c66fbd90 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 16:20:04 +1000 Subject: [PATCH 21/67] console: restore cut, copy and paste in the editor and the Edit menu Three separate faults, all in the editor pane: The right-click menu was built by asking monaco's contextmenu contribution for its entries. That is private API, and in monaco 0.56 the method needs arguments it was not given, so the handler threw and no menu appeared. The entries are listed explicitly now, with the execute commands this class registers per language appended, so the menu no longer depends on monaco's internals. Monaco no longer registers cut, copy and paste actions at all. It only ever registered them where the document.execCommand editing commands were available, and chromium has withdrawn those from web content. Cut, copy, paste and select all are therefore implemented here, against the model and the clipboard. Since monaco moved to the EditContext input surface, the browser's own paste no longer reaches the editor: a plain textarea in the same window receives Ctrl+V, the editor does not. The clipboard shortcuts are bound in monaco, which also stops the browser acting on the same keystroke. The Edit menu's cut, copy, paste, find and replace items were never wired to anything; they fell through to a debug log. They now act on whichever pane last had the focus, remembered as the menu itself takes the focus away. The clipboard helper falls back to the main process clipboard, because the web clipboard API refuses to run while the document is not focused, which can happen around native menus. Verified over the devtools protocol: menu and keyboard cut, copy and paste, save writing to disk and clearing the dirty flag, and the context menu handler running without error. Co-Authored-By: Claude Opus 5 --- Console/data/constants.json | 6 +- Console/src/common/clipboard.ts | 33 ++++++-- Console/src/editor/editor.ts | 134 +++++++++++++++++++++++++++----- Console/src/renderer.ts | 40 ++++++++++ 4 files changed, 187 insertions(+), 26 deletions(-) diff --git a/Console/data/constants.json b/Console/data/constants.json index dc4a4402..121af5b4 100644 --- a/Console/data/constants.json +++ b/Console/data/constants.json @@ -21,7 +21,11 @@ "editorCommands": { "executeBuffer": "Execute Entire Buffer", - "executeSelection": "Execute Selection" + "executeSelection": "Execute Selection", + "cut": "Cut", + "copy": "Copy", + "paste": "Paste", + "selectAll": "Select All" }, "shell": { diff --git a/Console/src/common/clipboard.ts b/Console/src/common/clipboard.ts index fc2c970b..c011c111 100644 --- a/Console/src/common/clipboard.ts +++ b/Console/src/common/clipboard.ts @@ -17,19 +17,38 @@ * along with BERT. If not, see . */ +import * as remote from '@electron/remote'; + /** - * text clipboard for the renderer. electron's clipboard module is no - * longer available in renderer processes, and the standard web API is - * what it recommends instead. both calls are asynchronous. + * text clipboard for the renderer. + * + * electron no longer offers its clipboard module to renderer processes and + * points at the standard web API instead, which is what this uses. that API + * refuses to work while the document does not have the focus, which can + * happen around native menus, so the main process clipboard (reached + * through @electron/remote) is the fallback: it is the same clipboard, and + * it does not care about focus. */ export const clipboard = { - writeText(text: string): Promise { - return navigator.clipboard.writeText(text); + async writeText(text: string): Promise { + try { + await navigator.clipboard.writeText(text); + } + catch (e) { + console.info("clipboard write via the main process:", e.message || e); + remote.clipboard.writeText(text); + } }, - readText(): Promise { - return navigator.clipboard.readText(); + async readText(): Promise { + try { + return await navigator.clipboard.readText(); + } + catch (e) { + console.info("clipboard read via the main process:", e.message || e); + return remote.clipboard.readText(); + } } }; diff --git a/Console/src/editor/editor.ts b/Console/src/editor/editor.ts index a0c5265b..981e4e26 100644 --- a/Console/src/editor/editor.ts +++ b/Console/src/editor/editor.ts @@ -545,29 +545,52 @@ export class Editor { this.pending_active_languages_.forEach( id => this.AddExecActions(id)); - // override context menu so it matches regular menus, other context menus + // clipboard shortcuts. monaco no longer registers clipboard actions of + // its own (see Copy), and since it moved to the EditContext input + // surface the browser's own paste no longer reaches the editor, so bind + // the keys to the same methods the menus use. binding them here also + // stops the browser acting on the same keystroke. + + this.editor_.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyC, () => this.Copy()); + this.editor_.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyX, () => this.Cut()); + this.editor_.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyV, () => this.Paste()); + + // monaco's own context menu is switched off (contextmenu: false) so that + // this one matches the rest of the application. it used to be built by + // asking monaco's contextmenu contribution for its entries, but that is + // private and its shape changes between versions, so the entries are + // listed here. the clipboard entries are ours for the reason given on + // Copy, above. this.editor_.onContextMenu(e => { - let contribution = this.editor_.getContribution("editor.contrib.contextmenu") as any; - let menu_actions = contribution._getMenuActions(); + let selection = this.editor_.getSelection(); + let has_selection = !!(selection && !selection.isEmpty()); let menu = new Menu(); - menu_actions.forEach(action => { - if (action.id === "vs.actions.separator") { - menu.append(new MenuItem({ type: "separator" })); - } - else { - let keybinding = contribution._keybindingFor(action); - let accelerator = keybinding ? keybinding.getLabel() : null; - menu.append(new MenuItem({ - label: action.label, - enabled: action.enabled, - accelerator: accelerator, - click: () => action.run() - })); - } - }); + // accelerators here are labels only: registering them would take the + // keys away from the editor, which handles them itself + + menu.append(new MenuItem({ label: Constants.editorCommands.cut, accelerator: "CmdOrCtrl+X", + registerAccelerator: false, enabled: has_selection, click: () => this.Cut() })); + menu.append(new MenuItem({ label: Constants.editorCommands.copy, accelerator: "CmdOrCtrl+C", + registerAccelerator: false, enabled: has_selection, click: () => this.Copy() })); + menu.append(new MenuItem({ label: Constants.editorCommands.paste, accelerator: "CmdOrCtrl+V", + registerAccelerator: false, click: () => this.Paste() })); + menu.append(new MenuItem({ type: "separator" })); + menu.append(new MenuItem({ label: Constants.editorCommands.selectAll, accelerator: "CmdOrCtrl+A", + registerAccelerator: false, click: () => this.SelectAll() })); + + // the execute commands this class adds for each language it supports + // (see AddExecActions), so the context menu can still run code + + let exec_actions = this.editor_.getSupportedActions().filter(action => /^editor\.exec_/.test(action.id)); + if (exec_actions.length) { + menu.append(new MenuItem({ type: "separator" })); + exec_actions.forEach(action => { + menu.append(new MenuItem({ label: action.label, click: () => action.run() })); + }); + } menu.popup({ window: remote.getCurrentWindow() }); @@ -762,6 +785,81 @@ export class Editor { this.editor_.focus(); } + /** + * true when the editor holds the keyboard focus. note that opening a + * native menu takes focus away from the page, so this is no use for + * deciding what a menu command should act on; see renderer. + */ + public HasFocus() { + return !!this.editor_ && this.editor_.hasTextFocus(); + } + + /** + * clipboard. monaco no longer registers cut, copy and paste actions of + * its own: it registered them only where the old document.execCommand + * editing commands were available, and chromium has withdrawn those from + * web content. the keyboard shortcuts still work, because the browser + * handles those itself on the hidden textarea monaco keeps the selection + * in, but anything driven from a menu has to do the work here. + */ + public async Copy() { + let text = this.SelectedText(); + if (text) await clipboard.writeText(text); + } + + public async Cut() { + if (!this.editor_) return; + let selection = this.editor_.getSelection(); + let text = this.SelectedText(); + if (!text || !selection) return; + await clipboard.writeText(text); + this.editor_.executeEdits("cut", [{ range: selection, text: "", forceMoveMarkers: true }]); + this.editor_.focus(); + } + + public async Paste() { + if (!this.editor_) return; + let text = await clipboard.readText(); + if (!text) return; + + // the type command replaces the selection and leaves the cursor after + // the inserted text, which is what a paste should do + + this.editor_.focus(); + this.editor_.trigger("clipboard", "type", { text }); + } + + public SelectAll() { + if (!this.editor_) return; + let model = this.editor_.getModel(); + if (model) this.editor_.setSelection(model.getFullModelRange()); + this.editor_.focus(); + } + + public Find() { this.RunAction("actions.find"); } + + public Replace() { this.RunAction("editor.action.startFindReplaceAction"); } + + /** text of the current selection, empty if there is none */ + private SelectedText() { + if (!this.editor_) return ""; + let selection = this.editor_.getSelection(); + let model = this.editor_.getModel(); + if (!model || !selection || selection.isEmpty()) return ""; + return model.getValueInRange(selection); + } + + /** runs a monaco action by id, if this build of monaco has it */ + private RunAction(id: string) { + if (!this.editor_) return; + let action = this.editor_.getAction(id); + if (action) { + this.editor_.focus(); + action.run(); + } + else console.warn("editor action not found:", id); + } + /** * ensures the list of open files is synced with open files. this * can get called when a new file is opened or when a file is diff --git a/Console/src/renderer.ts b/Console/src/renderer.ts index 8438414c..838e92e3 100644 --- a/Console/src/renderer.ts +++ b/Console/src/renderer.ts @@ -152,6 +152,11 @@ window.addEventListener("beforeunload", event => { let editor = new Editor("#editor", properties.editor); +// with dev flags set, put the editor where the devtools console can reach +// it, as the terminal already does for itself (see TerminalImplementation) + +if (dev_flags) window["editor"] = editor; + editor.events.subscribe(event => { if( event.type === EditorEventType.Command ){ switch(event.message){ @@ -293,10 +298,45 @@ MenuUtilities.SetCheck("main.view.show-shell", typeof properties.terminal.show_shell === "undefined" || properties.terminal.show_shell); +// which pane the Edit menu acts on. opening a native menu takes the focus +// away from the page, so the pane has to be remembered rather than asked +// for at the point the menu item is clicked. + +let last_focus_pane = "editor"; + +document.addEventListener("focusin", () => { + let active = document.activeElement; + if (!active) return; + if (active.closest("#terminals")) last_focus_pane = "shell"; + else if (active.closest("#editor")) last_focus_pane = "editor"; +}); + MenuUtilities.events.subscribe(event => { switch(event.id){ + // edit. the shell has its own clipboard handling, because what is + // selected there is xterm's selection rather than a DOM selection, and + // cut has no meaning in it. + + case "main.edit.cut": + if (last_focus_pane === "editor") editor.Cut(); + break; + case "main.edit.copy": + if (last_focus_pane === "editor") editor.Copy(); + else terminals.SendCommand("copy"); + break; + case "main.edit.paste": + if (last_focus_pane === "editor") editor.Paste(); + else terminals.SendCommand("paste"); + break; + case "main.edit.find": + editor.Find(); + break; + case "main.edit.replace": + editor.Replace(); + break; + // dev case "main.view.reload": From d88e8e8f31f72c9cca3796b1db1bca44d94913bf Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 16:30:11 +1000 Subject: [PATCH 22/67] Excel function help: fix single-line descriptions, document, export for IntelliSense A function described with a single string was silently ignored. The controller only read the description attribute when it arrived as an array, and a character vector of length one crosses the wire as a scalar, so attr(f, "description") <- "text" did nothing while c("text", "") worked. docs/FUNCTION-HELP.md now covers the whole facility: how to write the descriptions, where Excel shows them (the Insert Function and Function Arguments dialogs), and why the inline tooltip is not among them. Excel draws that tooltip only for its own functions, and gives an add-in no way to produce it. The example functions and the console welcome page point at it, since none of this was written down anywhere. For the tooltip, the add-in now writes its registered functions and their descriptions to BERT-IntelliSense.intellisense.xml, in the format the Excel-DNA IntelliSense add-in reads. That add-in draws the tooltip Excel withholds. It looks for the file beside a loaded workbook or workbook add-in and ignores XLL add-ins, so BERT-IntelliSense.xlam is shipped as the thing to find it beside: an empty add-in with no code. Both are optional, and BERT does not depend on either. Verified with Excel and R 4.5.2: a function described with one string and one described argument by argument both reach the generated file, with the reserved characters escaped. Co-Authored-By: Claude Opus 5 --- .gitattributes | 3 + BERT/BERT/include/bert.h | 13 +++ BERT/BERT/src/excel_api_functions.cc | 81 +++++++++++++++++++ Build/Welcome.md | 5 ++ ControlR/src/rinterface_common.cc | 8 ++ Examples/functions.r | 19 +++++ Install/BERT-IntelliSense.xlam | Bin 0 -> 9000 bytes Install/INSTALL-FROM-ZIP.md | 6 +- Install/build-release.ps1 | 4 + Install/install-script.nsi | 8 ++ docs/FUNCTION-HELP.md | 114 +++++++++++++++++++++++++++ 11 files changed, 258 insertions(+), 3 deletions(-) create mode 100644 .gitattributes create mode 100644 Install/BERT-IntelliSense.xlam create mode 100644 docs/FUNCTION-HELP.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..46a71479 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ + +# excel add-in, binary +*.xlam binary diff --git a/BERT/BERT/include/bert.h b/BERT/BERT/include/bert.h index baa328e2..11c50352 100644 --- a/BERT/BERT/include/bert.h +++ b/BERT/BERT/include/bert.h @@ -38,6 +38,14 @@ #define CONFIG_FILE_NAME "bert-config.json" #define LANGUAGE_CONFIG_FILE_NAME "bert-languages.json" +/** + * function descriptions, in the format the Excel-DNA IntelliSense add-in + * reads. the name pairs with the carrier add-in BERT-IntelliSense.xlam: + * that add-in does nothing except give the IntelliSense add-in something + * to find this file beside. see docs/FUNCTION-HELP.md. + */ +#define INTELLISENSE_FILE_NAME "BERT-IntelliSense.intellisense.xml" + class BERT { private: @@ -176,6 +184,11 @@ class BERT { /** handles callback functions from R */ void HandleCallback(const std::string &language); +public: + + /** the directory this dll is in, which is also where the config lives */ + const std::string& home_directory() const { return home_directory_; } + public: /** single static instance of this class */ diff --git a/BERT/BERT/src/excel_api_functions.cc b/BERT/BERT/src/excel_api_functions.cc index e0df2a42..478b73ee 100644 --- a/BERT/BERT/src/excel_api_functions.cc +++ b/BERT/BERT/src/excel_api_functions.cc @@ -28,6 +28,8 @@ #include "excel_api_functions.h" +#include + void resetXlOper(LPXLOPER12 x) { if (x->xltype == (xltypeStr | xlbitDLLFree) && x->val.str) @@ -82,6 +84,82 @@ void UnregisterFunctions(const std::string &language) { } } +/** escapes the five characters xml reserves, for use in an attribute */ +std::string XMLEscape(const std::string &text) { + std::string escaped; + for (auto c : text) { + switch (c) { + case '&': escaped.append("&"); break; + case '<': escaped.append("<"); break; + case '>': escaped.append(">"); break; + case '"': escaped.append("""); break; + case '\'': escaped.append("'"); break; + default: escaped.push_back(c); + } + } + return escaped; +} + +/** + * writes the registered functions, with their descriptions, in the format + * the Excel-DNA IntelliSense add-in reads. that add-in shows the argument + * tooltip Excel itself only provides for its own functions; excel gives an + * add-in no way to do it. this file is what BERT contributes; see + * docs/FUNCTION-HELP.md for how the two are connected. + * + * this costs nothing when the IntelliSense add-in is not installed, so it + * is written whenever functions are registered. + */ +void WriteIntelliSenseFile() { + + BERT *bert = BERT::Instance(); + std::string path = bert->home_directory(); + path.append(INTELLISENSE_FILE_NAME); + + std::ofstream file(path, std::ios::binary | std::ios::trunc); + if (!file.good()) { + DebugOut("could not write %s\n", path.c_str()); + return; + } + + file << "\r\n"; + file << "\r\n"; + file << "\r\n"; + file << " \r\n"; + + for (auto entry : bert->function_list_) { + + auto language_service = bert->GetLanguageService(entry->language_key_); + if (!language_service) continue; + + // the name excel knows the function by, which is what the tooltip has + // to match: the language prefix, then the alias if there is one + + std::string name = language_service->prefix(); + name.append("."); + name.append(entry->alias_.length() ? entry->alias_ : entry->name_); + + file << " description_) << "\">\r\n"; + + for (auto argument : entry->arguments_) { + std::string description = argument->description_; + if (!description.length() && argument->default_value_.length()) { + description = "Default "; + description.append(argument->default_value_); + } + file << " name_) + << "\" Description=\"" << XMLEscape(description) << "\" />\r\n"; + } + + file << " \r\n"; + } + + file << " \r\n"; + file << "\r\n"; + +} + void RegisterFunctions() { LPXLOPER12 xlParm[32]; @@ -181,6 +259,9 @@ void RegisterFunctions() { Excel12(xlFree, 0, 1, xlParm[0]); for (int i = 0; i < 32; i++) delete xlParm[i]; + + WriteIntelliSenseFile(); + } bool ExcelRegisterLanguageCalls(const char *language_name, uint32_t language_key, bool generic) { diff --git a/Build/Welcome.md b/Build/Welcome.md index df0be4a5..edf02fbf 100644 --- a/Build/Welcome.md +++ b/Build/Welcome.md @@ -11,6 +11,11 @@ When it starts, BERT loads functions from the functions directory, Documents\BERT2. You should see some example functions installed in Excel called `R.TestAdd` and `R.EigenValues`. +Functions you export can describe themselves to Excel, so the Insert +Function dialog says what they do and what each argument is for. Add a +`description` attribute in R; there is an example in `functions.R`, in +your functions directory. + You can also use BERT with the statistics language Julia. See [this page][3] for more information. diff --git a/ControlR/src/rinterface_common.cc b/ControlR/src/rinterface_common.cc index b459488b..028dd0b8 100644 --- a/ControlR/src/rinterface_common.cc +++ b/ControlR/src/rinterface_common.cc @@ -823,6 +823,14 @@ BERTBuffers::CallResponse& ListScriptFunctions(BERTBuffers::CallResponse &respon descriptions.push_back(description.str()); } } + else if (attribute.value_case() == BERTBuffers::Variable::ValueCase::kStr) { + + // a character vector of length one crosses as a scalar + // rather than an array, so a function described without + // any argument help was dropped here + + descriptions.push_back(attribute.str()); + } } else if (attribute.name() == "category") { descriptor->set_category(attribute.str()); diff --git a/Examples/functions.r b/Examples/functions.r index c4f93c4b..fb9db3b8 100644 --- a/Examples/functions.r +++ b/Examples/functions.r @@ -12,3 +12,22 @@ TestAdd <- function(...){ EigenValues <- function(mat){ eigen(mat)$values } + +# +# you can describe your functions to Excel. the description attribute is a +# character vector: the function first, then its arguments in order. the +# description appears in the Insert Function dialog (the fx button), and +# each argument's description in the Function Arguments dialog, which opens +# if you type =R.EigenValues( in a cell and press Ctrl+A. +# +# see docs/FUNCTION-HELP.md for the rest, including how to get the tooltip +# that appears as you type. +# + +attr(TestAdd, "description") <- "Adds all of its arguments" + +attr(EigenValues, "description") <- c( + "Eigenvalues of a matrix, as a vector", + "a square matrix") + +attr(EigenValues, "category") <- "Example R Functions" diff --git a/Install/BERT-IntelliSense.xlam b/Install/BERT-IntelliSense.xlam new file mode 100644 index 0000000000000000000000000000000000000000..8524bc8088d846f0ecd0fe416691e631bd2e3e85 GIT binary patch literal 9000 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", so +`function(x, n = 10)` documents `n` on its own. Argument names always +appear, whether or not there are descriptions. + +## Where Excel shows them + +**The Insert Function dialog**, reached with the fx button beside the +formula bar. It lists your functions under their category and shows the +function description. + +**The Function Arguments dialog**, which is the useful one. Type +`=R.TestAdd(` in a cell and press Ctrl+A, or click fx, and Excel shows a +box per argument with that argument's description underneath as you move +between them. + +**Not the inline tooltip.** The grey tooltip that appears as you type past +the open bracket, listing the arguments, is drawn by Excel only for its own +built-in functions. No add-in can produce it, whether it is written as an +XLL like BERT or in VBA. The next section is the way around that. + +## The argument tooltip, through Excel-DNA IntelliSense + +[Excel-DNA IntelliSense](https://github.com/Excel-DNA/IntelliSense) exists +to fill exactly this gap. It is a separate add-in that watches the formula +editor and draws its own tooltip, so user-defined functions get argument +help as you type. It is open source and MIT licensed. + +It reads function descriptions from an XML file. BERT writes that file, +named `BERT-IntelliSense.intellisense.xml`, into its own directory +(`%LOCALAPPDATA%\BERT2`) every time it registers functions, so it always +matches the functions you have loaded. + +The IntelliSense add-in finds the file by looking beside each loaded +workbook or workbook add-in, and it deliberately ignores XLL add-ins like +BERT. `BERT-IntelliSense.xlam` bridges that gap: it is an empty add-in whose +only job is to be the file the XML sits beside. + +To try it: + +1. Download `ExcelDna.IntelliSense64.xll` from the + [releases page](https://github.com/Excel-DNA/IntelliSense/releases) and + load it in Excel, through File > Options > Add-ins > Manage Excel + Add-ins > Browse. +2. Load `%LOCALAPPDATA%\BERT2\BERT-IntelliSense.xlam` the same way. +3. Type `=R.` and one of your function names in a cell. The tooltip appears + as you type past the open bracket, and moves through your argument + descriptions as you type commas. + +This is a prototype. It has not been tested against every version of Excel, +and it adds a second add-in to your setup, which is a real cost. If you do +not want the tooltip, skip it: the dialogs described above work with no +extra add-ins. + +## How it travels + +Worth knowing when something does not appear where you expect. + +The descriptions live on the R function. `BERT$list.functions` reads them +with `attributes`, the controller turns them into the function descriptor it +sends to the add-in, and the add-in passes them to Excel's `xlfRegister`, +which takes a function description and one help string per argument. BERT +registers room for 22 of those, so a function with more arguments than that +still works, but the arguments past the 22nd are not described. + +The same descriptors produce the IntelliSense XML, so both routes always +agree. From a6db336182565963105a451bf817c8084b590333 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 16:37:56 +1000 Subject: [PATCH 23/67] docs: record that the IntelliSense tooltip was tested end to end Loaded the carrier add-in and Excel-DNA IntelliSense 1.9.0 into 64-bit Excel with BERT: typing =R.TestAdd( shows the signature with the current argument in bold, the function description and the argument description, taken from the description attribute on the R function. Notes the version tested and that the add-in is not code-signed. Co-Authored-By: Claude Opus 5 --- docs/FUNCTION-HELP.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/FUNCTION-HELP.md b/docs/FUNCTION-HELP.md index 9b060d00..0751dfe1 100644 --- a/docs/FUNCTION-HELP.md +++ b/docs/FUNCTION-HELP.md @@ -88,16 +88,20 @@ To try it: 1. Download `ExcelDna.IntelliSense64.xll` from the [releases page](https://github.com/Excel-DNA/IntelliSense/releases) and load it in Excel, through File > Options > Add-ins > Manage Excel - Add-ins > Browse. + Add-ins > Browse. Loading it there keeps it loaded next time. 2. Load `%LOCALAPPDATA%\BERT2\BERT-IntelliSense.xlam` the same way. 3. Type `=R.` and one of your function names in a cell. The tooltip appears - as you type past the open bracket, and moves through your argument - descriptions as you type commas. + as you type past the open bracket, showing the signature with the + current argument in bold, the function description, and the description + of the argument you are on. It follows the argument as you type commas. -This is a prototype. It has not been tested against every version of Excel, -and it adds a second add-in to your setup, which is a real cost. If you do -not want the tooltip, skip it: the dialogs described above work with no -extra add-ins. +Checked with IntelliSense 1.9.0 and 64-bit Excel from Microsoft 365 on +Windows 11, against functions described as above. + +Two things to weigh. The IntelliSense add-in is not code-signed, so Excel +and SmartScreen may warn about it, and it is a second add-in in your setup +that BERT does not control. If you would rather not, skip it: the dialogs +described above need nothing extra. ## How it travels From d560d97d22a68f4800ca8ee540b6ee589039d051 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 17:37:53 +1000 Subject: [PATCH 24/67] installer: make function help an optional component, and look harder for R The components page now offers "Function help in the formula bar", off by default. Selecting it installs the Excel-DNA IntelliSense add-in and the carrier add-in, and adds both to Excel's add-in list; running the installer again with the box cleared takes them out again, and uninstalling BERT removes them too. /HELP-FEATURE and /NO-HELP-FEATURE set it from the command line, for scripted installs. Excel keeps its add-in list as OPEN, OPEN1, OPEN2 and so on, with no gaps. The installer adds to the first free slot, skips entries already there, and on removal moves the last entry into the gap, so add-ins the user already had are left alone. The IntelliSense add-in is MIT licensed and ships with its licence; the build script downloads it, pinned by version and checked against its hash, so the binary is not in the repository. R detection was one registry value: the InstallPath the current R records. An R that did not write it, or wrote it and was then removed, looked like no R at all, and the installer said so even where R was installed. It now looks at that value for both R64 and R, per user and per machine, then at the per-version subkeys below them, then in Program Files, and keeps the newest it finds. It says nothing unless there is no R at all, or the one it found is older than 4.2, and it says which one that is. Message boxes gained silent defaults, so an unattended install cannot sit waiting behind a dialog. Verified on this machine: installing with the feature registers both add-ins and the tooltip works in the session straight afterwards; installing without it removes them and leaves the three add-ins already registered untouched; three installs in a row produce no duplicates; and a per-user R registered only as a version subkey is found and preferred when it is newer. Co-Authored-By: Claude Opus 5 --- .gitignore | 4 + BERT/BERT/include/bert_version.h | 2 +- Install/BERT-IntelliSense.intellisense.xml | 18 + Install/ExcelDna.IntelliSense-License.txt | 27 ++ Install/INSTALL-FROM-ZIP.md | 9 + Install/build-release.ps1 | 22 +- Install/install-script.nsi | 395 +++++++++++++++++++-- docs/BUILDING.md | 26 +- docs/FUNCTION-HELP.md | 46 ++- 9 files changed, 497 insertions(+), 52 deletions(-) create mode 100644 Install/BERT-IntelliSense.intellisense.xml create mode 100644 Install/ExcelDna.IntelliSense-License.txt diff --git a/.gitignore b/.gitignore index 6ab6647a..b024a26c 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,7 @@ Install/build-log.txt # R CMD INSTALL byproducts in the module source Module/src/*.dll Module/src/*.o + +# the third-party add-in the optional help feature ships; build-release.ps1 +# downloads and verifies it +Install/ExcelDna.IntelliSense64.xll diff --git a/BERT/BERT/include/bert_version.h b/BERT/BERT/include/bert_version.h index 4a8ec3b8..e0048797 100644 --- a/BERT/BERT/include/bert_version.h +++ b/BERT/BERT/include/bert_version.h @@ -26,7 +26,7 @@ // so a locally built add-in can be told from a release in the console's // Help menu. the stamp is the compile time of bert.cc, the one file that // includes this header, so it only moves when that file recompiles. -#define BERT_VERSION_TAG L"-r5" +#define BERT_VERSION_TAG L"-r6" #define BERT_WIDEN_(s) L ## s #define BERT_WIDEN(s) BERT_WIDEN_(s) diff --git a/Install/BERT-IntelliSense.intellisense.xml b/Install/BERT-IntelliSense.intellisense.xml new file mode 100644 index 00000000..22b5e76d --- /dev/null +++ b/Install/BERT-IntelliSense.intellisense.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + diff --git a/Install/ExcelDna.IntelliSense-License.txt b/Install/ExcelDna.IntelliSense-License.txt new file mode 100644 index 00000000..1009d823 --- /dev/null +++ b/Install/ExcelDna.IntelliSense-License.txt @@ -0,0 +1,27 @@ +The optional function help feature uses the Excel-DNA IntelliSense add-in +(ExcelDna.IntelliSense64.xll), which is redistributed here under the terms +below. Source and releases: https://github.com/Excel-DNA/IntelliSense + +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2013-2018 Govert van Drimmelen (govert@icon.co.za) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Install/INSTALL-FROM-ZIP.md b/Install/INSTALL-FROM-ZIP.md index e3dedb7f..89ca30a1 100644 --- a/Install/INSTALL-FROM-ZIP.md +++ b/Install/INSTALL-FROM-ZIP.md @@ -33,6 +33,15 @@ bar). Close Excel, then: Your `bert-config.json`, `user-stylesheet.less` and the files in `Documents\BERT2` are untouched. +## Function help in the formula bar (optional) + +The installer offers this as a tick box; from the zip it is manual. Copy +`ExcelDna.IntelliSense64.xll`, `ExcelDna.IntelliSense-License.txt` and +`BERT-IntelliSense.xlam` into the BERT directory as well, then load the two +add-ins through File > Options > Add-ins > Manage Excel Add-ins > Browse. +See `docs/FUNCTION-HELP.md` for what they do. Skip them if you do not want +the feature; nothing else depends on them. + ## A fresh installation 1. Create `%LOCALAPPDATA%\BERT2` and copy everything from the zip into it. diff --git a/Install/build-release.ps1 b/Install/build-release.ps1 index c66472cc..db62c8f3 100644 --- a/Install/build-release.ps1 +++ b/Install/build-release.ps1 @@ -88,8 +88,13 @@ if (-not $SkipConsole) { $files = "BERT64.xll", "BERTRibbon2x64.dll", "ControlR.exe", "bert-config-template.json", "user-stylesheet-template.less", "Welcome.md", "bert2.ico" -# shipped from this directory rather than from Build -$installer_files = "BERT-IntelliSense.xlam" +# shipped from this directory rather than from Build. the IntelliSense add-in +# is a third-party binary, pinned by version and checked against its hash +# rather than committed to the repository. +$installer_files = "BERT-IntelliSense.xlam", "ExcelDna.IntelliSense64.xll", "ExcelDna.IntelliSense-License.txt", + "BERT-IntelliSense.intellisense.xml" +$intellisense_version = "v1.9.0" +$intellisense_sha256 = "311E8A0520330EC0C5868EFA2D97E37DF3401AEDED3481014336DD8308A79A8A" # the binaries must not need the Visual C++ redistributable: everything is # linked against the static runtime, protobuf included (x64-windows-static) @@ -104,6 +109,19 @@ $dirs = "Console", "module", "startup" foreach ($f in $files) { if (-not (Test-Path (Join-Path $build $f))) { Fail "missing $f in Build" } } foreach ($d in $dirs) { if (-not (Test-Path (Join-Path $build $d))) { Fail "missing $d\ in Build" } } +# ---- the optional function help add-in ------------------------------------- +$isxll = Join-Path $here "ExcelDna.IntelliSense64.xll" +if (-not (Test-Path $isxll)) { + Step "downloading Excel-DNA IntelliSense $intellisense_version" + $url = "https://github.com/Excel-DNA/IntelliSense/releases/download/$intellisense_version/ExcelDna.IntelliSense64.xll" + Invoke-WebRequest -Uri $url -OutFile $isxll +} +$hash = (Get-FileHash $isxll -Algorithm SHA256).Hash +if ($hash -ne $intellisense_sha256) { + Fail "ExcelDna.IntelliSense64.xll does not match the pinned hash`n expected $intellisense_sha256`n found $hash" +} +Write-Host "IntelliSense add-in $intellisense_version verified" + # ---- installer ------------------------------------------------------------- if (-not $SkipInstaller) { Step "installer (makensis)" diff --git a/Install/install-script.nsi b/Install/install-script.nsi index d3ebc9c1..61ad176e 100644 --- a/Install/install-script.nsi +++ b/Install/install-script.nsi @@ -31,6 +31,12 @@ ; after the bundled R-3.5.0 that older installers left behind (the add-in ; uses the last candidate that exists). BERT.R.home in bert-config.json ; overrides both. +; +; Function help in the formula bar is an optional component, off by default. +; Selecting it installs the Excel-DNA IntelliSense add-in and a small carrier +; add-in, and registers both with Excel; clearing it on a later run removes +; them again. See docs/FUNCTION-HELP.md. For scripted installs, /HELP-FEATURE +; and /NO-HELP-FEATURE set it from the command line. !ifndef VERSION !error "version is not defined" @@ -38,14 +44,26 @@ !include "MUI2.nsh" !include "FileFunc.nsh" +!include "LogicLib.nsh" +!include "Sections.nsh" !include "StrFunc.nsh" +!include "WordFunc.nsh" ${StrRep} +!insertmacro VersionCompare +!insertmacro GetParameters +!insertmacro GetOptions Unicode true Var ExcelFlavor Var ExcelPath Var RHome +Var RVersion +Var ExcelKey + +; the values written into Excel's add-in list for the optional component +!define IS_XLL_VALUE '/R "$INSTDIR\ExcelDna.IntelliSense64.xll"' +!define IS_XLAM_VALUE '"$INSTDIR\BERT-IntelliSense.xlam"' Icon "bert2.ico" UninstallIcon "bert2.ico" @@ -65,6 +83,7 @@ RequestExecutionLevel user !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "license.txt" +!insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH @@ -74,6 +93,142 @@ RequestExecutionLevel user !insertmacro MUI_UNPAGE_FINISH !insertmacro MUI_LANGUAGE "English" +;-------------------------------- +; Excel keeps its add-in list in the registry as OPEN, OPEN1, OPEN2 and so +; on, with no gaps: the first missing name ends the list. These add to and +; remove from that list without disturbing add-ins the user already has. +; Defined twice, once for the installer and once for the uninstaller. + +!macro EXCEL_ADDIN_FUNCTIONS UN + +; the Excel Options key for the installed Excel, or empty. 16.0 covers 2016 +; and everything since, including Microsoft 365. +Function ${UN}FindExcelOptionsKey + Push $0 + Push $1 + Push $2 + StrCpy $ExcelKey "" + StrCpy $2 0 +excelkey_loop: + ${If} $2 == 0 + StrCpy $0 "16.0" + ${ElseIf} $2 == 1 + StrCpy $0 "15.0" + ${ElseIf} $2 == 2 + StrCpy $0 "14.0" + ${Else} + Goto excelkey_done + ${EndIf} + ClearErrors + EnumRegKey $1 HKCU "Software\Microsoft\Office\$0\Excel" 0 + ${If} $1 != "" + StrCpy $ExcelKey "Software\Microsoft\Office\$0\Excel\Options" + Goto excelkey_done + ${EndIf} + IntOp $2 $2 + 1 + Goto excelkey_loop +excelkey_done: + Pop $2 + Pop $1 + Pop $0 +FunctionEnd + +; adds the value on the stack to the add-in list, if it is not already there +Function ${UN}RegisterExcelAddIn + Exch $R0 + Push $R1 + Push $R2 + Push $R3 + StrCmp $ExcelKey "" reg_done + StrCpy $R1 0 +reg_loop: + ${If} $R1 == 0 + StrCpy $R2 "OPEN" + ${Else} + StrCpy $R2 "OPEN$R1" + ${EndIf} + ClearErrors + ReadRegStr $R3 HKCU $ExcelKey $R2 + ${If} ${Errors} + WriteRegStr HKCU $ExcelKey $R2 $R0 ; first free slot ends the list + Goto reg_done + ${EndIf} + StrCmp $R3 $R0 reg_done ; already registered + IntOp $R1 $R1 + 1 + ${If} $R1 < 40 + Goto reg_loop + ${EndIf} +reg_done: + Pop $R3 + Pop $R2 + Pop $R1 + Pop $R0 +FunctionEnd + +; removes the value on the stack from the add-in list, keeping it contiguous +; by moving the last entry into the gap +Function ${UN}UnregisterExcelAddIn + Exch $R0 + Push $R1 + Push $R2 + Push $R3 + Push $R4 + Push $R5 + StrCmp $ExcelKey "" unreg_done + StrCpy $R4 -1 + StrCpy $R5 -1 + StrCpy $R1 0 +unreg_loop: + ${If} $R1 == 0 + StrCpy $R2 "OPEN" + ${Else} + StrCpy $R2 "OPEN$R1" + ${EndIf} + ClearErrors + ReadRegStr $R3 HKCU $ExcelKey $R2 + ${If} ${Errors} + Goto unreg_scanned + ${EndIf} + StrCpy $R5 $R1 + StrCmp $R3 $R0 0 +2 + StrCpy $R4 $R1 + IntOp $R1 $R1 + 1 + ${If} $R1 < 40 + Goto unreg_loop + ${EndIf} +unreg_scanned: + ${If} $R4 < 0 + Goto unreg_done + ${EndIf} + ${If} $R4 == 0 + StrCpy $R2 "OPEN" + ${Else} + StrCpy $R2 "OPEN$R4" + ${EndIf} + ${If} $R5 == 0 + StrCpy $R3 "OPEN" + ${Else} + StrCpy $R3 "OPEN$R5" + ${EndIf} + ${If} $R4 != $R5 + ReadRegStr $R1 HKCU $ExcelKey $R3 + WriteRegStr HKCU $ExcelKey $R2 $R1 + ${EndIf} + DeleteRegValue HKCU $ExcelKey $R3 +unreg_done: + Pop $R5 + Pop $R4 + Pop $R3 + Pop $R2 + Pop $R1 + Pop $R0 +FunctionEnd + +!macroend + +!insertmacro EXCEL_ADDIN_FUNCTIONS "" +!insertmacro EXCEL_ADDIN_FUNCTIONS "un." + ;-------------------------------- ; which Excel is installed (Win64 or Win32), and where @@ -99,7 +254,7 @@ Function CheckOldBERT ReadRegDWORD $0 HKCU "Software\Microsoft\Office\Excel\Addins\BERTRibbon.Connect" "LoadBehavior" IntCmp $0 3 +2 Goto CheckOldBERT_Check64 - MessageBox MB_OKCANCEL|MB_ICONQUESTION "Installer found an old BERT (v1) installation.$\nOkay to disable it?" IDCANCEL CheckOldBERT_Cancel + MessageBox MB_OKCANCEL|MB_ICONQUESTION "Installer found an old BERT (v1) installation.$\nOkay to disable it?" /SD IDOK IDCANCEL CheckOldBERT_Cancel WriteRegDWORD HKCU "Software\Microsoft\Office\Excel\Addins\BERTRibbon.Connect" "LoadBehavior" 2 StrCpy $1 "Disable" CheckOldBERT_Check64: @@ -109,7 +264,7 @@ CheckOldBERT_Check64: ReadRegDWORD $0 HKCU "Software\Microsoft\Office\Excel\Addins\BERTRibbon.Connect" "LoadBehavior" IntCmp $0 3 +2 Goto CheckOldBERT_End - MessageBox MB_OKCANCEL|MB_ICONQUESTION "Installer found an old BERT (v1) installation.$\nOkay to disable it?" IDCANCEL CheckOldBERT_Cancel + MessageBox MB_OKCANCEL|MB_ICONQUESTION "Installer found an old BERT (v1) installation.$\nOkay to disable it?" /SD IDOK IDCANCEL CheckOldBERT_Cancel WriteRegDWORD HKCU "Software\Microsoft\Office\Excel\Addins\BERTRibbon.Connect" "LoadBehavior" 2 StrCpy $1 "Disable" Goto CheckOldBERT_End @@ -118,32 +273,127 @@ CheckOldBERT_Cancel: CheckOldBERT_End: SetRegView default StrCmp $1 "" CheckOldBERT_Exit - MessageBox MB_OK|MB_ICONINFORMATION "Your old BERT installation was disabled, but not deleted. Please see the BERT website for more information on upgrading from BERT v1." + MessageBox MB_OK|MB_ICONINFORMATION "Your old BERT installation was disabled, but not deleted. Please see the BERT website for more information on upgrading from BERT v1." /SD IDOK CheckOldBERT_Exit: FunctionEnd ;-------------------------------- -; the current 64-bit R, as registered by the R installer (per user or per -; machine, under R64 for 64-bit builds, older installers under R) +; find an R to use. people install R in more ways than one, so look in +; three places, keeping the newest usable one: +; +; 1. the InstallPath each R installer records, per user or per machine, +; under R64 for 64-bit builds and R for older ones +; 2. the per-version subkeys below those, which survive when the +; top-level value is missing or points at an R that has been removed +; 3. the usual install directory, for an R that registered nothing +; +; a candidate counts only if it actually has a 64-bit R.dll. $RVersion ends +; up holding the version where we could tell, otherwise empty. + +; considers one candidate: $0 = home, $1 = version (may be empty) +Function ConsiderR + Push $2 + ${If} $0 != "" + ${AndIf} ${FileExists} "$0\bin\x64\R.dll" + ${If} $RHome == "" + StrCpy $RHome $0 + StrCpy $RVersion $1 + ${ElseIf} $1 != "" + ${AndIf} $RVersion != "" + ${VersionCompare} $1 $RVersion $2 + ${If} $2 == 1 ; the candidate is newer + StrCpy $RHome $0 + StrCpy $RVersion $1 + ${EndIf} + ${EndIf} + ${EndIf} + Pop $2 +FunctionEnd + +; every per-version subkey of one R-core key: $3 = root marker, $4 = subkey +Function ConsiderRSubkeys + Push $5 + Push $6 + StrCpy $5 0 +subkey_loop: + ClearErrors + ${If} $3 == "HKLM" + EnumRegKey $6 HKLM "Software\R-core\$4" $5 + ${Else} + EnumRegKey $6 HKCU "Software\R-core\$4" $5 + ${EndIf} + ${If} ${Errors} + Goto subkey_done + ${EndIf} + StrCmp $6 "" subkey_done + ${If} $3 == "HKLM" + ReadRegStr $0 HKLM "Software\R-core\$4\$6" "InstallPath" + ${Else} + ReadRegStr $0 HKCU "Software\R-core\$4\$6" "InstallPath" + ${EndIf} + StrCpy $1 $6 ; the subkey name is the version + Call ConsiderR + IntOp $5 $5 + 1 + ${If} $5 < 40 + Goto subkey_loop + ${EndIf} +subkey_done: + Pop $6 + Pop $5 +FunctionEnd + +!macro CONSIDER_R_KEY ROOT SUB + ReadRegStr $0 ${ROOT} "Software\R-core\${SUB}" "InstallPath" + ReadRegStr $1 ${ROOT} "Software\R-core\${SUB}" "Current Version" + Call ConsiderR + StrCpy $3 "${ROOT}" + StrCpy $4 "${SUB}" + Call ConsiderRSubkeys +!macroend Function DetectR + StrCpy $RHome "" + StrCpy $RVersion "" SetRegView 64 - ReadRegStr $RHome HKCU "Software\R-core\R64" "InstallPath" - StrCmp $RHome "" 0 DetectR_check - ReadRegStr $RHome HKLM "Software\R-core\R64" "InstallPath" - StrCmp $RHome "" 0 DetectR_check - ReadRegStr $RHome HKCU "Software\R-core\R" "InstallPath" - StrCmp $RHome "" 0 DetectR_check - ReadRegStr $RHome HKLM "Software\R-core\R" "InstallPath" -DetectR_check: + + !insertmacro CONSIDER_R_KEY HKCU "R64" + !insertmacro CONSIDER_R_KEY HKLM "R64" + !insertmacro CONSIDER_R_KEY HKCU "R" + !insertmacro CONSIDER_R_KEY HKLM "R" + SetRegView default - StrCmp $RHome "" DetectR_none - IfFileExists "$RHome\bin\x64\R.dll" DetectR_ok -DetectR_none: - StrCpy $RHome "" - MessageBox MB_OK|MB_ICONINFORMATION "No 64-bit R installation was found. BERT needs R 4.2 or later (https://cran.r-project.org).$\n$\nAfter installing R, either run this installer again or set BERT.R.home in bert-config.json." -DetectR_ok: + + ; an R that registered nothing, in the usual place. the directory is + ; named for the version, so R-4.5.2 gives 4.5.2. + + ${If} $RHome == "" + FindFirst $5 $6 "$PROGRAMFILES64\R\R-*" +rdir_loop: + StrCmp $6 "" rdir_done + StrCpy $0 "$PROGRAMFILES64\R\$6" + StrCpy $1 $6 "" 2 ; drop the "R-" + Call ConsiderR + FindNext $5 $6 + Goto rdir_loop +rdir_done: + FindClose $5 + ${EndIf} + + ${If} $RHome == "" + MessageBox MB_OK|MB_ICONINFORMATION "No 64-bit R installation was found. BERT needs R 4.2 or later (https://cran.r-project.org).$\n$\nBERT will still install. Once R is installed, either run this installer again or set BERT.R.home in bert-config.json." /SD IDOK + Return + ${EndIf} + + ; found one: only say something if it is older than BERT is built for + + StrCmp $RVersion "" detectr_done + ${VersionCompare} $RVersion "4.2.0" $0 + ${If} $0 == 2 + MessageBox MB_OK|MB_ICONINFORMATION "The R found on this machine is $RVersion, in $RHome.$\n$\nBERT is built for R 4.2 or later: with an older R the BERT R package may not load, and text outside the Windows code page may not survive the round trip. BERT will still install and use this R.$\n$\nTo use a different R, set BERT.R.home in bert-config.json." /SD IDOK + ${EndIf} +detectr_done: + FunctionEnd ;-------------------------------- @@ -169,18 +419,20 @@ FunctionEnd ;-------------------------------- -Section "Main" SecMain +Section "BERT" SecMain + + SectionIn RO CheckExcelRunning: FindWindow $0 "XLMAIN" StrCmp $0 0 +4 - MessageBox MB_OKCANCEL|MB_ICONINFORMATION "Please close Excel before running the installer." IDCANCEL +2 + MessageBox MB_OKCANCEL|MB_ICONINFORMATION "Please close Excel before running the installer." /SD IDCANCEL IDCANCEL +2 Goto CheckExcelRunning Abort "Install canceled" Call CheckExcelVersion StrCmp $ExcelFlavor "Win64" +3 - MessageBox MB_OK|MB_ICONSTOP "This installer is for 64-bit Excel, which was not found (found: '$ExcelFlavor')." + MessageBox MB_OK|MB_ICONSTOP "This installer is for 64-bit Excel, which was not found (found: '$ExcelFlavor')." /SD IDOK Abort "Install canceled: 64-bit Excel not found" Call CheckOldBERT @@ -246,11 +498,6 @@ CheckExcelRunning: File ..\Build\Welcome.md File "bert2.ico" - ; an empty add-in that lets the Excel-DNA IntelliSense add-in find the - ; function descriptions BERT writes; loading it is optional, and nothing - ; else depends on it. see docs/FUNCTION-HELP.md - - File "BERT-IntelliSense.xlam" ; bundled R from installers before 2.4 (2.4 bundled R-3.5.0, which stays ; as a fallback for anyone who has not installed R themselves) @@ -271,6 +518,89 @@ CheckExcelRunning: SectionEnd +;-------------------------------- +; optional: the argument tooltip in the formula bar. excel draws that only +; for its own functions, so this installs the Excel-DNA IntelliSense add-in, +; which draws one for user-defined functions, plus an empty carrier add-in +; it can find BERT's function descriptions beside. see docs/FUNCTION-HELP.md + +Section /o "Function help in the formula bar" SecIntelliSense + + SetOutPath "$INSTDIR" + + File "BERT-IntelliSense.xlam" + File "ExcelDna.IntelliSense64.xll" + File "ExcelDna.IntelliSense-License.txt" + + ; the help add-in reads the descriptions as Excel starts and will not pick + ; the file up later in that session, so there has to be one before BERT + ; has run once. BERT overwrites it whenever it registers functions, so + ; only lay it down when it is not already here. + + IfFileExists "$INSTDIR\BERT-IntelliSense.intellisense.xml" +2 + File "BERT-IntelliSense.intellisense.xml" + + Call FindExcelOptionsKey + ${If} $ExcelKey == "" + MessageBox MB_OK|MB_ICONINFORMATION "The function help add-ins were installed, but Excel's add-in list could not be found, so they were not enabled. Load them from File > Options > Add-ins > Manage Excel Add-ins > Browse:$\n$\n$INSTDIR\BERT-IntelliSense.xlam$\n$INSTDIR\ExcelDna.IntelliSense64.xll" /SD IDOK + ${Else} + Push '${IS_XLAM_VALUE}' + Call RegisterExcelAddIn + Push '${IS_XLL_VALUE}' + Call RegisterExcelAddIn + ${EndIf} + +SectionEnd + +;-------------------------------- +; runs after the sections above: takes the optional component back out if it +; was cleared on a re-install + +Section "-post" + + ${IfNot} ${SectionIsSelected} ${SecIntelliSense} + Call FindExcelOptionsKey + Push '${IS_XLAM_VALUE}' + Call UnregisterExcelAddIn + Push '${IS_XLL_VALUE}' + Call UnregisterExcelAddIn + Delete "$INSTDIR\BERT-IntelliSense.xlam" + Delete "$INSTDIR\ExcelDna.IntelliSense64.xll" + Delete "$INSTDIR\ExcelDna.IntelliSense-License.txt" + Delete "$INSTDIR\BERT-IntelliSense.intellisense.xml" + ${EndIf} + +SectionEnd + +;-------------------------------- + +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SecMain} "The BERT add-in, the R language controller and the console." + !insertmacro MUI_DESCRIPTION_TEXT ${SecIntelliSense} "Shows a description of your R functions and their arguments as you type a formula, using the Excel-DNA IntelliSense add-in (MIT licensed, installed and enabled in Excel alongside BERT). Clear this box on a later run to remove it." +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +;-------------------------------- +; the optional component can be set from the command line, for scripted +; installs: /HELP-FEATURE or /NO-HELP-FEATURE + +Function .onInit + Push $R0 + Push $R1 + ${GetParameters} $R0 + ClearErrors + ${GetOptions} $R0 "/HELP-FEATURE" $R1 + ${IfNot} ${Errors} + !insertmacro SelectSection ${SecIntelliSense} + ${EndIf} + ClearErrors + ${GetOptions} $R0 "/NO-HELP-FEATURE" $R1 + ${IfNot} ${Errors} + !insertmacro UnselectSection ${SecIntelliSense} + ${EndIf} + Pop $R1 + Pop $R0 +FunctionEnd + ;-------------------------------- ; uninstall leaves the user's settings (bert-config.json, user-stylesheet.less) ; and Documents\BERT2 in place @@ -280,7 +610,7 @@ Section "Uninstall" UninstallCheckExcelRunning: FindWindow $0 "XLMAIN" StrCmp $0 0 +4 - MessageBox MB_OKCANCEL|MB_ICONINFORMATION "Please close Excel before running the uninstaller." IDCANCEL +2 + MessageBox MB_OKCANCEL|MB_ICONINFORMATION "Please close Excel before running the uninstaller." /SD IDCANCEL IDCANCEL +2 Goto UninstallCheckExcelRunning Abort "Uninstall canceled" @@ -297,6 +627,13 @@ UninstallCheckExcelRunning: ExecWait 'regsvr32 /s /u "$INSTDIR\BERTRibbon2x64.dll"' + ; take the optional function help add-ins out of Excel's add-in list + Call un.FindExcelOptionsKey + Push '${IS_XLAM_VALUE}' + Call un.UnregisterExcelAddIn + Push '${IS_XLL_VALUE}' + Call un.UnregisterExcelAddIn + Delete "$INSTDIR\BERT64.xll" Delete "$INSTDIR\BERT32.xll" Delete "$INSTDIR\BERTRibbon2x64.dll" @@ -312,6 +649,8 @@ UninstallCheckExcelRunning: Delete "$INSTDIR\bert-languages.template.json" Delete "$INSTDIR\BERT-IntelliSense.xlam" Delete "$INSTDIR\BERT-IntelliSense.intellisense.xml" + Delete "$INSTDIR\ExcelDna.IntelliSense64.xll" + Delete "$INSTDIR\ExcelDna.IntelliSense-License.txt" Delete "$INSTDIR\Welcome.md" Delete "$INSTDIR\bert2.ico" Delete "$INSTDIR\Uninstall.exe" diff --git a/docs/BUILDING.md b/docs/BUILDING.md index 6910fddf..372804b5 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -157,12 +157,26 @@ and `BERT--x64.zip`. The installer is 64-bit only, does not bundle R, and installs over an existing BERT 2 without touching `bert-config.json`, `user-stylesheet.less` or `Documents\BERT2`; the console, module and startup directories are -replaced. It finds the current R in the registry (where the R installer -records it) and writes it into `bert-languages.json` after the bundled -`R-3.5.0` an older installer may have left, so an existing installation -moves to the installed R without anyone editing a file, and `BERT.R.home` -in `bert-config.json` still overrides it. The module is compiled with the R -used for the build, so a release built with R 4.5 needs R 4.x to load it. +replaced. + +It looks for an R in three places, keeping the newest it finds: the +`InstallPath` an R installer records, per user and per machine, under both +`R-core\R64` and `R-core\R`; the per-version subkeys below those, which +survive when the top-level value is missing or points at an R that has been +removed; and `Program Files\R`, for an R that registered nothing. The one it +picks goes into `bert-languages.json` after the bundled `R-3.5.0` an older +installer may have left, so an existing installation moves to the installed +R without anyone editing a file, and `BERT.R.home` in `bert-config.json` +still overrides it. It says something only when it finds no R at all, or one +older than 4.2. + +Function help in the formula bar is an optional component, off by default; +see `FUNCTION-HELP.md`. The build script downloads the third-party add-in +that component needs and checks it against a pinned hash, so that binary is +not in the repository. + +The module is compiled with the R used for the build, so a release built +with R 4.5 needs R 4.x to load it. ## Running against your own R diff --git a/docs/FUNCTION-HELP.md b/docs/FUNCTION-HELP.md index 0751dfe1..40772d36 100644 --- a/docs/FUNCTION-HELP.md +++ b/docs/FUNCTION-HELP.md @@ -83,25 +83,41 @@ workbook or workbook add-in, and it deliberately ignores XLL add-ins like BERT. `BERT-IntelliSense.xlam` bridges that gap: it is an empty add-in whose only job is to be the file the XML sits beside. -To try it: - -1. Download `ExcelDna.IntelliSense64.xll` from the - [releases page](https://github.com/Excel-DNA/IntelliSense/releases) and - load it in Excel, through File > Options > Add-ins > Manage Excel - Add-ins > Browse. Loading it there keeps it loaded next time. -2. Load `%LOCALAPPDATA%\BERT2\BERT-IntelliSense.xlam` the same way. -3. Type `=R.` and one of your function names in a cell. The tooltip appears - as you type past the open bracket, showing the signature with the - current argument in bold, the function description, and the description - of the argument you are on. It follows the argument as you type commas. +The installer offers this as "Function help in the formula bar", a tick box +on its components page, off by default. Selecting it installs both add-ins +and switches them on in Excel. Running the installer again with the box +cleared removes them, and uninstalling BERT removes them too. For scripted +installs, `/HELP-FEATURE` and `/NO-HELP-FEATURE` set it from the command +line. + +Then type `=R.` and one of your function names in a cell. The tooltip +appears as you type past the open bracket, showing the signature with the +current argument in bold, the function description, and the description of +the argument you are on. It follows the argument as you type commas. + +To add or remove it by hand instead, the two add-ins live in +`%LOCALAPPDATA%\BERT2` and are loaded through File > Options > Add-ins > +Manage Excel Add-ins > Browse. + +The help add-in looks for the descriptions as Excel starts, and ignores the +file if it is not there yet. On a brand-new installation BERT has not +written one, so the installer lays down a starter file describing the two +example functions; BERT replaces it with your own the first time it +registers them. + +If a tooltip does not appear, check first that the function is registered at +all: start typing its name in a cell and see whether Excel offers it in the +autocomplete list. A function that has been renamed, or whose file has left +your functions directory, has nothing to describe. Checked with IntelliSense 1.9.0 and 64-bit Excel from Microsoft 365 on Windows 11, against functions described as above. -Two things to weigh. The IntelliSense add-in is not code-signed, so Excel -and SmartScreen may warn about it, and it is a second add-in in your setup -that BERT does not control. If you would rather not, skip it: the dialogs -described above need nothing extra. +Two things to weigh, which is why it is off by default. The IntelliSense +add-in is not code-signed, so Excel and SmartScreen may warn about it, and +it is a second add-in in your setup that BERT does not control. If you +would rather not, leave the box clear: the dialogs described above need +nothing extra. ## How it travels From 45266d6e2eb1903695abf7690812e23dfb718d88 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 20:52:55 +1000 Subject: [PATCH 25/67] add-in: fix the console coming back blank when it is shown again Closing the console does not close it: the window cancels the close and asks the add-in to hide it, so the ribbon command normally just shows the window again. That path hid the window, rewrote its window styles by hand (moving it between an application window and a tool window, and setting the visible bit itself), and showed it again. Rewriting the styles leaves the window out of step with what chromium believes about it, and under current chromium the console came back with a blank client area that took no input: a title bar and menus over nothing. It now shows and hides the window and leaves the styles alone, which is all it needed to do; a hidden window has no taskbar button anyway, which is what the style changes were for. The process id was also never cleared, so if the console had gone away the ribbon command would look for a window that no longer existed and do nothing at all, for the rest of the Excel session. It now checks whether the process is still running and starts a new console if it is not. Reproduced and fixed against Excel: open the console, close it, open it again, and it comes back with the editor and shell as it was. Co-Authored-By: Claude Opus 5 --- BERT/BERT/include/bert.h | 3 +++ BERT/BERT/src/bert.cc | 56 ++++++++++++++++++++++------------------ 2 files changed, 34 insertions(+), 25 deletions(-) diff --git a/BERT/BERT/include/bert.h b/BERT/BERT/include/bert.h index 11c50352..ec7a3593 100644 --- a/BERT/BERT/include/bert.h +++ b/BERT/BERT/include/bert.h @@ -214,6 +214,9 @@ class BERT { */ void ShowConsole(); + /** true if the console process we started is still running */ + bool ConsoleProcessRunning(); + /** * hides the console, without actually closing the process */ diff --git a/BERT/BERT/src/bert.cc b/BERT/BERT/src/bert.cc index 93999ab7..1e67b0ed 100644 --- a/BERT/BERT/src/bert.cc +++ b/BERT/BERT/src/bert.cc @@ -171,36 +171,22 @@ BOOL CALLBACK BERT::ShowConsoleWindowCallback(HWND hwnd, LPARAM lParam) GetWindowTextA(hwnd, buffer, 256); DebugOut("WINDOW %X: %s\n", pid, buffer); - long style = GetWindowLong(hwnd, GWL_STYLE); - long exstyle = GetWindowLong(hwnd, GWL_EXSTYLE); - DebugOut("PRE: 0x%X, 0x%X\n", style, exstyle); + // show or hide the window, and nothing else. this used to rewrite the + // window styles as well, moving the console between an application + // window and a tool window and setting the visible bit by hand. that + // leaves the window out of step with what chromium believes about it, + // and the console came back from a hide with a blank client area that + // took no input. a hidden window has no taskbar button anyway, which + // is what the style changes were for. if (show) { - style |= WS_VISIBLE; - exstyle |= WS_EX_APPWINDOW; - exstyle &= ~(WS_EX_TOOLWINDOW); + ShowWindow(hwnd, IsIconic(hwnd) ? SW_RESTORE : SW_SHOW); + SetForegroundWindow(hwnd); } else { - style &= ~(WS_VISIBLE); - exstyle |= WS_EX_TOOLWINDOW; - exstyle &= ~(WS_EX_APPWINDOW); + ShowWindow(hwnd, SW_HIDE); } - ShowWindow(hwnd, SW_HIDE); - - SetWindowLong(hwnd, GWL_EXSTYLE, exstyle); - SetWindowLong(hwnd, GWL_STYLE, style); - - if (show) { - if (IsIconic(hwnd)) ShowWindow(hwnd, SW_RESTORE); - ShowWindow(hwnd, SW_SHOW); - SetForegroundWindow(hwnd); - } - - style = GetWindowLong(hwnd, GWL_STYLE); - exstyle = GetWindowLong(hwnd, GWL_EXSTYLE); - DebugOut("POST: 0x%X, 0x%X\n", style, exstyle); - } } return TRUE; @@ -242,11 +228,31 @@ void BERT::HideConsole() { EnumWindows(BERT::FocusExcelWindowCallback, (LPARAM)pid); } +/** true if the console we started is still running */ +bool BERT::ConsoleProcessRunning() { + + if (!console_process_id_) return false; + + HANDLE handle = OpenProcess(SYNCHRONIZE, FALSE, console_process_id_); + if (!handle) return false; + + bool running = (WAIT_TIMEOUT == WaitForSingleObject(handle, 0)); + CloseHandle(handle); + + return running; +} + void BERT::ShowConsole() { - if (console_process_id_) { + + // the console hides itself rather than closing, so normally it is still + // there and only needs showing. if it has gone, start it again: the id + // was never cleared, so this used to do nothing at all. + + if (ConsoleProcessRunning()) { EnumWindows(BERT::ShowConsoleWindowCallback, true); } else { + console_process_id_ = 0; StartConsoleProcess(); } } From a20d915fd83255e295974874f283f215f6f57b21 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 20:53:30 +1000 Subject: [PATCH 26/67] console: fix the package installer, and make the list readable Install Packages sat on "loading package list" for ever. The list URL was built with path.join, which is for file paths: on windows it turned the mirror into ".\https:\cloud.r-project.org\web\packages\..." and the fetch failed. It is a URL, so it is joined as one now, and a fetch that fails says so in the dialog instead of leaving it waiting. getOption("repos") also does not always arrive in the same shape. R holds it in a named character vector, which reaches the console as an object, but a vector of one loses its names on the way and arrives as a plain string, which is what happens when CRAN is the only repo set. The code only handled the object, so it either offered the mirror list again or threw. It now accepts either. Choosing a mirror no longer writes the string "undefined" into the option as CRANextra when there was none. The list is now two columns, a fixed one for the package name and the rest for the description, so the descriptions line up down the list; either can be clipped, and the full text is in the tooltip. One notch of the mouse wheel used to scroll the list all the way to the end. The list recycles its rows as it scrolls, so the content above the viewport keeps changing size; chromium's scroll anchoring corrects the scroll position to compensate, which fires another scroll event, which recycles more rows. Scroll anchoring is switched off for these lists. Measured: one notch now moves 300px and stops, where it used to climb about 6000px every 400ms until it ran out of list. Co-Authored-By: Claude Opus 5 --- Console/data/constants.json | 3 +- Console/src/shell/language_interface_r.ts | 71 ++++++++++++++++------- Console/style/virtual-list.less | 25 +++++++- 3 files changed, 75 insertions(+), 24 deletions(-) diff --git a/Console/data/constants.json b/Console/data/constants.json index 121af5b4..f40efe31 100644 --- a/Console/data/constants.json +++ b/Console/data/constants.json @@ -46,7 +46,8 @@ "selectPackages": { "selectPackagesTitle": "Select Packages", "selectPackages": "Select Packages:", - "pleaseWait": "Loading package list, please wait...", + "pleaseWait": "Loading package list, please wait...", + "loadFailed": "Could not load the package list. Check your connection, or choose a different mirror.", "pleaseWaitInstalled": "Checking installed packages, please wait...", "installed": "installed", "filter": "Filter", diff --git a/Console/src/shell/language_interface_r.ts b/Console/src/shell/language_interface_r.ts index 74c10b98..540158f7 100644 --- a/Console/src/shell/language_interface_r.ts +++ b/Console/src/shell/language_interface_r.ts @@ -128,17 +128,29 @@ export class RInterface extends LanguageInterface { /** * shows the "select packages" dialog. */ + /** + * the CRAN repo, out of whatever getOption("repos") gives us. R holds it + * in a named character vector, which reaches us as an object; a vector of + * one loses its names on the way and arrives as a plain string, which is + * what happens when CRAN is the only repo set. + */ + static CRANRepo(repos:any) : string { + if (!repos) return ""; + if (typeof repos === "string") return repos; + if (typeof repos.CRAN === "string") return repos.CRAN; + return ""; + } + async SelectPackages(){ - + // ensure we have a repo let repos = await this.pipe_.Internal(`getOption("repos")`); - if(!repos || !repos.CRAN || !/^http/.test(repos.CRAN)){ + if(!/^http/.test(RInterface.CRANRepo(repos))){ let success = await this.ChooseMirror(); if(!success) return; + repos = await this.pipe_.Internal(`getOption("repos")`); } - - repos = await this.pipe_.Internal(`getOption("repos")`); // ok, show a dialog and then get the list @@ -174,21 +186,27 @@ export class RInterface extends LanguageInterface { // NOTE: we're not using the package list. use the html list. - let html_list = await fetch(path.join(repos.CRAN, "web/packages/available_packages_by_name.html")); - let html_blob = await html_list.blob(); - let reader = new FileReader(); + // the mirror is a URL, so it has to be joined as one. path.join turns + // it into a windows path (".\\https:\\cloud.r-project.org\\...") + // and the fetch then fails, which left this dialog waiting for a list + // that was never coming. - await new Promise((resolve, reject) => { - reader.onloadend = () => { - resolve(); - } - reader.onerror = () => { - reject(); - } - reader.readAsText(html_blob); - }); + let list_url = RInterface.CRANRepo(repos).replace(/\/+$/, "") + "/web/packages/available_packages_by_name.html"; + let html:string; - let html = reader.result as string; + try { + let response = await fetch(list_url); + if (!response.ok) throw new Error(`${response.status} ${response.statusText}`); + html = await response.text(); + } + catch (e) { + + // say so, rather than sitting on "please wait" for ever + + console.error("could not read the package list from", list_url, e); + header_text.textContent = Constants.dialogs.selectPackages.loadFailed; + return false; + } let regex = /[\s\S]*?[\s\S]*?(.*?)<\/a>[\s\S]*?<\/td>[\s\S]*?([\s\S]*?)<\/td>/g; let match; @@ -206,9 +224,6 @@ export class RInterface extends LanguageInterface { } DataCache.Store(key, data); - reader.onerror = null; - reader.onloadend = null; - } else { data = cacheResult.data; @@ -337,6 +352,12 @@ export class RInterface extends LanguageInterface { node.package_name.innerText = data.name; node.package_description.innerHTML = data.description; + // the columns are fixed width and clip, so keep the full text within + // reach of the pointer + + node.package_name.title = data.name; + node.package_description.title = node.package_description.textContent; + } // what is this about: for a fixed height list, we only measure @@ -471,7 +492,8 @@ export class RInterface extends LanguageInterface { let selected_index = -1; let first_item = 0; - let repo = (repos && repos.CRAN && /^http/i.test(repos.CRAN)) ? repos.CRAN : null; + let current = RInterface.CRANRepo(repos); + let repo = /^http/i.test(current) ? current : null; let filtered = indexes.map((index, n) => { let url = data.data.URL[index]; @@ -553,7 +575,12 @@ export class RInterface extends LanguageInterface { // FIXME: put this on the command line, then exec normally; // this might take a while. - this.pipe_.Internal(`options(repos=c(CRAN="${url}", CRANextra="${repos.CRANextra}")); cat("${(Constants.dialogs.selectMirror.setRepo||"").replace(/#/, name)}\n")`); + // keep CRANextra only when there is one to keep: this used to write + // the string "undefined" into the option whenever repos arrived + // without it, which is every time CRAN is the only repo set + + let extra = (repos && typeof repos.CRANextra === "string") ? `, CRANextra="${repos.CRANextra}"` : ""; + this.pipe_.Internal(`options(repos=c(CRAN="${url}"${extra})); cat("${(Constants.dialogs.selectMirror.setRepo||"").replace(/#/, name)}\n")`); success = true; } } diff --git a/Console/style/virtual-list.less b/Console/style/virtual-list.less index e4314f66..c4a809ca 100644 --- a/Console/style/virtual-list.less +++ b/Console/style/virtual-list.less @@ -42,6 +42,14 @@ overflow: scroll; flex-grow: 1; border: 1px solid #ccc; + + // this list recycles its rows as it scrolls, so the content above the + // viewport keeps changing size. chromium's scroll anchoring then corrects + // the scroll position to compensate, which fires another scroll event, + // which recycles more rows: one notch of the wheel and the list runs away + // to the end on its own. anchoring has nothing useful to do here. + + overflow-anchor: none; } .list-inner-body { @@ -116,14 +124,29 @@ display: flex; flex-direction: row; + // two columns: a fixed one for the name, the rest for the description. + // either can be longer than its column, so both are cut with an ellipsis + // rather than pushing the other one out of line. the full text is in the + // title, so hovering shows it. + .list-entry-name { cursor: default; font-weight: 600; + flex: 0 0 15em; + width: 15em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .list-entry-description { cursor: default; - padding-left: .5em; + padding-left: 1em; + flex: 1 1 auto; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } } } From 8b06fadca0dd8e58e533542d282fb1489ccfe3b8 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Thu, 3 Sep 2026 21:07:19 +1000 Subject: [PATCH 27/67] console: reach the menus from the devtools console under dev flags The terminal already puts itself on the window object, and the editor was added alongside it. The menu utilities go there too, so the menu commands can be driven and inspected while testing the interface. All three are behind the dev flags the add-in passes, so a normal install exposes nothing. Co-Authored-By: Claude Opus 5 --- Console/src/renderer.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Console/src/renderer.ts b/Console/src/renderer.ts index 838e92e3..77527fd5 100644 --- a/Console/src/renderer.ts +++ b/Console/src/renderer.ts @@ -155,7 +155,10 @@ let editor = new Editor("#editor", properties.editor); // with dev flags set, put the editor where the devtools console can reach // it, as the terminal already does for itself (see TerminalImplementation) -if (dev_flags) window["editor"] = editor; +if (dev_flags) { + window["editor"] = editor; + window["menu"] = MenuUtilities; +} editor.events.subscribe(event => { if( event.type === EditorEventType.Command ){ From 424b049ff819c2ec0824b5f02d30a60f30425189 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 08:26:00 +1000 Subject: [PATCH 28/67] Ask before closing a file with unsaved changes Closing a modified file discarded the changes without a word; the code has carried a "FIXME: warn if dirty" since 2018. Closing one now asks whether to save, discard or keep it open, from the File menu and from the tab's own close button alike. An unmodified file still closes straight away. Saving from that question has to be able to fail -- an empty document opens the save-as dialog, which the user can cancel -- so SaveTab now returns a promise that resolves true only once the file is on disk, and the tab stays open if it does not. Close All and Close Others ask one file at a time and stop at the first file the user decides to keep, rather than firing every question at once. Alerts had a related fault: the outgoing alert hides itself when its fade-out transition ends, which would hide an alert opened in the meantime, leaving a modal nobody could answer. The next alert now calls off the pending fade. Verified against the packaged console over the devtools protocol: cancel, discard and save from the menu and from the tab button, escape, an unmodified file, and Close All over five modified files. Co-Authored-By: Claude Opus 5 --- Console/data/constants.json | 8 ++++ Console/src/editor/editor.ts | 80 ++++++++++++++++++++++++++++++++---- Console/src/ui/alert.ts | 16 ++++++++ 3 files changed, 96 insertions(+), 8 deletions(-) diff --git a/Console/data/constants.json b/Console/data/constants.json index f40efe31..c5bec065 100644 --- a/Console/data/constants.json +++ b/Console/data/constants.json @@ -43,6 +43,14 @@ "pleaseWait": "Loading mirror list, please wait...", "setRepo": "Set CRAN repo to #" }, + "closeUnsaved": { + "title": "Unsaved changes", + "message": "$FILE has changes you have not saved.", + "save": "Save", + "discard": "Don't Save", + "cancel": "Cancel" + }, + "selectPackages": { "selectPackagesTitle": "Select Packages", "selectPackages": "Select Packages:", diff --git a/Console/src/editor/editor.ts b/Console/src/editor/editor.ts index 981e4e26..fe3a2f92 100644 --- a/Console/src/editor/editor.ts +++ b/Console/src/editor/editor.ts @@ -38,6 +38,7 @@ const TabContextMenuData = require("../../data/menus/editor_tab_context_menu.jso const SchemaSchema = require("../../data/schemas/schema.schema.json"); import { MenuUtilities } from '../ui/menu_utilities'; +import { AlertManager } from '../ui/alert'; import { Utilities } from '../common/utilities'; import { UserStylesheet } from '../ui/user_stylesheet'; import { TabPanel, TabJustify, TabEventType, TabSpec } from '../ui/tab_panel'; @@ -112,6 +113,9 @@ interface OpenFileOptions { */ export class Editor { + /** asks about unsaved changes when a file is closing */ + private alerts_ = new AlertManager(); + /** flag for loading, in case we have multiple instances */ static loaded_ = false; @@ -402,11 +406,11 @@ export class Editor { break; case "tab.close-others": copy = this.tabs_.tabs.slice(0); - copy.forEach(item => { if(item !== tab) this.CloseTab(item)}); + this.CloseTabs(copy.filter(item => item !== tab)); break; case "tab.close-all": copy = this.tabs_.tabs.slice(0); - copy.forEach(item => this.CloseTab(item)); + this.CloseTabs(copy); break; case "tab.copy-path": clipboard.writeText(document.file_path_); @@ -1192,9 +1196,56 @@ export class Editor { * closes tab. called on button click, or via one of the menu * items (close, close others, &c). */ - private CloseTab(tab: TabSpec) { + /** + * a document with unsaved changes is about to close. asks what to do with + * them: this is the last chance to keep them. + */ + private async PromptUnsaved(tab: TabSpec) : Promise<"save"|"discard"|"cancel"> { + + let labels = Constants.dialogs.closeUnsaved; - // FIXME: warn if dirty + let result = await this.alerts_.Show({ + escape: true, + title: labels.title, + message: (labels.message || "").replace(/\$FILE/, tab.label || ""), + buttons: [labels.save, labels.discard, labels.cancel] + }); + + // escape, or anything we don't recognise, leaves the file open + + if (result.result !== "button") return "cancel"; + if (result.data === labels.save) return "save"; + if (result.data === labels.discard) return "discard"; + return "cancel"; + } + + /** + * closes several tabs, one after the other, so the questions about unsaved + * changes come one at a time. stops at the first file the user keeps. + */ + private async CloseTabs(tabs: TabSpec[]) { + for (let entry of tabs) { + if (!await this.CloseTab(entry)) return; + } + } + + /** + * closes a tab. returns false if the file stayed open, either because the + * user cancelled or because a save they asked for did not happen. + */ + private async CloseTab(tab: TabSpec) : Promise { + + // unsaved changes used to go without a word + + let closing_document = tab.data as Document; + if (closing_document && closing_document.dirty_) { + let choice = await this.PromptUnsaved(tab); + if (choice === "cancel") return false; + if (choice === "save") { + let saved = await this.SaveTab(tab); + if (!saved) return false; + } + } if (tab === this.active_tab_) { if (this.tabs_.count > 1) this.tabs_.Previous(); // FIXME: maybe have an MRU order stack? ... @@ -1217,6 +1268,8 @@ export class Editor { if(document.file_path_) FileWatcher.Unwatch(document.file_path_); + return true; + } /** deactivates tab and saves view state. */ @@ -1374,7 +1427,7 @@ export class Editor { * force_dialog is for "save as", can also be used in any case you * don't necessarily want to overwrite. */ - public SaveTab(tab: TabSpec, save_as_dialog = false) { + public SaveTab(tab: TabSpec, save_as_dialog = false) : Promise { let document = tab.data as Document; let file_path = document.file_path_; @@ -1393,23 +1446,32 @@ export class Editor { if(!file_path) { console.info("save as canceled"); - return; + return Promise.resolve(false); } } - if (file_path) { + if (!file_path) return Promise.resolve(false); + + // resolves true only once the file is on disk, so a caller closing the + // tab knows the changes are safe + + return new Promise(resolve => { if(FileWatcher.IsWatching(file_path)) { + // because the watcher won't unset if we don't get notified + document.save_pending_ = true; } let contents = document.model_.getValue(); + fs.writeFile(file_path, contents, "utf8", err => { if (err) { document.save_pending_ = false; console.error(err); + resolve(false); } else { tab.dirty = document.dirty_ = false; @@ -1425,9 +1487,11 @@ export class Editor { this.CacheDocument(document); this.tabs_.UpdateTab(tab); if(save_as_dialog) this.UpdateRecentFiles(file_path, true); + resolve(true); } }); - } + + }); } diff --git a/Console/src/ui/alert.ts b/Console/src/ui/alert.ts index e33281c8..dcc98047 100644 --- a/Console/src/ui/alert.ts +++ b/Console/src/ui/alert.ts @@ -75,6 +75,15 @@ export class AlertManager { private alert_node_:HTMLElement; private timeout_id_; + /** + * the previous alert fades out, and only hides itself when the fade + * finishes. if another alert opens in the meantime -- closing several + * modified files, one question after another -- that pending fade would + * hide the new one, leaving a modal nobody can answer. we hold on to the + * listener so the next alert can call it off. + */ + private static pending_hide_: EventListener; + private static EnsureNodes() { if (this.container_node_) return; this.container_node_ = document.createElement("div"); @@ -109,6 +118,11 @@ export class AlertManager { this.alert_node_ = (AlertManager.container_node_.querySelector(".alert_container") as HTMLElement); + if (AlertManager.pending_hide_) { + this.alert_node_.removeEventListener("transitionend", AlertManager.pending_hide_); + AlertManager.pending_hide_ = null; + } + return new Promise((resolve, reject) => { AlertManager.container_node_.querySelector(".alert_title>div.content").textContent = spec.title || ""; @@ -184,8 +198,10 @@ export class AlertManager { let transition_end = () => { AlertManager.container_node_.style.display = "none"; this.alert_node_.removeEventListener("transitionend", transition_end); + if (AlertManager.pending_hide_ === transition_end) AlertManager.pending_hide_ = null; }; + AlertManager.pending_hide_ = transition_end; this.alert_node_.addEventListener("transitionend", transition_end); this.alert_node_.style.opacity = "0"; From 76b617ee4d693ec0e8c483a96a18024995275b8b Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 08:30:38 +1000 Subject: [PATCH 29/67] Space out alert answers With three answers -- save, don't save, cancel -- the labels ran together into what read as a single line of words on one green block. Co-Authored-By: Claude Opus 5 --- Console/style/alert.less | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Console/style/alert.less b/Console/style/alert.less index decdea0d..bb04e015 100644 --- a/Console/style/alert.less +++ b/Console/style/alert.less @@ -96,6 +96,13 @@ color: #fff; padding-left: .75em; padding-right: .75em; + + // with more than one answer -- save, don't save, cancel -- the labels + // ran together into a single line of words + + button + button { + margin-left: 1.5em; + } } } From 4fdb756aec0b59c12a1fe506c1e25c2b59b79bca Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 10:18:22 +1000 Subject: [PATCH 30/67] add-in: hand R's callbacks to the thread that is waiting for them Any spreadsheet function that called back into Excel deadlocked. Excel showed "Calculating" and stopped responding, the R controller sat idle, and neither recovered. That took out R graphics completely: the device asks Excel which cell it was called from (cell=TRUE) and how big its shape is, both through xlfCaller. The callback thread decides where to handle a callback by testing default_signaled_event_. Signaled means "a console call, switch context through COM"; unsignaled means "the main thread is blocked in a spreadsheet call, hand it over". The event was only reset inside the wait loop -- and a leftover Sleep(1000) sat in front of that loop -- so for a whole second after the call went out the flag still said "console". R answers in about a millisecond, so callbacks were sent through Application.Run into an Excel that was mid-calculation and could never service them. Excel's main thread is now recorded when the add-in opens, so a call can tell whether it is the one blocking Excel; such a call clears the event before it goes out rather than after, and the sleep is gone. Which branch a callback takes now follows from the thread that made the call rather than from timing. The in-loop reset is conditional for the same reason, so console calls keep the COM branch that exists for them. Traced with the debug output, which release builds compiled away: DebugOut is now built in when BERT_TRACE is defined, and the handshake has named trace points (CB:, CALL:, HandleCallback:), so this can be diagnosed in the field rather than guessed at. Co-Authored-By: Claude Opus 5 --- BERT/BERT/include/callback_info.h | 15 +++++++++++ BERT/BERT/include/debug_functions.h | 6 ++++- BERT/BERT/src/bert.cc | 12 ++++++--- BERT/BERT/src/debug_functions.cc | 2 +- BERT/BERT/src/language_service.cc | 41 ++++++++++++++++++++++++----- 5 files changed, 65 insertions(+), 11 deletions(-) diff --git a/BERT/BERT/include/callback_info.h b/BERT/BERT/include/callback_info.h index 47018785..0fe62f8b 100644 --- a/BERT/BERT/include/callback_info.h +++ b/BERT/BERT/include/callback_info.h @@ -29,10 +29,25 @@ class CallbackInfo { BERTBuffers::CallResponse callback_call_; BERTBuffers::CallResponse callback_response_; + /** + * the thread Excel calls spreadsheet functions on, recorded when the add-in + * opens. a call made on this thread has Excel blocked waiting for it, so a + * callback arriving during that call has to be handled here rather than + * through a COM context switch (which Excel will not service while it is + * calculating). + */ + DWORD main_thread_id_; + public: CallbackInfo() { default_signaled_event_ = CreateEvent(0, TRUE, TRUE, 0); default_unsignaled_event_ = CreateEvent(0, TRUE, FALSE, 0); + main_thread_id_ = 0; + } + + /** are we on the thread Excel calls spreadsheet functions on? */ + bool OnMainThread() const { + return main_thread_id_ && (GetCurrentThreadId() == main_thread_id_); } ~CallbackInfo() { diff --git a/BERT/BERT/include/debug_functions.h b/BERT/BERT/include/debug_functions.h index 3f520966..b889424d 100644 --- a/BERT/BERT/include/debug_functions.h +++ b/BERT/BERT/include/debug_functions.h @@ -22,7 +22,11 @@ #include #include -#ifdef _DEBUG +// BERT_TRACE builds the DebugOut calls into a release binary, so a stall in +// the field can be traced with a debug-output viewer. define it in the build +// (or here, temporarily) when you need the trace; it is off by default. + +#if defined(_DEBUG) || defined(BERT_TRACE) int DebugOut(const char *fmt, ...); diff --git a/BERT/BERT/src/bert.cc b/BERT/BERT/src/bert.cc index 1e67b0ed..6cff784f 100644 --- a/BERT/BERT/src/bert.cc +++ b/BERT/BERT/src/bert.cc @@ -566,8 +566,11 @@ void BERT::HandleCallback(const std::string &language) { // function or we're being called from a shell function. the semantics are different // because the main thread may or may not be blocked. + DebugOut("HandleCallback: entry (%s)\n", language.c_str()); + DWORD wait_result = WaitForSingleObject(callback_info_.default_signaled_event_, 0); if (wait_result == WAIT_OBJECT_0) { + DebugOut("HandleCallback: shell function branch (COM context switch)\n"); // DebugOut("event 2 is already signaled; this is a shell function\n"); BERTBuffers::CallResponse &call = callback_info_.callback_call_; @@ -597,13 +600,12 @@ void BERT::HandleCallback(const std::string &language) { } else { - DebugOut("event 2 is not signaled; this is a spreadsheet function\n"); - DebugOut("callback waiting for signal\n"); + DebugOut("HandleCallback: spreadsheet branch; waking the main thread\n"); // let main thread handle SetEvent(callback_info_.default_unsignaled_event_); WaitForSingleObject(callback_info_.default_signaled_event_, INFINITE); - DebugOut("callback signaled\n"); + DebugOut("HandleCallback: main thread finished, returning to R\n"); } } @@ -867,6 +869,10 @@ int BERT::ExcelCallback(const BERTBuffers::CallResponse &call, BERTBuffers::Call void BERT::Init() { + // Excel calls xlAutoOpen, and spreadsheet functions, on its main thread + + callback_info_.main_thread_id_ = GetCurrentThreadId(); + // ReadConfigFile(); std::string config_file_path; diff --git a/BERT/BERT/src/debug_functions.cc b/BERT/BERT/src/debug_functions.cc index c57502a7..c435e73b 100644 --- a/BERT/BERT/src/debug_functions.cc +++ b/BERT/BERT/src/debug_functions.cc @@ -19,7 +19,7 @@ #include "stdafx.h" -#ifdef _DEBUG +#if defined(_DEBUG) || defined(BERT_TRACE) int DebugOut(const char *fmt, ...) { diff --git a/BERT/BERT/src/language_service.cc b/BERT/BERT/src/language_service.cc index 34f2d347..5350155c 100644 --- a/BERT/BERT/src/language_service.cc +++ b/BERT/BERT/src/language_service.cc @@ -265,11 +265,11 @@ void LanguageService::RunCallbackThread() { HANDLE callback_pipe_handle = CreateFileA(ss.str().c_str(), GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, 0); if (!callback_pipe_handle || callback_pipe_handle == INVALID_HANDLE_VALUE) { DWORD err = GetLastError(); - DebugOut("err opening pipe [1]: %d\n", err); + DebugOut("CB: FAILED to open callback pipe %s: error %d\n", ss.str().c_str(), err); } else { - DebugOut("Connected to callback pipe\n"); + DebugOut("CB: connected to callback pipe %s\n", ss.str().c_str()); DWORD mode = PIPE_READMODE_MESSAGE; BOOL state = SetNamedPipeHandleState(callback_pipe_handle, &mode, 0, 0); @@ -305,14 +305,19 @@ void LanguageService::RunCallbackThread() { MessageUtilities::Unframe(call, buffer, bytes); } + DebugOut("CB: message from R (%d bytes), wait=%d\n", (int)bytes, (int)call.wait()); + bert->HandleCallback(language_descriptor_.name_); //DumpJSON(response); + DebugOut("CB: HandleCallback returned\n"); + if (call.wait()) { std::string str_response = MessageUtilities::Frame(response); WriteFile(callback_pipe_handle, str_response.c_str(), (int32_t)str_response.size(), &bytes, &io); //result = GetOverlappedResultEx(callback_pipe_handle, &io, &bytes, INFINITE, FALSE); result = GetOverlappedResult(callback_pipe_handle, &io, &bytes, TRUE); + DebugOut("CB: response written to R (result %d, %d bytes)\n", (int)result, (int)bytes); } // restart @@ -537,6 +542,20 @@ void LanguageService::Call(BERTBuffers::CallResponse &response, BERTBuffers::Cal std::string framed_message = MessageUtilities::Frame(call); ResetEvent(io_.hEvent); + // the callback thread decides where to handle a callback from the language + // by looking at this event: signaled means "no spreadsheet call in flight, + // switch context through COM", unsignaled means "the main thread is blocked + // in the call below, hand it over". it has to say the right thing before the + // language can possibly call back, which means before the call goes out -- + // it used to be reset a second later (there was a Sleep(1000) further down), + // by which time R had already called back and been sent through COM into an + // Excel that was busy calculating. that deadlocked both processes, taking + // out anything that calls back into Excel: xlfCaller, and so the graphics + // device, which uses it for cell=TRUE and to size its shape. + + bool blocking_call = call.wait() && callback_info_.OnMainThread(); + if (blocking_call) ResetEvent(callback_info_.default_signaled_event_); + bool write_result = WriteFile(pipe_handle_, framed_message.c_str(), (int32_t)framed_message.length(), NULL, &io_); // wait for the write to complete. FIXME: there's no need to wait if we don't need a @@ -555,12 +574,21 @@ void LanguageService::Call(BERTBuffers::CallResponse &response, BERTBuffers::Cal std::string message_buffer; - // ::MessageBoxA(0, "Call wait", "CB", MB_OK); - Sleep(1000); + // (there was a Sleep(1000) here, left over from debugging this by hand) + + DebugOut("CALL: waiting for a reply from %s\n", language_descriptor_.name_.c_str()); while (true) { - ResetEvent(callback_info_.default_signaled_event_); // set unsignaled + + // only a call that is blocking Excel's main thread claims the callback + // for that thread; a call from the console leaves the event signaled so + // its callbacks go through the COM context switch, which is what that + // branch is for. this used to depend on the timing of the Sleep above: + // whichever branch the clock landed on is the one the callback took. + + if (blocking_call) ResetEvent(callback_info_.default_signaled_event_); // set unsignaled DWORD signaled = WaitForMultipleObjectsEx(2, handles, FALSE, INFINITE, FALSE); + DebugOut("CALL: woken, signaled=%d (0=pipe, 1=callback event)\n", (int)signaled); if (signaled == WAIT_OBJECT_0) { // ::MessageBoxA(0, "Call signaled", "CB", MB_OK); @@ -632,8 +660,9 @@ void LanguageService::Call(BERTBuffers::CallResponse &response, BERTBuffers::Cal } else if( signaled != WAIT_TIMEOUT) { ResetEvent(callback_info_.default_unsignaled_event_); - DebugOut("other handle signaled, do something\n"); + DebugOut("CALL: servicing callback on the main thread\n"); bert->HandleCallbackOnThread(language_descriptor_.name_); + DebugOut("CALL: callback serviced, releasing the callback thread\n"); SetEvent(callback_info_.default_signaled_event_); // signal callback thread } } From b62bfaca23d4f7b04196d8ca3a24621b20289621 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 10:18:23 +1000 Subject: [PATCH 31/67] R: fix argument completion on R 4.3 and later .resolveObject tested a whole vector: inside while(length(n) > 1), n == "" is a length-2 logical. R warns about that from 4.2 and refuses it from 4.3, so asking for a function's arguments printed 'length = 2' in coercion to 'logical(1)' into the shell. Compare n[1], which is the element the rest of the function uses and what R before 4.2 did implicitly. Checked on 3.5.0, 4.2.2 and 4.5.2: identical results in every case, including an empty split and NA. Co-Authored-By: Claude Opus 5 --- Build/startup/startup.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Build/startup/startup.R b/Build/startup/startup.R index b25193dd..26657d28 100644 --- a/Build/startup/startup.R +++ b/Build/startup/startup.R @@ -394,11 +394,11 @@ library(BERTModule, lib.loc=paste0(Sys.getenv("BERT_HOME"), "module")); p <- environment(); n <- unlist( strsplit( name, "[^\\w\\.,]", F, T )); while( length( n ) > 1 ){ - if( n == "" || !exists( n[1], where=p )) return( NULL ); + if( n[1] == "" || !exists( n[1], where=p )) return( NULL ); p <- get( n[1], envir=p ); n <- n[-1]; } - if( n == "" || !exists( n[1], where=p )) return( NULL ); + if( n[1] == "" || !exists( n[1], where=p )) return( NULL ); list( name=n[1], fun=get( n[1], envir=p )); } From 21678a8f3bf282b62bfa71cd992260ed855862da Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 10:18:33 +1000 Subject: [PATCH 32/67] docs: keep a changelog, and show it in the console There was no single record of what changed between releases: the history was spread across commit messages, release notes and the upstream pull request. CHANGELOG.md now carries it, newest first, r4 through r7. Help > Release Notes opened welcome.md, a general welcome page rather than release notes. It opens the changelog now, falling back to the welcome page for an installation that predates it -- so the console also shows the changelog by itself the first time you run a new version, which is what that mechanism was there for. The installer and the release script ship it. Co-Authored-By: Claude Opus 5 --- Build/CHANGELOG.md | 133 +++++++++++++++++++++++++++++++++++ CHANGELOG.md | 133 +++++++++++++++++++++++++++++++++++ Console/data/constants.json | 3 +- Console/src/editor/editor.ts | 17 ++++- Install/build-release.ps1 | 3 +- Install/install-script.nsi | 2 + 6 files changed, 286 insertions(+), 5 deletions(-) create mode 100644 Build/CHANGELOG.md create mode 100644 CHANGELOG.md diff --git a/Build/CHANGELOG.md b/Build/CHANGELOG.md new file mode 100644 index 00000000..848e8994 --- /dev/null +++ b/Build/CHANGELOG.md @@ -0,0 +1,133 @@ +# BERT changelog + +Releases of this fork ([SamLovick/Basic-Excel-R-Toolkit](https://github.com/SamLovick/Basic-Excel-R-Toolkit/releases)), +which carries BERT 2.4.3 forward to current R, a current toolchain and a +current console. Upstream (sdllc) has not released since 2018; the whole set +of changes is offered back as pull request +[sdllc#220](https://github.com/sdllc/Basic-Excel-R-Toolkit/pull/220). + +Newest first. The console shows this file under Help ▸ Release Notes, and +opens it by itself the first time you run a new version. + +## 2.4.3-r7 + +### Excel froze whenever R called back into it + +Any spreadsheet function that called back into Excel deadlocked: Excel showed +"Calculating" and stopped responding, R sat idle, and neither recovered. That +took out **R graphics entirely**, since the graphics device asks Excel which +cell it was called from and how big its shape is. + +The add-in decides where to handle a callback by testing an event: signaled +means "a console call, switch context through COM", unsignaled means "the main +thread is blocked in a spreadsheet call, hand it over". The event was only +cleared a second after the call was sent (there was a leftover `Sleep(1000)`), +but R answers in about a millisecond, so callbacks were pushed through COM into +an Excel that was mid-calculation and could never service them. + +The add-in now records Excel's main thread when it loads, clears the event +before the call goes out rather than after, and drops the sleep. Which branch a +callback takes is decided by the thread that made the call instead of by +timing. Verified with the worked example from +[bert-toolkit.com/r-graphics-in-excel](https://bert-toolkit.com/r-graphics-in-excel): +cell-linked and named devices, rotated text, transparency, rasters and UTF-8 +labels all draw, and console callbacks still round-trip. + +This is upstream code, untouched by the R 4.x work; it would have affected +anyone using `xlfCaller` or graphics from a cell. + +### Console autocomplete broke on R 4.3 and later + +`startup.R` compared a whole vector in `if (n == "" || ...)`. R has rejected a +length-2 condition since 4.3, so asking for a function's arguments printed +`'length = 2' in coercion to 'logical(1)'` into the shell. Now compares `n[1]`, +which is what the surrounding code already assumes and what R before 4.2 did +implicitly — same results on 3.5.0, 4.2.2 and 4.5.2. + +### Closing a modified file asks first + +Closing an edited file discarded the changes without a word; the source had +carried a `FIXME: warn if dirty` since 2018. It now offers Save, Don't Save or +Cancel, from the File menu and from the tab's close button alike. Saving can +fail (an unnamed file opens Save As, which you can cancel), and the file stays +open when it does. Close All and Close Others ask one file at a time and stop +at the first file you keep. + +### Other fixes + +- The console came back blank when you opened it a second time from the ribbon + in the same session. It is now shown and restored rather than recreated, and + restarted if the process has gone. +- Install Packages stalled on "loading packages" after you picked a mirror: the + package list URL was built wrongly for repositories given as a list, and the + failure was silent. The list also now reads as two fixed columns, name and + description. +- The package list kept scrolling after the mouse wheel stopped, to the end of + the list, because Chromium's scroll anchoring fought the virtual list. +- An alert that opened while another was fading out was hidden by the fade, + leaving a dialog nobody could answer. Alert buttons are also spaced now, so + three answers no longer read as one run of words. +- Release notes (this file) are shipped and shown in the console, which + previously offered only the generic welcome page. +- `DebugOut` can be compiled into a release build with `BERT_TRACE`, and the + callback handshake has named trace points, so a stall in the field can be + traced with a debug-output viewer instead of guesswork. + +## 2.4.3-r6 + +- **Function help in the formula bar.** Typing `=R.YourFunction(` shows the + function's arguments, a description of the function and of the argument you + are on, taken from `attr(f, "description")` in your R code. Excel gives + add-ins no way to draw that tooltip itself, so the add-in writes an + Excel-DNA IntelliSense file and the installer offers the IntelliSense add-in + as an optional component, off by default. See `docs/FUNCTION-HELP.md`. +- Single-string `description` attributes were dropped when registering + functions; only the vector form was read. Both work now, and feed Excel's + Insert Function and Function Arguments dialogs. +- The installer registers and unregisters the help add-ins itself, filling the + first free slot in Excel's add-in list and closing the gap on removal. +- R detection widened: per-user and per-machine registry entries, per-version + subkeys, then Program Files, keeping the newest. It only warns when it finds + no R, or nothing newer than 4.2. +- Cut, copy and paste work again in the editor, from the keyboard, the context + menu and the Edit menu. Monaco 0.56 registers no clipboard actions of its + own, and Electron 44 has no renderer clipboard module. + +## 2.4.3-r5 + +- Protobuf and its dependencies are linked statically. The r4 binaries needed + the Visual C++ redistributable, so on a machine without it the add-in failed + to load: every function gave `#NAME?` and the console never appeared. The + shipped binaries now import only system DLLs. + +**2.4.3-r4 was withdrawn** for the fault above. + +## 2.4.3-r4 + +First release of this fork. + +- **Works with current R.** One `ControlR.exe` built against R 4.5.2, with a + runtime version gate (floor 3.5) instead of a hard-coded 3.5 test. R is no + longer bundled; the installer finds the R you have. +- **Unicode end to end.** The controller runs with the UTF-8 code page, picks + its console encoding at runtime from the hosted R version (R 4.2 changed + what R hands over), converts strings explicitly rather than assuming the + native code page, and sends console text by length instead of relying on a + terminator. `x <- "café"; nchar(x)` gives 4, and text survives the round trip + between a cell, R and the console. +- **Current toolchain.** v145 toolset, protobuf 5.29 (C++) and 3.21 + (JavaScript), vcpkg manifest mode, ARM64EC configurations that link. +- **Current console.** Electron 44, TypeScript 7, Monaco 0.56, xterm 6, rxjs 7, + chokidar 4, built with npm. +- **64-bit installer** that installs over an existing BERT 2 without touching + `bert-config.json`, `user-stylesheet.less` or `Documents\BERT2`. +- The update check no longer points development builds at upstream's 2.4.4 + download page. +- Package names from CRAN no longer carry markup into the console. +- `docs/BUILDING.md` and `docs/MODERNISATION.md` describe the build, the R + version policy and what is still outstanding. + +## 2.4.4 and earlier + +See the [upstream project](https://github.com/sdllc/Basic-Excel-R-Toolkit) and +[bert-toolkit.com](https://bert-toolkit.com). diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..848e8994 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,133 @@ +# BERT changelog + +Releases of this fork ([SamLovick/Basic-Excel-R-Toolkit](https://github.com/SamLovick/Basic-Excel-R-Toolkit/releases)), +which carries BERT 2.4.3 forward to current R, a current toolchain and a +current console. Upstream (sdllc) has not released since 2018; the whole set +of changes is offered back as pull request +[sdllc#220](https://github.com/sdllc/Basic-Excel-R-Toolkit/pull/220). + +Newest first. The console shows this file under Help ▸ Release Notes, and +opens it by itself the first time you run a new version. + +## 2.4.3-r7 + +### Excel froze whenever R called back into it + +Any spreadsheet function that called back into Excel deadlocked: Excel showed +"Calculating" and stopped responding, R sat idle, and neither recovered. That +took out **R graphics entirely**, since the graphics device asks Excel which +cell it was called from and how big its shape is. + +The add-in decides where to handle a callback by testing an event: signaled +means "a console call, switch context through COM", unsignaled means "the main +thread is blocked in a spreadsheet call, hand it over". The event was only +cleared a second after the call was sent (there was a leftover `Sleep(1000)`), +but R answers in about a millisecond, so callbacks were pushed through COM into +an Excel that was mid-calculation and could never service them. + +The add-in now records Excel's main thread when it loads, clears the event +before the call goes out rather than after, and drops the sleep. Which branch a +callback takes is decided by the thread that made the call instead of by +timing. Verified with the worked example from +[bert-toolkit.com/r-graphics-in-excel](https://bert-toolkit.com/r-graphics-in-excel): +cell-linked and named devices, rotated text, transparency, rasters and UTF-8 +labels all draw, and console callbacks still round-trip. + +This is upstream code, untouched by the R 4.x work; it would have affected +anyone using `xlfCaller` or graphics from a cell. + +### Console autocomplete broke on R 4.3 and later + +`startup.R` compared a whole vector in `if (n == "" || ...)`. R has rejected a +length-2 condition since 4.3, so asking for a function's arguments printed +`'length = 2' in coercion to 'logical(1)'` into the shell. Now compares `n[1]`, +which is what the surrounding code already assumes and what R before 4.2 did +implicitly — same results on 3.5.0, 4.2.2 and 4.5.2. + +### Closing a modified file asks first + +Closing an edited file discarded the changes without a word; the source had +carried a `FIXME: warn if dirty` since 2018. It now offers Save, Don't Save or +Cancel, from the File menu and from the tab's close button alike. Saving can +fail (an unnamed file opens Save As, which you can cancel), and the file stays +open when it does. Close All and Close Others ask one file at a time and stop +at the first file you keep. + +### Other fixes + +- The console came back blank when you opened it a second time from the ribbon + in the same session. It is now shown and restored rather than recreated, and + restarted if the process has gone. +- Install Packages stalled on "loading packages" after you picked a mirror: the + package list URL was built wrongly for repositories given as a list, and the + failure was silent. The list also now reads as two fixed columns, name and + description. +- The package list kept scrolling after the mouse wheel stopped, to the end of + the list, because Chromium's scroll anchoring fought the virtual list. +- An alert that opened while another was fading out was hidden by the fade, + leaving a dialog nobody could answer. Alert buttons are also spaced now, so + three answers no longer read as one run of words. +- Release notes (this file) are shipped and shown in the console, which + previously offered only the generic welcome page. +- `DebugOut` can be compiled into a release build with `BERT_TRACE`, and the + callback handshake has named trace points, so a stall in the field can be + traced with a debug-output viewer instead of guesswork. + +## 2.4.3-r6 + +- **Function help in the formula bar.** Typing `=R.YourFunction(` shows the + function's arguments, a description of the function and of the argument you + are on, taken from `attr(f, "description")` in your R code. Excel gives + add-ins no way to draw that tooltip itself, so the add-in writes an + Excel-DNA IntelliSense file and the installer offers the IntelliSense add-in + as an optional component, off by default. See `docs/FUNCTION-HELP.md`. +- Single-string `description` attributes were dropped when registering + functions; only the vector form was read. Both work now, and feed Excel's + Insert Function and Function Arguments dialogs. +- The installer registers and unregisters the help add-ins itself, filling the + first free slot in Excel's add-in list and closing the gap on removal. +- R detection widened: per-user and per-machine registry entries, per-version + subkeys, then Program Files, keeping the newest. It only warns when it finds + no R, or nothing newer than 4.2. +- Cut, copy and paste work again in the editor, from the keyboard, the context + menu and the Edit menu. Monaco 0.56 registers no clipboard actions of its + own, and Electron 44 has no renderer clipboard module. + +## 2.4.3-r5 + +- Protobuf and its dependencies are linked statically. The r4 binaries needed + the Visual C++ redistributable, so on a machine without it the add-in failed + to load: every function gave `#NAME?` and the console never appeared. The + shipped binaries now import only system DLLs. + +**2.4.3-r4 was withdrawn** for the fault above. + +## 2.4.3-r4 + +First release of this fork. + +- **Works with current R.** One `ControlR.exe` built against R 4.5.2, with a + runtime version gate (floor 3.5) instead of a hard-coded 3.5 test. R is no + longer bundled; the installer finds the R you have. +- **Unicode end to end.** The controller runs with the UTF-8 code page, picks + its console encoding at runtime from the hosted R version (R 4.2 changed + what R hands over), converts strings explicitly rather than assuming the + native code page, and sends console text by length instead of relying on a + terminator. `x <- "café"; nchar(x)` gives 4, and text survives the round trip + between a cell, R and the console. +- **Current toolchain.** v145 toolset, protobuf 5.29 (C++) and 3.21 + (JavaScript), vcpkg manifest mode, ARM64EC configurations that link. +- **Current console.** Electron 44, TypeScript 7, Monaco 0.56, xterm 6, rxjs 7, + chokidar 4, built with npm. +- **64-bit installer** that installs over an existing BERT 2 without touching + `bert-config.json`, `user-stylesheet.less` or `Documents\BERT2`. +- The update check no longer points development builds at upstream's 2.4.4 + download page. +- Package names from CRAN no longer carry markup into the console. +- `docs/BUILDING.md` and `docs/MODERNISATION.md` describe the build, the R + version policy and what is still outstanding. + +## 2.4.4 and earlier + +See the [upstream project](https://github.com/sdllc/Basic-Excel-R-Toolkit) and +[bert-toolkit.com](https://bert-toolkit.com). diff --git a/Console/data/constants.json b/Console/data/constants.json index c5bec065..de69864e 100644 --- a/Console/data/constants.json +++ b/Console/data/constants.json @@ -16,7 +16,8 @@ "untitled": "Untitled", "preferences": "Preferences", "userStylesheet": "User Stylesheet", - "welcome": "Welcome" + "welcome": "Welcome", + "releaseNotes": "Release Notes" }, "editorCommands": { diff --git a/Console/src/editor/editor.ts b/Console/src/editor/editor.ts index fe3a2f92..341998cb 100644 --- a/Console/src/editor/editor.ts +++ b/Console/src/editor/editor.ts @@ -1159,12 +1159,23 @@ export class Editor { } /** - * opens release notes in an editor tab + * opens release notes in an editor tab. the changelog is what people + * actually want to see on an upgrade; the welcome page is the fallback for + * an installation that predates it. */ public OpenReleaseNotes(){ - let file_path = path.join(process.env.BERT_HOME, "welcome.md"); + + let changelog = path.join(process.env.BERT_HOME, "CHANGELOG.md"); + let file_path = changelog; + let label = Constants.files.releaseNotes; + + if (!fs.existsSync(changelog)) { + file_path = path.join(process.env.BERT_HOME, "welcome.md"); + label = Constants.files.welcome; + } + return this.OpenFileInternal(file_path, { - override_label: Constants.files.welcome, + override_label: label, add_to_recent_files: false, type: DocumentType.rendered }); diff --git a/Install/build-release.ps1 b/Install/build-release.ps1 index db62c8f3..8baed8df 100644 --- a/Install/build-release.ps1 +++ b/Install/build-release.ps1 @@ -86,7 +86,8 @@ if (-not $SkipConsole) { # ---- what a release contains ----------------------------------------------- $files = "BERT64.xll", "BERTRibbon2x64.dll", "ControlR.exe", - "bert-config-template.json", "user-stylesheet-template.less", "Welcome.md", "bert2.ico" + "bert-config-template.json", "user-stylesheet-template.less", "Welcome.md", + "CHANGELOG.md", "bert2.ico" # shipped from this directory rather than from Build. the IntelliSense add-in # is a third-party binary, pinned by version and checked against its hash diff --git a/Install/install-script.nsi b/Install/install-script.nsi index 61ad176e..75e870c1 100644 --- a/Install/install-script.nsi +++ b/Install/install-script.nsi @@ -496,6 +496,7 @@ CheckExcelRunning: SetOutPath "$INSTDIR" File ..\Build\Welcome.md + File ..\Build\CHANGELOG.md File "bert2.ico" @@ -652,6 +653,7 @@ UninstallCheckExcelRunning: Delete "$INSTDIR\ExcelDna.IntelliSense64.xll" Delete "$INSTDIR\ExcelDna.IntelliSense-License.txt" Delete "$INSTDIR\Welcome.md" + Delete "$INSTDIR\CHANGELOG.md" Delete "$INSTDIR\bert2.ico" Delete "$INSTDIR\Uninstall.exe" RMDir "$INSTDIR" From d53a14f251f092fd73f8592845056316f53e0cf5 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 10:18:33 +1000 Subject: [PATCH 33/67] version: 2.4.3-r7 Co-Authored-By: Claude Opus 5 --- BERT/BERT/include/bert_version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BERT/BERT/include/bert_version.h b/BERT/BERT/include/bert_version.h index e0048797..455fb89f 100644 --- a/BERT/BERT/include/bert_version.h +++ b/BERT/BERT/include/bert_version.h @@ -26,7 +26,7 @@ // so a locally built add-in can be told from a release in the console's // Help menu. the stamp is the compile time of bert.cc, the one file that // includes this header, so it only moves when that file recompiles. -#define BERT_VERSION_TAG L"-r6" +#define BERT_VERSION_TAG L"-r7" #define BERT_WIDEN_(s) L ## s #define BERT_WIDEN(s) BERT_WIDEN_(s) From 13e9d8e85b50cdedff3d1e3b98ca14462c7d6f2f Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 10:35:17 +1000 Subject: [PATCH 34/67] R: let console completion fail quietly on a future R The completion code borrows R's internal machinery -- utils:::.CompletionEnv, .win32consoleCompletion and eleven more. None of that is public API, and nothing promises it will keep its shape: the length-2 condition fixed in b62bfac was one such break, and it printed an error into the shell on every keystroke. Both entry points now sit behind one tryCatch each: .Autocomplete returns an empty result with the fields the console reads, and .CustomCompleter clears the completion list and signature. A future R that renames or reshapes an internal then costs the argument hints rather than the usability of the shell. One wrapper per entry point, not one per candidate: measured at ~5us against the ~165us a signature lookup takes and the ~8ms an environment search takes, so it is not worth avoiding. Checked on 3.5.0, 4.2.2 and 4.5.2 with a broken implementation underneath, and live in the console, where typing "paste0(" still shows "paste0 (..., collapse = NULL, recycle0 = FALSE)". Co-Authored-By: Claude Opus 5 --- Build/CHANGELOG.md | 10 ++++++++++ Build/startup/startup.R | 31 +++++++++++++++++++++++++++++-- CHANGELOG.md | 10 ++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/Build/CHANGELOG.md b/Build/CHANGELOG.md index 848e8994..4fd8160b 100644 --- a/Build/CHANGELOG.md +++ b/Build/CHANGELOG.md @@ -53,6 +53,16 @@ fail (an unnamed file opens Save As, which you can cancel), and the file stays open when it does. Close All and Close Others ask one file at a time and stop at the first file you keep. +### Console completion degrades instead of erroring + +The completion code borrows R's internal machinery — `utils:::.CompletionEnv`, +`.win32consoleCompletion` and a dozen more — which is not public API and +carries no promise between versions. Both entry points now sit behind a single +`tryCatch`, so a future R that renames or reshapes one of those costs you the +argument hints rather than printing an error into the shell on every keystroke. +One wrapper each, not one per candidate: measured at about five microseconds +against the eight milliseconds the completion search itself takes. + ### Other fixes - The console came back blank when you opened it a second time from the ribbon diff --git a/Build/startup/startup.R b/Build/startup/startup.R index 26657d28..890c076f 100644 --- a/Build/startup/startup.R +++ b/Build/startup/startup.R @@ -175,7 +175,7 @@ library(BERTModule, lib.loc=paste0(Sys.getenv("BERT_HOME"), "module")); # FIXME: are we using this one or the one in the module? and why are there # two? # - .Autocomplete <- function(...){ + .AutocompleteImpl <- function(...){ ac <- utils:::.win32consoleCompletion(...); if( length( utils:::.CompletionEnv$comps) > 0 ){ @@ -193,6 +193,21 @@ library(BERTModule, lib.loc=paste0(Sys.getenv("BERT_HOME"), "module")); ac; } + # + # the completion code borrows R's internals (utils:::.CompletionEnv, + # .win32consoleCompletion and friends), which are not public API and carry + # no promise between versions. if a future R renames or reshapes one, give + # up the hints rather than printing an error into the shell on every + # keystroke. one wrapper here, not one per candidate: it costs a few + # microseconds against the milliseconds the search itself takes. + # + .Autocomplete <- function(...){ + tryCatch(.AutocompleteImpl(...), error = function(e){ + list( comps="", function.signature="", token="", fguess="", + start=0, end=0, in.quotes=FALSE ); + }); + } + # # lists functions in the global environment (or specified environment) # for loading into Excel. using custom environments is not enabled in @@ -336,7 +351,7 @@ library(BERTModule, lib.loc=paste0(Sys.getenv("BERT_HOME"), "module")); # # update: now delegating file completion to C (probably more to come). # - .CustomCompleter <- function(.CompletionEnv){ + .CustomCompleterImpl <- function(.CompletionEnv){ .fqFunc <- function (line, cursor=-1) { @@ -486,6 +501,18 @@ library(BERTModule, lib.loc=paste0(Sys.getenv("BERT_HOME"), "module")); } }; + # + # as above: a completer that breaks on a future R should cost the + # completions, not fill the shell with errors + # + .CustomCompleter <- function(.CompletionEnv){ + tryCatch(.CustomCompleterImpl(.CompletionEnv), error = function(e){ + .CompletionEnv[["comps"]] <- character(); + .CompletionEnv[["function.signature"]] <- ""; + invisible(NULL); + }); + } + rc.options( custom.completer=.CustomCompleter ); # diff --git a/CHANGELOG.md b/CHANGELOG.md index 848e8994..4fd8160b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,6 +53,16 @@ fail (an unnamed file opens Save As, which you can cancel), and the file stays open when it does. Close All and Close Others ask one file at a time and stop at the first file you keep. +### Console completion degrades instead of erroring + +The completion code borrows R's internal machinery — `utils:::.CompletionEnv`, +`.win32consoleCompletion` and a dozen more — which is not public API and +carries no promise between versions. Both entry points now sit behind a single +`tryCatch`, so a future R that renames or reshapes one of those costs you the +argument hints rather than printing an error into the shell on every keystroke. +One wrapper each, not one per candidate: measured at about five microseconds +against the eight milliseconds the completion search itself takes. + ### Other fixes - The console came back blank when you opened it a second time from the ribbon From 5bbb1c1a6e5dc9e06e7e1d61e032a08f438d9cc2 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 11:50:45 +1000 Subject: [PATCH 35/67] console: put split frames back together The pipe reader assumed every packet held whole frames -- there was a FIXME saying otherwise. Node delivers at most 64k per read, so a larger reply came in pieces: the first piece failed to parse and was dropped, the remainder was read as garbage, and the request it belonged to never resolved. The shell then sat waiting for an answer that was never coming. Completion made it easy to hit. A token matching 3,000 symbols answered in 26 ms; 4,000 hung indefinitely, with the renderer logging dropping console frame: Expected to read 102425 bytes, instead read 65526 Keep the remainder of a partial frame and wait for the rest, and refuse a length we cannot believe rather than growing a buffer for ever. Also read the length from the packet itself: the old code went through the underlying ArrayBuffer, which is the whole of node's read pool, not this packet. Verified with replies of 95, 165 and 341 kB -- five reads and more -- which now arrive intact, in 111, 224 and 571 ms. Co-Authored-By: Claude Opus 5 --- Console/src/io/pipe.ts | 55 +++++++++++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 9 deletions(-) diff --git a/Console/src/io/pipe.ts b/Console/src/io/pipe.ts index 38f17e65..a4e30f19 100644 --- a/Console/src/io/pipe.ts +++ b/Console/src/io/pipe.ts @@ -57,6 +57,12 @@ export interface ConsoleMessage { export interface HistoryCallbackType { (options?:any): Promise } +/** + * the largest frame we will believe. a big response runs to a few hundred + * kilobytes; past this the stream is out of step, not merely busy. + */ +const MAX_FRAME_LENGTH = 64 * 1024 * 1024; + export class Pipe { /** id for transactions */ @@ -65,6 +71,13 @@ export class Pipe { /** current pending transaction(s) */ private pending_: {[index:number]: QueuedCommand} = {}; + /** + * bytes of a frame that has not arrived in full yet. node hands us at most + * 64k per read, so a larger response -- a completion list on a loaded + * workspace, or a long function list -- arrives in pieces. + */ + private residual_: Buffer = Buffer.alloc(0); + /** queued commands */ private queue_: QueuedCommand[] = []; @@ -346,17 +359,38 @@ export class Pipe { let resolve = false; try { - let array = new Uint8Array(data.buffer); + // a frame can straddle two packets. this used to parse whatever had + // arrived, fail, and drop it -- so a response over ~64k never reached + // the caller, and the shell waited for a reply that was never coming. + // hold the remainder instead, and wait for the rest of it. + + let buffer: Buffer = this.residual_.length ? + Buffer.concat([this.residual_, data]) : Buffer.from(data); + this.residual_ = Buffer.alloc(0); + let stack = []; + let offset = 0; - // FIXME: there may be partial packets, in that case we need - // to keep a buffer around + while (buffer.length - offset >= 4) { + + let byte_length = buffer.readInt32LE(offset); + + // a length we cannot believe means the stream is out of step. there + // is no way to resynchronise, so drop what we are holding rather than + // grow a buffer for ever. + + if (byte_length < 0 || byte_length > MAX_FRAME_LENGTH) { + console.error("dropping console stream: frame length " + byte_length); + offset = buffer.length; + break; + } + + if (buffer.length - offset - 4 < byte_length) break; // the rest is still coming + + let frame = buffer.subarray(offset + 4, offset + 4 + byte_length); - while (array && array.length) { - let byte_length = new Int32Array(array.buffer.slice(0, 4))[0]; try { - let response = messages.CallResponse.deserializeBinary(array.slice(4, byte_length + 4)); - stack.push(response); + stack.push(messages.CallResponse.deserializeBinary(frame)); } catch (e) { @@ -365,11 +399,14 @@ export class Pipe { // single bad message does not take the prompt down with it. console.error("dropping console frame:", e.message || e, - Buffer.from(array.slice(4, Math.min(byte_length + 4, 260))).toString("hex")); + Buffer.from(frame.subarray(0, 260)).toString("hex")); } - array = array.slice(byte_length + 4); + + offset += 4 + byte_length; } + if (offset < buffer.length) this.residual_ = Buffer.from(buffer.subarray(offset)); + stack.forEach(response => { let id = response.getId(); From 4f95474652160022ebfaaec50eca43ab4604c0bf Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 11:50:46 +1000 Subject: [PATCH 36/67] R: offer at most 500 completions A token that matches several thousand symbols produced a list nobody can read and a reply of a few hundred kilobytes, on every keystroke that hit it. Trim the list. Co-Authored-By: Claude Opus 5 --- Build/startup/startup.R | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Build/startup/startup.R b/Build/startup/startup.R index 890c076f..5f74736f 100644 --- a/Build/startup/startup.R +++ b/Build/startup/startup.R @@ -351,6 +351,9 @@ library(BERTModule, lib.loc=paste0(Sys.getenv("BERT_HOME"), "module")); # # update: now delegating file completion to C (probably more to come). # + # the most completions to offer at once; see where this is applied below + .completion.limit <- 500; + .CustomCompleterImpl <- function(.CompletionEnv){ .fqFunc <- function (line, cursor=-1) @@ -497,6 +500,15 @@ library(BERTModule, lib.loc=paste0(Sys.getenv("BERT_HOME"), "module")); comps <- paste0(prefix, comps) } comps <- c(fargComps, comps) + + # a token that matches thousands of symbols is no use as a list, and the + # answer has to cross a pipe: keep it to something a person can read, + # and the shell responsive + + if (length(comps) > .completion.limit) { + comps <- comps[seq_len(.completion.limit)]; + } + .CompletionEnv[["comps"]] <- comps } }; From e9373e80f40185f98cd552aa4cd9909246250a16 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 11:50:47 +1000 Subject: [PATCH 37/67] console: ask for completions once typing pauses Completions were requested on every keystroke. The answer costs R about 10 ms on an empty workspace and 28 ms on one holding 5,000 objects, so a fast typist queued a request per character. Wait 90 ms for a pause, then ask once. Co-Authored-By: Claude Opus 5 --- Console/src/shell/terminal_implementation.ts | 31 ++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/Console/src/shell/terminal_implementation.ts b/Console/src/shell/terminal_implementation.ts index 96db28a7..3e870ee8 100644 --- a/Console/src/shell/terminal_implementation.ts +++ b/Console/src/shell/terminal_implementation.ts @@ -338,8 +338,35 @@ export class TerminalImplementation { // ... } - private RunAutocomplete() { - + /** a completion request waiting for typing to pause */ + private autocomplete_timer_: any = null; + + /** how long to wait after the last keystroke before asking */ + private static autocomplete_delay_ms_ = 90; + + /** + * asks the language for completions. this runs on every keystroke and the + * answer costs R real work -- around ten milliseconds on an empty + * workspace, three times that on a full one -- so a fast typist used to + * queue one request per character. wait for a pause, then ask once. + */ + private RunAutocomplete(delay = TerminalImplementation.autocomplete_delay_ms_) { + + if (this.autocomplete_timer_) clearTimeout(this.autocomplete_timer_); + + if (delay > 0) { + this.autocomplete_timer_ = setTimeout(() => { + this.autocomplete_timer_ = null; + this.RunAutocompleteNow(); + }, delay); + return; + } + + this.RunAutocompleteNow(); + } + + private RunAutocompleteNow() { + let thennable = this.state_.language_interface_.AutocompleteCallback(this.state_.line_info.buffer, this.state_.line_info.cursor_position); if(thennable) thennable.then(autocomplete_response => { From 106e2983df6321592d4c114724a5c27e7567c8cb Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 11:50:48 +1000 Subject: [PATCH 38/67] changelog and version: 2.4.3-r8 Co-Authored-By: Claude Opus 5 --- BERT/BERT/include/bert_version.h | 2 +- Build/CHANGELOG.md | 41 ++++++++++++++++++++++++++++++++ CHANGELOG.md | 41 ++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) diff --git a/BERT/BERT/include/bert_version.h b/BERT/BERT/include/bert_version.h index 455fb89f..c378fcc1 100644 --- a/BERT/BERT/include/bert_version.h +++ b/BERT/BERT/include/bert_version.h @@ -26,7 +26,7 @@ // so a locally built add-in can be told from a release in the console's // Help menu. the stamp is the compile time of bert.cc, the one file that // includes this header, so it only moves when that file recompiles. -#define BERT_VERSION_TAG L"-r7" +#define BERT_VERSION_TAG L"-r8" #define BERT_WIDEN_(s) L ## s #define BERT_WIDEN(s) BERT_WIDEN_(s) diff --git a/Build/CHANGELOG.md b/Build/CHANGELOG.md index 4fd8160b..b265c5d3 100644 --- a/Build/CHANGELOG.md +++ b/Build/CHANGELOG.md @@ -9,6 +9,47 @@ of changes is offered back as pull request Newest first. The console shows this file under Help ▸ Release Notes, and opens it by itself the first time you run a new version. +## 2.4.3-r8 + +Found by measuring the paths that run most often: a cell function being +recalculated, and a keystroke in the console. + +### The console stopped answering when a reply was large + +Node hands the console at most 64k per read, and the reader assumed every read +held whole messages -- there was a `FIXME` saying as much. A larger reply +arrived in pieces, the first piece failed to parse, was dropped, and the rest +was read as garbage; the request it belonged to never completed, so the shell +waited for an answer that was never coming. + +It showed up as completion: a token matching 3,000 symbols answered in 26 ms, +while 4,000 hung indefinitely. The reader now keeps the remainder of a split +frame and waits for the rest. Replies of 340 kB, five reads and more, now +arrive intact in about half a second. + +### Completion offers at most 500 matches + +A list of several thousand is no use to read and made every keystroke carry a +large reply. Long lists are trimmed. + +### Completions are asked for once typing pauses + +The console asked R for completions on every keystroke, and the answer costs R +around 10 ms on an empty workspace and 28 ms on one holding 5,000 objects. A +fast typist queued one request per character. It now waits 90 ms for a pause +and asks once. + +### For the record, what the measurements showed + +A cell function costs **0.3 ms** end to end -- about 3,000 recalculations a +second; 60 cells recalculate in 24 ms. A 1,000-cell range argument costs +0.5 ms, a 20,000-cell range 3.7 ms, a 400-cell array result 0.5 ms. Console +evaluation round trips take 0.2-0.5 ms, and printing costs about 0.25 ms a +line with no slowdown as the scrollback fills. Functions are registered +non-volatile, so Excel recalculates them only when their inputs change. + +Before r7 every cell function took **1,012 ms**, all of it a stray `Sleep`. + ## 2.4.3-r7 ### Excel froze whenever R called back into it diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fd8160b..b265c5d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,47 @@ of changes is offered back as pull request Newest first. The console shows this file under Help ▸ Release Notes, and opens it by itself the first time you run a new version. +## 2.4.3-r8 + +Found by measuring the paths that run most often: a cell function being +recalculated, and a keystroke in the console. + +### The console stopped answering when a reply was large + +Node hands the console at most 64k per read, and the reader assumed every read +held whole messages -- there was a `FIXME` saying as much. A larger reply +arrived in pieces, the first piece failed to parse, was dropped, and the rest +was read as garbage; the request it belonged to never completed, so the shell +waited for an answer that was never coming. + +It showed up as completion: a token matching 3,000 symbols answered in 26 ms, +while 4,000 hung indefinitely. The reader now keeps the remainder of a split +frame and waits for the rest. Replies of 340 kB, five reads and more, now +arrive intact in about half a second. + +### Completion offers at most 500 matches + +A list of several thousand is no use to read and made every keystroke carry a +large reply. Long lists are trimmed. + +### Completions are asked for once typing pauses + +The console asked R for completions on every keystroke, and the answer costs R +around 10 ms on an empty workspace and 28 ms on one holding 5,000 objects. A +fast typist queued one request per character. It now waits 90 ms for a pause +and asks once. + +### For the record, what the measurements showed + +A cell function costs **0.3 ms** end to end -- about 3,000 recalculations a +second; 60 cells recalculate in 24 ms. A 1,000-cell range argument costs +0.5 ms, a 20,000-cell range 3.7 ms, a 400-cell array result 0.5 ms. Console +evaluation round trips take 0.2-0.5 ms, and printing costs about 0.25 ms a +line with no slowdown as the scrollback fills. Functions are registered +non-volatile, so Excel recalculates them only when their inputs change. + +Before r7 every cell function took **1,012 ms**, all of it a stray `Sleep`. + ## 2.4.3-r7 ### Excel froze whenever R called back into it From f76d2c0d8208345ca59142d87f50e249e15ccef2 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 12:04:17 +1000 Subject: [PATCH 39/67] console: show the release notes that are on disk Open tabs are restored from a localStorage cache instead of being re-read, which is right for a file you are editing and wrong for the release notes: after upgrading, Help > Release Notes showed the notes from the version you had just replaced, and so did the copy the console opens by itself on a version bump. It looked like the changelog had not shipped. Rendered documents -- the release notes and the welcome page, neither of them editable here -- are now read from the file when the tab is restored, and reopening the notes closes the old tab rather than switching back to it. Co-Authored-By: Claude Opus 5 --- Build/CHANGELOG.md | 8 ++++++++ CHANGELOG.md | 8 ++++++++ Console/src/editor/editor.ts | 28 +++++++++++++++++++++++++--- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Build/CHANGELOG.md b/Build/CHANGELOG.md index b265c5d3..c56c3eea 100644 --- a/Build/CHANGELOG.md +++ b/Build/CHANGELOG.md @@ -39,6 +39,14 @@ around 10 ms on an empty workspace and 28 ms on one holding 5,000 objects. A fast typist queued one request per character. It now waits 90 ms for a pause and asks once. +### Release notes showed the previous version's text + +Open tabs are restored from a cache rather than re-read, which is right for a +file you are editing and wrong for the release notes: after an upgrade they +showed the notes you had already read. Rendered documents -- the notes and the +welcome page, neither of them editable here -- are now read from the file when +a tab is restored or reopened. + ### For the record, what the measurements showed A cell function costs **0.3 ms** end to end -- about 3,000 recalculations a diff --git a/CHANGELOG.md b/CHANGELOG.md index b265c5d3..c56c3eea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,14 @@ around 10 ms on an empty workspace and 28 ms on one holding 5,000 objects. A fast typist queued one request per character. It now waits 90 ms for a pause and asks once. +### Release notes showed the previous version's text + +Open tabs are restored from a cache rather than re-read, which is right for a +file you are editing and wrong for the release notes: after an upgrade they +showed the notes you had already read. Rendered documents -- the notes and the +welcome page, neither of them editable here -- are now read from the file when +a tab is restored or reopened. + ### For the record, what the measurements showed A cell function costs **0.3 ms** end to end -- about 3,000 recalculations a diff --git a/Console/src/editor/editor.ts b/Console/src/editor/editor.ts index 341998cb..2fb63bf6 100644 --- a/Console/src/editor/editor.ts +++ b/Console/src/editor/editor.ts @@ -925,9 +925,20 @@ export class Editor { if(!document.type_) document.type_ = unserialized.rendered ? DocumentType.rendered : DocumentType.editor; document.id_ = entry; - + if(document.type_ === "rendered"){ - document.rendered_content_ = unserialized.text || ""; + + // a rendered document is a view of a file nobody edits here -- the + // release notes, the welcome page. restoring the text we cached + // means showing yesterday's file: after an upgrade the notes would + // still be the old version's. read it again if it is still there. + + let current = ""; + if (unserialized.file_path) { + try { current = fs.readFileSync(unserialized.file_path, "utf8"); } + catch(e) { current = ""; } + } + document.rendered_content_ = current || unserialized.text || ""; } else { if (unserialized.file_path) { @@ -1163,7 +1174,7 @@ export class Editor { * actually want to see on an upgrade; the welcome page is the fallback for * an installation that predates it. */ - public OpenReleaseNotes(){ + public async OpenReleaseNotes(){ let changelog = path.join(process.env.BERT_HOME, "CHANGELOG.md"); let file_path = changelog; @@ -1174,6 +1185,17 @@ export class Editor { label = Constants.files.welcome; } + // opening a file that is already open just switches to it, which would + // show what we read when the tab was first opened. these notes change + // underneath us -- that is the point of them, on an upgrade -- so close + // the old tab and read the file again. nothing is lost: a rendered + // document cannot be edited. + + let open_already = this.tabs_.tabs.find(tab => + tab.data && ((tab.data as Document).file_path_ === file_path)); + + if (open_already) await this.CloseTab(open_already); + return this.OpenFileInternal(file_path, { override_label: label, add_to_recent_files: false, From 8aa0c8d7a4fad3eb9e6d1cfd6ae1f20244a77b34 Mon Sep 17 00:00:00 2001 From: Sam Lovick Date: Fri, 4 Sep 2026 12:23:39 +1000 Subject: [PATCH 40/67] console: load monaco through script tags, not node's vm Electron warned on every start: The vm module of Node.js is unsupported in Electron's renderer process due to incompatibilities with the Blink rendering engine. Crashes are likely and avoiding the module is highly recommended. This module may be removed in a future release. The stack led to monaco's AMD loader: in an electron renderer it chooses a node script loader that evaluates modules with vm. The loader takes an option for exactly this, preferScriptTags, which keeps it on