@mchp-mcc/scf-pic8-osc-v1 4.3.3 → 4.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Changelog.md CHANGED
@@ -1,10 +1,15 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## [4.3.4] - 2023-05-12
5
+
6
+ ### New Features
7
+ - **CC8SCRIP-15707** :- Add Oscillator Support for PIC18FK83 Devices
8
+
9
+
4
10
  ## [4.3.3] - 2023-02-22
5
11
 
6
12
  ### New Features
7
- - **CC8SCRIP-13771** :- scf-pic8-osc-v1 patch release activity
8
13
  - **CC8SCRIP-12914** :- Added support for PIC18FxxQ20 device family
9
14
  - **CC8SCRIP-12454** :- Added support for API documentation, friendly import names and module component help
10
15
  - **CC8SCRIP-9969** :- Provided option in the UI to enable PLL for peripheral clock
package/Readme.md CHANGED
@@ -14,10 +14,15 @@ This driver generates the following files:
14
14
  # Changelog
15
15
  All notable changes to this project will be documented in this file.
16
16
 
17
+ ## [4.3.4] - 2023-05-12
18
+
19
+ ### New Features
20
+ - **CC8SCRIP-15707** :- Add Oscillator Support for PIC18FK83 Devices
21
+
22
+
17
23
  ## [4.3.3] - 2023-02-22
18
24
 
19
25
  ### New Features
20
- - **CC8SCRIP-13771** :- scf-pic8-osc-v1 patch release activity
21
26
  - **CC8SCRIP-12914** :- Added support for PIC18FxxQ20 device family
22
27
  - **CC8SCRIP-12454** :- Added support for API documentation, friendly import names and module component help
23
28
  - **CC8SCRIP-9969** :- Provided option in the UI to enable PLL for peripheral clock
