pimath 0.0.66 → 0.0.67
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/.eslintrc.js +23 -23
- package/dist/pi.js +178 -44
- package/dist/pi.js.map +1 -1
- package/dist/pi.min.js +1 -1
- package/dist/pi.min.js.map +1 -1
- package/docs/assets/highlight.css +78 -78
- package/docs/assets/main.js +52 -52
- package/docs/assets/style.css +1413 -1413
- package/docs/classes/Logicalset.Logicalset-1.html +4 -4
- package/docs/classes/Polynom.Rational.html +3 -3
- package/docs/classes/algebra_equation.Equation.html +25 -25
- package/docs/classes/algebra_monom.Monom.html +113 -113
- package/docs/classes/algebra_polynom.Polynom.html +29 -29
- package/docs/classes/coefficients_fraction.Fraction.html +18 -18
- package/docs/classes/coefficients_nthroot.NthRoot.html +2 -2
- package/docs/classes/geometry_circle.Circle.html +2 -2
- package/docs/classes/geometry_line.Line.html +2 -2
- package/docs/classes/geometry_triangle.Triangle.html +16 -16
- package/docs/classes/numeric.Numeric.html +13 -13
- package/docs/classes/shutingyard.Shutingyard.html +17 -17
- package/docs/index.html +10 -10
- package/docs/interfaces/algebra_equation.ISolution.html +2 -2
- package/docs/modules/Logicalset.html +2 -2
- package/docs/modules/Polynom.html +2 -2
- package/docs/modules/Vector.html +2 -2
- package/esm/maths/algebra/equation.js +2 -2
- package/esm/maths/algebra/equation.js.map +1 -1
- package/esm/maths/algebra/polynom.d.ts +4 -5
- package/esm/maths/algebra/polynom.js +2 -2
- package/esm/maths/algebra/polynom.js.map +1 -1
- package/esm/maths/algebra/rational.d.ts +8 -10
- package/esm/maths/algebra/rational.js +11 -6
- package/esm/maths/algebra/study/rationalStudy.d.ts +1 -2
- package/esm/maths/algebra/study/rationalStudy.js +14 -14
- package/esm/maths/algebra/study/rationalStudy.js.map +1 -1
- package/esm/maths/algebra/study.d.ts +9 -22
- package/esm/maths/algebra/study.js +33 -23
- package/esm/maths/algebra/study.js.map +1 -1
- package/esm/maths/coefficients/fraction.d.ts +8 -6
- package/esm/maths/coefficients/fraction.js +34 -17
- package/esm/maths/coefficients/fraction.js.map +1 -1
- package/esm/maths/expressions/expression.d.ts +21 -0
- package/esm/maths/expressions/expression.js +161 -0
- package/esm/maths/expressions/expression.js.map +1 -0
- package/esm/maths/expressions/expressionFactor.d.ts +29 -0
- package/esm/maths/expressions/expressionFactor.js +109 -0
- package/esm/maths/expressions/expressionFactor.js.map +1 -0
- package/esm/maths/expressions/expressionMember.d.ts +16 -0
- package/esm/maths/expressions/expressionMember.js +90 -0
- package/esm/maths/expressions/expressionMember.js.map +1 -0
- package/esm/maths/expressions/expressionOperators.d.ts +8 -0
- package/esm/maths/expressions/expressionOperators.js +42 -0
- package/esm/maths/expressions/expressionOperators.js.map +1 -0
- package/esm/maths/expressions/expressionParser.d.ts +12 -0
- package/esm/maths/expressions/expressionParser.js +219 -0
- package/esm/maths/expressions/expressionParser.js.map +1 -0
- package/esm/maths/expressions/factors/ExpFactor.d.ts +7 -0
- package/esm/maths/expressions/factors/ExpFactor.js +22 -0
- package/esm/maths/expressions/factors/ExpFactor.js.map +1 -0
- package/esm/maths/expressions/factors/ExpFactorConstant.d.ts +13 -0
- package/esm/maths/expressions/factors/ExpFactorConstant.js +49 -0
- package/esm/maths/expressions/factors/ExpFactorConstant.js.map +1 -0
- package/esm/maths/expressions/factors/ExpFactorExponential.d.ts +7 -0
- package/esm/maths/expressions/factors/ExpFactorExponential.js +18 -0
- package/esm/maths/expressions/factors/ExpFactorExponential.js.map +1 -0
- package/esm/maths/expressions/factors/ExpFactorNumber.d.ts +13 -0
- package/esm/maths/expressions/factors/ExpFactorNumber.js +36 -0
- package/esm/maths/expressions/factors/ExpFactorNumber.js.map +1 -0
- package/esm/maths/expressions/factors/ExpFactorPower.d.ts +9 -0
- package/esm/maths/expressions/factors/ExpFactorPower.js +22 -0
- package/esm/maths/expressions/factors/ExpFactorPower.js.map +1 -0
- package/esm/maths/expressions/factors/ExpFactorSin.d.ts +7 -0
- package/esm/maths/expressions/factors/ExpFactorSin.js +22 -0
- package/esm/maths/expressions/factors/ExpFactorSin.js.map +1 -0
- package/esm/maths/expressions/factors/ExpFactorTrigo.d.ts +19 -0
- package/esm/maths/expressions/factors/ExpFactorTrigo.js +40 -0
- package/esm/maths/expressions/factors/ExpFactorTrigo.js.map +1 -0
- package/esm/maths/expressions/factors/ExpFactorVariable.d.ts +12 -0
- package/esm/maths/expressions/factors/ExpFactorVariable.js +33 -0
- package/esm/maths/expressions/factors/ExpFactorVariable.js.map +1 -0
- package/esm/maths/expressions/internals.d.ts +12 -0
- package/esm/maths/expressions/internals.js +29 -0
- package/esm/maths/expressions/internals.js.map +1 -0
- package/esm/maths/shutingyard.d.ts +4 -1
- package/esm/maths/shutingyard.js +137 -21
- package/esm/maths/shutingyard.js.map +1 -1
- package/graph.svg +1033 -0
- package/package.json +1 -1
- package/src/maths/algebra/equation.ts +2 -2
- package/src/maths/algebra/polynom.ts +1 -0
- package/src/maths/algebra/study.ts +4 -4
- package/src/maths/coefficients/fraction.ts +111 -86
- package/src/maths/expressions/expression.ts +191 -0
- package/src/maths/expressions/expressionFactor.ts +138 -0
- package/src/maths/expressions/expressionMember.ts +114 -0
- package/src/maths/expressions/expressionOperators.ts +49 -0
- package/src/maths/expressions/expressionParser.ts +249 -0
- package/src/maths/expressions/factors/ExpFactor.ts +26 -0
- package/src/maths/expressions/factors/ExpFactorConstant.ts +56 -0
- package/src/maths/expressions/factors/ExpFactorExponential.ts +19 -0
- package/src/maths/expressions/factors/ExpFactorNumber.ts +44 -0
- package/src/maths/expressions/factors/ExpFactorPower.ts +24 -0
- package/src/maths/expressions/factors/ExpFactorTrigo.ts +44 -0
- package/src/maths/expressions/factors/ExpFactorVariable.ts +40 -0
- package/src/maths/expressions/internals.ts +14 -0
- package/src/maths/shutingyard.ts +156 -26
- package/tests/coefficients/fraction.test.ts +17 -0
- package/tests/expressions/expressions.test.ts +124 -0
- package/tests/shutingyard.test.ts +22 -0
- package/.idea/shelf/Uncommitted_changes_before_Update_at_17_04_2022_12_40_[Changes]/shelved.patch +0 -21
- package/.idea/shelf/Uncommitted_changes_before_Update_at_17_04_2022_12_40__Changes_.xml +0 -4
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Polynom module contains everything necessary to handle polynoms.*
|
|
3
3
|
*/
|
|
4
|
-
import {literalType, Monom} from './monom';
|
|
5
|
-
import {Token} from '../shutingyard';
|
|
6
|
-
import {Fraction} from "../coefficients/fraction";
|
|
7
|
-
import {ISolution} from "./equation";
|
|
8
|
-
|
|
4
|
+
import { literalType, Monom } from './monom';
|
|
5
|
+
import { Token } from '../shutingyard';
|
|
6
|
+
import { Fraction } from "../coefficients/fraction";
|
|
7
|
+
import { ISolution } from "./equation";
|
|
9
8
|
export declare type PolynomParsingType = string | Polynom | number | Fraction | Monom;
|
|
10
9
|
export interface IEuclidian {
|
|
11
10
|
quotient: Polynom;
|
|
@@ -115,6 +115,7 @@ class Polynom {
|
|
|
115
115
|
this._monoms = [];
|
|
116
116
|
this._factors = [];
|
|
117
117
|
this.mark_as_dirty();
|
|
118
|
+
// TODO: allow to enter a liste of Fraction (a, b, c, ...) to make a polynom ax^n + bx^(n-1) + cx^(n-2) + ...
|
|
118
119
|
if (typeof inputStr === 'string') {
|
|
119
120
|
return this._parseString(inputStr, ...values);
|
|
120
121
|
}
|
|
@@ -600,8 +601,7 @@ class Polynom {
|
|
|
600
601
|
P = result.quotient.clone();
|
|
601
602
|
// filter all dividers that are no more suitable.
|
|
602
603
|
allDividers = allDividers.filter(x => {
|
|
603
|
-
let pX = P.monoms[0], pC = P.monoms[P.monoms.length - 1], dX = x.monoms[0],
|
|
604
|
-
dC = x.monoms[x.monoms.length - 1];
|
|
604
|
+
let pX = P.monoms[0], pC = P.monoms[P.monoms.length - 1], dX = x.monoms[0], dC = x.monoms[x.monoms.length - 1];
|
|
605
605
|
// Check last item (degree zero)
|
|
606
606
|
if (!pC.isDivisible(dC)) {
|
|
607
607
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polynom.js","sourceRoot":"","sources":["../../../src/maths/algebra/polynom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"polynom.js","sourceRoot":"","sources":["../../../src/maths/algebra/polynom.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mCAA2C;AAC3C,gDAAmE;AACnE,wCAAmC;AACnC,uDAAkD;AAClD,yCAA+C;AAS/C;;;;;GAKG;AACH,MAAa,OAAO;IAUhB;;;;OAIG;IACH,YAAY,aAAkC,EAAE,GAAG,MAAiB;QA+HpE,kBAAa,GAAG,GAAS,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QAC5B,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,KAAgB,EAAE,OAAc,EAAQ,EAAE;YAClD,QAAQ,OAAO,CAAC,SAAS,EAAE;gBACvB,KAAK,6BAAe,CAAC,WAAW;oBAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;oBACtC,MAAK;gBAET,KAAK,6BAAe,CAAC,QAAQ;oBACzB,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,aAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBACvD,MAAK;gBAET,KAAK,6BAAe,CAAC,QAAQ;oBACzB,iDAAiD;oBACjD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;oBAC9D,MAAK;gBAET,KAAK,6BAAe,CAAC,SAAS;oBAC1B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;wBACnB,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,EACjB,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;wBAEnB,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE;4BACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;yBACvB;6BAAM,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE;4BAC9B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;yBAC5B;6BAAM,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE;4BAC9B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;yBAC5B;6BAAM,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE;4BAC9B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,EAAE;gCACjC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;6BAC3E;iCAAM;gCACH,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;6BAEhD;yBACJ;6BAAM,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE;4BAC9B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,EAAE;gCACjC,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;6BACnE;iCAAM;gCACH,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE;oCACtC,gBAAgB;oCAChB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;iCACnD;qCAAM;oCACH,iFAAiF;oCACjF,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;wCAC1D,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;4CACpC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;yCAChE;wCACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;qCAChB;yCAAM;wCACH,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;qCACnD;iCACJ;6BACJ;yBACJ;qBACJ;yBAAM;wBACH,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,EAAE;4BACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;yBACpC;6BAAM;4BACH,MAAM,4BAA4B,GAAG,IAAI,CAAC,UAAU,CAAA;yBACvD;qBACJ;oBACD,MAAK;gBAET,KAAK,6BAAe,CAAC,KAAK;oBACtB,uBAAuB;oBACvB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;oBACvD,MAAM;gBAEV,KAAK,6BAAe,CAAC,QAAQ;oBACzB,uBAAuB;oBACvB,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAA;oBACvF,MAAM;aACb;QACL,CAAC,CAAA;QAGD,6CAA6C;QAC7C,+BAA+B;QAE/B,6CAA6C;QAC7C;;;;WAIG;QACH,UAAK,GAAG,CAAC,QAA4B,EAAE,GAAG,MAAiB,EAAW,EAAE;YACpE,4BAA4B;YAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;YACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;YAClB,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,6GAA6G;YAC7G,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAA;aAChD;iBAAM,IACH,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,YAAY,mBAAQ,IAAI,QAAQ,YAAY,aAAK,CAAC;mBACxF,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAClD;gBACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;aACzC;iBAAM,IAAI,QAAQ,YAAY,aAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACnC,CAAC,CAAC,CAAA;aACL;iBAAM,IAAI,QAAQ,YAAY,OAAO,EAAE;gBACpC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;oBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;iBAC/B;aACJ;YAED,OAAO,IAAI,CAAA;QACf,CAAC,CAAC;QAEF;;WAEG;QACH,UAAK,GAAG,GAAY,EAAE;YAClB,MAAM,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAY,EAAE,CAAC;YAEtB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;aACrB;YAED,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAEb,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF;;;WAGG;QACH,SAAI,GAAG,GAAY,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,QAAG,GAAG,GAAY,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,UAAK,GAAG,GAAY,EAAE;YAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,6CAA6C;QAC7C,YAAO,GAAG,GAAY,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAGF,6CAA6C;QAC7C,0BAA0B;QAE1B,QAAG,GAAG,CAAC,GAAG,MAAiB,EAAW,EAAE;YACpC,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;gBACtB,IAAI,KAAK,YAAY,OAAO,EAAE;oBAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACpD;qBAAM,IAAI,KAAK,YAAY,aAAK,EAAE;oBAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;iBACpC;qBAAM,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;oBACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;iBAClD;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC,CAAC;iBACvC;aACJ;YAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,GAAG,MAAiB,EAAW,EAAE;YACzC,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;gBACtB,IAAI,KAAK,YAAY,OAAO,EAAE;oBAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;iBACtE;qBAAM,IAAI,KAAK,YAAY,aAAK,EAAE;oBAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC9C;qBAAM,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;oBACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC5D;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACjD;aACJ;YAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,KAAc,EAAW,EAAE;YACnC,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,IAAI,KAAK,YAAY,OAAO,EAAE;gBAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aACxC;iBAAM,IAAI,KAAK,YAAY,mBAAQ,EAAE;gBAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;aACzC;iBAAM,IAAI,KAAK,YAAY,aAAK,EAAE;gBAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aACtC;iBAAM,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aACxC;YAED,0BAA0B;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED;;;;WAIG;QACH,cAAS,GAAG,CAAC,CAAU,EAAc,EAAE;YAEnC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;aACpC;YAED,MAAM,MAAM,GAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAY,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEvD,6CAA6C;YAC7C,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC9B,OAAO;oBACH,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChC,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE;iBACjC,CAAA;aAEJ;YAED,wBAAwB;YAExB,MAAM,KAAK,GAAU,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,OAAO,GAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3C,IAAI,IAAW,CAAC;YAEhB,mDAAmD;YACnD,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,EAAE;gBACtE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAExB,iEAAiE;gBACjE,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEvE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;oBACf,MAAM;iBACT;gBAED,qCAAqC;gBACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/C;YAED,QAAQ,CAAC,MAAM,EAAE,CAAA;YACjB,QAAQ,CAAC,MAAM,EAAE,CAAA;YACjB,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAChC,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,KAAc,EAAW,EAAE;YACjC,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,IAAI,KAAK,YAAY,mBAAQ,EAAE;gBAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aACvC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;gBACjE,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aACtC;iBAAM,IAAI,KAAK,YAAY,OAAO,EAAE;gBACjC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3D,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;iBAC5D;aACJ;QACL,CAAC,CAAA;QAED,QAAG,GAAG,CAAC,EAAU,EAAW,EAAE;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;gBAC3B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;aACtB;YACD,IAAI,EAAE,GAAG,CAAC,EAAE;gBACR,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;aACtB;YACD,IAAI,EAAE,KAAK,CAAC,EAAE;gBACV,OAAO,IAAI,OAAO,EAAE,CAAC;aACxB;YAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpB;YACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC;QAEF,6CAA6C;QAC7C;;;;WAIG;QACH,YAAO,GAAG,CAAC,CAAU,EAAE,IAAa,EAAW,EAAE;YAC7C,IAAI,IAAI,KAAK,SAAS,EAAE;gBACpB,IAAI,GAAG,GAAG,CAAA;aACb;YAED,8EAA8E;YAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;YAEzC,QAAQ,IAAI,EAAE;gBACV,KAAK,GAAG;oBACJ,yDAAyD;oBACzD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;wBACpE,OAAO,KAAK,CAAC;qBAChB;oBAED,4CAA4C;oBAC5C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE;wBACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;4BACvC,OAAO,KAAK,CAAC;yBAChB;qBACJ;oBACD,OAAO,IAAI,CAAC;gBAChB,KAAK,MAAM;oBACP,yDAAyD;oBACzD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE;wBAC5D,OAAO,KAAK,CAAC;qBAChB;oBAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE;wBACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;4BACxC,OAAO,KAAK,CAAC;yBAChB;qBACJ;oBAED,OAAO,IAAI,CAAC;gBAChB;oBACI,OAAO,KAAK,CAAC;aACpB;QACL,CAAC,CAAC;QAUF,YAAO,GAAG,CAAC,CAAU,EAAW,EAAE;YAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,CAAU,EAAW,EAAE;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAU,EAAW,EAAE;YAClC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,aAAqB,EAAW,EAAE;YAC9C,IAAI,CAAC,CAAC;YAEN,kCAAkC;YAClC,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;gBACzE,OAAO,KAAK,CAAA;aACf;YAED,2BAA2B;YAC3B,IAAI;gBACA,CAAC,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;aAClC;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,KAAK,CAAC;aAChB;YAED,yFAAyF;YACzF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClB,OAAO,KAAK,CAAC;aAChB;YAED,8DAA8D;YAC9D,6BAA6B;YAC7B,IAAI,uBAAuB,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAC3D,oBAAoB,GAAG,EAAE,GAAG,uBAAuB,EACnD,OAAO,GAAa,EAAE,CAAC;YAE3B,KAAK,IAAI,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;gBAC9E,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;oBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;qBACrB;iBACJ;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtB;gBACD,oBAAoB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACpE;YACD,IAAI,oBAAoB,KAAK,EAAE,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aACtC;YACD,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnD,iCAAiC;YACjC,IAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,uDAAuD;YACvD,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC3B,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzB,MAAM;qBACT;yBAAM,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;wBACtC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzB,IAAI,GAAG,CAAC,IAAI,CAAC;wBACb,MAAM;qBACT;iBACJ;aACJ;YAED,+EAA+E;YAC/E,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC,CAAA;QAGD,6CAA6C;QAC7C,oBAAoB;QAEpB,gBAAW,GAAG,CAAC,aAAqB,EAAW,EAAE;YAC7C,IAAI,CAAU,CAAC;YAEf,0DAA0D;YAC1D,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;gBACvE,OAAO,KAAK,CAAA;aACf;YAED,2BAA2B;YAC3B,IAAI;gBACA,oBAAoB;gBACpB,CAAC,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;aAClC;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,KAAK,CAAC;aAChB;YAED,yFAAyF;YACzF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClB,OAAO,KAAK,CAAC;aAChB;YAED,gHAAgH;YAEhH,6CAA6C;YAC7C,0BAA0B;YAE1B,uBAAuB;YACvB,IAAI,uBAAuB,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAEnE,2CAA2C;YAC3C,mDAAmD;YACnD,OAAO,uBAAuB,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAA;QACnE,CAAC,CAAA;QAED,wCAAwC;QACxC,WAAM,GAAG,GAAY,EAAE;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC7B;iBACJ;aACJ;YAED,yBAAyB;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,CAAA;YACpC,CAAC,CAAC,CAAC;YAEH,iCAAiC;YACjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;aAC1B;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnB,OAAO,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,YAAO,GAAG,CAAC,SAAiB,GAAG,EAAW,EAAE;YACxC,sDAAsD;YACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;YACpE,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,MAAe,EAAY,EAAE;YACnC,IAAI,CAAC,GAAa,IAAI,mBAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,CAAC,GAAG,mBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC/C;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,YAAO,GAAG,GAAa,EAAE;YACrB,IAAI,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YAEpC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACvC;YAED,aAAa;YACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC,CAAA;QAED;;;;WAIG;QACH,cAAS,GAAG,CAAC,MAAc,EAAE,CAAU,EAAW,EAAE;YAChD,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,IAAI,GAAa,CAAC;YAClB,MAAM,aAAa,GAAY,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAEpD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACzB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC/D,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;iBAChC;qBAAM;oBACH,6BAA6B;oBAC7B,8BAA8B;oBAC9B,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;oBAChC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAEzB,2DAA2D;oBAC3D,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzE;aACJ;YAED,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;YACvD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,sBAAsB;QACtB,aAAQ,GAAG,CAAC,MAAuC,EAAY,EAAE;YAC7D,MAAM,CAAC,GAAG,IAAI,mBAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAEhC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,2FAA2F;gBAC3F,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,eAAU,GAAG,CAAC,MAAe,EAAW,EAAE;YACtC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YAEvB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;aAChC;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAA;QACD,6CAA6C;QAC7C,0BAA0B;QAE1B,cAAS,GAAG,CAAC,MAAe,EAAW,EAAE;YACrC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YAEvB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;aAC9B;YACD,OAAO,EAAE,CAAA;QACb,CAAC,CAAA;QAED,cAAS,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAE,MAAe,EAAY,EAAE;YAClF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAExC,IAAI,MAAM,KAAK,SAAS,EAAE;gBACtB,MAAM,GAAG,GAAG,CAAA;aACf;YAED,IAAI,OAAO,GAAgB,EAAE,EACzB,OAAO,GAAgB,EAAE,CAAA;YAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,CAAC;YAElC,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5E,CAAC,CAAA;QAED,wCAAwC;QACxC;;;WAGG;QACH,cAAS,GAAG,CAAC,MAAe,EAAa,EAAE;YACvC,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,OAAO,GAAc,EAAE,CAAC;gBAE5B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAA;gBAE9B,2BAA2B;gBAC3B,oBAAoB;gBACpB,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;gBACvB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;oBACZ,IAAI,WAAW,GAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;oBACzC,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAA;oBAC/B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;iBACzC;gBAED,YAAY;gBACZ,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EACnD,SAAS,GAAG,CAAC,CAAA;gBACjB,OAAO,YAAY,IAAI,CAAC,EAAE;oBACtB,YAAY,EAAE,CAAA;oBACd,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;wBACrB,yCAAyC;wBACzC,uBAAuB;wBACvB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;4BACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;4BACvB,CAAC,CAAC,GAAG,EAAE,CAAA;yBACV;wBACD,MAAK;qBACR;yBAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;wBACjC,gDAAgD;wBAChD,sBAAsB;wBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;wBACvB,CAAC,CAAC,GAAG,EAAE,CAAA;wBACP,MAAK;qBACR;yBAAM;wBACH,uDAAuD;wBACvD,IAAI,WAAW,GAAc,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;wBAC/E,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAA;wBAElC,kBAAkB;wBAClB,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3B,IAAI,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;4BAExB,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;gCACvB,yCAAyC;gCACzC,WAAW,CAAC,KAAK,EAAE,CAAA;6BACtB;iCAAM;gCACH,wCAAwC;gCACxC,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gCAE7B,iBAAiB;gCACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gCAEjB,uCAAuC;gCACvC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;gCAE3B,iDAAiD;gCACjD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oCACjC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAChB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAClC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAChB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;oCAEtC,gCAAgC;oCAChC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;wCACrB,OAAO,KAAK,CAAA;qCACf;oCAED,oCAAoC;oCACpC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;wCACrB,OAAO,KAAK,CAAA;qCACf;oCAED,OAAO,IAAI,CAAA;gCACf,CAAC,CAAC,CAAA;6BACL;yBACJ;qBACJ;iBACJ;gBAED,2FAA2F;gBAC3F,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;iBAC1B;gBAED,mBAAmB;gBACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;gBAEvB,oCAAoC;gBACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;aAC7B;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAA;QAED,kBAAa,GAAG,CAAC,GAAY,EAAW,EAAE;YACtC,oBAAoB;YACpB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtB,IAAI,IAAI,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;gBAE7B,IAAI,IAAI,CAAC,KAAK,YAAY,mBAAQ,EAAE;oBAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAA;iBAC5C;qBAAM;oBACH,OAAO,KAAK,CAAA;iBACf;aACJ;iBAAM;gBACH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBAClD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;aACxD;QACL,CAAC,CAAA;QACD,gFAAgF;QAChF,cAAS,GAAG,GAAgB,EAAE;YAC1B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,GAAG,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;gBACvC,GAAG,CAAC,KAAK,EAAE,CAAA;gBACX,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAA;gBAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;aAC5B;YAED,OAAO,IAAI,CAAC,OAAO,CAAA;QACvB,CAAC,CAAC;QAEF,6EAA6E;QAC7E,kBAAa,GAAG,CAAC,MAA0B,EAAE,MAAe,EAAS,EAAE;YACnE,IAAI,MAAM,KAAK,SAAS,EAAE;gBACtB,mCAAmC;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;aAC1D;YAED,sBAAsB;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;gBACvB,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAClC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;iBACpB;aACJ;YAED,6CAA6C;YAC7C,OAAO,IAAI,aAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC,CAAC;QAEF,mBAAc,GAAG,CAAC,MAA0B,EAAE,MAAe,EAAW,EAAE;YACtE,IAAI,MAAM,KAAK,SAAS,EAAE;gBACtB,mCAAmC;gBACnC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACnD;YAED,sBAAsB;YACtB,IAAI,EAAE,GAAY,EAAE,CAAC;YAErB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;gBACvB,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE;oBAC7B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;iBACrB;aACJ;YAED,OAAO,EAAE,CAAA;YACT,4BAA4B;QAChC,CAAC,CAAA;QAED,2BAA2B;QAC3B,kBAAa,GAAG,CAAC,MAAc,EAAS,EAAE;YACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;gBACvB,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;oBACrB,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;iBACpB;aACJ;YAED,OAAO,IAAI,aAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC,CAAC;QAEF,sFAAsF;QACtF,oBAAe,GAAG,GAAa,EAAE;YAC7B,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;aAChD;YACD,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC;QAEF,kBAAa,GAAG,GAAa,EAAE;YAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAC5C;YACD,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC;QAEF,mBAAc,GAAG,GAAW,EAAE;YAC1B,OAAO,iBAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,6CAA6C;QAC7C,mCAAmC;QAEnC,mBAAc,GAAG,GAAW,EAAE;YAC1B,OAAO,iBAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEF,iBAAY,GAAG,GAAW,EAAE;YACxB,OAAO,iBAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,iBAAY,GAAG,GAAW,EAAE;YACxB,OAAO,iBAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,6CAA6C;QAC7C,6BAA6B;QAC7B,wCAAwC;QAExC,gBAAW,GAAG,GAAU,EAAE;YACtB,IAAI,CAAC,GAAG,IAAI,aAAK,EAAE,CAAC,GAAG,EAAE,EAAE,SAAiB,EAAE,WAAmB,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE1F,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAEpC,CAAC,CAAC,WAAW,GAAG,IAAI,mBAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC1B,+CAA+C;gBAC/C,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACvB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;oBACxB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE;wBACtB,MAAM;qBACT;iBACJ;aACJ;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAA;QAED,oBAAe,GAAG,CAAC,MAAe,EAAY,EAAE;YAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EAC3C,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAC3B,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE7B,IAAI,MAAM,CAAC,kBAAkB,EAAE,EAAE;gBAC7B,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;aAC1F;iBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE;gBACxB,OAAO,CAAC,CAAC,WAAW,CAAA;aACvB;YAED,kBAAkB;YAClB,OAAO,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAClC,CAAC,CAAA;QACD,4BAAuB,GAAG,CAAC,MAAe,EAAY,EAAE;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,EAC3C,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,EAC3B,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE7B,IAAI,MAAM,CAAC,kBAAkB,EAAE,EAAE;gBAC7B,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;aAC3F;iBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE;gBACxB,OAAO,CAAC,CAAC,WAAW,CAAA;aACvB;YAED,kBAAkB;YAClB,OAAO,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAClC,CAAC,CAAA;QAEO,4BAAuB,GAAG,CAAC,CAAU,EAAE,SAAiB,EAAE,MAAc,EAAa,EAAE;YAC3F,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EACzB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAA;YAE/C,IAAI,WAAW,GAAc,EAAE,CAAA;YAC/B,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACb,gEAAgE;gBAChE,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACnC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBACb,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;4BACnD,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;4BACvC,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;yBAC5D;oBACL,CAAC,CAAC,CAAA;iBACL;YACL,CAAC,CAAC,CAAA;YAEF,OAAO,WAAW,CAAA;QAEtB,CAAC,CAAA;QAuDO,eAAU,GAAG,CAAC,MAAe,EAAE,SAAmB,EAAE,eAAyB,EAAE,eAAyB,EAAU,EAAE;YACxH,IAAI,CAAC,GAAW,EAAE,CAAC;YAEnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE;oBAC3B,SAAS;iBACZ;gBAED,4BAA4B;gBAC5B,IAAI,CAAC,CAAA;gBACL,IAAI,eAAe,EAAE;oBACjB,CAAC,GAAG,CAAC,CAAC,YAAY,CAAA;iBACrB;qBAAM;oBACH,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;iBAC7C;gBAED,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;aAC7F;YAED,IAAI,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7C,IAAI,MAAM,KAAK,KAAK,EAAE;oBAClB,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC;iBAC/B;qBAAM;oBACH,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;iBAChB;aACJ;YAED,IAAI,CAAC,KAAK,EAAE,EAAE;gBACV,CAAC,GAAG,GAAG,CAAC;aACX;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF;;;WAGG;QACK,gCAA2B,GAAG,CAAC,QAAgB,EAAW,EAAE;YAChE,8CAA8C;YAC9C,MAAM,EAAE,GAAgB,IAAI,yBAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,GAAG,GAA2C,EAAE,CAAC,GAAG,CAAC;YAE3D,yCAAyC;YACzC,IAAI,CAAC,IAAI,EAAE,CAAA;YAEX,IAAI,KAAK,GAAc,EAAE,EACrB,KAAK,GAAU,IAAI,aAAK,EAAE,CAAA;YAE9B,mBAAmB;YACnB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aACjC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;aACrB;YAED,OAAO,IAAI,CAAA;QACf,CAAC,CAAA;QAEO,sBAAiB,GAAG,CAAC,CAAU,EAAW,EAAE;YAChD,MAAM,CAAC,GAAY,EAAE,CAAC;YACtB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC3B,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;oBACvB,CAAC,CAAC,IAAI,CAAC,aAAK,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;iBACnC;aACJ;YAED,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,CAAW,EAAW,EAAE;YAClD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC7B;YAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,EAAU,EAAW,EAAE;YAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,CAAQ,EAAW,EAAE;YAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;aAChB;YACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,EAAU,EAAW,EAAE;YAC9C,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,CAAW,EAAW,EAAE;YAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC3B;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,MAAc,EAAa,EAAE;YACxD,IAAI,EAAW,EAAE,EAAW,EACxB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC;YAEnC,oBAAoB;YACpB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;gBACzB,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC;gBAC9C,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC;gBAC9C,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC;gBAC9C,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAErE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;oBAChB,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;oBACtD,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;oBACtE,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;oBACtE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;oBAEzD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;wBACjB,iDAAiD;wBACjD,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;qBAC/C;yBAAM;wBACH,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;qBAClB;iBACJ;qBAAM,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE;oBAC/C,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;yBACnB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;yBACzB,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;oBAClC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;yBACnB,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;yBAC9B,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;oBAElC,eAAe;oBACf,cAAc;oBACd,yBAAyB;oBACzB,oCAAoC;oBACpC,qCAAqC;oBACrC,wCAAwC;oBACxC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;oBACzD,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE;wBAChB,OAAO;4BACH,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC;4BACjE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC;yBACpE,CAAA;qBACJ;yBAAM;wBACH,OAAO;4BACH,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;4BAC3B,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC;4BACjE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC;yBACpE,CAAA;qBAEJ;iBACJ;qBAAM;oBACH,oDAAoD;oBACpD,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;iBACxB;aACJ;iBAAM;gBACH,wDAAwD;gBACxD,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAGlC,IAAI,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;oBAC5C,sCAAsC;oBACtC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;wBAClD,+CAA+C;wBAE/C,6CAA6C;wBAC7C,0DAA0D;wBAE1D,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;wBAC7E,IAAI,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAEjD,IAAI,OAAO,GAAG,EAAE,EAAE,UAAmB,CAAC;wBAEtC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;4BACtB,KAAK,IAAI,CAAC,IAAI,QAAQ,EAAE;gCACpB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;oCACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;iCAC1B;qCAAM;oCACH,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;oCACvB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,WAAW,CAAA;oCAC5C,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,WAAW,CAAA;oCAC5C,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;iCACnC;6BACJ;4BACD,OAAO,OAAO,CAAA;yBACjB;qBACJ;iBACJ;gBAED,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;aACxB;QACL,CAAC,CAAA;QAEO,uBAAkB,GAAG,GAAc,EAAE;YACzC,6BAA6B;YAC7B,OAAO,EAAE,CAAC;QACd,CAAC,CAAA;QAhwCG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAA;QAEpB,IAAI,aAAa,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,CAAC;SACxC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,cAAc,CAAC,KAAkC;QACjD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,YAAY,CAAC,KAAc;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,6CAA6C;IAC7C,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,6CAA6C;IAC7C,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,CAAC,CAAU;QACjB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,KAAgB;QACxB,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACV,IAAI,CAAC,SAAS,EAAE,CAAA;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,GAAG,CAAA;SAClB;QACD,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA;aACtB;iBAAM;gBACH,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;aACrB;SACJ;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,MAAM;QACN,oEAAoE;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,eAAe;QACf,MAAM,CAAC,GAAG,KAAK,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,SAAS;QACT,IAAI,CAAC,GAAa,EAAE,CAAC;QAErB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC7B;QAED,qBAAqB;QACrB,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;IA0WD,MAAM;QACF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5G,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC5E,CAAC;IAmhBO,YAAY,CAAC,QAAgB,EAAE,GAAG,MAAiB;QACvD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,QAAQ,GAAG,EAAE,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAE3B,sDAAsD;YACtD,IAAI,QAAQ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,wBAAwB;gBACxB,IAAI,CAAC,GAAG,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5B,0CAA0C;gBAC1C,qBAAqB;gBACrB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACZ,OAAO,IAAI,CAAC;aACf;YAED,oBAAoB;YACpB,OAAO,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;SACrD;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,gDAAgD;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,6BAA6B;YAC7B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,wFAAwF;gBACxF,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAC5B,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,IAAI,CAAC,IAAI,SAAS,EAAE;oBACrB,IAAI,CAAC,GAAG,IAAI,aAAK,EAAE,CAAC;oBACpB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC1B,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACZ,CAAC,EAAE,CAAC;iBACP;aACJ;YACD,2BAA2B;iBACtB;gBACD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC7B,KAAK,IAAI,CAAC,IAAI,SAAS,EAAE;oBACrB,IAAI,CAAC,GAAG,IAAI,aAAK,EAAE,CAAA;oBACnB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC1B,CAAC,CAAC,UAAU,GAAG,GAAG,QAAQ,IAAI,CAAC,EAAE,CAAA;oBACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACZ,CAAC,EAAE,CAAC;iBACP;aACJ;YACD,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;SACtB;IACL,CAAC;CA+MJ;AAjxCD,0BAixCC"}
|
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
* Rational polynom module contains everything necessary to handle rational polynoms.
|
|
3
3
|
* @module Polynom
|
|
4
4
|
*/
|
|
5
|
-
import {IEuclidian, Polynom} from "./polynom";
|
|
6
|
-
import {Fraction} from "../coefficients/fraction";
|
|
7
|
-
import {literalType} from "./monom";
|
|
8
|
-
import {RationalStudy} from "./study/rationalStudy";
|
|
9
|
-
|
|
5
|
+
import { IEuclidian, Polynom } from "./polynom";
|
|
6
|
+
import { Fraction } from "../coefficients/fraction";
|
|
7
|
+
import { literalType } from "./monom";
|
|
8
|
+
import { RationalStudy } from "./study/rationalStudy";
|
|
10
9
|
/**
|
|
11
10
|
* Rational class can handle rational polynoms
|
|
12
11
|
*/
|
|
13
12
|
export declare class Rational {
|
|
14
13
|
private _denominator;
|
|
15
|
-
|
|
14
|
+
private _numerator;
|
|
16
15
|
private _rawString;
|
|
17
16
|
/**
|
|
18
17
|
*
|
|
@@ -24,7 +23,7 @@ export declare class Rational {
|
|
|
24
23
|
get denominator(): Polynom;
|
|
25
24
|
get tex(): string;
|
|
26
25
|
get texFactors(): string;
|
|
27
|
-
|
|
26
|
+
get plotFunction(): string;
|
|
28
27
|
clone: () => Rational;
|
|
29
28
|
domain: () => string;
|
|
30
29
|
amplify: (P: Polynom) => Rational;
|
|
@@ -34,9 +33,8 @@ export declare class Rational {
|
|
|
34
33
|
opposed: () => Rational;
|
|
35
34
|
add: (R: Rational) => Rational;
|
|
36
35
|
subtract: (R: Rational) => Rational;
|
|
37
|
-
|
|
36
|
+
euclidian: () => IEuclidian;
|
|
38
37
|
limits: (value: Fraction | number, offset?: string, letter?: string) => Fraction;
|
|
39
38
|
evaluate: (values: literalType | Fraction | number) => Fraction;
|
|
40
|
-
|
|
41
|
-
get plotFunction(): string;
|
|
39
|
+
study: () => RationalStudy;
|
|
42
40
|
}
|
|
@@ -91,12 +91,13 @@ class Rational {
|
|
|
91
91
|
// TODO : where and how is used limits ?
|
|
92
92
|
this.limits = (value, offset, letter) => {
|
|
93
93
|
if (value === Infinity || value === -Infinity) {
|
|
94
|
-
let {quotient, reminder} = this._numerator.clone().euclidian(this._denominator);
|
|
94
|
+
let { quotient, reminder } = this._numerator.clone().euclidian(this._denominator);
|
|
95
95
|
// quotient is positive => it will be infinite.
|
|
96
96
|
if (quotient.degree(letter).isStrictlyPositive()) {
|
|
97
97
|
return value === Infinity ? quotient.limitToInfinity(letter) : quotient.limitToNegativeInfinity(letter);
|
|
98
98
|
// return quotient.monomByDegree(undefined, letter).coefficient.sign()===1?(new Fraction()).infinite():(new Fraction()).infinite().opposed()
|
|
99
|
-
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
100
101
|
return quotient.monomByDegree(undefined, letter).coefficient;
|
|
101
102
|
}
|
|
102
103
|
}
|
|
@@ -138,16 +139,20 @@ class Rational {
|
|
|
138
139
|
};
|
|
139
140
|
if (numerator instanceof polynom_1.Polynom) {
|
|
140
141
|
this._numerator = numerator.clone();
|
|
141
|
-
}
|
|
142
|
+
}
|
|
143
|
+
else if (typeof numerator === 'string') {
|
|
142
144
|
this._numerator = new polynom_1.Polynom(numerator);
|
|
143
|
-
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
144
147
|
this._numerator = new polynom_1.Polynom();
|
|
145
148
|
}
|
|
146
149
|
if (denominator instanceof polynom_1.Polynom) {
|
|
147
150
|
this._denominator = denominator.clone();
|
|
148
|
-
}
|
|
151
|
+
}
|
|
152
|
+
else if (typeof denominator === 'string') {
|
|
149
153
|
this._denominator = new polynom_1.Polynom(denominator);
|
|
150
|
-
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
151
156
|
this._denominator = new polynom_1.Polynom();
|
|
152
157
|
}
|
|
153
158
|
}
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
* ddx : dérivée seconde
|
|
14
14
|
* variations : variation table + tex output using tkz-tab
|
|
15
15
|
*/
|
|
16
|
-
import {IAsymptote, ITableOfSigns, IZero, Study, StudyableFunction} from "../study";
|
|
17
|
-
|
|
16
|
+
import { IAsymptote, ITableOfSigns, IZero, Study, StudyableFunction } from "../study";
|
|
18
17
|
export declare class RationalStudy extends Study {
|
|
19
18
|
constructor(fx: StudyableFunction);
|
|
20
19
|
makeZeroes(): IZero[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RationalStudy = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* The study class is a "function study" class that will get:
|
|
@@ -47,7 +47,8 @@ class RationalStudy extends study_1.Study {
|
|
|
47
47
|
Ztype = study_1.ASYMPTOTE.HOLE;
|
|
48
48
|
tex = `(${zero.tex};${reduced.evaluate(zero.exact).tex})`;
|
|
49
49
|
}
|
|
50
|
-
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
51
52
|
if (reduced.denominator.evaluate(zero.value).isNotZero()) {
|
|
52
53
|
Ztype = study_1.ASYMPTOTE.HOLE;
|
|
53
54
|
tex = `(${zero.tex};${reduced.evaluate(zero.value).tex})`;
|
|
@@ -66,9 +67,8 @@ class RationalStudy extends study_1.Study {
|
|
|
66
67
|
// Sloped asymptote
|
|
67
68
|
let NDegree = this.fx.numerator.degree(), DDegree = this.fx.denominator.degree();
|
|
68
69
|
if (NDegree.isEqual(DDegree)) {
|
|
69
|
-
let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient),
|
|
70
|
-
|
|
71
|
-
let {reminder} = reduced.euclidian(), deltaX = new rational_1.Rational(reminder, reduced.denominator);
|
|
70
|
+
let H = this.fx.numerator.monomByDegree().coefficient.clone().divide(this.fx.denominator.monomByDegree().coefficient), Htex = H.tex;
|
|
71
|
+
let { reminder } = reduced.euclidian(), deltaX = new rational_1.Rational(reminder, reduced.denominator);
|
|
72
72
|
asymptotes.push({
|
|
73
73
|
fx: new polynom_1.Polynom(H),
|
|
74
74
|
type: study_1.ASYMPTOTE.HORIZONTAL,
|
|
@@ -78,7 +78,8 @@ class RationalStudy extends study_1.Study {
|
|
|
78
78
|
deltaX,
|
|
79
79
|
tableOfSign: this._getSigns(deltaX)
|
|
80
80
|
});
|
|
81
|
-
}
|
|
81
|
+
}
|
|
82
|
+
else if (DDegree.greater(NDegree)) {
|
|
82
83
|
asymptotes.push({
|
|
83
84
|
fx: new polynom_1.Polynom('0'),
|
|
84
85
|
type: study_1.ASYMPTOTE.HORIZONTAL,
|
|
@@ -88,10 +89,10 @@ class RationalStudy extends study_1.Study {
|
|
|
88
89
|
deltaX: null,
|
|
89
90
|
tableOfSign: null
|
|
90
91
|
});
|
|
91
|
-
}
|
|
92
|
+
}
|
|
93
|
+
else if (NDegree.value - 1 === DDegree.value) {
|
|
92
94
|
// Calculate the slope
|
|
93
|
-
let {quotient, reminder} = reduced.euclidian(),
|
|
94
|
-
deltaX = new rational_1.Rational(reminder, reduced.denominator);
|
|
95
|
+
let { quotient, reminder } = reduced.euclidian(), deltaX = new rational_1.Rational(reminder, reduced.denominator);
|
|
95
96
|
asymptotes.push({
|
|
96
97
|
fx: quotient.clone(),
|
|
97
98
|
type: study_1.ASYMPTOTE.SLOPE,
|
|
@@ -106,8 +107,7 @@ class RationalStudy extends study_1.Study {
|
|
|
106
107
|
}
|
|
107
108
|
;
|
|
108
109
|
makeDerivative() {
|
|
109
|
-
let dx = this.fx.clone().derivative(),
|
|
110
|
-
tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.GROWS);
|
|
110
|
+
let dx = this.fx.clone().derivative(), tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.GROWS);
|
|
111
111
|
let result = this.makeGrowsResult(tos);
|
|
112
112
|
tos.signs.push(result.growsLine);
|
|
113
113
|
tos.extremes = result.extremes;
|
|
@@ -116,8 +116,7 @@ class RationalStudy extends study_1.Study {
|
|
|
116
116
|
;
|
|
117
117
|
makeVariation() {
|
|
118
118
|
// Get the zeroes, make signs.
|
|
119
|
-
let dx = this.derivative.fx.clone().derivative(),
|
|
120
|
-
tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.VARIATIONS);
|
|
119
|
+
let dx = this.derivative.fx.clone().derivative(), tos = this._getSigns(dx, this._getZeroes(dx), study_1.TABLE_OF_SIGNS.VARIATIONS);
|
|
121
120
|
let result = this.makeVariationsResult(tos);
|
|
122
121
|
tos.signs.push(result.varsLine);
|
|
123
122
|
tos.extremes = result.extremes;
|
|
@@ -141,7 +140,8 @@ class RationalStudy extends study_1.Study {
|
|
|
141
140
|
let idx = this.indexOfZero(zeroes, z);
|
|
142
141
|
if (idx !== -1) {
|
|
143
142
|
zeroes[idx].type = study_1.ZEROTYPE.DEFENCE;
|
|
144
|
-
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
145
|
// Add the item
|
|
146
146
|
zeroes.push({
|
|
147
147
|
tex: z.tex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rationalStudy.js","sourceRoot":"","sources":["../../../../src/maths/algebra/study/rationalStudy.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACH,oCAUkB;AAClB,0CAAqC;AACrC,0DAAqD;AACrD,wCAAmC;AAEnC,MAAa,aAAc,SAAQ,aAAK;IACpC,YAAY,EAAqB;QAC7B,KAAK,CAAC,EAAE,CAAC,CAAA;QAET,OAAO,IAAI,CAAA;IACf,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAAA,CAAC;IAEF,SAAS;QACL,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO,GAAG,CAAA;IACd,CAAC;IAAA,CAAC;IAEF,cAAc;QACV,MAAM,OAAO,GAAa,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAA;QAElD,WAAW;QACX,IAAI,UAAU,GAAiB,EAAE,CAAA;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChE,uCAAuC;YACvC,wDAAwD;YACxD,IAAI,KAAK,GAAG,iBAAS,CAAC,QAAQ,EAC1B,GAAG,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAA;YACzB,IAAI,IAAI,CAAC,KAAK,YAAY,mBAAQ,EAAE;gBAChC,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;oBACtD,KAAK,GAAG,iBAAS,CAAC,IAAI,CAAA;oBACtB,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAA;iBAC5D;aACJ;iBAAM;gBACH,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;oBACtD,KAAK,GAAG,iBAAS,CAAC,IAAI,CAAA;oBACtB,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAA;iBAC5D;aACJ;YAED,UAAU,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,eAAe,IAAI,CAAC,GAAG,yBAAyB;gBACxD,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;aACpB,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,mBAAmB;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EACpC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;QAC1C,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,EACjH,IAAI,GAAG,CAAC,CAAC,GAAG,CAAA;YAEhB,IAAI,EAAC,QAAQ,EAAC,GAAG,OAAO,CAAC,SAAS,EAAE,EAChC,MAAM,GAAG,IAAI,mBAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"rationalStudy.js","sourceRoot":"","sources":["../../../../src/maths/algebra/study/rationalStudy.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* Rational polynom module contains everything necessary to handle rational polynoms.
|
|
3
3
|
* @module Polynom
|
|
4
4
|
*/
|
|
5
|
-
import {Rational} from "./rational";
|
|
6
|
-
import {ISolution} from "./equation";
|
|
7
|
-
import {Polynom} from "./polynom";
|
|
8
|
-
|
|
5
|
+
import { Rational } from "./rational";
|
|
6
|
+
import { ISolution } from "./equation";
|
|
7
|
+
import { Polynom } from "./polynom";
|
|
9
8
|
export declare type StudyableFunction = Rational;
|
|
10
9
|
export declare enum ZEROTYPE {
|
|
11
10
|
ZERO = "z",
|
|
@@ -60,9 +59,9 @@ export interface ITableOfSigns {
|
|
|
60
59
|
tex: string;
|
|
61
60
|
}
|
|
62
61
|
export declare enum TABLE_OF_SIGNS {
|
|
63
|
-
|
|
64
|
-
GROWS =
|
|
65
|
-
VARIATIONS =
|
|
62
|
+
SIGNS = "signs",
|
|
63
|
+
GROWS = "grows",
|
|
64
|
+
VARIATIONS = "variatins"
|
|
66
65
|
}
|
|
67
66
|
/**
|
|
68
67
|
* The study class is a "function study" class that will get:
|
|
@@ -89,23 +88,16 @@ export declare class Study {
|
|
|
89
88
|
constructor(fx: StudyableFunction);
|
|
90
89
|
get zeroes(): IZero[];
|
|
91
90
|
get domain(): string;
|
|
92
|
-
|
|
93
91
|
get signs(): ITableOfSigns;
|
|
94
|
-
|
|
95
92
|
get asymptotes(): IAsymptote[];
|
|
96
|
-
|
|
97
93
|
get derivative(): ITableOfSigns;
|
|
98
|
-
|
|
99
|
-
drawCode: () => string;
|
|
100
|
-
|
|
94
|
+
get texSigns(): string;
|
|
101
95
|
get texGrows(): string;
|
|
102
|
-
|
|
103
96
|
get texVariations(): string;
|
|
104
|
-
|
|
97
|
+
makeStudy: () => void;
|
|
105
98
|
indexOfZero: (zeroes: IZero[], zero: IZero | ISolution) => number;
|
|
106
99
|
makeOneLineForSigns: (factor: Polynom, zeroes: IZero[], zeroSign: ZEROTYPE) => string[];
|
|
107
100
|
makeSignsResult: (signs: (string[])[]) => string[];
|
|
108
|
-
makeStudy: () => void;
|
|
109
101
|
makeGrowsResult: (tos: ITableOfSigns) => {
|
|
110
102
|
growsLine: string[];
|
|
111
103
|
extremes: {
|
|
@@ -118,16 +110,11 @@ export declare class Study {
|
|
|
118
110
|
[Key: string]: IExtrema;
|
|
119
111
|
};
|
|
120
112
|
};
|
|
121
|
-
|
|
122
113
|
makeZeroes(): IZero[];
|
|
123
|
-
|
|
124
114
|
makeSigns(): ITableOfSigns;
|
|
125
|
-
|
|
126
115
|
makeAsymptotes(): IAsymptote[];
|
|
127
|
-
|
|
128
116
|
makeDerivative(): ITableOfSigns;
|
|
129
117
|
makeVariation(): ITableOfSigns;
|
|
130
118
|
private _makeTexFromTableOfSigns;
|
|
131
|
-
|
|
132
|
-
get texSigns(): string;
|
|
119
|
+
drawCode: () => string;
|
|
133
120
|
}
|