@@ -1050,6 +1050,7 @@ var MyDerivedData = function MyDerivedData(dataModel) {
1050
1050
  alerts: _this.getMyAlerts,
1051
1051
  isEnabled: _this.isEnabled,
1052
1052
  isVisible: _this.isVisible,
1053
+ coscOsccon2: _this.getResOscValue,
1053
1054
  currentSystemClk: function currentSystemClk() {
1054
1055
  return _this.getClockCalculator().getCurrentSystemClk();
1055
1056
  },
@@ -1060,7 +1061,7 @@ var MyDerivedData = function MyDerivedData(dataModel) {
1060
1061
  config_device_results: _this.config_device_results,
1061
1062
  templateData: _this.getTemplateData,
1062
1063
  config_request_args: function config_request_args() {
1063
- return ["FEXTOSC", "CLKOUTEN", "MCLRE", "LVP"];
1064
+ return ["FEXTOSC", "CLKOUTEN", "MCLRE", "LVP", "RSTOSC"];
1064
1065
  },
1065
1066
  "osc-clocks_payload": _this.getOscClocksProcessedPayload,
1066
1067
  doNotShow: function doNotShow() {
@@ -1080,6 +1081,42 @@ var MyDerivedData = function MyDerivedData(dataModel) {
1080
1081
  return importKey;
1081
1082
  });
1082
1083
 
1084
+ _defineProperty(this, "getResOscValue", function () {
1085
+ var resetOscValue = _this.getDynamicComponetDefaultValue("RSTOSC");
1086
+
1087
+ var actualOscValue;
1088
+
1089
+ if ((resetOscValue === null || resetOscValue === void 0 ? void 0 : resetOscValue.indexOf("4x PLL")) !== -1) {
1090
+ actualOscValue = "EXTOSC with 4x PLL";
1091
+ } else if ((resetOscValue === null || resetOscValue === void 0 ? void 0 : resetOscValue.indexOf("Secondary Oscillator")) !== -1) {
1092
+ actualOscValue = "SOSC";
1093
+ } else if ((resetOscValue === null || resetOscValue === void 0 ? void 0 : resetOscValue.indexOf("Low-Frequency")) !== -1) {
1094
+ actualOscValue = "LFINTOSC";
1095
+ } else if ((resetOscValue === null || resetOscValue === void 0 ? void 0 : resetOscValue.indexOf("HFINTOSC with HFFRQ = 4 MHz and CDIV = 4:1")) !== -1) {
1096
+ actualOscValue = "HFINTOSC";
1097
+ } else if ((resetOscValue === null || resetOscValue === void 0 ? void 0 : resetOscValue.indexOf("FEXTOSC")) !== -1) {
1098
+ actualOscValue = "EXTOSC";
1099
+ } else {
1100
+ actualOscValue = undefined;
1101
+ }
1102
+
1103
+ return actualOscValue;
1104
+ });
1105
+
1106
+ _defineProperty(this, "getPLLStatus", function () {
1107
+ var pllStatus = _this.getResOscValue();
1108
+
1109
+ var pllEnable = _this.dataModel.isComponentValue("pllenOscen");
1110
+
1111
+ if (pllStatus === "EXTOSC with 4x PLL") {
1112
+ return true;
1113
+ } else if (pllEnable === true) {
1114
+ return true;
1115
+ } else {
1116
+ return false;
1117
+ }
1118
+ });
1119
+
1083
1120
  _defineProperty(this, "getOscClocksProcessedPayload", function () {
1084
1121
  var _this$getClockCalcula, _this$getClockCalcula2, _this$getClockCalcula3, _this$getClockCalcula4, _this$getClockCalcula5, _this$getClockCalcula6, _this$getClockCalcula7;
1085
1122
 
@@ -1112,26 +1149,22 @@ var MyDerivedData = function MyDerivedData(dataModel) {
1112
1149
  });
1113
1150
 
1114
1151
  _defineProperty(this, "getTemplateData", function () {
1115
- var _this$dataModel$isCom;
1152
+ var _this$getPLLStatus;
1116
1153
 
1117
1154
  var headers = {
1118
1155
  name: "clock.h",
1119
1156
  path: "../"
1120
- }; // const initRegisters = this.dataModel.getRegisterValues();
1157
+ }; // const initRegisters = this.dataModel.getRegisterValues() ;
1121
1158
 
1122
1159
  var registerValues = _this.dataModel.getRegisterValues();
1123
1160
 
1124
1161
  return _objectSpread({
1125
- productName: "CCL",
1126
- productVersion: "1.8.2",
1127
- compiler: "XC8 v2.20",
1128
- tool: "MPLAB X 5.40",
1129
1162
  deviceFrequency: _this.getClockCalculator().getCurrentSystemClk().toString(),
1130
1163
  // initRegisters: initRegisters,
1131
1164
  header: headers,
1132
1165
  moduleNameUpperCase: _this.getModuleName().toUpperCase(),
1133
1166
  moduleNameLowerCase: _this.getModuleName().toLowerCase(),
1134
- isPllEnabled: (_this$dataModel$isCom = _this.dataModel.isComponentValue("pllenOscen")) !== null && _this$dataModel$isCom !== void 0 ? _this$dataModel$isCom : false
1167
+ isPllEnabled: (_this$getPLLStatus = _this.getPLLStatus()) !== null && _this$getPLLStatus !== void 0 ? _this$getPLLStatus : false
1135
1168
  }, registerValues);
1136
1169
  });
1137
1170
 
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://autoCreator/webpack/bootstrap","webpack://autoCreator/./generated_module/src/autoCreator.ts","webpack://autoCreator/./generated_module/src/getUserData.ts","webpack://autoCreator/./generated_module/src/pins/PCPHelper.ts","webpack://autoCreator/./node_modules/@microchip/initializer-system/lib/src/index.js","webpack://autoCreator/./node_modules/@microchip/initializer-system/lib/src/initializer-system.js","webpack://autoCreator/./node_modules/@microchip/pin-standard/lib/index.js","webpack://autoCreator/./node_modules/@microchip/pin-standard/lib/pin-standard.js","webpack://autoCreator/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://autoCreator/./node_modules/@microchip/scf-interface/lib/c-function-types.js","webpack://autoCreator/./node_modules/@microchip/scf-interface/lib/helpers.js","webpack://autoCreator/./node_modules/@microchip/scf-interface/lib/index.js","webpack://autoCreator/./src/ClockCalculator.ts","webpack://autoCreator/./src/CreatorFunctions.ts","webpack://autoCreator/./src/DerivedData.ts","webpack://autoCreator/./src/PinsLogic.ts","webpack://autoCreator/./src/StringConstants.ts"],"names":["createAutoCreator","getCreatorFunctions","getModuleConfig","getModuleConfigFromFile","getCreatorFunctionsUser","getPinsDataFromFile","require","undefined","getPinsLogicFromFile","mockPinsLogic","getPinsData","getCompletePinData","appModel","getRowData","rowData","rows","getPinsLogic","pinsLogic","ClockCalculator","oscSelect","HFInternalClk","externalClk","clkDivider","currentSystemClk","HFClk","StringConstants","SOSC","LFINTOSC","HFINTOSC","parseInt","replace","HFINTOSC_2xPLL","EXTOSC","MIN_PLL","MAX_PLL","Math","round","mfintosc","mfintosc_31KHz","lfintosc","toString","sosc","shouldImport","importKey","state","getDerivedData","dataModel","MyDerivedData","EmptyDerivedData","clockCalculator","getModel","getComponentValue","moduleName","getModuleName","alerts","getMyAlerts","isEnabled","isVisible","getClockCalculator","getCurrentSystemClk","initializer_system_results","config_device_results","templateData","getTemplateData","config_request_args","getOscClocksProcessedPayload","doNotShow","importName","friendlyImportName","oscObj","extosc","getExtOsc","fosc","hfintosc","getHfIntOsc","getLfIntOsc","getMfIntOsc","mfintosc_31Khz","getMfIntOsc_31KHz","getSosc","hasSosc","isComponentValue","soscEnabled","soscPowerMode","headers","name","path","registerValues","getRegisterValues","productName","productVersion","compiler","tool","deviceFrequency","header","moduleNameUpperCase","toUpperCase","moduleNameLowerCase","toLowerCase","isPllEnabled","initializer","priority","initializer_system","START","componentName","indexOf","componentValue","EXTOSC_4xPLL","externalClkSelectedOptions","getImportValue","selectedOptionVal","getDynamicComponetDefaultValue","noscOsccon1","push","type","Processor","Hint","text","Warning","ExtClkFreq_64MHz","ExtClkFreq_20MHz","ExtClkFreq_32MHz","retRowJSONdata","rowActions","clockOutEnable","selectedOption","behaviourMeta","lockPinRegEx","isPic18ClkOut","actionArr","getPCPHelper","stateActionBuilder","rowWithName","forComponent","addIfLockedSetValue","addIfUnLockedSetValue","build","eachAction","lockedState","pin_state","LOCKED","meta","to","getAssignedImport","handle","providerId","unlockedState","UNLOCK","extClkSelect","mclrKey","getComponent","component","concat","mclrEnable","lvpEnable","selectedMclrOption","selectedLvpOption","isPic18Mclr","isQ10Mclr","actions"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;ACjFA;;AAKA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CACtBC,mBADsB,EAEK;AAC3B,SAAO,YAAwB;AAC3B;AACIC,qBAAe,EAAEC,oEAAuBA;AAD5C,OAEOF,mBAAmB,EAF1B;AAIH,GALD;AAMH,CATD;;AAWO,IAAMA,mBAAmB,GAAGD,iBAAiB,CAACI,gEAAD,CAA7C,C;;;;;;;;;;;;ACdP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,GAA4B;AAC3D,MAAI;AACA,WAAOC,mBAAO,CAAC,oDAAD,CAAd;AACH,GAFD,CAEE,gBAAM;AACJ,WAAOC,SAAP;AACH;AACJ,CANM;AAQA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAA6B;AAC7D,MAAI;AACA,WAAOF,mBAAO,CAAC,kDAAD,CAAd;AACH,GAFD,CAEE,iBAAM;AACJ,WAAOC,SAAP;AACH;AACJ,CANM;AAQA,IAAMJ,uBAAuB,GAAG,SAA1BA,uBAA0B,GAAgC;AACnE,MAAI;AACA,WAAOG,mBAAO,CAAC,4DAAD,CAAd;AACH,GAFD,CAEE,iBAAM;AACJ,WAAOC,SAAP;AACH;AACJ,CANM,C;;;;;;;;;;;;;;;;;;;;;;AChBP;;AAEA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAACC,WAAD,EAAyC;AAC3D,MAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,QAAD,EAA6B;AACpD,WAAO,EAAP;AACH,GAFD;;AAGA,MAAMC,UAAU,GAAG,SAAbA,UAAa,CAACD,QAAD,EAAqBE,OAArB,EAAmD;AAClE,WAAOA,OAAP;AACH,GAFD;;AAGA,SAAO;AACHH,sBAAkB,EAAEA,kBADjB;AAEHE,cAAU,EAAEA,UAFT;AAGHH,eAAW,EAAEA;AAHV,GAAP;AAKH,CAZD;;AAeO,IAAMA,WAAW,GAAG,SAAdA,WAAc;AAAA;;AAAA,iCAAgBL,wEAAmB,EAAnC,uEAAyC;AAAEU,QAAI,EAAE;AAAR,GAAzC;AAAA,CAApB;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAiB;AACzC,MAAMC,SAAS,GAAGT,yEAAoB,EAAtC;;AACA,MAAIS,SAAJ,EAAe;AACX,2CACOA,SADP;AAEIP,iBAAW,EAAEA;AAFjB;AAIH,GALD,MAKO;AACH,WAAOD,aAAa,CAACC,WAAD,CAApB;AACH;AACJ,CAVM,C;;;;;;;;;;;;;;;;;;;;;;;ACzBM;AACb,8CAA8C,cAAc;AAC5D,2BAA2B,mBAAO,CAAC,wGAAsB;AACzD;AACA;AACA;AACA,iC;;;;;;;;;;;;ACNa;AACb;AACA,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D,kCAAkC,mBAAO,CAAC,sFAA0B;AACpE,2BAA2B,mBAAO,CAAC,sFAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sEAAsE;AACvE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;;;;;;;ACtGa;AACb,8CAA8C,cAAc;AAC5D,qBAAqB,mBAAO,CAAC,kFAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;ACXa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4EAA4E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wFAAwF;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,+EAA+E;AAChF;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,2BAA2B;AAC3B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA,wC;;;;;;;;;;;;ACnQa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB,wDAAwD;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,2CAA2C,YAAY,6BAA6B,mBAAmB,8BAA8B,GAAG;AACxI,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;AChFa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kCAAkC,EAAE;AAC5E;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC1Ba;AACb,8CAA8C,cAAc;AAC5D,yBAAyB,mBAAO,CAAC,2FAAoB;AACrD;AACA,gBAAgB,mBAAO,CAAC,yEAAW;AACnC;AACA;;;;;;;;;;;;;;;;;;;;ACNA;AAEO,IAAMQ,eAAb,GAUwB;AACD;AAEnB,yBACIC,SADJ,EAEIC,aAFJ,EAGIC,WAHJ,EAIIC,UAJJ,EAKE;AAAA;;AAAA;;AAAA,oCAjBiB,OAiBjB;;AAAA,oCAhBiB,QAgBjB;;AAAA,0CAfuB,OAevB;;AAAA,gCAda,OAcb;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mCARQ,QAQR;;AAAA,mCAPQ,OAOR;;AAAA,+CAO2B,YAAc;AACvC,QAAIC,gBAAJ;AACA,QAAIC,KAAJ;;AAEA,QAAI,KAAI,CAACL,SAAL,KAAmBM,gEAAe,CAACC,IAAvC,EAA6C;AACzCH,sBAAgB,GAAG,QAAQ,KAAI,CAACD,UAAhC;AACH,KAFD,MAEO,IAAI,KAAI,CAACH,SAAL,KAAmBM,gEAAe,CAACE,QAAvC,EAAiD;AACpDJ,sBAAgB,GAAG,QAAQ,KAAI,CAACD,UAAhC;AACH,KAFM,MAEA,IAAI,KAAI,CAACH,SAAL,KAAmBM,gEAAe,CAACG,QAAvC,EAAiD;AAAA;;AACpDJ,WAAK,GAAGK,QAAQ,iDAAC,KAAI,CAACT,aAAN,wDAAC,oBAAoBU,OAApB,CAA4B,MAA5B,EAAoC,EAApC,CAAD,yEAA4C,SAA5C,CAAhB;AACAP,sBAAgB,GAAIC,KAAK,GAAG,OAAT,GAAoB,KAAI,CAACF,UAA5C;AACH,KAHM,MAGA,IAAI,KAAI,CAACH,SAAL,KAAmBM,gEAAe,CAACM,cAAvC,EAAuD;AAAA;;AAC1DP,WAAK,GAAGK,QAAQ,mDAAC,KAAI,CAACT,aAAN,yDAAC,qBAAoBU,OAApB,CAA4B,MAA5B,EAAoC,EAApC,CAAD,2EAA4C,SAA5C,CAAhB;;AACA,UAAIN,KAAK,IAAI,CAAT,IAAcA,KAAK,IAAI,EAAvB,IAA6BA,KAAK,IAAI,EAA1C,EAA8C;AAC1CD,wBAAgB,GAAIC,KAAK,GAAG,CAAR,GAAY,OAAb,GAAwB,KAAI,CAACF,UAAhD;AACH,OAFD,MAEO;AACHC,wBAAgB,GAAIC,KAAK,GAAG,OAAT,GAAoB,KAAI,CAACF,UAA5C;AACH;AACJ,KAPM,MAOA,IAAI,KAAI,CAACH,SAAL,KAAmBM,gEAAe,CAACO,MAAvC,EAA+C;AAClDT,sBAAgB,GAAG,KAAI,CAACF,WAAL,GAAmB,KAAI,CAACC,UAA3C;AACH,KAFM,MAEA;AACH,UAAI,KAAI,CAACD,WAAL,IAAoB,KAAI,CAACY,OAAzB,IAAoC,KAAI,CAACZ,WAAL,GAAmB,KAAI,CAACa,OAAhE,EAAyE;AACrEX,wBAAgB,GAAG,KAAI,CAACF,WAAL,GAAmB,KAAI,CAACC,UAA3C;AACH,OAFD,MAEO;AACHC,wBAAgB,GAAI,KAAI,CAACF,WAAL,GAAmB,CAApB,GAAyB,KAAI,CAACC,UAAjD;AACH;AACJ;;AACD,WAAOa,IAAI,CAACC,KAAL,CAAWb,gBAAX,CAAP;AACH,GAnCC;;AAAA,uCAqCmB,YAAc;AAAA;;AAC/B,6DAAO,KAAI,CAACH,aAAZ,yDAAO,qBAAoBU,OAApB,CAA4B,MAA5B,EAAoC,QAApC,CAAP,2EAAwD,SAAxD;AACH,GAvCC;;AAAA,uCAyCmB,YAAc;AAC/B,WAAO,KAAI,CAACO,QAAZ;AACH,GA3CC;;AAAA,6CA6CyB,YAAc;AACrC,WAAO,KAAI,CAACC,cAAZ;AACH,GA/CC;;AAAA,uCAiDmB,YAAc;AAC/B,WAAO,KAAI,CAACC,QAAZ;AACH,GAnDC;;AAAA,qCAqDiB,YAAc;AAC7B,WAAO,KAAI,CAAClB,WAAL,CAAiBmB,QAAjB,EAAP;AACH,GAvDC;;AAAA,mCAyDe,YAAc;AAC3B,WAAO,KAAI,CAACC,IAAZ;AACH,GA3DC;;AACE,OAAKtB,SAAL,GAAiBA,SAAjB;AACA,OAAKC,aAAL,GAAqBA,aAArB;AACA,OAAKC,WAAL,GAAmBA,WAAnB;AACA,OAAKC,UAAL,GAAkBA,UAAlB;AACH,CAvBL,C;;;;;;;;;;;;ACCA;AAAA;AAAO,IAAMrB,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAwB;AACvD,SAAO;AACHyC,gBAAY,EAAEA;AADX,GAAP;AAGH,CAJM;;AAMP,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,SAAD,EAAoBC,KAApB,EAA8C;AAC/D,SAAO,IAAP;AACH,CAFD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AAEA;AASA;AAEO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,SAAD,EAAsC;AAChE,MAAIA,SAAJ,EAAe;AACX,WAAO,IAAIC,aAAJ,CAAkBD,SAAlB,CAAP;AACH;;AACD,SAAO,IAAIE,gBAAJ,EAAP;AACH,CALM,C,CAOP;;AACO,IAAMA,gBAAb;AAAA;;AAAA,0CACqB,YAAwB;AACrC,WAAO,EAAP;AACH,GAHL;;AAAA,oCAIe,YAA4B;AACnC,WAAOzC,SAAP;AACH,GANL;AAAA,E,CASA;;AACO,IAAMwC,aAAb,GAII,uBAAYD,SAAZ,EAAiC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,8CAIZ,YAAuB;AACxC,QAAI,CAAC,KAAI,CAACG,eAAV,EAA2B;AAAA;;AACvB,WAAI,CAACA,eAAL,GAAuB,IAAI/B,gEAAJ,0BACnB,KAAI,CAACgC,QAAL,GAAgBC,iBAAhB,CAAkC,aAAlC,CADmB,yEACiC,EADjC,4BAEnB,KAAI,CAACD,QAAL,GAAgBC,iBAAhB,CAAkC,aAAlC,CAFmB,2EAEiC,EAFjC,4BAGnB,KAAI,CAACD,QAAL,GAAgBC,iBAAhB,CAAkC,aAAlC,CAHmB,2EAGiC,KAHjC,EAInBtB,QAAQ,2BAAC,KAAI,CAACqB,QAAL,GAAgBC,iBAAhB,CAAkC,aAAlC,CAAD,2EAAqD,EAArD,CAJW,CAAvB;AAMH;;AACD,WAAO,KAAI,CAACF,eAAZ;AACH,GAdgC;;AAAA,0CAgBhB,YAAwB;AACrC,WAAO;AACHG,gBAAU,EAAE,KAAI,CAACC,aADd;AAEHC,YAAM,EAAE,KAAI,CAACC,WAFV;AAGHC,eAAS,EAAE,KAAI,CAACA,SAHb;AAIHC,eAAS,EAAE,KAAI,CAACA,SAJb;AAKHlC,sBAAgB,EAAE;AAAA,eACd,KAAI,CAACmC,kBAAL,GAA0BC,mBAA1B,EADc;AAAA,OALf;AAOH,yBAAmB;AAAA,eACf,KAAI,CAACD,kBAAL,GAA0BC,mBAA1B,GAAgDnB,QAAhD,EADe;AAAA,OAPhB;AASHoB,gCAA0B,EAAE,KAAI,CAACA,0BAT9B;AAUHC,2BAAqB,EAAE,KAAI,CAACA,qBAVzB;AAWHC,kBAAY,EAAE,KAAI,CAACC,eAXhB;AAYHC,yBAAmB,EAAE;AAAA,eAAgC,CACjD,SADiD,EAEjD,UAFiD,EAGjD,OAHiD,EAIjD,KAJiD,CAAhC;AAAA,OAZlB;AAkBH,4BAAsB,KAAI,CAACC,4BAlBxB;AAmBHC,eAAS,EAAE;AAAA,eAAe,KAAf;AAAA,OAnBR;AAoBHlD,kBAAY,EAAEA,iFApBX;AAqBHmD,gBAAU,EAAE,KAAI,CAACC;AArBd,KAAP;AAuBH,GAxCgC;;AAAA,8CAyCJ,UAACzB,SAAD,EAA+B;AACxD,QAAIA,SAAS,KAAK,iBAAlB,EAAqC,OAAO,qBAAP;AACrC,QAAIA,SAAS,KAAK,oBAAlB,EAAwC,OAAO,uBAAP;AACxC,QAAIA,SAAS,KAAK,eAAlB,EAAmC,OAAO,sBAAP;AACnC,QAAIA,SAAS,KAAK,gBAAlB,EAAoC,OAAO,uBAAP;AACpC,QAAIA,SAAS,KAAK,cAAlB,EAAkC,OAAO,MAAP;AAClC,WAAOA,SAAP;AACH,GAhDgC;;AAAA,wDAkDM,YAAmC;AAAA;;AACtE,QAAM0B,MAAmC,GAAG;AACxCC,YAAM,2BAAE,KAAI,CAACZ,kBAAL,GAA0Ba,SAA1B,EAAF,yEAA2C,OADT;AAExCC,UAAI,4BAAE,KAAI,CAACd,kBAAL,GAA0BC,mBAA1B,GAAgDnB,QAAhD,EAAF,2EAAgE,SAF5B;AAGxCiC,cAAQ,4BAAE,KAAI,CAACf,kBAAL,GAA0BgB,WAA1B,EAAF,2EAA6C,SAHb;AAIxCnC,cAAQ,4BAAE,KAAI,CAACmB,kBAAL,GAA0BiB,WAA1B,EAAF,2EAA6C,OAJb;AAKxCtC,cAAQ,4BAAE,KAAI,CAACqB,kBAAL,GAA0BkB,WAA1B,EAAF,2EAA6C,QALb;AAMxCC,oBAAc,4BAAE,KAAI,CAACnB,kBAAL,GAA0BoB,iBAA1B,EAAF,2EAAmD,OANzB;AAOxCrC,UAAI,4BAAE,KAAI,CAACiB,kBAAL,GAA0BqB,OAA1B,EAAF,2EAAyC;AAPL,KAA5C;AASA,QAAMC,OAAgB,GAClB,KAAI,CAAClC,SAAL,CAAemC,gBAAf,CAAgC,aAAhC,MAAmD1E,SAAnD,GAA+D,IAA/D,GAAsE,KAD1E;;AAEA,QAAIyE,OAAJ,EAAa;AACTX,YAAM,CAACW,OAAP,GAAiB,IAAjB;AACAX,YAAM,CAACa,WAAP,GAAqB,KAAI,CAACpC,SAAL,CAAemC,gBAAf,CAAgC,aAAhC,CAArB;AACAZ,YAAM,CAACc,aAAP,GAAuB,KAAI,CAACrC,SAAL,CAAeK,iBAAf,CAAiC,gBAAjC,CAAvB;AACH;;AACD,WAAOkB,MAAP;AACH,GApEgC;;AAAA,yCAsEV,YAAc;AACjC,WAAO,eAAP;AACH,GAxEgC;;AAAA,oCAyEf,YAAgB;AAC9B,WAAO,KAAI,CAACvB,SAAZ;AACH,GA3EgC;;AAAA,2CA6EP,YAAW;AAAA;;AACjC,QAAMsC,OAAkC,GAAG;AACvCC,UAAI,EAAE,SADiC;AAEvCC,UAAI,EAAE;AAFiC,KAA3C,CADiC,CAKjC;;AACA,QAAMC,cAAc,GAAG,KAAI,CAACzC,SAAL,CAAe0C,iBAAf,EAAvB;;AACA;AACIC,iBAAW,EAAE,KADjB;AAEIC,oBAAc,EAAE,OAFpB;AAGIC,cAAQ,EAAE,WAHd;AAIIC,UAAI,EAAE,cAJV;AAMIC,qBAAe,EAAE,KAAI,CAACnC,kBAAL,GAA0BC,mBAA1B,GAAgDnB,QAAhD,EANrB;AAQI;AACAsD,YAAM,EAAEV,OATZ;AAWIW,yBAAmB,EAAE,KAAI,CAAC1C,aAAL,GAAqB2C,WAArB,EAXzB;AAYIC,yBAAmB,EAAE,KAAI,CAAC5C,aAAL,GAAqB6C,WAArB,EAZzB;AAaIC,kBAAY,2BAAE,KAAI,CAACrD,SAAL,CAAemC,gBAAf,CAAgC,YAAhC,CAAF,yEAAmD;AAbnE,OAcOM,cAdP;AAgBH,GApGgC;;AAAA,sDAqGI,YAAkC;AACnE,WAAO;AACHa,iBAAW,EAAE;AACTf,YAAI,EAAE,kBADG;AAETS,cAAM,EAAE;AACJT,cAAI,EAAE,SADF;AAEJC,cAAI,EAAE;AAFF,SAFC;AAMTe,gBAAQ,EAAEC,2EAAA,CAAiCC;AANlC;AADV,KAAP;AAUH,GAhHgC;;AAAA,iDAkHD,YAA6B;AACzD,WAAO;AACHnB,aAAO,EAAE,CACL;AACIC,YAAI,EAAE,SADV;AAEIC,YAAI,EAAE;AAFV,OADK;AADN,KAAP;AAQH,GA3HgC;;AAAA,qCA6Hb,UAACkB,aAAD,EAAoC;AAAA;;AACpD,YAAQA,aAAR;AACI,WAAK,aAAL;AACI,eACI,+BAAI,CAAC1D,SAAL,CAAeK,iBAAf,CAAiC,aAAjC,iFAAiDsD,OAAjD,CAAyD,IAAzD,MAAkE,CAAC,CADvE;;AAGJ,WAAK,kBAAL;AACI,eAAO,KAAP;;AACJ,WAAK,cAAL;AACI,eAAO,KAAP;;AACJ;AACI,eAAO,IAAP;AAVR;AAYH,GA1IgC;;AAAA,qCA4Ib,UAACD,aAAD,EAAoC;AACpD,QAAME,cAAc,GAAG,KAAI,CAAC5D,SAAL,CAAeK,iBAAf,CAAiC,aAAjC,CAAvB;;AACA,YAAQqD,aAAR;AACI,WAAK,aAAL;AACI,YACIE,cAAc,KAAKjF,gEAAe,CAACO,MAAnC,IACA0E,cAAc,KAAKjF,gEAAe,CAACkF,YAFvC,EAGE;AACE,iBAAO,IAAP;AACH,SALD,MAKO;AACH,iBAAO,KAAP;AACH;;AACL,WAAK,cAAL;AACI,YAAID,cAAc,IAAIjF,gEAAe,CAACE,QAAtC,EAAgD;AAC5C,iBAAO,KAAP;AACH,SAFD,MAEO;AACH,iBAAO,IAAP;AACH;;AACL,WAAK,aAAL;AACI,YACI+E,cAAc,IAAIjF,gEAAe,CAACG,QAAlC,IACA8E,cAAc,IAAIjF,gEAAe,CAACM,cAFtC,EAGE;AACE,iBAAO,KAAP;AACH,SALD,MAKO;AACH,iBAAO,IAAP;AACH;;AACL;AACI,eAAO,IAAP;AA1BR;AA4BH,GA1KgC;;AAAA,0DA4KQ,UACrCyE,aADqC,EAEhB;AAAA;;AACrB,QAAMI,0BAA0B,4BAAG,KAAI,CAAC9D,SAAL,CAAe+D,cAAf,CAC/B,gBAD+B,CAAH,0DAAG,sBAE/BL,aAF+B,CAAnC;AAGA,QAAIM,iBAAJ;;AACA,QAAIF,0BAAJ,EAAgC;AAC5BE,uBAAiB,GAAGF,0BAA0B,CAAC,cAAD,CAA1B,CAA2C,OAA3C,CAApB;AACH;;AACD,iCAAOE,iBAAP,mEAA4BvG,SAA5B;AACH,GAvLgC;;AAAA,uCAyLX,YAAyB;AAAA;;AAC3C,QAAM+C,MAAyB,GAAG,EAAlC;AACA,QAAMwD,iBAAyB,4BAC3B,KAAI,CAACC,8BAAL,CAAoC,SAApC,CAD2B,yEACuB,EADtD;;AAEA,QAAMC,WAAW,GAAG,KAAI,CAAClE,SAAL,CAAeK,iBAAf,CAAiC,aAAjC,CAApB;;AAEA,QACI6D,WAAW,KAAKvF,gEAAe,CAACkF,YAAhC,IACAK,WAAW,KAAKvF,gEAAe,CAACO,MAFpC,EAGE;AACEsB,YAAM,CAAC2D,IAAP,CAAY;AACRC,YAAI,EAAEC,8EAAA,CAAqBC,IADnB;AAERC,YAAI,EACA;AAHI,OAAZ;AAKH;;AAED,QACIL,WAAW,KAAKvF,gEAAe,CAACkF,YAAhC,KACC,2BAAC,KAAI,CAACzD,QAAL,GAAgBC,iBAAhB,CAAkC,aAAlC,CAAD,2EAAqD,CAArD,KACG,KAAI,CAACO,kBAAL,GAA0BzB,OAD7B,IAEG,2BAAC,KAAI,CAACiB,QAAL,GAAgBC,iBAAhB,CAAkC,aAAlC,CAAD,2EAAqD,CAArD,IACI,KAAI,CAACO,kBAAL,GAA0BxB,OAJlC,CADJ,EAME;AACEoB,YAAM,CAAC2D,IAAP,CAAY;AACRC,YAAI,EAAEC,8EAAA,CAAqBG,OADnB;AAERD,YAAI,EACA;AAHI,OAAZ;AAKH;;AAED,QACIL,WAAW,KAAKvF,gEAAe,CAACkF,YAAhC,IACAK,WAAW,KAAKvF,gEAAe,CAACO,MAFpC,EAGE;AAAA;;AACE,UACI,CAAA8E,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,YAAAA,iBAAiB,CAAEL,OAAnB,CAA2B,gBAA3B,MAAgD,CAAC,CAAjD,IACA,KAAI,CAAC/C,kBAAL,GAA0BC,mBAA1B,KACIlC,gEAAe,CAAC8F,gBAHxB,EAIE;AACEjE,cAAM,CAAC2D,IAAP,CAAY;AACRC,cAAI,EAAEC,8EAAA,CAAqBG,OADnB;AAERD,cAAI,EACA,iEACA5F,gEAAe,CAAC8F,gBADhB,GAEA;AALI,SAAZ;AAOH;;AAED,UACI,CAAAT,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,YAAAA,iBAAiB,CAAEL,OAAnB,CAA2B,oBAA3B,MAAoD,CAAC,CAArD,IACA,2BAAC,KAAI,CAACvD,QAAL,GAAgBC,iBAAhB,CAAkC,aAAlC,CAAD,2EAAqD,CAArD,IAA0D,QAD1D,IAEA,KAAI,CAACO,kBAAL,GAA0BC,mBAA1B,KACIlC,gEAAe,CAAC+F,gBAJxB,EAKE;AACElE,cAAM,CAAC2D,IAAP,CAAY;AACRC,cAAI,EAAEC,8EAAA,CAAqBG,OADnB;AAERD,cAAI,EACA,iEACA5F,gEAAe,CAAC+F,gBADhB,GAEA;AALI,SAAZ;AAOH;;AAED,UACIV,iBAAiB,CAACL,OAAlB,CAA0B,wBAA1B,KAAuD,CAAC,CAAxD,IACA,KAAI,CAAC/C,kBAAL,GAA0BC,mBAA1B,KACIlC,gEAAe,CAACgG,gBAHxB,EAIE;AACEnE,cAAM,CAAC2D,IAAP,CAAY;AACRC,cAAI,EAAEC,8EAAA,CAAqBG,OADnB;AAERD,cAAI,EACA,iEACA5F,gEAAe,CAACgG,gBADhB,GAEA;AALI,SAAZ;AAOH;AACJ;;AAED,QAAMjG,KAAK,GAAGK,QAAQ,qDAClB,KAAI,CAACiB,SAAL,CAAeK,iBAAf,CAAiC,aAAjC,CADkB,2DAClB,uBAAiDrB,OAAjD,CAAyD,MAAzD,EAAiE,EAAjE,CADkB,2EACsD,GADtD,CAAtB;;AAGA,QACI,KAAI,CAACgB,SAAL,CAAeK,iBAAf,CAAiC,aAAjC,MACI1B,gEAAe,CAACM,cADpB,KAECP,KAAK,IAAI,CAAT,IAAcA,KAAK,IAAI,CAAvB,IAA4BA,KAAK,IAAI,CAArC,IAA0CA,KAAK,IAAI,EAFpD,CADJ,EAIE;AACE8B,YAAM,CAAC2D,IAAP,CAAY;AACRC,YAAI,EAAEC,8EAAA,CAAqBG,OADnB;AAERD,YAAI,EACA;AAHI,OAAZ;AAKH;;AAED,WAAO/D,MAAP;AACH,GAxRgC;;AAC7B,OAAKR,SAAL,GAAiBA,SAAjB;AACH,CANL,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;AAGA;AACO,IAAMnC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,QAAD,EAA6B;AAC3D;AACA,SAAO,EAAP;AACH,CAHM,C,CAKP;;AACO,SAASC,UAAT,CAAoBD,QAApB,EAAwCE,OAAxC,EAA+E;AAAA;;AAClF,MAAI4G,cAAmC,GAAG5G,OAA1C;AACA,MAAI6G,UAAe,GAAG,EAAtB;AACA,MAAMC,cAAc,4BAAGhH,QAAQ,CAACiG,cAAT,CAAwB,gBAAxB,CAAH,0DAAG,sBAA4C,UAA5C,CAAvB;;AAEA,MAAIe,cAAJ,EAAoB;AAAA;;AAChB,WAAOA,cAAc,CAAC,SAAD,CAArB;AACA,WAAOA,cAAc,CAAC,sBAAD,CAArB;AACA,QAAMC,cAAsB,GAAGD,cAAc,CAAC,cAAD,CAAd,CAA+B,OAA/B,CAA/B;;AAEA,QAAIC,cAAc,CAACpB,OAAf,CAAuB,4BAAvB,KAAwD,CAAC,CAA7D,EAAgE;AAC5D,UAAI3F,OAAO,CAACuE,IAAR,KAAiB,UAArB,EAAiC;AAC7BqC,sBAAc,mCACPA,cADO;AAEVI,uBAAa,EAAE;AAAEC,wBAAY,EAAE;AAAhB;AAFL,UAAd;AAIH;AACJ;;AAED,QAAMC,aAAsB,GACxBH,cAAc,KAAK,4BAAnB,IACAA,cAAc,KAAK,6BADnB,GAEM,IAFN,GAGM,KAJV;AAKA,QAAMI,SAAS,4BAAGrH,QAAQ,CACrBsH,YADU,0DAAG,2BAAAtH,QAAQ,EAErBuH,kBAFa,CAEMrH,OAFN,EAGbsH,WAHa,CAGD,UAHC,EAIbC,YAJa,CAIAT,cAJA,EAKbU,mBALa,CAMV,QANU,EAOVN,aAAa,GACP,4BADO,GAEP,0DATI,EAWbO,qBAXa,CAYV,IAZU,EAaVP,aAAa,GACP,6BADO,GAEP,iEAfI,EAiBbQ,KAjBa,EAAlB,CAnBgB,CAqChB;;AArCgB,+CAsCSP,SAtCT;AAAA;;AAAA;AAsChB,0DAAoC;AAAA,YAAzBQ,UAAyB;AAChC,YAAMC,WAAW,GAAGD,UAAU,CAAC7F,KAAX,CAAiB+F,iEAAS,CAACC,MAA3B,CAApB;;AACA,YAAIF,WAAJ,EAAiB;AAAA;;AACbA,qBAAW,CAACG,IAAZ,GAAmB;AACfC,cAAE,2BAAElI,QAAQ,CAACmI,iBAAT,CAA2B,gBAA3B,CAAF,oFAAE,sBAA8CC,MAAhD,2DAAE,uBAAsDC;AAD3C,WAAnB;AAGH;;AACD,YAAMC,aAAa,GAAGT,UAAU,CAAC7F,KAAX,CAAiB+F,iEAAS,CAACQ,MAA3B,CAAtB;;AACA,YAAID,aAAJ,EAAmB;AAAA;;AACfA,uBAAa,CAACL,IAAd,GAAqB;AACjBC,cAAE,4BAAElI,QAAQ,CAACmI,iBAAT,CAA2B,gBAA3B,CAAF,qFAAE,uBAA8CC,MAAhD,2DAAE,uBAAsDC;AADzC,WAArB;AAGH;;AACDtB,kBAAU,CAACV,IAAX,CAAgBwB,UAAhB;AACH;AApDe;AAAA;AAAA;AAAA;AAAA;AAqDnB;;AAED,MAAMW,YAAY,6BAAGxI,QAAQ,CAACiG,cAAT,CAAwB,gBAAxB,CAAH,2DAAG,uBAA4C,SAA5C,CAArB;;AAEA,MAAIuC,YAAJ,EAAkB;AAAA;;AACd,WAAOA,YAAY,CAAC,SAAD,CAAnB;AACA,WAAOA,YAAY,CAAC,sBAAD,CAAnB;AAEA,QAAMvB,eAAsB,GAAGuB,YAAY,CAAC,cAAD,CAAZ,CAA6B,OAA7B,CAA/B;;AAEA,QACIvB,eAAc,CAACpB,OAAf,CAAuB,kBAAvB,KAA8C,CAAC,CAA/C,IACAoB,eAAc,CAACpB,OAAf,CAAuB,IAAvB,KAAgC,CAAC,CAFrC,EAGE;AACE,UAAI3F,OAAO,CAACuE,IAAR,KAAiB,MAAjB,IAA2BvE,OAAO,CAACuE,IAAR,KAAiB,MAAhD,EAAwD;AACpDqC,sBAAc,GAAGnH,SAAjB;AACH;AACJ;;AAED,QAAIsH,eAAc,CAACpB,OAAf,CAAuB,sBAAvB,KAAkD,CAAC,CAAvD,EAA0D;AACtD,UAAI3F,OAAO,CAACuE,IAAR,KAAiB,SAArB,EAAgC;AAC5BqC,sBAAc,GAAGnH,SAAjB;AACH;AACJ;;AAED,QACIsH,eAAc,CAACpB,OAAf,CAAuB,wBAAvB,KAAoD,CAAC,CAArD,IACAoB,eAAc,CAACpB,OAAf,CAAuB,UAAvB,KAAsC,CAAC,CAF3C,EAGE;AACE,UACI3F,OAAO,CAACuE,IAAR,KAAiB,SAAjB,IACAvE,OAAO,CAACuE,IAAR,KAAiB,MADjB,IAEAvE,OAAO,CAACuE,IAAR,KAAiB,MAHrB,EAIE;AACEqC,sBAAc,GAAGnH,SAAjB;AACH;AACJ,KAhCa,CAiCd;;;AACA,QAAM8I,OAAO,4BAAGzI,QAAQ,CAAC0I,YAAT,CAAsB,eAAtB,CAAH,0DAAG,sBAAwCC,SAAxD;;AACA,QAAIF,OAAJ,EAAa;AAAA;;AACT1B,gBAAU,GAAGA,UAAU,CAAC6B,MAAX,2BACT5I,QAAQ,CACHsH,YAFI,2DACT,4BAAAtH,QAAQ,EAEHuH,kBAFL,CAEwBrH,OAFxB,EAGKsH,WAHL,CAGiB,SAHjB,EAIKC,YAJL,CAIkBgB,OAJlB,EAKKf,mBALL,CAKyB,IALzB,EAK+B,EAL/B,EAMKC,qBANL,CAM2B,IAN3B,EAMiC,EANjC,EAOKC,KAPL,EADS,CAAb;AAWAb,gBAAU,GAAGA,UAAU,CAAC6B,MAAX,2BACT5I,QAAQ,CACHsH,YAFI,2DACT,4BAAAtH,QAAQ,EAEHuH,kBAFL,CAEwBrH,OAFxB,EAGKsH,WAHL,CAGiB,MAHjB,EAIKC,YAJL,CAIkBgB,OAJlB,EAKKf,mBALL,CAKyB,IALzB,EAK+B,EAL/B,EAMKC,qBANL,CAM2B,IAN3B,EAMiC,EANjC,EAOKC,KAPL,EADS,CAAb;AAWAb,gBAAU,GAAGA,UAAU,CAAC6B,MAAX,2BACT5I,QAAQ,CACHsH,YAFI,2DACT,4BAAAtH,QAAQ,EAEHuH,kBAFL,CAEwBrH,OAFxB,EAGKsH,WAHL,CAGiB,MAHjB,EAIKC,YAJL,CAIkBgB,OAJlB,EAKKf,mBALL,CAKyB,IALzB,EAK+B,EAL/B,EAMKC,qBANL,CAM2B,IAN3B,EAMiC,EANjC,EAOKC,KAPL,EADS,CAAb;AAUH;AACJ;;AAED,MAAMiB,UAAU,6BAAG7I,QAAQ,CAACiG,cAAT,CAAwB,gBAAxB,CAAH,2DAAG,uBAA4C,OAA5C,CAAnB;AACA,MAAM6C,SAAS,6BAAG9I,QAAQ,CAACiG,cAAT,CAAwB,gBAAxB,CAAH,2DAAG,uBAA4C,KAA5C,CAAlB;;AAEA,MAAI4C,UAAU,IAAIC,SAAlB,EAA6B;AACzB,WAAOD,UAAU,CAAC,SAAD,CAAjB;AACA,WAAOA,UAAU,CAAC,sBAAD,CAAjB;AACA,QAAME,kBAA0B,GAAGF,UAAU,CAAC,cAAD,CAAV,CAA2B,OAA3B,CAAnC;AAEA,WAAOC,SAAS,CAAC,SAAD,CAAhB;AACA,WAAOA,SAAS,CAAC,sBAAD,CAAhB;AACA,QAAME,iBAAyB,GAAGF,SAAS,CAAC,cAAD,CAAT,CAA0B,OAA1B,CAAlC;;AAEA,QACIE,iBAAiB,CAACnD,OAAlB,CAA0B,6CAA1B,KACI,CAAC,CADL,IAEAmD,iBAAiB,CAACnD,OAAlB,CACI,uDADJ,KAEK,CAAC,CALV,EAME;AACE,UACIkD,kBAAkB,CAAClD,OAAnB,CAA2B,kBAA3B,KAAkD,CAAC,CAAnD,IACAkD,kBAAkB,CAAClD,OAAnB,CAA2B,mCAA3B,KAAmE,CAAC,CADpE,IAEAkD,kBAAkB,KAAK,wBAH3B,EAIE;AACE,YAAI7I,OAAO,CAACuE,IAAR,KAAiB,OAAjB,IAA4BqC,cAAhC,EAAgD;AAC5CA,wBAAc,mCACPA,cADO;AAEVI,yBAAa,EAAE;AAAEC,0BAAY,EAAE;AAAhB;AAFL,YAAd;AAIH;AACJ;;AACD,UAAM8B,WAAoB,GACtBF,kBAAkB,KACd,qEADJ,IAEAA,kBAAkB,KACd,4FAHJ,GAIM,IAJN,GAKM,KANV;AAOA,UAAMG,SAAkB,GACpBH,kBAAkB,KAAK,wBAAvB,IACAA,kBAAkB,KACd,2EAFJ,GAGM,IAHN,GAIM,KALV;AAMA,UAAI1B,UAAc,GAAG,EAArB,CA1BF,CA4BE;;AACA,UAAI6B,SAAJ,EAAe;AAAA;;AACX7B,kBAAS,6BAAGrH,QAAQ,CACfsH,YADI,2DAAG,4BAAAtH,QAAQ,EAEfuH,kBAFO,CAEYrH,OAFZ,EAGPsH,WAHO,CAGK,OAHL,EAIPC,YAJO,CAIMoB,UAJN,EAKPnB,mBALO,CAKa,MALb,EAKqB,wBALrB,EAMPC,qBANO,CAOJ,IAPI,EAQJ,2EARI,EAUPC,KAVO,EAAZ;AAWH,OAZD,MAYO;AAAA;;AACHP,kBAAS,6BAAGrH,QAAQ,CACfsH,YADI,2DAAG,4BAAAtH,QAAQ,EAEfuH,kBAFO,CAEYrH,OAFZ,EAGPsH,WAHO,CAGK,OAHL,EAIPC,YAJO,CAIMoB,UAJN,EAKPnB,mBALO,CAMJ,MANI,EAOJuB,WAAW,GACL,qEADK,GAEL,mCATF,EAWPtB,qBAXO,CAYJ,IAZI,EAaJsB,WAAW,GACL,4FADK,GAEL,4CAfF,EAiBPrB,KAjBO,EAAZ;AAkBH,OA5DH,CA8DE;;;AA9DF,kDA+D2BP,UA/D3B;AAAA;;AAAA;AA+DE,+DAAoC;AAAA,cAAzBQ,WAAyB;AAChC,cAAMC,YAAW,GAAGD,WAAU,CAAC7F,KAAX,CAAiB+F,iEAAS,CAACC,MAA3B,CAApB;;AACA,cAAIF,YAAJ,EAAiB;AAAA;;AACbA,wBAAW,CAACG,IAAZ,GAAmB;AACfC,gBAAE,4BAAElI,QAAQ,CAACmI,iBAAT,CAA2B,gBAA3B,CAAF,qFAAE,uBAA8CC,MAAhD,2DAAE,uBACEC;AAFS,aAAnB;AAIH;;AACD,cAAMC,cAAa,GAAGT,WAAU,CAAC7F,KAAX,CAAiB+F,iEAAS,CAACQ,MAA3B,CAAtB;;AACA,cAAID,cAAJ,EAAmB;AAAA;;AACfA,0BAAa,CAACL,IAAd,GAAqB;AACjBC,gBAAE,4BAAElI,QAAQ,CAACmI,iBAAT,CAA2B,gBAA3B,CAAF,qFAAE,uBAA8CC,MAAhD,2DAAE,uBACEC;AAFW,aAArB;AAIH;;AACDtB,oBAAU,CAACV,IAAX,CAAgBwB,WAAhB;AACH;AA/EH;AAAA;AAAA;AAAA;AAAA;AAgFD,KAtFD,MAsFO;AAAA;;AACH,UAAIkB,kBAAJ,EAAwB;AACpB,YAAI7I,OAAO,CAACuE,IAAR,KAAiB,OAAjB,IAA4BqC,cAAhC,EAAgD;AAC5CA,wBAAc,mCACPA,cADO;AAEVI,yBAAa,EAAE;AAAEC,0BAAY,EAAE;AAAhB;AAFL,YAAd;AAIH;AACJ;;AACD,UAAMsB,QAAO,6BAAGzI,QAAQ,CAAC0I,YAAT,CAAsB,eAAtB,CAAH,2DAAG,uBAAwCC,SAAxD;;AACA,UAAIF,QAAJ,EAAa;AAAA;;AACT1B,kBAAU,GAAGA,UAAU,CAAC6B,MAAX,2BACT5I,QAAQ,CACHsH,YAFI,2DACT,4BAAAtH,QAAQ,EAEHuH,kBAFL,CAEwBrH,OAFxB,EAGKsH,WAHL,CAGiB,OAHjB,EAIKC,YAJL,CAIkBgB,QAJlB,EAKKf,mBALL,CAKyB,IALzB,EAK+B,EAL/B,EAMKC,qBANL,CAM2B,IAN3B,EAMiC,EANjC,EAOKC,KAPL,EADS,CAAb;AAUH;AACJ;AACJ;;AAED,MAAMxB,WAAW,GAAGpG,QAAQ,CAACuC,iBAAT,CAA2B,aAA3B,CAApB;;AACA,MACI6D,WAAW,KAAK,UAAhB,IACAA,WAAW,KAAK,UADhB,IAEAA,WAAW,KAAK,MAFhB,IAGAA,WAAW,KAAK,sBAJpB,EAKE;AACE,QAAIlG,OAAO,CAACuE,IAAR,KAAiB,SAArB,EAAgC;AAC5BqC,oBAAc,GAAGnH,SAAjB;AACH;;AACD,QAAIO,OAAO,CAACuE,IAAR,KAAiB,MAArB,EAA6B;AACzBqC,oBAAc,GAAGnH,SAAjB;AACH;;AACD,QAAIO,OAAO,CAACuE,IAAR,KAAiB,MAArB,EAA6B;AACzBqC,oBAAc,GAAGnH,SAAjB;AACH;AACJ;;AAED,MAAIO,OAAO,CAACuE,IAAR,KAAiB,OAArB,EAA8B;AAC1B,QAAI2B,WAAW,KAAK,MAAhB,IAA0BU,cAA9B,EAA8C;AAC1CA,oBAAc,mCACPA,cADO;AAEVI,qBAAa,EAAE;AAAEC,sBAAY,EAAE;AAAhB;AAFL,QAAd;AAIH,KALD,MAKO;AACHL,oBAAc,GAAGnH,SAAjB;AACH;AACJ;;AAED,MAAIO,OAAO,CAACuE,IAAR,KAAiB,OAArB,EAA8B;AAC1B,QAAI2B,WAAW,KAAK,MAAhB,IAA0BU,cAA9B,EAA8C;AAC1CA,oBAAc,mCACPA,cADO;AAEVI,qBAAa,EAAE;AAAEC,sBAAY,EAAE;AAAhB;AAFL,QAAd;AAIH,KALD,MAKO;AACHL,oBAAc,GAAGnH,SAAjB;AACH;AACJ;;AAED,MAAImH,cAAJ,EAAoBA,cAAc,mCAAQA,cAAR;AAAwBqC,WAAO,EAAEpC;AAAjC,IAAd;AAEpB,SAAOD,cAAP;AACH,C;;;;;;;;;;;;;;;;;;ACrTM,IAAMjG,eAAb;AAAA;AAAA;;gBAAaA,e,UACc,M;;gBADdA,e,cAEkB,U;;gBAFlBA,e,cAGkB,U;;gBAHlBA,e,oBAIwB,sB;;gBAJxBA,e,YAKgB,Q;;gBALhBA,e,kBAMsB,sB;;gBANtBA,e,oBAOwB,uB;;gBAPxBA,e,QAQY,I;;gBARZA,e,sBAS0B,Q;;gBAT1BA,e,sBAU0B,Q;;gBAV1BA,e,sBAW0B,Q","file":"autoCreator.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./generated_module/src/autoCreator.ts\");\n","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport {\n getCreatorFunctions as getCreatorFunctionsUser,\n getModuleConfigFromFile,\n} from \"./getUserData\";\n\nconst createAutoCreator = (\n getCreatorFunctions: () => CreatorFunctions,\n): (() => CreatorFunctions) => {\n return (): CreatorFunctions => {\n return {\n getModuleConfig: getModuleConfigFromFile,\n ...getCreatorFunctions(),\n };\n };\n};\n\nexport const getCreatorFunctions = createAutoCreator(getCreatorFunctionsUser);\n","import { ModuleConfig } from \"@microchip/melody-automodule-interface/lib/src/ModuleConfig\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport { PinsLogic } from \"@microchip/melody-automodule-interface/lib/src/types\";\nexport { getCreatorFunctions } from \"../../src/CreatorFunctions\";\nexport { getDerivedData } from \"../../src/DerivedData\";\n\nexport const getPinsDataFromFile = (): PinsData | undefined => {\n try {\n return require(\"../../src/pinsdata.json\");\n } catch {\n return undefined;\n }\n};\n\nexport const getPinsLogicFromFile = (): PinsLogic | undefined => {\n try {\n return require(\"../../src/PinsLogic.ts\");\n } catch {\n return undefined;\n }\n};\n\nexport const getModuleConfigFromFile = (): ModuleConfig | undefined => {\n try {\n return require(\"../../src/moduleConfig.json\");\n } catch {\n return undefined;\n }\n};\n","import { pin_row } from \"@microchip/pin-standard\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport {\n AppModel,\n PinsLogic,\n} from \"@microchip/melody-automodule-interface/lib/src/types\";\nimport { getPinsDataFromFile, getPinsLogicFromFile } from \"../getUserData\";\n\nconst mockPinsLogic = (getPinsData: GetPinsData): PinsLogic => {\n const getCompletePinData = (appModel: AppModel): any => {\n return {};\n };\n const getRowData = (appModel: AppModel, rowData: pin_row): pin_row => {\n return rowData;\n };\n return {\n getCompletePinData: getCompletePinData,\n getRowData: getRowData,\n getPinsData: getPinsData,\n };\n};\n\ntype GetPinsData = typeof getPinsData;\nexport const getPinsData = (): PinsData => getPinsDataFromFile() ?? { rows: [] };\n\nexport const getPinsLogic = (): PinsLogic => {\n const pinsLogic = getPinsLogicFromFile();\n if (pinsLogic) {\n return {\n ...pinsLogic,\n getPinsData: getPinsData,\n };\n } else {\n return mockPinsLogic(getPinsData);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar initializer_system_1 = require(\"./initializer-system\");\nexports.Interface = initializer_system_1.Interface;\nexports.INIT_PRIORITY = initializer_system_1.INIT_PRIORITY;\nexports.sortInitializers = initializer_system_1.sortInitializers;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InterfaceTypes = __importStar(require(\"@microchip/scf-interface\"));\nvar pkgJson = __importStar(require(\"../package.json\"));\nvar getInterfaceId = function () {\n return {\n name: InterfaceTypes.getInterfaceName(pkgJson),\n version: InterfaceTypes.getInterfaceVersion(pkgJson),\n };\n};\nexports.sortInitializers = function (initializers) {\n var retinitializers = __spreadArrays(initializers);\n retinitializers.sort(prioritySorter);\n return retinitializers;\n};\nvar prioritySorter = function (a, b) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var result = 0;\n var apriority = (_b = (_a = a === null || a === void 0 ? void 0 : a.initializer) === null || _a === void 0 ? void 0 : _a.priority) !== null && _b !== void 0 ? _b : INIT_PRIORITY.DEFAULT;\n var bpriority = (_d = (_c = b === null || b === void 0 ? void 0 : b.initializer) === null || _c === void 0 ? void 0 : _c.priority) !== null && _d !== void 0 ? _d : INIT_PRIORITY.DEFAULT;\n if (apriority < bpriority) {\n result = -1;\n }\n else if (apriority > bpriority) {\n result = 1;\n }\n else {\n //same priority sort via intializer name alphabetically\n result = (_h = (_f = (_e = a === null || a === void 0 ? void 0 : a.initializer) === null || _e === void 0 ? void 0 : _e.name) === null || _f === void 0 ? void 0 : _f.localeCompare((_g = b === null || b === void 0 ? void 0 : b.initializer) === null || _g === void 0 ? void 0 : _g.name)) !== null && _h !== void 0 ? _h : 0;\n }\n return result;\n};\nvar INIT_PRIORITY;\n(function (INIT_PRIORITY) {\n INIT_PRIORITY[INIT_PRIORITY[\"START\"] = 1] = \"START\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_PERIPHERAL\"] = 50] = \"PRE_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"PERIPHERAL\"] = 100] = \"PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_PERIPHERAL\"] = 150] = \"POST_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"DEFAULT\"] = 200] = \"DEFAULT\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_SOFTWARE\"] = 250] = \"PRE_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"SOFTWARE\"] = 300] = \"SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_SOFTWARE\"] = 350] = \"POST_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"END\"] = 400] = \"END\";\n})(INIT_PRIORITY = exports.INIT_PRIORITY || (exports.INIT_PRIORITY = {}));\nvar createMock = function () {\n return {\n interfaceId: getInterfaceId(),\n payload: {\n moduleName: \"MyModule\",\n },\n args: {},\n results: {\n requestId: {\n initializer: {\n name: \"mymodule_init\",\n header: {\n name: \"mymodule.h\",\n path: \"include/\",\n },\n },\n registerInit: [\n {\n name: \"OSCCON1\",\n comment: \"//Comments\",\n value: 55,\n valueAsHex: \"0x55\",\n },\n ],\n },\n },\n };\n};\nvar createPrototypeImport = function () {\n return {\n interfaceId: getInterfaceId(),\n };\n};\nvar createPrototypeExport = function () {\n return {\n interfaces: [{ interfaceId: getInterfaceId() }],\n };\n};\nexports.Interface = {\n createPrototypeExport: createPrototypeExport,\n createPrototypeImport: createPrototypeImport,\n getInterfaceId: getInterfaceId,\n createMock: createMock,\n};\n//# sourceMappingURL=initializer-system.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar pin_standard_1 = require(\"./pin-standard\");\nexports.pin_standard = pin_standard_1.pin_standard;\nexports.pin_state = pin_standard_1.pin_state;\nexports.direction = pin_standard_1.direction;\nexports.behaviour = pin_standard_1.behaviour;\nexports.data_schema = pin_standard_1.data_schema;\nexports.pin_attribs_enum = pin_standard_1.pin_attribs_enum;\nexports.actiontype = pin_standard_1.actiontype;\nexports.QueryAdapterKey = pin_standard_1.QueryAdapterKey;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pin_standard = function () {\n return {\n interfaceId: {\n name: \"pin-standard\",\n version: \"0.1.0\",\n },\n };\n};\nvar QueryAdapterKey;\n(function (QueryAdapterKey) {\n QueryAdapterKey[\"ALLPINS\"] = \"allpins\";\n QueryAdapterKey[\"ALLPINS_FOR_ATTRIBS\"] = \"allpins_for_attribs\";\n QueryAdapterKey[\"PPS\"] = \"pps\";\n QueryAdapterKey[\"PORTMUX\"] = \"portmux\";\n QueryAdapterKey[\"HASPPS\"] = \"hasPPS\";\n})(QueryAdapterKey = exports.QueryAdapterKey || (exports.QueryAdapterKey = {}));\nvar pin_state;\n(function (pin_state) {\n pin_state[\"EMPTY\"] = \"E\";\n pin_state[\"LOCKED\"] = \"L\";\n pin_state[\"UNLOCK\"] = \"UL\";\n pin_state[\"DiSABLE_LOCK\"] = \"DL\";\n pin_state[\"UNLOCKED_DISABLED\"] = \"DUL\";\n pin_state[\"LOCKED_LINK\"] = \"LL\";\n pin_state[\"UNLOCKED_MUX\"] = \"MUL\";\n pin_state[\"LOCKED_CONFLICT\"] = \"CL\";\n})(pin_state = exports.pin_state || (exports.pin_state = {}));\nvar pin_interrupts_enum;\n(function (pin_interrupts_enum) {\n pin_interrupts_enum[\"INTDIS_BUFFEN\"] = \"INTDIS_BUFFEN\";\n pin_interrupts_enum[\"BOTH_EDGES\"] = \"BOTH_EDGES\";\n pin_interrupts_enum[\"RISING_EDGE\"] = \"RISING_EDGE\";\n pin_interrupts_enum[\"FALLING_EDGE\"] = \"FALLING_EDGE\";\n pin_interrupts_enum[\"NONE\"] = \"NONE\";\n pin_interrupts_enum[\"LOW_LEVEL\"] = \"LOW_LEVEL\";\n})(pin_interrupts_enum = exports.pin_interrupts_enum || (exports.pin_interrupts_enum = {}));\nvar pin_attribs_enum;\n(function (pin_attribs_enum) {\n pin_attribs_enum[\"aliasReEx\"] = \"aliasReEx\";\n pin_attribs_enum[\"cname\"] = \"cname\";\n pin_attribs_enum[\"high\"] = \"high\";\n pin_attribs_enum[\"inv\"] = \"inv\";\n pin_attribs_enum[\"wpu\"] = \"wpu\";\n pin_attribs_enum[\"wpd\"] = \"wpd\";\n pin_attribs_enum[\"od\"] = \"od\";\n pin_attribs_enum[\"analog\"] = \"analog\";\n pin_attribs_enum[\"ioc\"] = \"ioc\";\n pin_attribs_enum[\"intcallback\"] = \"intcallback\";\n pin_attribs_enum[\"alias\"] = \"alias\";\n})(pin_attribs_enum = exports.pin_attribs_enum || (exports.pin_attribs_enum = {}));\nvar actiontype;\n(function (actiontype) {\n actiontype[\"SETACTION\"] = \"SETACTION\";\n actiontype[\"ATTRIBACTION\"] = \"ATTRIBACTION\";\n})(actiontype = exports.actiontype || (exports.actiontype = {}));\nvar direction;\n(function (direction) {\n direction[\"output\"] = \"output\";\n direction[\"input\"] = \"input\";\n direction[\"bidirectional\"] = \"bidirectional\";\n})(direction = exports.direction || (exports.direction = {}));\nvar behaviour;\n(function (behaviour) {\n behaviour[\"LOCK_UNLOCK\"] = \"LOCK_UNLOCK\";\n behaviour[\"ALWAYS_LOCKED\"] = \"ALWAYS_LOCKED\";\n behaviour[\"SINGLE_PIN_MUX\"] = \"SINGLE_PIN_MUX\";\n behaviour[\"OPTIONAL_PIN_MUX\"] = \"OPTIONAL_PIN_MUX\";\n behaviour[\"PPS\"] = \"PPS\";\n behaviour[\"PORTMUX\"] = \"PORTMUX\";\n behaviour[\"EXCLUSIVE_LOCK\"] = \"EXCLUSIVE_LOCK\";\n behaviour[\"LOCKED_DISABLED\"] = \"LOCKED_DISABLED\";\n})(behaviour = exports.behaviour || (exports.behaviour = {}));\n//------------------------------------ schema ------------------------------------//\nexports.data_schema = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $ref: \"#/definitions/intf_data\",\n definitions: {\n intf_data: {\n type: \"object\",\n properties: {\n rows: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_row\",\n },\n },\n },\n required: [\"rows\"],\n additionalProperties: false,\n },\n pin_row: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n function: {\n type: \"string\",\n },\n direction: {\n $ref: \"#/definitions/direction\",\n },\n filter: {\n $ref: \"#/definitions/filter\",\n },\n behaviour: {\n $ref: \"#/definitions/behaviour\",\n },\n behaviourMeta: {\n $ref: \"#/definitions/behaviourMeta\",\n },\n attribs: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_attribs\",\n },\n },\n groupsdata: {\n $ref: \"#/definitions/pingroups_data\",\n },\n actions: {},\n },\n required: [\"name\", \"module\", \"function\", \"direction\", \"filter\", \"behaviour\"],\n additionalProperties: false,\n },\n direction: {\n type: \"string\",\n enum: [\"output\", \"input\", \"bidirectional\"],\n },\n filter: {\n type: \"object\",\n properties: {\n module: {\n type: \"string\",\n },\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"module\", \"aliasReEx\"],\n additionalProperties: false,\n },\n behaviour: {\n type: \"string\",\n enum: [\n \"LOCK_UNLOCK\",\n \"ALWAYS_LOCKED\",\n \"SINGLE_PIN_MUX\",\n \"OPTIONAL_PIN_MUX\",\n \"PPS\",\n \"PORTMUX\",\n \"EXCLUSIVE_LOCK\",\n \"LOCKED_DISABLED\",\n ],\n },\n behaviourMeta: {\n type: \"object\",\n properties: {\n lockPinRegEx: {\n type: \"string\",\n },\n },\n required: [\"lockPinRegEx\"],\n additionalProperties: false,\n },\n pin_attribs: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n cname: {\n type: \"string\",\n },\n high: {\n type: \"boolean\",\n },\n inv: {\n type: \"boolean\",\n },\n wpu: {\n type: \"boolean\",\n },\n wpd: {\n type: \"boolean\",\n },\n od: {\n type: \"boolean\",\n },\n analog: {\n type: \"boolean\",\n },\n ioc: {\n $ref: \"#/definitions/pin_interrupts_enum\",\n },\n bidirection_out: {\n type: \"boolean\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n pin_interrupts_enum: {\n type: \"string\",\n enum: [\n \"INTDIS_BUFFEN\",\n \"BOTH_EDGES\",\n \"RISING_EDGE\",\n \"FALLING_EDGE\",\n \"NONE\",\n \"LOW_LEVEL\",\n ],\n },\n pingroups_data: {\n type: \"object\",\n properties: {\n groups: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pins_group\",\n },\n },\n },\n required: [\"groups\"],\n additionalProperties: false,\n },\n pins_group: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n filter: {\n $ref: \"#/definitions/grpfilter\",\n },\n datapath: {\n type: \"string\",\n },\n },\n required: [\"name\", \"filter\"],\n additionalProperties: false,\n },\n grpfilter: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n },\n};\n//# sourceMappingURL=pin-standard.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapOptionLabels = exports.filterOptions = exports.isSingleton = exports.isUnassigned = exports.isAssigned = exports.hasOptions = exports.AlertTypes = void 0;\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes = exports.AlertTypes || (exports.AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\nexports.hasOptions = hasOptions;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\nexports.isAssigned = isAssigned;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\nexports.isUnassigned = isUnassigned;\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\nexports.isSingleton = isSingleton;\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\nexports.filterOptions = filterOptions;\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.map(function (option) {\n return __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\nexports.mapOptionLabels = mapOptionLabels;\n//# sourceMappingURL=Processor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildSimpleApi = function (functions) {\n var api = {};\n for (var key in functions) {\n api[key] = buildFunction(functions[key]);\n }\n return api;\n};\nvar buildFunction = function (cFunction) {\n return cFunction.returns + \" \" + cFunction.name + \"(\" + buildArguments(cFunction.arguments) + \")\";\n};\nvar buildArguments = function (args) {\n if (args) {\n return args.map(function (arg) { return arg.type + \" \" + arg.name; }).join(\", \");\n }\n else {\n return \"void\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInterfaceName = function (pkgJson) {\n var strReplace = \"@microchip/\";\n var interfaceName;\n if (pkgJson) {\n interfaceName = pkgJson[\"name\"];\n if (interfaceName) {\n interfaceName = interfaceName.replace(strReplace, \"\");\n }\n }\n if (!interfaceName) {\n throw new Error(\"Invalid Interface Name...!\");\n }\n return interfaceName;\n};\nexports.getInterfaceVersion = function (pkgJson) {\n var versionRegex = new RegExp(\"\\\\d+.\\\\d+.\\\\d+\");\n var version;\n if (pkgJson) {\n version = pkgJson[\"version\"];\n }\n if (!version && !versionRegex.test(version)) {\n throw new Error(\"Invalid Interface Version...!\");\n }\n return version;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar c_function_types_1 = require(\"./c-function-types\");\nexports.buildSimpleApi = c_function_types_1.buildSimpleApi;\nvar helpers_1 = require(\"./helpers\");\nexports.getInterfaceName = helpers_1.getInterfaceName;\nexports.getInterfaceVersion = helpers_1.getInterfaceVersion;\n","import { StringConstants } from \"./StringConstants\";\n\nexport class ClockCalculator {\n private lfintosc = \"31000\";\n private mfintosc = \"500000\";\n private mfintosc_31KHz = \"31250\";\n private sosc = \"32768\";\n private oscSelect: string;\n private HFInternalClk: string;\n private externalClk: number;\n private clkDivider: number;\n\n MAX_PLL = 16000000; // in Hz\n MIN_PLL = 3000000; // in Hz\n\n public constructor(\n oscSelect: string,\n HFInternalClk: string,\n externalClk: number,\n clkDivider: number,\n ) {\n this.oscSelect = oscSelect;\n this.HFInternalClk = HFInternalClk;\n this.externalClk = externalClk;\n this.clkDivider = clkDivider;\n }\n\n public getCurrentSystemClk = (): number => {\n let currentSystemClk: number;\n let HFClk: number;\n\n if (this.oscSelect === StringConstants.SOSC) {\n currentSystemClk = 32768 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.LFINTOSC) {\n currentSystemClk = 31000 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC_2xPLL) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n if (HFClk == 8 || HFClk == 12 || HFClk == 16) {\n currentSystemClk = (HFClk * 2 * 1000000) / this.clkDivider;\n } else {\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n }\n } else if (this.oscSelect === StringConstants.EXTOSC) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n if (this.externalClk <= this.MIN_PLL || this.externalClk > this.MAX_PLL) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n currentSystemClk = (this.externalClk * 4) / this.clkDivider;\n }\n }\n return Math.round(currentSystemClk);\n };\n\n public getHfIntOsc = (): string => {\n return this.HFInternalClk?.replace(\"_MHz\", \"000000\") ?? \"1000000\";\n };\n\n public getMfIntOsc = (): string => {\n return this.mfintosc;\n };\n\n public getMfIntOsc_31KHz = (): string => {\n return this.mfintosc_31KHz;\n };\n\n public getLfIntOsc = (): string => {\n return this.lfintosc;\n };\n\n public getExtOsc = (): string => {\n return this.externalClk.toString();\n };\n\n public getSosc = (): string => {\n return this.sosc;\n };\n}\n","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport { State } from \"../generated_module/src/types/State\";\n\nexport const getCreatorFunctions = (): CreatorFunctions => {\n return {\n shouldImport: shouldImport,\n };\n};\n\nconst shouldImport = (importKey: string, state: State): boolean => {\n return true;\n};\n","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { ClockCalculator } from \"./ClockCalculator\";\nimport * as initializer_system from \"@microchip/initializer-system\";\nimport * as config_device from \"@microchip/config-device\";\nimport { StringConstants } from \"./StringConstants\";\nimport osc_clocks from \"@microchip/osc-clocks\";\nimport * as config_request from \"@microchip/config-request\";\nimport {\n AppModel,\n DerivedData,\n DerivedFunctions,\n} from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport { getPinsLogic } from \"../generated_module/src/pins/PCPHelper\";\n\nexport const getDerivedData = (dataModel: AppModel): DerivedData => {\n if (dataModel) {\n return new MyDerivedData(dataModel);\n }\n return new EmptyDerivedData();\n};\n\n//This data will be used at the creator stage and relies on only the state\nexport class EmptyDerivedData implements DerivedData {\n getMyFunctions = (): DerivedFunctions => {\n return {};\n };\n getModel = (): AppModel | undefined => {\n return undefined;\n };\n}\n\n//This data will be used at the processor stage\nexport class MyDerivedData implements DerivedData {\n private dataModel: AppModel;\n private clockCalculator: ClockCalculator;\n\n constructor(dataModel: AppModel) {\n this.dataModel = dataModel;\n }\n\n getClockCalculator = (): ClockCalculator => {\n if (!this.clockCalculator) {\n this.clockCalculator = new ClockCalculator(\n this.getModel().getComponentValue(\"noscOsccon1\") ?? \"\",\n this.getModel().getComponentValue(\"hffrqOscfrq\") ?? \"\",\n this.getModel().getComponentValue(\"externalClk\") ?? 32768,\n parseInt(this.getModel().getComponentValue(\"ndivOsccon1\") ?? \"\"),\n );\n }\n return this.clockCalculator;\n };\n\n getMyFunctions = (): DerivedFunctions => {\n return {\n moduleName: this.getModuleName,\n alerts: this.getMyAlerts,\n isEnabled: this.isEnabled,\n isVisible: this.isVisible,\n currentSystemClk: (): number =>\n this.getClockCalculator().getCurrentSystemClk(),\n \"fosc-hz_payload\": (): string =>\n this.getClockCalculator().getCurrentSystemClk().toString(),\n initializer_system_results: this.initializer_system_results,\n config_device_results: this.config_device_results,\n templateData: this.getTemplateData,\n config_request_args: (): config_request.Arguments => [\n \"FEXTOSC\",\n \"CLKOUTEN\",\n \"MCLRE\",\n \"LVP\",\n ],\n \"osc-clocks_payload\": this.getOscClocksProcessedPayload,\n doNotShow: (): boolean => false,\n getPinsLogic: getPinsLogic,\n importName: this.friendlyImportName,\n };\n };\n private friendlyImportName = (importKey: string): string => {\n if (importKey === \"scf_pic8_osc_v1\") return \"Oscillator Hardware\";\n if (importKey === \"initializer_system\") return \"system.c Initialize()\";\n if (importKey === \"config_device\") return \"Configuration Device\";\n if (importKey === \"config_request\") return \"Configuration Request\";\n if (importKey === \"pin_standard\") return \"Pins\";\n return importKey;\n };\n\n private getOscClocksProcessedPayload = (): osc_clocks.ProcessedPayload => {\n const oscObj: osc_clocks.ProcessedPayload = {\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.isComponentValue(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n oscObj.hasSosc = true;\n oscObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n oscObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return oscObj;\n };\n\n public getModuleName = (): string => {\n return \"Clock Control\";\n };\n public getModel = (): AppModel => {\n return this.dataModel;\n };\n\n private getTemplateData = (): any => {\n const headers: InterfaceTypes.HeaderFile = {\n name: \"clock.h\",\n path: \"../\",\n };\n // const initRegisters = this.dataModel.getRegisterValues();\n const registerValues = this.dataModel.getRegisterValues();\n return {\n productName: \"CCL\",\n productVersion: \"1.8.2\",\n compiler: \"XC8 v2.20\",\n tool: \"MPLAB X 5.40\",\n\n deviceFrequency: this.getClockCalculator().getCurrentSystemClk().toString(),\n\n // initRegisters: initRegisters,\n header: headers,\n\n moduleNameUpperCase: this.getModuleName().toUpperCase(),\n moduleNameLowerCase: this.getModuleName().toLowerCase(),\n isPllEnabled: this.dataModel.isComponentValue(\"pllenOscen\") ?? false,\n ...registerValues,\n };\n };\n private initializer_system_results = (): initializer_system.Results => {\n return {\n initializer: {\n name: \"CLOCK_Initialize\",\n header: {\n name: \"clock.h\",\n path: \"system/\",\n },\n priority: initializer_system.INIT_PRIORITY.START,\n },\n };\n };\n\n private config_device_results = (): config_device.Results => {\n return {\n headers: [\n {\n name: \"clock.h\",\n path: \"system/\",\n },\n ],\n };\n };\n\n private isEnabled = (componentName: string): boolean => {\n switch (componentName) {\n case \"hffrqOscfrq\":\n return (\n this.dataModel.getComponentValue(\"noscOsccon1\")?.indexOf(\"HF\") != -1\n );\n case \"currentSystemClk\":\n return false;\n case \"lfIntOscFreq\":\n return false;\n default:\n return true;\n }\n };\n\n private isVisible = (componentName: string): boolean => {\n const componentValue = this.dataModel.getComponentValue(\"noscOsccon1\");\n switch (componentName) {\n case \"externalClk\":\n if (\n componentValue === StringConstants.EXTOSC ||\n componentValue === StringConstants.EXTOSC_4xPLL\n ) {\n return true;\n } else {\n return false;\n }\n case \"lfIntOscFreq\":\n if (componentValue != StringConstants.LFINTOSC) {\n return false;\n } else {\n return true;\n }\n case \"hffrqOscfrq\":\n if (\n componentValue != StringConstants.HFINTOSC &&\n componentValue != StringConstants.HFINTOSC_2xPLL\n ) {\n return false;\n } else {\n return true;\n }\n default:\n return true;\n }\n };\n\n private getDynamicComponetDefaultValue = (\n componentName: string,\n ): string | undefined => {\n const externalClkSelectedOptions = this.dataModel.getImportValue(\n \"config_request\",\n )?.[componentName];\n let selectedOptionVal: string | undefined;\n if (externalClkSelectedOptions) {\n selectedOptionVal = externalClkSelectedOptions[\"defaultValue\"][\"value\"];\n }\n return selectedOptionVal ?? undefined;\n };\n\n private getMyAlerts = (): Processor.Alert[] => {\n const alerts: Processor.Alert[] = [];\n const selectedOptionVal: string =\n this.getDynamicComponetDefaultValue(\"FEXTOSC\") ?? \"\";\n const noscOsccon1 = this.dataModel.getComponentValue(\"noscOsccon1\");\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n alerts.push({\n type: Processor.AlertTypes.Hint,\n text:\n 'Please configure required \"External Oscillator Selection\" in System Module config bits',\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL &&\n ((this.getModel().getComponentValue(\"externalClk\") ?? 0) <=\n this.getClockCalculator().MIN_PLL ||\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) >\n this.getClockCalculator().MAX_PLL)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"The frequency selected does not fall within the PLL locking range. Therefore, the actual frequency produced by hardware maybe unpredictable when the PLL is enabled. Either change the clock frequency or select a different option in Oscillator select.\",\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n if (\n selectedOptionVal?.indexOf(\"external clock\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_64MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_64MHz +\n \" Hz)\",\n });\n }\n\n if (\n selectedOptionVal?.indexOf(\"crystal oscillator\") != -1 &&\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) > 16000000 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_20MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_20MHz +\n \" Hz)\",\n });\n }\n\n if (\n selectedOptionVal.indexOf(\"Oscillator not enabled\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_32MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_32MHz +\n \" Hz)\",\n });\n }\n }\n\n const HFClk = parseInt(\n this.dataModel.getComponentValue(\"hffrqOscfrq\")?.replace(\"_MHz\", \"\") ?? \"0\",\n );\n if (\n this.dataModel.getComponentValue(\"noscOsccon1\") ===\n StringConstants.HFINTOSC_2xPLL &&\n (HFClk == 1 || HFClk == 2 || HFClk == 4 || HFClk == 32)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"The frequency set in HF Internal Clock may not get generated by the clock hardware properly since it does not fall within the 2xPLL range of 8-16 MHz. Therefore, it is recommended that the option 'HFINTOSC' be selected in the Oscillator select combo box.\",\n });\n }\n\n return alerts;\n };\n}\n","import { pin_row, pin_state } from \"@microchip/pin-standard\";\nimport { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\n\n// provide complete dynamic data for all pin rows. It overrides static pindata.json\nexport const getCompletePinData = (appModel: AppModel): any => {\n // way to programatically override the json data\n return {};\n};\n\n// overrides pin data for a particular row based on model.\nexport function getRowData(appModel: AppModel, rowData: pin_row): pin_row | undefined {\n let retRowJSONdata: pin_row | undefined = rowData;\n let rowActions: any = [];\n const clockOutEnable = appModel.getImportValue(\"config_request\")?.[\"CLKOUTEN\"];\n\n if (clockOutEnable) {\n delete clockOutEnable[\"setting\"];\n delete clockOutEnable[\"displayOptionSetting\"];\n const selectedOption: string = clockOutEnable[\"defaultValue\"][\"value\"];\n\n if (selectedOption.indexOf(\"CLKOUT function is enabled\") != -1) {\n if (rowData.name === \"clockout\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"CLKOUT\" },\n };\n }\n }\n\n const isPic18ClkOut: boolean =\n selectedOption === \"CLKOUT function is enabled\" ||\n selectedOption === \"CLKOUT function is disabled\"\n ? true\n : false;\n const actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockout\")\n .forComponent(clockOutEnable)\n .addIfLockedSetValue(\n \"CLKOUT\",\n isPic18ClkOut\n ? \"CLKOUT function is enabled\"\n : \"CLKOUT function is enabled; FOSC/4 clock appears at OSC2\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18ClkOut\n ? \"CLKOUT function is disabled\"\n : \"CLKOUT function is disabled; i/o or oscillator function on OSC2\",\n )\n .build();\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n }\n\n const extClkSelect = appModel.getImportValue(\"config_request\")?.[\"FEXTOSC\"];\n\n if (extClkSelect) {\n delete extClkSelect[\"setting\"];\n delete extClkSelect[\"displayOptionSetting\"];\n\n const selectedOption: string = extClkSelect[\"defaultValue\"][\"value\"];\n\n if (\n selectedOption.indexOf(\"(external clock)\") != -1 ||\n selectedOption.indexOf(\"EC\") != -1\n ) {\n if (rowData.name === \"osc1\" || rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (selectedOption.indexOf(\"(crystal oscillator)\") != -1) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (\n selectedOption.indexOf(\"Oscillator not enabled\") != -1 ||\n selectedOption.indexOf(\"Reserved\") != -1\n ) {\n if (\n rowData.name === \"clockin\" ||\n rowData.name === \"osc1\" ||\n rowData.name === \"osc2\"\n ) {\n retRowJSONdata = undefined;\n }\n }\n // Restricting pin actions for clockin, osc1 and osc2 pin rows\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockin\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc1\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc2\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n\n const mclrEnable = appModel.getImportValue(\"config_request\")?.[\"MCLRE\"];\n const lvpEnable = appModel.getImportValue(\"config_request\")?.[\"LVP\"];\n\n if (mclrEnable && lvpEnable) {\n delete mclrEnable[\"setting\"];\n delete mclrEnable[\"displayOptionSetting\"];\n const selectedMclrOption: string = mclrEnable[\"defaultValue\"][\"value\"];\n\n delete lvpEnable[\"setting\"];\n delete lvpEnable[\"displayOptionSetting\"];\n const selectedLvpOption: string = lvpEnable[\"defaultValue\"][\"value\"];\n\n if (\n selectedLvpOption.indexOf(\"HV on MCLR/VPP must be used for programming\") !=\n -1 ||\n selectedLvpOption.indexOf(\n \"High Voltage on MCLR/Vpp must be used for programming\",\n ) != -1\n ) {\n if (\n selectedMclrOption.indexOf(\"MCLR pin is MCLR\") != -1 ||\n selectedMclrOption.indexOf(\"MCLR pin is Master Clear function\") != -1 ||\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\"\n ) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const isPic18Mclr: boolean =\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n ? true\n : false;\n const isQ10Mclr: boolean =\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\"\n ? true\n : false;\n let actionArr: any = [];\n\n // For handling Q10 devices\n if (isQ10Mclr) {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\"MCLR\", \"MCLR pin (RE3) is MCLR\")\n .addIfUnLockedSetValue(\n \".*\",\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\",\n )\n .build();\n } else {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\n \"MCLR\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \"\n : \"MCLR pin is Master Clear function\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n : \"MCLR pin function is port defined function\",\n )\n .build();\n }\n\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle\n ?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle\n ?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n } else {\n if (selectedMclrOption) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n }\n\n const noscOsccon1 = appModel.getComponentValue(\"noscOsccon1\");\n if (\n noscOsccon1 === \"HFINTOSC\" ||\n noscOsccon1 === \"LFINTOSC\" ||\n noscOsccon1 === \"SOSC\" ||\n noscOsccon1 === \"HFINTOSC with 2x PLL\"\n ) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc1\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosci\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCI\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosco\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCO\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (retRowJSONdata) retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n\n return retRowJSONdata;\n}\n","export class StringConstants {\n static readonly SOSC = \"SOSC\";\n static readonly LFINTOSC = \"LFINTOSC\";\n static readonly HFINTOSC = \"HFINTOSC\";\n static readonly HFINTOSC_2xPLL = \"HFINTOSC with 2x PLL\";\n static readonly EXTOSC = \"EXTOSC\";\n static readonly EXTOSC_4xPLL = \"EXTOSC with 4x PLL\";\n static readonly OSC_NOT_NEEDED = \"Oscillator not needed\";\n static readonly ON = \"ON\";\n static readonly ExtClkFreq_64MHz = 64000000;\n static readonly ExtClkFreq_20MHz = 20000000;\n static readonly ExtClkFreq_32MHz = 32000000;\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://autoCreator/webpack/bootstrap","webpack://autoCreator/./generated_module/src/autoCreator.ts","webpack://autoCreator/./generated_module/src/getUserData.ts","webpack://autoCreator/./generated_module/src/pins/PCPHelper.ts","webpack://autoCreator/./node_modules/@microchip/initializer-system/lib/src/index.js","webpack://autoCreator/./node_modules/@microchip/initializer-system/lib/src/initializer-system.js","webpack://autoCreator/./node_modules/@microchip/pin-standard/lib/index.js","webpack://autoCreator/./node_modules/@microchip/pin-standard/lib/pin-standard.js","webpack://autoCreator/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://autoCreator/./node_modules/@microchip/scf-interface/lib/c-function-types.js","webpack://autoCreator/./node_modules/@microchip/scf-interface/lib/helpers.js","webpack://autoCreator/./node_modules/@microchip/scf-interface/lib/index.js","webpack://autoCreator/./src/ClockCalculator.ts","webpack://autoCreator/./src/CreatorFunctions.ts","webpack://autoCreator/./src/DerivedData.ts","webpack://autoCreator/./src/PinsLogic.ts","webpack://autoCreator/./src/StringConstants.ts"],"names":["createAutoCreator","getCreatorFunctions","getModuleConfig","getModuleConfigFromFile","getCreatorFunctionsUser","getPinsDataFromFile","require","undefined","getPinsLogicFromFile","mockPinsLogic","getPinsData","getCompletePinData","appModel","getRowData","rowData","rows","getPinsLogic","pinsLogic","ClockCalculator","oscSelect","HFInternalClk","externalClk","clkDivider","currentSystemClk","HFClk","StringConstants","SOSC","LFINTOSC","HFINTOSC","parseInt","replace","HFINTOSC_2xPLL","EXTOSC","MIN_PLL","MAX_PLL","Math","round","mfintosc","mfintosc_31KHz","lfintosc","toString","sosc","shouldImport","importKey","state","getDerivedData","dataModel","MyDerivedData","EmptyDerivedData","clockCalculator","getModel","getComponentValue","moduleName","getModuleName","alerts","getMyAlerts","isEnabled","isVisible","coscOsccon2","getResOscValue","getClockCalculator","getCurrentSystemClk","initializer_system_results","config_device_results","templateData","getTemplateData","config_request_args","getOscClocksProcessedPayload","doNotShow","importName","friendlyImportName","resetOscValue","getDynamicComponetDefaultValue","actualOscValue","indexOf","pllStatus","pllEnable","isComponentValue","oscObj","extosc","getExtOsc","fosc","hfintosc","getHfIntOsc","getLfIntOsc","getMfIntOsc","mfintosc_31Khz","getMfIntOsc_31KHz","getSosc","hasSosc","soscEnabled","soscPowerMode","headers","name","path","registerValues","getRegisterValues","deviceFrequency","header","moduleNameUpperCase","toUpperCase","moduleNameLowerCase","toLowerCase","isPllEnabled","getPLLStatus","initializer","priority","initializer_system","START","componentName","componentValue","EXTOSC_4xPLL","externalClkSelectedOptions","getImportValue","selectedOptionVal","noscOsccon1","push","type","Processor","Hint","text","Warning","ExtClkFreq_64MHz","ExtClkFreq_20MHz","ExtClkFreq_32MHz","retRowJSONdata","rowActions","clockOutEnable","selectedOption","behaviourMeta","lockPinRegEx","isPic18ClkOut","actionArr","getPCPHelper","stateActionBuilder","rowWithName","forComponent","addIfLockedSetValue","addIfUnLockedSetValue","build","eachAction","lockedState","pin_state","LOCKED","meta","to","getAssignedImport","handle","providerId","unlockedState","UNLOCK","extClkSelect","mclrKey","getComponent","component","concat","mclrEnable","lvpEnable","selectedMclrOption","selectedLvpOption","isPic18Mclr","isQ10Mclr","actions"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;ACjFA;;AAKA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CACtBC,mBADsB,EAEK;AAC3B,SAAO,YAAwB;AAC3B;AACIC,qBAAe,EAAEC,oEAAuBA;AAD5C,OAEOF,mBAAmB,EAF1B;AAIH,GALD;AAMH,CATD;;AAWO,IAAMA,mBAAmB,GAAGD,iBAAiB,CAACI,gEAAD,CAA7C,C;;;;;;;;;;;;ACdP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,GAA4B;AAC3D,MAAI;AACA,WAAOC,mBAAO,CAAC,oDAAD,CAAd;AACH,GAFD,CAEE,gBAAM;AACJ,WAAOC,SAAP;AACH;AACJ,CANM;AAQA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAA6B;AAC7D,MAAI;AACA,WAAOF,mBAAO,CAAC,kDAAD,CAAd;AACH,GAFD,CAEE,iBAAM;AACJ,WAAOC,SAAP;AACH;AACJ,CANM;AAQA,IAAMJ,uBAAuB,GAAG,SAA1BA,uBAA0B,GAAgC;AACnE,MAAI;AACA,WAAOG,mBAAO,CAAC,4DAAD,CAAd;AACH,GAFD,CAEE,iBAAM;AACJ,WAAOC,SAAP;AACH;AACJ,CANM,C;;;;;;;;;;;;;;;;;;;;;;AChBP;;AAEA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAACC,WAAD,EAAyC;AAC3D,MAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,QAAD,EAA6B;AACpD,WAAO,EAAP;AACH,GAFD;;AAGA,MAAMC,UAAU,GAAG,SAAbA,UAAa,CAACD,QAAD,EAAqBE,OAArB,EAAmD;AAClE,WAAOA,OAAP;AACH,GAFD;;AAGA,SAAO;AACHH,sBAAkB,EAAEA,kBADjB;AAEHE,cAAU,EAAEA,UAFT;AAGHH,eAAW,EAAEA;AAHV,GAAP;AAKH,CAZD;;AAeO,IAAMA,WAAW,GAAG,SAAdA,WAAc;AAAA;;AAAA,iCAAgBL,wEAAmB,EAAnC,uEAAyC;AAAEU,QAAI,EAAE;AAAR,GAAzC;AAAA,CAApB;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAiB;AACzC,MAAMC,SAAS,GAAGT,yEAAoB,EAAtC;;AACA,MAAIS,SAAJ,EAAe;AACX,2CACOA,SADP;AAEIP,iBAAW,EAAEA;AAFjB;AAIH,GALD,MAKO;AACH,WAAOD,aAAa,CAACC,WAAD,CAApB;AACH;AACJ,CAVM,C;;;;;;;;;;;;;;;;;;;;;;;ACzBM;AACb,8CAA8C,cAAc;AAC5D,2BAA2B,mBAAO,CAAC,wGAAsB;AACzD;AACA;AACA;AACA,iC;;;;;;;;;;;;ACNa;AACb;AACA,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D,kCAAkC,mBAAO,CAAC,sFAA0B;AACpE,2BAA2B,mBAAO,CAAC,sFAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sEAAsE;AACvE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;;;;;;;ACtGa;AACb,8CAA8C,cAAc;AAC5D,qBAAqB,mBAAO,CAAC,kFAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;;;;ACXa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4EAA4E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wFAAwF;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,+EAA+E;AAChF;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,2BAA2B;AAC3B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA,wC;;;;;;;;;;;;ACnQa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"autoCreator.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./generated_module/src/autoCreator.ts\");\n","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport {\n getCreatorFunctions as getCreatorFunctionsUser,\n getModuleConfigFromFile,\n} from \"./getUserData\";\n\nconst createAutoCreator = (\n getCreatorFunctions: () => CreatorFunctions,\n): (() => CreatorFunctions) => {\n return (): CreatorFunctions => {\n return {\n getModuleConfig: getModuleConfigFromFile,\n ...getCreatorFunctions(),\n };\n };\n};\n\nexport const getCreatorFunctions = createAutoCreator(getCreatorFunctionsUser);\n","import { ModuleConfig } from \"@microchip/melody-automodule-interface/lib/src/ModuleConfig\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport { PinsLogic } from \"@microchip/melody-automodule-interface/lib/src/types\";\nexport { getCreatorFunctions } from \"../../src/CreatorFunctions\";\nexport { getDerivedData } from \"../../src/DerivedData\";\n\nexport const getPinsDataFromFile = (): PinsData | undefined => {\n try {\n return require(\"../../src/pinsdata.json\");\n } catch {\n return undefined;\n }\n};\n\nexport const getPinsLogicFromFile = (): PinsLogic | undefined => {\n try {\n return require(\"../../src/PinsLogic.ts\");\n } catch {\n return undefined;\n }\n};\n\nexport const getModuleConfigFromFile = (): ModuleConfig | undefined => {\n try {\n return require(\"../../src/moduleConfig.json\");\n } catch {\n return undefined;\n }\n};\n","import { pin_row } from \"@microchip/pin-standard\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport {\n AppModel,\n PinsLogic,\n} from \"@microchip/melody-automodule-interface/lib/src/types\";\nimport { getPinsDataFromFile, getPinsLogicFromFile } from \"../getUserData\";\n\nconst mockPinsLogic = (getPinsData: GetPinsData): PinsLogic => {\n const getCompletePinData = (appModel: AppModel): any => {\n return {};\n };\n const getRowData = (appModel: AppModel, rowData: pin_row): pin_row => {\n return rowData;\n };\n return {\n getCompletePinData: getCompletePinData,\n getRowData: getRowData,\n getPinsData: getPinsData,\n };\n};\n\ntype GetPinsData = typeof getPinsData;\nexport const getPinsData = (): PinsData => getPinsDataFromFile() ?? { rows: [] };\n\nexport const getPinsLogic = (): PinsLogic => {\n const pinsLogic = getPinsLogicFromFile();\n if (pinsLogic) {\n return {\n ...pinsLogic,\n getPinsData: getPinsData,\n };\n } else {\n return mockPinsLogic(getPinsData);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar initializer_system_1 = require(\"./initializer-system\");\nexports.Interface = initializer_system_1.Interface;\nexports.INIT_PRIORITY = initializer_system_1.INIT_PRIORITY;\nexports.sortInitializers = initializer_system_1.sortInitializers;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InterfaceTypes = __importStar(require(\"@microchip/scf-interface\"));\nvar pkgJson = __importStar(require(\"../package.json\"));\nvar getInterfaceId = function () {\n return {\n name: InterfaceTypes.getInterfaceName(pkgJson),\n version: InterfaceTypes.getInterfaceVersion(pkgJson),\n };\n};\nexports.sortInitializers = function (initializers) {\n var retinitializers = __spreadArrays(initializers);\n retinitializers.sort(prioritySorter);\n return retinitializers;\n};\nvar prioritySorter = function (a, b) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var result = 0;\n var apriority = (_b = (_a = a === null || a === void 0 ? void 0 : a.initializer) === null || _a === void 0 ? void 0 : _a.priority) !== null && _b !== void 0 ? _b : INIT_PRIORITY.DEFAULT;\n var bpriority = (_d = (_c = b === null || b === void 0 ? void 0 : b.initializer) === null || _c === void 0 ? void 0 : _c.priority) !== null && _d !== void 0 ? _d : INIT_PRIORITY.DEFAULT;\n if (apriority < bpriority) {\n result = -1;\n }\n else if (apriority > bpriority) {\n result = 1;\n }\n else {\n //same priority sort via intializer name alphabetically\n result = (_h = (_f = (_e = a === null || a === void 0 ? void 0 : a.initializer) === null || _e === void 0 ? void 0 : _e.name) === null || _f === void 0 ? void 0 : _f.localeCompare((_g = b === null || b === void 0 ? void 0 : b.initializer) === null || _g === void 0 ? void 0 : _g.name)) !== null && _h !== void 0 ? _h : 0;\n }\n return result;\n};\nvar INIT_PRIORITY;\n(function (INIT_PRIORITY) {\n INIT_PRIORITY[INIT_PRIORITY[\"START\"] = 1] = \"START\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_PERIPHERAL\"] = 50] = \"PRE_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"PERIPHERAL\"] = 100] = \"PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_PERIPHERAL\"] = 150] = \"POST_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"DEFAULT\"] = 200] = \"DEFAULT\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_SOFTWARE\"] = 250] = \"PRE_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"SOFTWARE\"] = 300] = \"SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_SOFTWARE\"] = 350] = \"POST_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"END\"] = 400] = \"END\";\n})(INIT_PRIORITY = exports.INIT_PRIORITY || (exports.INIT_PRIORITY = {}));\nvar createMock = function () {\n return {\n interfaceId: getInterfaceId(),\n payload: {\n moduleName: \"MyModule\",\n },\n args: {},\n results: {\n requestId: {\n initializer: {\n name: \"mymodule_init\",\n header: {\n name: \"mymodule.h\",\n path: \"include/\",\n },\n },\n registerInit: [\n {\n name: \"OSCCON1\",\n comment: \"//Comments\",\n value: 55,\n valueAsHex: \"0x55\",\n },\n ],\n },\n },\n };\n};\nvar createPrototypeImport = function () {\n return {\n interfaceId: getInterfaceId(),\n };\n};\nvar createPrototypeExport = function () {\n return {\n interfaces: [{ interfaceId: getInterfaceId() }],\n };\n};\nexports.Interface = {\n createPrototypeExport: createPrototypeExport,\n createPrototypeImport: createPrototypeImport,\n getInterfaceId: getInterfaceId,\n createMock: createMock,\n};\n//# sourceMappingURL=initializer-system.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar pin_standard_1 = require(\"./pin-standard\");\nexports.pin_standard = pin_standard_1.pin_standard;\nexports.pin_state = pin_standard_1.pin_state;\nexports.direction = pin_standard_1.direction;\nexports.behaviour = pin_standard_1.behaviour;\nexports.data_schema = pin_standard_1.data_schema;\nexports.pin_attribs_enum = pin_standard_1.pin_attribs_enum;\nexports.actiontype = pin_standard_1.actiontype;\nexports.QueryAdapterKey = pin_standard_1.QueryAdapterKey;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pin_standard = function () {\n return {\n interfaceId: {\n name: \"pin-standard\",\n version: \"0.1.0\",\n },\n };\n};\nvar QueryAdapterKey;\n(function (QueryAdapterKey) {\n QueryAdapterKey[\"ALLPINS\"] = \"allpins\";\n QueryAdapterKey[\"ALLPINS_FOR_ATTRIBS\"] = \"allpins_for_attribs\";\n QueryAdapterKey[\"PPS\"] = \"pps\";\n QueryAdapterKey[\"PORTMUX\"] = \"portmux\";\n QueryAdapterKey[\"HASPPS\"] = \"hasPPS\";\n})(QueryAdapterKey = exports.QueryAdapterKey || (exports.QueryAdapterKey = {}));\nvar pin_state;\n(function (pin_state) {\n pin_state[\"EMPTY\"] = \"E\";\n pin_state[\"LOCKED\"] = \"L\";\n pin_state[\"UNLOCK\"] = \"UL\";\n pin_state[\"DiSABLE_LOCK\"] = \"DL\";\n pin_state[\"UNLOCKED_DISABLED\"] = \"DUL\";\n pin_state[\"LOCKED_LINK\"] = \"LL\";\n pin_state[\"UNLOCKED_MUX\"] = \"MUL\";\n pin_state[\"LOCKED_CONFLICT\"] = \"CL\";\n})(pin_state = exports.pin_state || (exports.pin_state = {}));\nvar pin_interrupts_enum;\n(function (pin_interrupts_enum) {\n pin_interrupts_enum[\"INTDIS_BUFFEN\"] = \"INTDIS_BUFFEN\";\n pin_interrupts_enum[\"BOTH_EDGES\"] = \"BOTH_EDGES\";\n pin_interrupts_enum[\"RISING_EDGE\"] = \"RISING_EDGE\";\n pin_interrupts_enum[\"FALLING_EDGE\"] = \"FALLING_EDGE\";\n pin_interrupts_enum[\"NONE\"] = \"NONE\";\n pin_interrupts_enum[\"LOW_LEVEL\"] = \"LOW_LEVEL\";\n})(pin_interrupts_enum = exports.pin_interrupts_enum || (exports.pin_interrupts_enum = {}));\nvar pin_attribs_enum;\n(function (pin_attribs_enum) {\n pin_attribs_enum[\"aliasReEx\"] = \"aliasReEx\";\n pin_attribs_enum[\"cname\"] = \"cname\";\n pin_attribs_enum[\"high\"] = \"high\";\n pin_attribs_enum[\"inv\"] = \"inv\";\n pin_attribs_enum[\"wpu\"] = \"wpu\";\n pin_attribs_enum[\"wpd\"] = \"wpd\";\n pin_attribs_enum[\"od\"] = \"od\";\n pin_attribs_enum[\"analog\"] = \"analog\";\n pin_attribs_enum[\"ioc\"] = \"ioc\";\n pin_attribs_enum[\"intcallback\"] = \"intcallback\";\n pin_attribs_enum[\"alias\"] = \"alias\";\n})(pin_attribs_enum = exports.pin_attribs_enum || (exports.pin_attribs_enum = {}));\nvar actiontype;\n(function (actiontype) {\n actiontype[\"SETACTION\"] = \"SETACTION\";\n actiontype[\"ATTRIBACTION\"] = \"ATTRIBACTION\";\n})(actiontype = exports.actiontype || (exports.actiontype = {}));\nvar direction;\n(function (direction) {\n direction[\"output\"] = \"output\";\n direction[\"input\"] = \"input\";\n direction[\"bidirectional\"] = \"bidirectional\";\n})(direction = exports.direction || (exports.direction = {}));\nvar behaviour;\n(function (behaviour) {\n behaviour[\"LOCK_UNLOCK\"] = \"LOCK_UNLOCK\";\n behaviour[\"ALWAYS_LOCKED\"] = \"ALWAYS_LOCKED\";\n behaviour[\"SINGLE_PIN_MUX\"] = \"SINGLE_PIN_MUX\";\n behaviour[\"OPTIONAL_PIN_MUX\"] = \"OPTIONAL_PIN_MUX\";\n behaviour[\"PPS\"] = \"PPS\";\n behaviour[\"PORTMUX\"] = \"PORTMUX\";\n behaviour[\"EXCLUSIVE_LOCK\"] = \"EXCLUSIVE_LOCK\";\n behaviour[\"LOCKED_DISABLED\"] = \"LOCKED_DISABLED\";\n})(behaviour = exports.behaviour || (exports.behaviour = {}));\n//------------------------------------ schema ------------------------------------//\nexports.data_schema = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $ref: \"#/definitions/intf_data\",\n definitions: {\n intf_data: {\n type: \"object\",\n properties: {\n rows: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_row\",\n },\n },\n },\n required: [\"rows\"],\n additionalProperties: false,\n },\n pin_row: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n function: {\n type: \"string\",\n },\n direction: {\n $ref: \"#/definitions/direction\",\n },\n filter: {\n $ref: \"#/definitions/filter\",\n },\n behaviour: {\n $ref: \"#/definitions/behaviour\",\n },\n behaviourMeta: {\n $ref: \"#/definitions/behaviourMeta\",\n },\n attribs: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_attribs\",\n },\n },\n groupsdata: {\n $ref: \"#/definitions/pingroups_data\",\n },\n actions: {},\n },\n required: [\"name\", \"module\", \"function\", \"direction\", \"filter\", \"behaviour\"],\n additionalProperties: false,\n },\n direction: {\n type: \"string\",\n enum: [\"output\", \"input\", \"bidirectional\"],\n },\n filter: {\n type: \"object\",\n properties: {\n module: {\n type: \"string\",\n },\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"module\", \"aliasReEx\"],\n additionalProperties: false,\n },\n behaviour: {\n type: \"string\",\n enum: [\n \"LOCK_UNLOCK\",\n \"ALWAYS_LOCKED\",\n \"SINGLE_PIN_MUX\",\n \"OPTIONAL_PIN_MUX\",\n \"PPS\",\n \"PORTMUX\",\n \"EXCLUSIVE_LOCK\",\n \"LOCKED_DISABLED\",\n ],\n },\n behaviourMeta: {\n type: \"object\",\n properties: {\n lockPinRegEx: {\n type: \"string\",\n },\n },\n required: [\"lockPinRegEx\"],\n additionalProperties: false,\n },\n pin_attribs: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n cname: {\n type: \"string\",\n },\n high: {\n type: \"boolean\",\n },\n inv: {\n type: \"boolean\",\n },\n wpu: {\n type: \"boolean\",\n },\n wpd: {\n type: \"boolean\",\n },\n od: {\n type: \"boolean\",\n },\n analog: {\n type: \"boolean\",\n },\n ioc: {\n $ref: \"#/definitions/pin_interrupts_enum\",\n },\n bidirection_out: {\n type: \"boolean\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n pin_interrupts_enum: {\n type: \"string\",\n enum: [\n \"INTDIS_BUFFEN\",\n \"BOTH_EDGES\",\n \"RISING_EDGE\",\n \"FALLING_EDGE\",\n \"NONE\",\n \"LOW_LEVEL\",\n ],\n },\n pingroups_data: {\n type: \"object\",\n properties: {\n groups: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pins_group\",\n },\n },\n },\n required: [\"groups\"],\n additionalProperties: false,\n },\n pins_group: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n filter: {\n $ref: \"#/definitions/grpfilter\",\n },\n datapath: {\n type: \"string\",\n },\n },\n required: [\"name\", \"filter\"],\n additionalProperties: false,\n },\n grpfilter: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n },\n};\n//# sourceMappingURL=pin-standard.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapOptionLabels = exports.filterOptions = exports.isSingleton = exports.isUnassigned = exports.isAssigned = exports.hasOptions = exports.AlertTypes = void 0;\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes = exports.AlertTypes || (exports.AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\nexports.hasOptions = hasOptions;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\nexports.isAssigned = isAssigned;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\nexports.isUnassigned = isUnassigned;\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\nexports.isSingleton = isSingleton;\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\nexports.filterOptions = filterOptions;\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.map(function (option) {\n return __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\nexports.mapOptionLabels = mapOptionLabels;\n//# sourceMappingURL=Processor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildSimpleApi = function (functions) {\n var api = {};\n for (var key in functions) {\n api[key] = buildFunction(functions[key]);\n }\n return api;\n};\nvar buildFunction = function (cFunction) {\n return cFunction.returns + \" \" + cFunction.name + \"(\" + buildArguments(cFunction.arguments) + \")\";\n};\nvar buildArguments = function (args) {\n if (args) {\n return args.map(function (arg) { return arg.type + \" \" + arg.name; }).join(\", \");\n }\n else {\n return \"void\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInterfaceName = function (pkgJson) {\n var strReplace = \"@microchip/\";\n var interfaceName;\n if (pkgJson) {\n interfaceName = pkgJson[\"name\"];\n if (interfaceName) {\n interfaceName = interfaceName.replace(strReplace, \"\");\n }\n }\n if (!interfaceName) {\n throw new Error(\"Invalid Interface Name...!\");\n }\n return interfaceName;\n};\nexports.getInterfaceVersion = function (pkgJson) {\n var versionRegex = new RegExp(\"\\\\d+.\\\\d+.\\\\d+\");\n var version;\n if (pkgJson) {\n version = pkgJson[\"version\"];\n }\n if (!version && !versionRegex.test(version)) {\n throw new Error(\"Invalid Interface Version...!\");\n }\n return version;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar c_function_types_1 = require(\"./c-function-types\");\nexports.buildSimpleApi = c_function_types_1.buildSimpleApi;\nvar helpers_1 = require(\"./helpers\");\nexports.getInterfaceName = helpers_1.getInterfaceName;\nexports.getInterfaceVersion = helpers_1.getInterfaceVersion;\n","import { StringConstants } from \"./StringConstants\";\n\nexport class ClockCalculator {\n private lfintosc = \"31000\";\n private mfintosc = \"500000\";\n private mfintosc_31KHz = \"31250\";\n private sosc = \"32768\";\n private oscSelect: string;\n private HFInternalClk: string;\n private externalClk: number;\n private clkDivider: number;\n\n MAX_PLL = 16000000; // in Hz\n MIN_PLL = 3000000; // in Hz\n\n public constructor(\n oscSelect: string,\n HFInternalClk: string,\n externalClk: number,\n clkDivider: number,\n ) {\n this.oscSelect = oscSelect;\n this.HFInternalClk = HFInternalClk;\n this.externalClk = externalClk;\n this.clkDivider = clkDivider;\n }\n\n public getCurrentSystemClk = (): number => {\n let currentSystemClk: number;\n let HFClk: number;\n\n if (this.oscSelect === StringConstants.SOSC) {\n currentSystemClk = 32768 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.LFINTOSC) {\n currentSystemClk = 31000 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC_2xPLL) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n if (HFClk == 8 || HFClk == 12 || HFClk == 16) {\n currentSystemClk = (HFClk * 2 * 1000000) / this.clkDivider;\n } else {\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n }\n } else if (this.oscSelect === StringConstants.EXTOSC) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n if (this.externalClk <= this.MIN_PLL || this.externalClk > this.MAX_PLL) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n currentSystemClk = (this.externalClk * 4) / this.clkDivider;\n }\n }\n return Math.round(currentSystemClk);\n };\n\n public getHfIntOsc = (): string => {\n return this.HFInternalClk?.replace(\"_MHz\", \"000000\") ?? \"1000000\";\n };\n\n public getMfIntOsc = (): string => {\n return this.mfintosc;\n };\n\n public getMfIntOsc_31KHz = (): string => {\n return this.mfintosc_31KHz;\n };\n\n public getLfIntOsc = (): string => {\n return this.lfintosc;\n };\n\n public getExtOsc = (): string => {\n return this.externalClk.toString();\n };\n\n public getSosc = (): string => {\n return this.sosc;\n };\n}\n","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport { State } from \"../generated_module/src/types/State\";\n\nexport const getCreatorFunctions = (): CreatorFunctions => {\n return {\n shouldImport: shouldImport,\n };\n};\n\nconst shouldImport = (importKey: string, state: State): boolean => {\n return true;\n};\n","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { ClockCalculator } from \"./ClockCalculator\";\nimport * as initializer_system from \"@microchip/initializer-system\";\nimport * as config_device from \"@microchip/config-device\";\nimport { StringConstants } from \"./StringConstants\";\nimport osc_clocks from \"@microchip/osc-clocks\";\nimport * as config_request from \"@microchip/config-request\";\nimport {\n AppModel,\n DerivedData,\n DerivedFunctions,\n} from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport { getPinsLogic } from \"../generated_module/src/pins/PCPHelper\";\n\nexport const getDerivedData = (dataModel: AppModel): DerivedData => {\n if (dataModel) {\n return new MyDerivedData(dataModel);\n }\n return new EmptyDerivedData();\n};\n\n//This data will be used at the creator stage and relies on only the state\nexport class EmptyDerivedData implements DerivedData {\n getMyFunctions = (): DerivedFunctions => {\n return {};\n };\n getModel = (): AppModel | undefined => {\n return undefined;\n };\n}\n\n//This data will be used at the processor stage\nexport class MyDerivedData implements DerivedData {\n private dataModel: AppModel;\n private clockCalculator: ClockCalculator;\n\n constructor(dataModel: AppModel) {\n this.dataModel = dataModel;\n }\n\n getClockCalculator = (): ClockCalculator => {\n if (!this.clockCalculator) {\n this.clockCalculator = new ClockCalculator(\n this.getModel().getComponentValue(\"noscOsccon1\") ?? \"\",\n this.getModel().getComponentValue(\"hffrqOscfrq\") ?? \"\",\n this.getModel().getComponentValue(\"externalClk\") ?? 32768,\n parseInt(this.getModel().getComponentValue(\"ndivOsccon1\") ?? \"\"),\n );\n }\n return this.clockCalculator;\n };\n\n getMyFunctions = (): DerivedFunctions => {\n return {\n moduleName: this.getModuleName,\n alerts: this.getMyAlerts,\n isEnabled: this.isEnabled,\n isVisible: this.isVisible,\n coscOsccon2: this.getResOscValue,\n currentSystemClk: (): number =>\n this.getClockCalculator().getCurrentSystemClk(),\n \"fosc-hz_payload\": (): string =>\n this.getClockCalculator().getCurrentSystemClk().toString(),\n initializer_system_results: this.initializer_system_results,\n config_device_results: this.config_device_results,\n templateData: this.getTemplateData,\n config_request_args: (): config_request.Arguments => [\n \"FEXTOSC\",\n \"CLKOUTEN\",\n \"MCLRE\",\n \"LVP\",\n \"RSTOSC\",\n ],\n \"osc-clocks_payload\": this.getOscClocksProcessedPayload,\n doNotShow: (): boolean => false,\n getPinsLogic: getPinsLogic,\n importName: this.friendlyImportName,\n };\n };\n private friendlyImportName = (importKey: string): string => {\n if (importKey === \"scf_pic8_osc_v1\") return \"Oscillator Hardware\";\n if (importKey === \"initializer_system\") return \"system.c Initialize()\";\n if (importKey === \"config_device\") return \"Configuration Device\";\n if (importKey === \"config_request\") return \"Configuration Request\";\n if (importKey === \"pin_standard\") return \"Pins\";\n return importKey;\n };\n\n private getResOscValue = (): string => {\n const resetOscValue = this.getDynamicComponetDefaultValue(\"RSTOSC\");\n let actualOscValue;\n if (resetOscValue?.indexOf(\"4x PLL\") !== -1) {\n actualOscValue = \"EXTOSC with 4x PLL\";\n } else if (resetOscValue?.indexOf(\"Secondary Oscillator\") !== -1) {\n actualOscValue = \"SOSC\";\n } else if (resetOscValue?.indexOf(\"Low-Frequency\") !== -1) {\n actualOscValue = \"LFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 4 MHz and CDIV = 4:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (resetOscValue?.indexOf(\"FEXTOSC\") !== -1) {\n actualOscValue = \"EXTOSC\";\n } else {\n actualOscValue = undefined;\n }\n return actualOscValue;\n };\n\n private getPLLStatus = (): boolean => {\n const pllStatus = this.getResOscValue();\n const pllEnable = this.dataModel.isComponentValue(\"pllenOscen\");\n if (pllStatus === \"EXTOSC with 4x PLL\") {\n return true;\n } else if (pllEnable === true) {\n return true;\n } else {\n return false;\n }\n };\n\n private getOscClocksProcessedPayload = (): osc_clocks.ProcessedPayload => {\n const oscObj: osc_clocks.ProcessedPayload = {\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.isComponentValue(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n oscObj.hasSosc = true;\n oscObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n oscObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return oscObj;\n };\n\n public getModuleName = (): string => {\n return \"Clock Control\";\n };\n public getModel = (): AppModel => {\n return this.dataModel;\n };\n\n private getTemplateData = (): any => {\n const headers: InterfaceTypes.HeaderFile = {\n name: \"clock.h\",\n path: \"../\",\n };\n // const initRegisters = this.dataModel.getRegisterValues() ;\n const registerValues = this.dataModel.getRegisterValues();\n return {\n deviceFrequency: this.getClockCalculator().getCurrentSystemClk().toString(),\n\n // initRegisters: initRegisters,\n header: headers,\n\n moduleNameUpperCase: this.getModuleName().toUpperCase(),\n moduleNameLowerCase: this.getModuleName().toLowerCase(),\n isPllEnabled: this.getPLLStatus() ?? false,\n ...registerValues,\n };\n };\n private initializer_system_results = (): initializer_system.Results => {\n return {\n initializer: {\n name: \"CLOCK_Initialize\",\n header: {\n name: \"clock.h\",\n path: \"system/\",\n },\n priority: initializer_system.INIT_PRIORITY.START,\n },\n };\n };\n\n private config_device_results = (): config_device.Results => {\n return {\n headers: [\n {\n name: \"clock.h\",\n path: \"system/\",\n },\n ],\n };\n };\n\n private isEnabled = (componentName: string): boolean => {\n switch (componentName) {\n case \"hffrqOscfrq\":\n return (\n this.dataModel.getComponentValue(\"noscOsccon1\")?.indexOf(\"HF\") != -1\n );\n case \"currentSystemClk\":\n return false;\n case \"lfIntOscFreq\":\n return false;\n default:\n return true;\n }\n };\n\n private isVisible = (componentName: string): boolean => {\n const componentValue = this.dataModel.getComponentValue(\"noscOsccon1\");\n switch (componentName) {\n case \"externalClk\":\n if (\n componentValue === StringConstants.EXTOSC ||\n componentValue === StringConstants.EXTOSC_4xPLL\n ) {\n return true;\n } else {\n return false;\n }\n case \"lfIntOscFreq\":\n if (componentValue != StringConstants.LFINTOSC) {\n return false;\n } else {\n return true;\n }\n case \"hffrqOscfrq\":\n if (\n componentValue != StringConstants.HFINTOSC &&\n componentValue != StringConstants.HFINTOSC_2xPLL\n ) {\n return false;\n } else {\n return true;\n }\n default:\n return true;\n }\n };\n\n private getDynamicComponetDefaultValue = (\n componentName: string,\n ): string | undefined => {\n const externalClkSelectedOptions = this.dataModel.getImportValue(\n \"config_request\",\n )?.[componentName];\n let selectedOptionVal: string | undefined;\n if (externalClkSelectedOptions) {\n selectedOptionVal = externalClkSelectedOptions[\"defaultValue\"][\"value\"];\n }\n return selectedOptionVal ?? undefined;\n };\n\n private getMyAlerts = (): Processor.Alert[] => {\n const alerts: Processor.Alert[] = [];\n const selectedOptionVal: string =\n this.getDynamicComponetDefaultValue(\"FEXTOSC\") ?? \"\";\n const noscOsccon1 = this.dataModel.getComponentValue(\"noscOsccon1\");\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n alerts.push({\n type: Processor.AlertTypes.Hint,\n text:\n 'Please configure required \"External Oscillator Selection\" in System Module config bits',\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL &&\n ((this.getModel().getComponentValue(\"externalClk\") ?? 0) <=\n this.getClockCalculator().MIN_PLL ||\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) >\n this.getClockCalculator().MAX_PLL)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"The frequency selected does not fall within the PLL locking range. Therefore, the actual frequency produced by hardware maybe unpredictable when the PLL is enabled. Either change the clock frequency or select a different option in Oscillator select.\",\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n if (\n selectedOptionVal?.indexOf(\"external clock\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_64MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_64MHz +\n \" Hz)\",\n });\n }\n\n if (\n selectedOptionVal?.indexOf(\"crystal oscillator\") != -1 &&\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) > 16000000 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_20MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_20MHz +\n \" Hz)\",\n });\n }\n\n if (\n selectedOptionVal.indexOf(\"Oscillator not enabled\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_32MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_32MHz +\n \" Hz)\",\n });\n }\n }\n\n const HFClk = parseInt(\n this.dataModel.getComponentValue(\"hffrqOscfrq\")?.replace(\"_MHz\", \"\") ?? \"0\",\n );\n if (\n this.dataModel.getComponentValue(\"noscOsccon1\") ===\n StringConstants.HFINTOSC_2xPLL &&\n (HFClk == 1 || HFClk == 2 || HFClk == 4 || HFClk == 32)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"The frequency set in HF Internal Clock may not get generated by the clock hardware properly since it does not fall within the 2xPLL range of 8-16 MHz. Therefore, it is recommended that the option 'HFINTOSC' be selected in the Oscillator select combo box.\",\n });\n }\n\n return alerts;\n };\n}\n","import { pin_row, pin_state } from \"@microchip/pin-standard\";\nimport { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\n\n// provide complete dynamic data for all pin rows. It overrides static pindata.json\nexport const getCompletePinData = (appModel: AppModel): any => {\n // way to programatically override the json data\n return {};\n};\n\n// overrides pin data for a particular row based on model.\nexport function getRowData(appModel: AppModel, rowData: pin_row): pin_row | undefined {\n let retRowJSONdata: pin_row | undefined = rowData;\n let rowActions: any = [];\n const clockOutEnable = appModel.getImportValue(\"config_request\")?.[\"CLKOUTEN\"];\n\n if (clockOutEnable) {\n delete clockOutEnable[\"setting\"];\n delete clockOutEnable[\"displayOptionSetting\"];\n const selectedOption: string = clockOutEnable[\"defaultValue\"][\"value\"];\n\n if (selectedOption.indexOf(\"CLKOUT function is enabled\") != -1) {\n if (rowData.name === \"clockout\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"CLKOUT\" },\n };\n }\n }\n\n const isPic18ClkOut: boolean =\n selectedOption === \"CLKOUT function is enabled\" ||\n selectedOption === \"CLKOUT function is disabled\"\n ? true\n : false;\n const actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockout\")\n .forComponent(clockOutEnable)\n .addIfLockedSetValue(\n \"CLKOUT\",\n isPic18ClkOut\n ? \"CLKOUT function is enabled\"\n : \"CLKOUT function is enabled; FOSC/4 clock appears at OSC2\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18ClkOut\n ? \"CLKOUT function is disabled\"\n : \"CLKOUT function is disabled; i/o or oscillator function on OSC2\",\n )\n .build();\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n }\n\n const extClkSelect = appModel.getImportValue(\"config_request\")?.[\"FEXTOSC\"];\n\n if (extClkSelect) {\n delete extClkSelect[\"setting\"];\n delete extClkSelect[\"displayOptionSetting\"];\n\n const selectedOption: string = extClkSelect[\"defaultValue\"][\"value\"];\n\n if (\n selectedOption.indexOf(\"(external clock)\") != -1 ||\n selectedOption.indexOf(\"EC\") != -1\n ) {\n if (rowData.name === \"osc1\" || rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (selectedOption.indexOf(\"(crystal oscillator)\") != -1) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (\n selectedOption.indexOf(\"Oscillator not enabled\") != -1 ||\n selectedOption.indexOf(\"Reserved\") != -1\n ) {\n if (\n rowData.name === \"clockin\" ||\n rowData.name === \"osc1\" ||\n rowData.name === \"osc2\"\n ) {\n retRowJSONdata = undefined;\n }\n }\n // Restricting pin actions for clockin, osc1 and osc2 pin rows\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockin\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc1\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc2\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n\n const mclrEnable = appModel.getImportValue(\"config_request\")?.[\"MCLRE\"];\n const lvpEnable = appModel.getImportValue(\"config_request\")?.[\"LVP\"];\n\n if (mclrEnable && lvpEnable) {\n delete mclrEnable[\"setting\"];\n delete mclrEnable[\"displayOptionSetting\"];\n const selectedMclrOption: string = mclrEnable[\"defaultValue\"][\"value\"];\n\n delete lvpEnable[\"setting\"];\n delete lvpEnable[\"displayOptionSetting\"];\n const selectedLvpOption: string = lvpEnable[\"defaultValue\"][\"value\"];\n\n if (\n selectedLvpOption.indexOf(\"HV on MCLR/VPP must be used for programming\") !=\n -1 ||\n selectedLvpOption.indexOf(\n \"High Voltage on MCLR/Vpp must be used for programming\",\n ) != -1\n ) {\n if (\n selectedMclrOption.indexOf(\"MCLR pin is MCLR\") != -1 ||\n selectedMclrOption.indexOf(\"MCLR pin is Master Clear function\") != -1 ||\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\"\n ) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const isPic18Mclr: boolean =\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n ? true\n : false;\n const isQ10Mclr: boolean =\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\"\n ? true\n : false;\n let actionArr: any = [];\n\n // For handling Q10 devices\n if (isQ10Mclr) {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\"MCLR\", \"MCLR pin (RE3) is MCLR\")\n .addIfUnLockedSetValue(\n \".*\",\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\",\n )\n .build();\n } else {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\n \"MCLR\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \"\n : \"MCLR pin is Master Clear function\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n : \"MCLR pin function is port defined function\",\n )\n .build();\n }\n\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle\n ?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"config_request\")?.handle\n ?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n } else {\n if (selectedMclrOption) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n }\n\n const noscOsccon1 = appModel.getComponentValue(\"noscOsccon1\");\n if (\n noscOsccon1 === \"HFINTOSC\" ||\n noscOsccon1 === \"LFINTOSC\" ||\n noscOsccon1 === \"SOSC\" ||\n noscOsccon1 === \"HFINTOSC with 2x PLL\"\n ) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc1\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosci\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCI\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosco\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCO\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (retRowJSONdata) retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n\n return retRowJSONdata;\n}\n","export class StringConstants {\n static readonly SOSC = \"SOSC\";\n static readonly LFINTOSC = \"LFINTOSC\";\n static readonly HFINTOSC = \"HFINTOSC\";\n static readonly HFINTOSC_2xPLL = \"HFINTOSC with 2x PLL\";\n static readonly EXTOSC = \"EXTOSC\";\n static readonly EXTOSC_4xPLL = \"EXTOSC with 4x PLL\";\n static readonly OSC_NOT_NEEDED = \"Oscillator not needed\";\n static readonly ON = \"ON\";\n static readonly ExtClkFreq_64MHz = 64000000;\n static readonly ExtClkFreq_20MHz = 20000000;\n static readonly ExtClkFreq_32MHz = 32000000;\n}\n"],"sourceRoot":""}