diff --git a/.github/workflows/scorecards-analysis.yml b/.github/workflows/scorecards-analysis.yml
index fc0912e..03021d5 100644
--- a/.github/workflows/scorecards-analysis.yml
+++ b/.github/workflows/scorecards-analysis.yml
@@ -41,7 +41,7 @@
 
       # Upload the results as artifacts (optional).
       - name: "Upload artifact"
-        uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
+        uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b
         with:
           name: SARIF file
           path: results.sarif
@@ -49,6 +49,6 @@
 
       # Upload the results to GitHub's code scanning dashboard.
       - name: "Upload to code-scanning"
-        uses: github/codeql-action/upload-sarif@662472033e021d55d94146f66f6058822b0b39fd
+        uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169
         with:
           sarif_file: results.sarif
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index fa5dd64..9401c69 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -22,9 +22,7 @@
       fail-fast: false
       matrix:
         os: [ubuntu-latest]
-        # TODO(srawlins): Re-enable stable when stable works with analyzer 6.9.0
-        # (Dart 3.6.0).
-        sdk: [dev]
+        sdk: [3.6.0, dev]
         job: [main, flutter, packages, sdk-docs]
         include:
           - os: macos-latest
@@ -37,9 +35,9 @@
             # Do not try to run flutter against the "stable" sdk,
             # it is unlikely to work and produces uninteresting
             # results.
-          - sdk: stable
+          - sdk: 3.6.0
             job: flutter
-          - sdk: stable
+          - sdk: 3.6.0
             job: sdk-docs
 
     steps:
@@ -48,7 +46,7 @@
         run: echo "name=today::$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
         shell: bash
       - name: Cache clean flutter
-        uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a
+        uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
         if: matrix.job == 'flutter'
         env:
           # Increment version to invalidate bad/obsolete caches.
@@ -57,7 +55,7 @@
           path: ~/.dartdoc_grinder
           key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ steps.date.outputs.today }}
       - name: Cache .pub-cache
-        uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a
+        uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
         if: matrix.job == 'flutter'
         env:
           # Increment version to invalidate bad/obsolete caches.
@@ -69,7 +67,7 @@
         if: runner.os == 'Windows'
         run: git config --global core.autocrlf input
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
-      - uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672
+      - uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94
         with:
           sdk: ${{ matrix.sdk }}
       - name: Install dependencies
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 55993b2..653f559 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,19 @@
-## 8.3.1-wip
+## 8.3.3-wip
+
+* Require Dart 3.6 or later.
+
+## 8.3.2
+
+* Fix a LateInitializationError by not depending on PackageGraph.objectClass.
+
+## 8.3.1
 
 * Require Dart 3.5 or later.
+* Append the href of each library with a slash. (#3940)
+* Compress generated css by configuring sass output style. (#3919)
+* Generate included css using sass. (#3917)
+* Correct links to remote, canonical libraries (#3912)
+* Use web 1.1. (#3915)
 
 ## 8.3.0
 
diff --git a/dartdoc_options.yaml b/dartdoc_options.yaml
index 285cdc3..f3ec6b1 100644
--- a/dartdoc_options.yaml
+++ b/dartdoc_options.yaml
@@ -1,4 +1,4 @@
 dartdoc:
   linkToSource:
     root: '.'
-    uriTemplate: 'https://github.com/dart-lang/dartdoc/blob/v8.3.1-wip/%f%#L%l%'
+    uriTemplate: 'https://github.com/dart-lang/dartdoc/blob/v8.3.3-wip/%f%#L%l%'
diff --git a/lib/resources/docs.dart.js b/lib/resources/docs.dart.js
index d955a4c..3a72773 100644
--- a/lib/resources/docs.dart.js
+++ b/lib/resources/docs.dart.js
@@ -22,17 +22,17 @@
 return a[b]}}function lazyFinal(a,b,c,d){var s=a
 a[b]=s
 a[c]=function(){if(a[b]===s){var r=d()
-if(a[b]!==s){A.k_(b)}a[b]=r}var q=a[b]
+if(a[b]!==s){A.jQ(b)}a[b]=r}var q=a[b]
 a[c]=function(){return q}
 return q}}function makeConstList(a){a.$flags=7
 return a}function convertToFastObject(a){function t(){}t.prototype=a
 new t()
 return a}function convertAllToFastObject(a){for(var s=0;s<a.length;++s){convertToFastObject(a[s])}}var y=0
 function instanceTearOffGetter(a,b){var s=null
-return a?function(c){if(s===null)s=A.eC(b)
-return new s(c,this)}:function(){if(s===null)s=A.eC(b)
+return a?function(c){if(s===null)s=A.eu(b)
+return new s(c,this)}:function(){if(s===null)s=A.eu(b)
 return new s(this,null)}}function staticTearOffGetter(a){var s=null
-return function(){if(s===null)s=A.eC(a).prototype
+return function(){if(s===null)s=A.eu(a).prototype
 return s}}var x=0
 function tearOffParameters(a,b,c,d,e,f,g,h,i,j){if(typeof h=="number"){h+=x}return{co:a,iS:b,iI:c,rC:d,dV:e,cs:f,fs:g,fT:h,aI:i||0,nDA:j}}function installStaticTearOff(a,b,c,d,e,f,g,h){var s=tearOffParameters(a,true,false,c,d,e,f,g,h,false)
 var r=staticTearOffGetter(s)
@@ -51,251 +51,234 @@
 return{inherit:inherit,inheritMany:inheritMany,mixin:mixinEasy,mixinHard:mixinHard,installStaticTearOff:installStaticTearOff,installInstanceTearOff:installInstanceTearOff,_instance_0u:s(0,0,null,["$0"],0),_instance_1u:s(0,1,null,["$1"],0),_instance_2u:s(0,2,null,["$2"],0),_instance_0i:s(1,0,null,["$0"],0),_instance_1i:s(1,1,null,["$1"],0),_instance_2i:s(1,2,null,["$2"],0),_static_0:r(0,null,["$0"],0),_static_1:r(1,null,["$1"],0),_static_2:r(2,null,["$2"],0),makeConstList:makeConstList,lazy:lazy,lazyFinal:lazyFinal,updateHolder:updateHolder,convertToFastObject:convertToFastObject,updateTypes:updateTypes,setOrUpdateInterceptorsByTag:setOrUpdateInterceptorsByTag,setOrUpdateLeafTags:setOrUpdateLeafTags}}()
 function initializeDeferredHunk(a){x=v.types.length
 a(hunkHelpers,v,w,$)}var J={
-eH(a,b,c,d){return{i:a,p:b,e:c,x:d}},
-eE(a){var s,r,q,p,o,n=a[v.dispatchPropertyName]
-if(n==null)if($.eF==null){A.jL()
+ez(a,b,c,d){return{i:a,p:b,e:c,x:d}},
+ew(a){var s,r,q,p,o,n=a[v.dispatchPropertyName]
+if(n==null)if($.ex==null){A.jA()
 n=a[v.dispatchPropertyName]}if(n!=null){s=n.p
 if(!1===s)return n.i
 if(!0===s)return a
 r=Object.getPrototypeOf(a)
 if(s===r)return n.i
-if(n.e===r)throw A.a(A.f7("Return interceptor for "+A.i(s(a,n))))}q=a.constructor
+if(n.e===r)throw A.a(A.f_("Return interceptor for "+A.h(s(a,n))))}q=a.constructor
 if(q==null)p=null
-else{o=$.df
-if(o==null)o=$.df=v.getIsolateTag("_$dart_js")
+else{o=$.dc
+if(o==null)o=$.dc=v.getIsolateTag("_$dart_js")
 p=q[o]}if(p!=null)return p
-p=A.jQ(a)
+p=A.jG(a)
 if(p!=null)return p
-if(typeof a=="function")return B.F
+if(typeof a=="function")return B.A
 s=Object.getPrototypeOf(a)
-if(s==null)return B.t
-if(s===Object.prototype)return B.t
-if(typeof q=="function"){o=$.df
-if(o==null)o=$.df=v.getIsolateTag("_$dart_js")
-Object.defineProperty(q,o,{value:B.k,enumerable:false,writable:true,configurable:true})
-return B.k}return B.k},
-hK(a,b){if(a<0||a>4294967295)throw A.a(A.F(a,0,4294967295,"length",null))
-return J.hM(new Array(a),b)},
-hL(a,b){if(a<0)throw A.a(A.M("Length must be a non-negative integer: "+a,null))
-return A.h(new Array(a),b.j("p<0>"))},
-eS(a,b){if(a<0)throw A.a(A.M("Length must be a non-negative integer: "+a,null))
-return A.h(new Array(a),b.j("p<0>"))},
-hM(a,b){var s=A.h(a,b.j("p<0>"))
+if(s==null)return B.n
+if(s===Object.prototype)return B.n
+if(typeof q=="function"){o=$.dc
+if(o==null)o=$.dc=v.getIsolateTag("_$dart_js")
+Object.defineProperty(q,o,{value:B.i,enumerable:false,writable:true,configurable:true})
+return B.i}return B.i},
+hA(a,b){if(a<0||a>4294967295)throw A.a(A.E(a,0,4294967295,"length",null))
+return J.hC(new Array(a),b)},
+hB(a,b){if(a<0)throw A.a(A.V("Length must be a non-negative integer: "+a,null))
+return A.l(new Array(a),b.j("p<0>"))},
+hC(a,b){var s=A.l(a,b.j("p<0>"))
 s.$flags=1
 return s},
-hN(a,b){return J.hm(a,b)},
-al(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.aN.prototype
-return J.bG.prototype}if(typeof a=="string")return J.af.prototype
-if(a==null)return J.aO.prototype
-if(typeof a=="boolean")return J.bF.prototype
+hD(a,b){return J.hc(a,b)},
+ai(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.aK.prototype
+return J.bA.prototype}if(typeof a=="string")return J.ac.prototype
+if(a==null)return J.aL.prototype
+if(typeof a=="boolean")return J.bz.prototype
 if(Array.isArray(a))return J.p.prototype
-if(typeof a!="object"){if(typeof a=="function")return J.a1.prototype
-if(typeof a=="symbol")return J.aS.prototype
-if(typeof a=="bigint")return J.aQ.prototype
-return a}if(a instanceof A.k)return a
-return J.eE(a)},
-ck(a){if(typeof a=="string")return J.af.prototype
+if(typeof a!="object"){if(typeof a=="function")return J.Z.prototype
+if(typeof a=="symbol")return J.aP.prototype
+if(typeof a=="bigint")return J.aN.prototype
+return a}if(a instanceof A.j)return a
+return J.ew(a)},
+cg(a){if(typeof a=="string")return J.ac.prototype
 if(a==null)return a
 if(Array.isArray(a))return J.p.prototype
-if(typeof a!="object"){if(typeof a=="function")return J.a1.prototype
-if(typeof a=="symbol")return J.aS.prototype
-if(typeof a=="bigint")return J.aQ.prototype
-return a}if(a instanceof A.k)return a
-return J.eE(a)},
-dS(a){if(a==null)return a
+if(typeof a!="object"){if(typeof a=="function")return J.Z.prototype
+if(typeof a=="symbol")return J.aP.prototype
+if(typeof a=="bigint")return J.aN.prototype
+return a}if(a instanceof A.j)return a
+return J.ew(a)},
+ev(a){if(a==null)return a
 if(Array.isArray(a))return J.p.prototype
-if(typeof a!="object"){if(typeof a=="function")return J.a1.prototype
-if(typeof a=="symbol")return J.aS.prototype
-if(typeof a=="bigint")return J.aQ.prototype
-return a}if(a instanceof A.k)return a
-return J.eE(a)},
-jE(a){if(typeof a=="number")return J.aP.prototype
-if(typeof a=="string")return J.af.prototype
+if(typeof a!="object"){if(typeof a=="function")return J.Z.prototype
+if(typeof a=="symbol")return J.aP.prototype
+if(typeof a=="bigint")return J.aN.prototype
+return a}if(a instanceof A.j)return a
+return J.ew(a)},
+jt(a){if(typeof a=="number")return J.aM.prototype
+if(typeof a=="string")return J.ac.prototype
 if(a==null)return a
-if(!(a instanceof A.k))return J.as.prototype
+if(!(a instanceof A.j))return J.ap.prototype
 return a},
-H(a,b){if(a==null)return b==null
+G(a,b){if(a==null)return b==null
 if(typeof a!="object")return b!=null&&a===b
-return J.al(a).E(a,b)},
-hj(a,b){if(typeof b==="number")if(Array.isArray(a)||typeof a=="string"||A.fX(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b<a.length)return a[b]
-return J.ck(a).k(a,b)},
-hk(a,b,c){if(typeof b==="number")if((Array.isArray(a)||A.fX(a,a[v.dispatchPropertyName]))&&!(a.$flags&2)&&b>>>0===b&&b<a.length)return a[b]=c
-return J.dS(a).q(a,b,c)},
-hl(a,b){return J.dS(a).Y(a,b)},
-hm(a,b){return J.jE(a).aH(a,b)},
-hn(a,b){return J.ck(a).O(a,b)},
-e8(a,b){return J.dS(a).C(a,b)},
-Y(a){return J.al(a).gp(a)},
-ac(a){return J.dS(a).gA(a)},
-bu(a){return J.ck(a).gl(a)},
-ho(a){return J.al(a).gt(a)},
-an(a){return J.al(a).h(a)},
-bE:function bE(){},
-bF:function bF(){},
+return J.ai(a).E(a,b)},
+ha(a,b){if(typeof b==="number")if(Array.isArray(a)||typeof a=="string"||A.jE(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b<a.length)return a[b]
+return J.cg(a).k(a,b)},
+hb(a,b){return J.ev(a).X(a,b)},
+hc(a,b){return J.jt(a).aH(a,b)},
+hd(a,b){return J.cg(a).O(a,b)},
+eD(a,b){return J.ev(a).D(a,b)},
+U(a){return J.ai(a).gp(a)},
+aC(a){return J.ev(a).gv(a)},
+ch(a){return J.cg(a).gl(a)},
+he(a){return J.ai(a).gq(a)},
+ak(a){return J.ai(a).h(a)},
+by:function by(){},
+bz:function bz(){},
+aL:function aL(){},
 aO:function aO(){},
-aR:function aR(){},
-a2:function a2(){},
-bT:function bT(){},
-as:function as(){},
-a1:function a1(){},
-aQ:function aQ(){},
-aS:function aS(){},
+a_:function a_(){},
+bO:function bO(){},
+ap:function ap(){},
+Z:function Z(){},
+aN:function aN(){},
+aP:function aP(){},
 p:function p(a){this.$ti=a},
-cz:function cz(a){this.$ti=a},
-Z:function Z(a,b,c){var _=this
+cw:function cw(a){this.$ti=a},
+W:function W(a,b,c){var _=this
 _.a=a
 _.b=b
 _.c=0
 _.d=null
 _.$ti=c},
-aP:function aP(){},
-aN:function aN(){},
-bG:function bG(){},
-af:function af(){}},A={ec:function ec(){},
-hr(a,b,c){if(b.j("c<0>").b(a))return new A.b7(a,b.j("@<0>").B(c).j("b7<1,2>"))
-return new A.ad(a,b.j("@<0>").B(c).j("ad<1,2>"))},
-dT(a){var s,r=a^48
+aM:function aM(){},
+aK:function aK(){},
+bA:function bA(){},
+ac:function ac(){}},A={e4:function e4(){},
+hh(a,b,c){if(b.j("c<0>").b(a))return new A.b4(a,b.j("@<0>").C(c).j("b4<1,2>"))
+return new A.aa(a,b.j("@<0>").C(c).j("aa<1,2>"))},
+dM(a){var s,r=a^48
 if(r<=9)return r
 s=a|32
 if(97<=s&&s<=102)return s-87
 return-1},
-a4(a,b){a=a+b&536870911
+a1(a,b){a=a+b&536870911
 a=a+((a&524287)<<10)&536870911
 return a^a>>>6},
-ej(a){a=a+((a&67108863)<<3)&536870911
+eb(a){a=a+((a&67108863)<<3)&536870911
 a^=a>>>11
 return a+((a&16383)<<15)&536870911},
-eB(a,b,c){return a},
-eG(a){var s,r
-for(s=$.am.length,r=0;r<s;++r)if(a===$.am[r])return!0
+et(a,b,c){return a},
+ey(a){var s,r
+for(s=$.aj.length,r=0;r<s;++r)if(a===$.aj[r])return!0
 return!1},
-hQ(a,b,c,d){if(t.U.b(a))return new A.aK(a,b,c.j("@<0>").B(d).j("aK<1,2>"))
-return new A.ah(a,b,c.j("@<0>").B(d).j("ah<1,2>"))},
-hG(){return new A.b3("No element")},
-a5:function a5(){},
-bx:function bx(a,b){this.a=a
+hw(){return new A.b0("No element")},
+a2:function a2(){},
+br:function br(a,b){this.a=a
 this.$ti=b},
-ad:function ad(a,b){this.a=a
+aa:function aa(a,b){this.a=a
 this.$ti=b},
-b7:function b7(a,b){this.a=a
+b4:function b4(a,b){this.a=a
 this.$ti=b},
-b6:function b6(){},
-N:function N(a,b){this.a=a
+b3:function b3(){},
+K:function K(a,b){this.a=a
 this.$ti=b},
-aT:function aT(a){this.a=a},
-by:function by(a){this.a=a},
-cJ:function cJ(){},
+aQ:function aQ(a){this.a=a},
+bs:function bs(a){this.a=a},
+cF:function cF(){},
 c:function c(){},
-J:function J(){},
-ao:function ao(a,b,c){var _=this
+I:function I(){},
+am:function am(a,b,c){var _=this
 _.a=a
 _.b=b
 _.c=0
 _.d=null
 _.$ti=c},
-ah:function ah(a,b,c){this.a=a
+af:function af(a,b,c){this.a=a
 this.b=b
 this.$ti=c},
-aK:function aK(a,b,c){this.a=a
-this.b=b
-this.$ti=c},
-ap:function ap(a,b,c){var _=this
-_.a=null
-_.b=a
-_.c=b
-_.$ti=c},
-ai:function ai(a,b,c){this.a=a
-this.b=b
-this.$ti=c},
-aM:function aM(){},
-bY:function bY(){},
-at:function at(){},
-bm:function bm(){},
-hx(){throw A.a(A.bZ("Cannot modify unmodifiable Map"))},
-h1(a){var s=v.mangledGlobalNames[a]
+aJ:function aJ(){},
+bU:function bU(){},
+aq:function aq(){},
+bj:function bj(){},
+hn(){throw A.a(A.cK("Cannot modify unmodifiable Map"))},
+fU(a){var s=v.mangledGlobalNames[a]
 if(s!=null)return s
 return"minified:"+a},
-fX(a,b){var s
+jE(a,b){var s
 if(b!=null){s=b.x
 if(s!=null)return s}return t.p.b(a)},
-i(a){var s
+h(a){var s
 if(typeof a=="string")return a
 if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true"
 else if(!1===a)return"false"
 else if(a==null)return"null"
-s=J.an(a)
+s=J.ak(a)
 return s},
-bU(a){var s,r=$.eX
-if(r==null)r=$.eX=Symbol("identityHashCode")
+bP(a){var s,r=$.eP
+if(r==null)r=$.eP=Symbol("identityHashCode")
 s=a[r]
 if(s==null){s=Math.random()*0x3fffffff|0
 a[r]=s}return s},
-eY(a,b){var s,r,q,p,o,n=null,m=/^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(a)
+eQ(a,b){var s,r,q,p,o,n=null,m=/^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(a)
 if(m==null)return n
 s=m[3]
 if(b==null){if(s!=null)return parseInt(a,10)
 if(m[2]!=null)return parseInt(a,16)
-return n}if(b<2||b>36)throw A.a(A.F(b,2,36,"radix",n))
+return n}if(b<2||b>36)throw A.a(A.E(b,2,36,"radix",n))
 if(b===10&&s!=null)return parseInt(a,10)
 if(b<10||s==null){r=b<=10?47+b:86+b
 q=m[1]
 for(p=q.length,o=0;o<p;++o)if((q.charCodeAt(o)|32)>r)return n}return parseInt(a,b)},
-cI(a){return A.hU(a)},
-hU(a){var s,r,q,p
-if(a instanceof A.k)return A.C(A.aD(a),null)
-s=J.al(a)
-if(s===B.E||s===B.G||t.o.b(a)){r=B.m(a)
+cE(a){return A.hJ(a)},
+hJ(a){var s,r,q,p
+if(a instanceof A.j)return A.C(A.aA(a),null)
+s=J.ai(a)
+if(s===B.z||s===B.B||t.o.b(a)){r=B.k(a)
 if(r!=="Object"&&r!=="")return r
 q=a.constructor
 if(typeof q=="function"){p=q.name
-if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.C(A.aD(a),null)},
-eZ(a){if(a==null||typeof a=="number"||A.ew(a))return J.an(a)
+if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.C(A.aA(a),null)},
+eR(a){if(a==null||typeof a=="number"||A.eo(a))return J.ak(a)
 if(typeof a=="string")return JSON.stringify(a)
-if(a instanceof A.ae)return a.h(0)
-if(a instanceof A.bc)return a.aE(!0)
-return"Instance of '"+A.cI(a)+"'"},
-hW(a,b,c){var s,r,q,p
+if(a instanceof A.ab)return a.h(0)
+if(a instanceof A.b9)return a.aE(!0)
+return"Instance of '"+A.cE(a)+"'"},
+hL(a,b,c){var s,r,q,p
 if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a)
 for(s=b,r="";s<c;s=q){q=s+500
 p=q<c?q:c
 r+=String.fromCharCode.apply(null,a.subarray(s,p))}return r},
-Q(a){var s
+M(a){var s
 if(0<=a){if(a<=65535)return String.fromCharCode(a)
 if(a<=1114111){s=a-65536
-return String.fromCharCode((B.b.W(s,10)|55296)>>>0,s&1023|56320)}}throw A.a(A.F(a,0,1114111,null,null))},
-hV(a){var s=a.$thrownJsError
+return String.fromCharCode((B.d.ac(s,10)|55296)>>>0,s&1023|56320)}}throw A.a(A.E(a,0,1114111,null,null))},
+hK(a){var s=a.$thrownJsError
 if(s==null)return null
-return A.aa(s)},
-f_(a,b){var s
+return A.a8(s)},
+eS(a,b){var s
 if(a.$thrownJsError==null){s=A.a(a)
 a.$thrownJsError=s
 s.stack=b.h(0)}},
-eD(a,b){var s,r="index"
-if(!A.fH(b))return new A.I(!0,b,r,null)
-s=J.bu(a)
-if(b<0||b>=s)return A.ea(b,s,a,r)
-return A.hX(b,r)},
-jB(a,b,c){if(a>c)return A.F(a,0,c,"start",null)
-if(b!=null)if(b<a||b>c)return A.F(b,a,c,"end",null)
-return new A.I(!0,b,"end",null)},
-ju(a){return new A.I(!0,a,null,null)},
-a(a){return A.fW(new Error(),a)},
-fW(a,b){var s
-if(b==null)b=new A.R()
+fN(a,b){var s,r="index"
+if(!A.fz(b))return new A.H(!0,b,r,null)
+s=J.ch(a)
+if(b<0||b>=s)return A.e2(b,s,a,r)
+return A.hM(b,r)},
+jq(a,b,c){if(a>c)return A.E(a,0,c,"start",null)
+if(b!=null)if(b<a||b>c)return A.E(b,a,c,"end",null)
+return new A.H(!0,b,"end",null)},
+jj(a){return new A.H(!0,a,null,null)},
+a(a){return A.fP(new Error(),a)},
+fP(a,b){var s
+if(b==null)b=new A.N()
 a.dartException=b
-s=A.k0
+s=A.jR
 if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s})
 a.name=""}else a.toString=s
 return a},
-k0(){return J.an(this.dartException)},
-h0(a){throw A.a(a)},
-eI(a,b){throw A.fW(b,a)},
-K(a,b,c){var s
+jR(){return J.ak(this.dartException)},
+fT(a){throw A.a(a)},
+eA(a,b){throw A.fP(b,a)},
+aB(a,b,c){var s
 if(b==null)b=0
 if(c==null)c=0
 s=Error()
-A.eI(A.iT(a,b,c),s)},
-iT(a,b,c){var s,r,q,p,o,n,m,l,k
+A.eA(A.iI(a,b,c),s)},
+iI(a,b,c){var s,r,q,p,o,n,m,l,k
 if(typeof b=="string")s=b
 else{r="[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";")
 q=r.length
@@ -308,81 +291,81 @@
 if((m&4)!==0)k="constant "
 else if((m&2)!==0){k="unmodifiable "
 l="an "}else k=(m&1)!==0?"fixed-length ":""
-return new A.b4("'"+s+"': Cannot "+o+" "+l+k+n)},
-e6(a){throw A.a(A.aF(a))},
-S(a){var s,r,q,p,o,n
-a=A.jV(a.replace(String({}),"$receiver$"))
+return new A.b1("'"+s+"': Cannot "+o+" "+l+k+n)},
+e_(a){throw A.a(A.al(a))},
+O(a){var s,r,q,p,o,n
+a=A.jL(a.replace(String({}),"$receiver$"))
 s=a.match(/\\\$[a-zA-Z]+\\\$/g)
-if(s==null)s=A.h([],t.s)
+if(s==null)s=A.l([],t.s)
 r=s.indexOf("\\$arguments\\$")
 q=s.indexOf("\\$argumentsExpr\\$")
 p=s.indexOf("\\$expr\\$")
 o=s.indexOf("\\$method\\$")
 n=s.indexOf("\\$receiver\\$")
-return new A.cM(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)},
-cN(a){return function($expr$){var $argumentsExpr$="$arguments$"
+return new A.cI(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)},
+cJ(a){return function($expr$){var $argumentsExpr$="$arguments$"
 try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)},
-f6(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)},
-ed(a,b){var s=b==null,r=s?null:b.method
-return new A.bH(a,r,s?null:b.receiver)},
-X(a){if(a==null)return new A.cH(a)
-if(a instanceof A.aL)return A.ab(a,a.a)
+eZ(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)},
+e5(a,b){var s=b==null,r=s?null:b.method
+return new A.bB(a,r,s?null:b.receiver)},
+T(a){if(a==null)return new A.cD(a)
+if(a instanceof A.aI)return A.a9(a,a.a)
 if(typeof a!=="object")return a
-if("dartException" in a)return A.ab(a,a.dartException)
-return A.jt(a)},
-ab(a,b){if(t.C.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a
+if("dartException" in a)return A.a9(a,a.dartException)
+return A.ji(a)},
+a9(a,b){if(t.C.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a
 return b},
-jt(a){var s,r,q,p,o,n,m,l,k,j,i,h,g
+ji(a){var s,r,q,p,o,n,m,l,k,j,i,h,g
 if(!("message" in a))return a
 s=a.message
 if("number" in a&&typeof a.number=="number"){r=a.number
 q=r&65535
-if((B.b.W(r,16)&8191)===10)switch(q){case 438:return A.ab(a,A.ed(A.i(s)+" (Error "+q+")",null))
-case 445:case 5007:A.i(s)
-return A.ab(a,new A.b_())}}if(a instanceof TypeError){p=$.h2()
-o=$.h3()
-n=$.h4()
-m=$.h5()
-l=$.h8()
-k=$.h9()
-j=$.h7()
-$.h6()
-i=$.hb()
-h=$.ha()
-g=p.D(s)
-if(g!=null)return A.ab(a,A.ed(s,g))
-else{g=o.D(s)
+if((B.d.ac(r,16)&8191)===10)switch(q){case 438:return A.a9(a,A.e5(A.h(s)+" (Error "+q+")",null))
+case 445:case 5007:A.h(s)
+return A.a9(a,new A.aY())}}if(a instanceof TypeError){p=$.fV()
+o=$.fW()
+n=$.fX()
+m=$.fY()
+l=$.h0()
+k=$.h1()
+j=$.h_()
+$.fZ()
+i=$.h3()
+h=$.h2()
+g=p.B(s)
+if(g!=null)return A.a9(a,A.e5(s,g))
+else{g=o.B(s)
 if(g!=null){g.method="call"
-return A.ab(a,A.ed(s,g))}else if(n.D(s)!=null||m.D(s)!=null||l.D(s)!=null||k.D(s)!=null||j.D(s)!=null||m.D(s)!=null||i.D(s)!=null||h.D(s)!=null)return A.ab(a,new A.b_())}return A.ab(a,new A.bX(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.b2()
+return A.a9(a,A.e5(s,g))}else if(n.B(s)!=null||m.B(s)!=null||l.B(s)!=null||k.B(s)!=null||j.B(s)!=null||m.B(s)!=null||i.B(s)!=null||h.B(s)!=null)return A.a9(a,new A.aY())}return A.a9(a,new A.bT(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.b_()
 s=function(b){try{return String(b)}catch(f){}return null}(a)
-return A.ab(a,new A.I(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.b2()
+return A.a9(a,new A.H(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.b_()
 return a},
-aa(a){var s
-if(a instanceof A.aL)return a.b
-if(a==null)return new A.bd(a)
+a8(a){var s
+if(a instanceof A.aI)return a.b
+if(a==null)return new A.ba(a)
 s=a.$cachedTrace
 if(s!=null)return s
-s=new A.bd(a)
+s=new A.ba(a)
 if(typeof a==="object")a.$cachedTrace=s
 return s},
-fY(a){if(a==null)return J.Y(a)
-if(typeof a=="object")return A.bU(a)
-return J.Y(a)},
-jD(a,b){var s,r,q,p=a.length
+fQ(a){if(a==null)return J.U(a)
+if(typeof a=="object")return A.bP(a)
+return J.U(a)},
+js(a,b){var s,r,q,p=a.length
 for(s=0;s<p;s=q){r=s+1
 q=r+1
-b.q(0,a[s],a[r])}return b},
-j6(a,b,c,d,e,f){switch(b){case 0:return a.$0()
+b.A(0,a[s],a[r])}return b},
+iW(a,b,c,d,e,f){switch(b){case 0:return a.$0()
 case 1:return a.$1(c)
 case 2:return a.$2(c,d)
 case 3:return a.$3(c,d,e)
-case 4:return a.$4(c,d,e,f)}throw A.a(new A.d1("Unsupported number of arguments for wrapped closure"))},
-aC(a,b){var s=a.$identity
+case 4:return a.$4(c,d,e,f)}throw A.a(new A.cZ("Unsupported number of arguments for wrapped closure"))},
+az(a,b){var s=a.$identity
 if(!!s)return s
-s=A.jz(a,b)
+s=A.jo(a,b)
 a.$identity=s
 return s},
-jz(a,b){var s
+jo(a,b){var s
 switch(b){case 0:s=a.$0
 break
 case 1:s=a.$1
@@ -394,10 +377,10 @@
 case 4:s=a.$4
 break
 default:s=null}if(s!=null)return s.bind(a)
-return function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,A.j6)},
-hw(a2){var s,r,q,p,o,n,m,l,k,j,i=a2.co,h=a2.iS,g=a2.iI,f=a2.nDA,e=a2.aI,d=a2.fs,c=a2.cs,b=d[0],a=c[0],a0=i[b],a1=a2.fT
+return function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,A.iW)},
+hm(a2){var s,r,q,p,o,n,m,l,k,j,i=a2.co,h=a2.iS,g=a2.iI,f=a2.nDA,e=a2.aI,d=a2.fs,c=a2.cs,b=d[0],a=c[0],a0=i[b],a1=a2.fT
 a1.toString
-s=h?Object.create(new A.cK().constructor.prototype):Object.create(new A.aE(null,null).constructor.prototype)
+s=h?Object.create(new A.cG().constructor.prototype):Object.create(new A.aD(null,null).constructor.prototype)
 s.$initialize=s.constructor
 r=h?function static_tear_off(){this.$initialize()}:function tear_off(a3,a4){this.$initialize(a3,a4)}
 s.constructor=r
@@ -405,24 +388,24 @@
 s.$_name=b
 s.$_target=a0
 q=!h
-if(q)p=A.eR(b,a0,g,f)
+if(q)p=A.eK(b,a0,g,f)
 else{s.$static_name=b
-p=a0}s.$S=A.hs(a1,h,g)
+p=a0}s.$S=A.hi(a1,h,g)
 s[a]=p
 for(o=p,n=1;n<d.length;++n){m=d[n]
 if(typeof m=="string"){l=i[m]
 k=m
 m=l}else k=""
 j=c[n]
-if(j!=null){if(q)m=A.eR(k,m,g,f)
+if(j!=null){if(q)m=A.eK(k,m,g,f)
 s[j]=m}if(n===e)o=m}s.$C=o
 s.$R=a2.rC
 s.$D=a2.dV
 return r},
-hs(a,b,c){if(typeof a=="number")return a
+hi(a,b,c){if(typeof a=="number")return a
 if(typeof a=="string"){if(b)throw A.a("Cannot compute signature for static tearoff.")
-return function(d,e){return function(){return e(this,d)}}(a,A.hp)}throw A.a("Error in functionType of tearoff")},
-ht(a,b,c,d){var s=A.eQ
+return function(d,e){return function(){return e(this,d)}}(a,A.hf)}throw A.a("Error in functionType of tearoff")},
+hj(a,b,c,d){var s=A.eJ
 switch(b?-1:a){case 0:return function(e,f){return function(){return f(this)[e]()}}(c,s)
 case 1:return function(e,f){return function(g){return f(this)[e](g)}}(c,s)
 case 2:return function(e,f){return function(g,h){return f(this)[e](g,h)}}(c,s)
@@ -430,10 +413,10 @@
 case 4:return function(e,f){return function(g,h,i,j){return f(this)[e](g,h,i,j)}}(c,s)
 case 5:return function(e,f){return function(g,h,i,j,k){return f(this)[e](g,h,i,j,k)}}(c,s)
 default:return function(e,f){return function(){return e.apply(f(this),arguments)}}(d,s)}},
-eR(a,b,c,d){if(c)return A.hv(a,b,d)
-return A.ht(b.length,d,a,b)},
-hu(a,b,c,d){var s=A.eQ,r=A.hq
-switch(b?-1:a){case 0:throw A.a(new A.bV("Intercepted function with no arguments."))
+eK(a,b,c,d){if(c)return A.hl(a,b,d)
+return A.hj(b.length,d,a,b)},
+hk(a,b,c,d){var s=A.eJ,r=A.hg
+switch(b?-1:a){case 0:throw A.a(new A.bR("Intercepted function with no arguments."))
 case 1:return function(e,f,g){return function(){return f(this)[e](g(this))}}(c,r,s)
 case 2:return function(e,f,g){return function(h){return f(this)[e](g(this),h)}}(c,r,s)
 case 3:return function(e,f,g){return function(h,i){return f(this)[e](g(this),h,i)}}(c,r,s)
@@ -443,69 +426,69 @@
 default:return function(e,f,g){return function(){var q=[g(this)]
 Array.prototype.push.apply(q,arguments)
 return e.apply(f(this),q)}}(d,r,s)}},
-hv(a,b,c){var s,r
-if($.eO==null)$.eO=A.eN("interceptor")
-if($.eP==null)$.eP=A.eN("receiver")
+hl(a,b,c){var s,r
+if($.eH==null)$.eH=A.eG("interceptor")
+if($.eI==null)$.eI=A.eG("receiver")
 s=b.length
-r=A.hu(s,c,a,b)
+r=A.hk(s,c,a,b)
 return r},
-eC(a){return A.hw(a)},
-hp(a,b){return A.bi(v.typeUniverse,A.aD(a.a),b)},
-eQ(a){return a.a},
-hq(a){return a.b},
-eN(a){var s,r,q,p=new A.aE("receiver","interceptor"),o=Object.getOwnPropertyNames(p)
+eu(a){return A.hm(a)},
+hf(a,b){return A.bf(v.typeUniverse,A.aA(a.a),b)},
+eJ(a){return a.a},
+hg(a){return a.b},
+eG(a){var s,r,q,p=new A.aD("receiver","interceptor"),o=Object.getOwnPropertyNames(p)
 o.$flags=1
 s=o
 for(o=s.length,r=0;r<o;++r){q=s[r]
-if(p[q]===a)return q}throw A.a(A.M("Field name "+a+" not found.",null))},
-kC(a){throw A.a(new A.c4(a))},
-jF(a){return v.getIsolateTag(a)},
-jQ(a){var s,r,q,p,o,n=$.fV.$1(a),m=$.dR[n]
+if(p[q]===a)return q}throw A.a(A.V("Field name "+a+" not found.",null))},
+kr(a){throw A.a(new A.c_(a))},
+ju(a){return v.getIsolateTag(a)},
+jG(a){var s,r,q,p,o,n=$.fO.$1(a),m=$.dL[n]
 if(m!=null){Object.defineProperty(a,v.dispatchPropertyName,{value:m,enumerable:false,writable:true,configurable:true})
-return m.i}s=$.e1[n]
+return m.i}s=$.dV[n]
 if(s!=null)return s
 r=v.interceptorsByTag[n]
-if(r==null){q=$.fS.$2(a,n)
-if(q!=null){m=$.dR[q]
+if(r==null){q=$.fK.$2(a,n)
+if(q!=null){m=$.dL[q]
 if(m!=null){Object.defineProperty(a,v.dispatchPropertyName,{value:m,enumerable:false,writable:true,configurable:true})
-return m.i}s=$.e1[q]
+return m.i}s=$.dV[q]
 if(s!=null)return s
 r=v.interceptorsByTag[q]
 n=q}}if(r==null)return null
 s=r.prototype
 p=n[0]
-if(p==="!"){m=A.e2(s)
-$.dR[n]=m
+if(p==="!"){m=A.dW(s)
+$.dL[n]=m
 Object.defineProperty(a,v.dispatchPropertyName,{value:m,enumerable:false,writable:true,configurable:true})
-return m.i}if(p==="~"){$.e1[n]=s
-return s}if(p==="-"){o=A.e2(s)
+return m.i}if(p==="~"){$.dV[n]=s
+return s}if(p==="-"){o=A.dW(s)
 Object.defineProperty(Object.getPrototypeOf(a),v.dispatchPropertyName,{value:o,enumerable:false,writable:true,configurable:true})
-return o.i}if(p==="+")return A.fZ(a,s)
-if(p==="*")throw A.a(A.f7(n))
-if(v.leafTags[n]===true){o=A.e2(s)
+return o.i}if(p==="+")return A.fR(a,s)
+if(p==="*")throw A.a(A.f_(n))
+if(v.leafTags[n]===true){o=A.dW(s)
 Object.defineProperty(Object.getPrototypeOf(a),v.dispatchPropertyName,{value:o,enumerable:false,writable:true,configurable:true})
-return o.i}else return A.fZ(a,s)},
-fZ(a,b){var s=Object.getPrototypeOf(a)
-Object.defineProperty(s,v.dispatchPropertyName,{value:J.eH(b,s,null,null),enumerable:false,writable:true,configurable:true})
+return o.i}else return A.fR(a,s)},
+fR(a,b){var s=Object.getPrototypeOf(a)
+Object.defineProperty(s,v.dispatchPropertyName,{value:J.ez(b,s,null,null),enumerable:false,writable:true,configurable:true})
 return b},
-e2(a){return J.eH(a,!1,null,!!a.$iD)},
-jS(a,b,c){var s=b.prototype
-if(v.leafTags[a]===true)return A.e2(s)
-else return J.eH(s,c,null,null)},
-jL(){if(!0===$.eF)return
-$.eF=!0
-A.jM()},
-jM(){var s,r,q,p,o,n,m,l
-$.dR=Object.create(null)
-$.e1=Object.create(null)
-A.jK()
+dW(a){return J.ez(a,!1,null,!!a.$iD)},
+jI(a,b,c){var s=b.prototype
+if(v.leafTags[a]===true)return A.dW(s)
+else return J.ez(s,c,null,null)},
+jA(){if(!0===$.ex)return
+$.ex=!0
+A.jB()},
+jB(){var s,r,q,p,o,n,m,l
+$.dL=Object.create(null)
+$.dV=Object.create(null)
+A.jz()
 s=v.interceptorsByTag
 r=Object.getOwnPropertyNames(s)
 if(typeof window!="undefined"){window
 q=function(){}
 for(p=0;p<r.length;++p){o=r[p]
-n=$.h_.$1(o)
-if(n!=null){m=A.jS(o,s[o],n)
+n=$.fS.$1(o)
+if(n!=null){m=A.jI(o,s[o],n)
 if(m!=null){Object.defineProperty(n,v.dispatchPropertyName,{value:m,enumerable:false,writable:true,configurable:true})
 q.prototype=n}}}}for(p=0;p<r.length;++p){o=r[p]
 if(/^[A-Za-z_]/.test(o)){l=s[o]
@@ -514,385 +497,392 @@
 s["-"+o]=l
 s["+"+o]=l
 s["*"+o]=l}}},
-jK(){var s,r,q,p,o,n,m=B.v()
-m=A.aB(B.w,A.aB(B.x,A.aB(B.n,A.aB(B.n,A.aB(B.y,A.aB(B.z,A.aB(B.A(B.m),m)))))))
+jz(){var s,r,q,p,o,n,m=B.p()
+m=A.ay(B.q,A.ay(B.r,A.ay(B.l,A.ay(B.l,A.ay(B.t,A.ay(B.u,A.ay(B.v(B.k),m)))))))
 if(typeof dartNativeDispatchHooksTransformer!="undefined"){s=dartNativeDispatchHooksTransformer
 if(typeof s=="function")s=[s]
 if(Array.isArray(s))for(r=0;r<s.length;++r){q=s[r]
 if(typeof q=="function")m=q(m)||m}}p=m.getTag
 o=m.getUnknownTag
 n=m.prototypeForTag
-$.fV=new A.dU(p)
-$.fS=new A.dV(o)
-$.h_=new A.dW(n)},
-aB(a,b){return a(b)||b},
-jA(a,b){var s=b.length,r=v.rttc[""+s+";"+a]
+$.fO=new A.dN(p)
+$.fK=new A.dO(o)
+$.fS=new A.dP(n)},
+ay(a,b){return a(b)||b},
+jp(a,b){var s=b.length,r=v.rttc[""+s+";"+a]
 if(r==null)return null
 if(s===0)return r
 if(s===r.length)return r.apply(null,b)
 return r(b)},
-eT(a,b,c,d,e,f){var s=b?"m":"",r=c?"":"i",q=d?"u":"",p=e?"s":"",o=f?"g":"",n=function(g,h){try{return new RegExp(g,h)}catch(m){return m}}(a,s+r+q+p+o)
+eL(a,b,c,d,e,f){var s=b?"m":"",r=c?"":"i",q=d?"u":"",p=e?"s":"",o=f?"g":"",n=function(g,h){try{return new RegExp(g,h)}catch(m){return m}}(a,s+r+q+p+o)
 if(n instanceof RegExp)return n
 throw A.a(A.x("Illegal RegExp pattern ("+String(n)+")",a,null))},
-jY(a,b,c){var s=a.indexOf(b,c)
+jO(a,b,c){var s=a.indexOf(b,c)
 return s>=0},
-jV(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&")
+jL(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&")
 return a},
-fP(a){return a},
-jZ(a,b,c,d){var s,r,q,p=new A.cW(b,a,0),o=t.F,n=0,m=""
+fH(a){return a},
+jP(a,b,c,d){var s,r,q,p=new A.cT(b,a,0),o=t.F,n=0,m=""
 for(;p.m();){s=p.d
 if(s==null)s=o.a(s)
 r=s.b
 q=r.index
-m=m+A.i(A.fP(B.a.i(a,n,q)))+A.i(c.$1(s))
-n=q+r[0].length}p=m+A.i(A.fP(B.a.L(a,n)))
+m=m+A.h(A.fH(B.a.i(a,n,q)))+A.h(c.$1(s))
+n=q+r[0].length}p=m+A.h(A.fH(B.a.L(a,n)))
 return p.charCodeAt(0)==0?p:p},
-cd:function cd(a,b){this.a=a
+c8:function c8(a,b){this.a=a
 this.b=b},
-aG:function aG(){},
-aI:function aI(a,b,c){this.a=a
+aE:function aE(){},
+aG:function aG(a,b,c){this.a=a
 this.b=b
 this.$ti=c},
-ca:function ca(a,b,c){var _=this
+c5:function c5(a,b,c){var _=this
 _.a=a
 _.b=b
 _.c=0
 _.d=null
 _.$ti=c},
-aH:function aH(){},
-aJ:function aJ(a,b,c){this.a=a
+aF:function aF(){},
+aH:function aH(a,b,c){this.a=a
 this.b=b
 this.$ti=c},
-cM:function cM(a,b,c,d,e,f){var _=this
+cI:function cI(a,b,c,d,e,f){var _=this
 _.a=a
 _.b=b
 _.c=c
 _.d=d
 _.e=e
 _.f=f},
-b_:function b_(){},
-bH:function bH(a,b,c){this.a=a
+aY:function aY(){},
+bB:function bB(a,b,c){this.a=a
 this.b=b
 this.c=c},
-bX:function bX(a){this.a=a},
-cH:function cH(a){this.a=a},
-aL:function aL(a,b){this.a=a
+bT:function bT(a){this.a=a},
+cD:function cD(a){this.a=a},
+aI:function aI(a,b){this.a=a
 this.b=b},
-bd:function bd(a){this.a=a
+ba:function ba(a){this.a=a
 this.b=null},
-ae:function ae(){},
-cn:function cn(){},
-co:function co(){},
-cL:function cL(){},
-cK:function cK(){},
-aE:function aE(a,b){this.a=a
+ab:function ab(){},
+ck:function ck(){},
+cl:function cl(){},
+cH:function cH(){},
+cG:function cG(){},
+aD:function aD(a,b){this.a=a
 this.b=b},
-c4:function c4(a){this.a=a},
-bV:function bV(a){this.a=a},
-ag:function ag(a){var _=this
+c_:function c_(a){this.a=a},
+bR:function bR(a){this.a=a},
+ad:function ad(a){var _=this
 _.a=0
 _.f=_.e=_.d=_.c=_.b=null
 _.r=0
 _.$ti=a},
-cA:function cA(a){this.a=a},
-cD:function cD(a,b){this.a=a
+cz:function cz(a,b){this.a=a
 this.b=b
 this.c=null},
-O:function O(a,b){this.a=a
+ae:function ae(a,b){this.a=a
 this.$ti=b},
-bI:function bI(a,b){var _=this
-_.a=a
-_.b=b
-_.d=_.c=null},
-dU:function dU(a){this.a=a},
-dV:function dV(a){this.a=a},
-dW:function dW(a){this.a=a},
-bc:function bc(){},
-cc:function cc(){},
-cy:function cy(a,b){var _=this
-_.a=a
-_.b=b
-_.d=_.c=null},
-cb:function cb(a){this.b=a},
-cW:function cW(a,b,c){var _=this
+bC:function bC(a,b,c){var _=this
 _.a=a
 _.b=b
 _.c=c
 _.d=null},
-iU(a){return a},
-hR(a){return new Int8Array(a)},
-hS(a){return new Uint8Array(a)},
-U(a,b,c){if(a>>>0!==a||a>=c)throw A.a(A.eD(b,a))},
-iQ(a,b,c){var s
+aS:function aS(a,b){this.a=a
+this.$ti=b},
+aR:function aR(a,b,c){var _=this
+_.a=a
+_.b=b
+_.c=c
+_.d=null},
+dN:function dN(a){this.a=a},
+dO:function dO(a){this.a=a},
+dP:function dP(a){this.a=a},
+b9:function b9(){},
+c7:function c7(){},
+cv:function cv(a,b){var _=this
+_.a=a
+_.b=b
+_.d=_.c=null},
+c6:function c6(a){this.b=a},
+cT:function cT(a,b,c){var _=this
+_.a=a
+_.b=b
+_.c=c
+_.d=null},
+iJ(a){return a},
+hG(a){return new Int8Array(a)},
+hH(a){return new Uint8Array(a)},
+ag(a,b,c){if(a>>>0!==a||a>=c)throw A.a(A.fN(b,a))},
+iG(a,b,c){var s
 if(!(a>>>0!==a))s=b>>>0!==b||a>b||b>c
 else s=!0
-if(s)throw A.a(A.jB(a,b,c))
+if(s)throw A.a(A.jq(a,b,c))
 return b},
-bJ:function bJ(){},
-aX:function aX(){},
-bK:function bK(){},
-aq:function aq(){},
-aV:function aV(){},
+bD:function bD(){},
 aW:function aW(){},
+bE:function bE(){},
+an:function an(){},
+aU:function aU(){},
+aV:function aV(){},
+bF:function bF(){},
+bG:function bG(){},
+bH:function bH(){},
+bI:function bI(){},
+bJ:function bJ(){},
+bK:function bK(){},
 bL:function bL(){},
+aX:function aX(){},
 bM:function bM(){},
-bN:function bN(){},
-bO:function bO(){},
-bP:function bP(){},
-bQ:function bQ(){},
-bR:function bR(){},
-aY:function aY(){},
-aZ:function aZ(){},
+b5:function b5(){},
+b6:function b6(){},
+b7:function b7(){},
 b8:function b8(){},
-b9:function b9(){},
-ba:function ba(){},
-bb:function bb(){},
-f1(a,b){var s=b.c
-return s==null?b.c=A.eo(a,b.x,!0):s},
-ei(a,b){var s=b.c
-return s==null?b.c=A.bg(a,"a0",[b.x]):s},
-f2(a){var s=a.w
-if(s===6||s===7||s===8)return A.f2(a.x)
+eU(a,b){var s=b.c
+return s==null?b.c=A.eg(a,b.x,!0):s},
+ea(a,b){var s=b.c
+return s==null?b.c=A.bd(a,"Y",[b.x]):s},
+eV(a){var s=a.w
+if(s===6||s===7||s===8)return A.eV(a.x)
 return s===12||s===13},
-hY(a){return a.as},
-bq(a){return A.ch(v.typeUniverse,a,!1)},
-a9(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w
+hN(a){return a.as},
+cf(a){return A.cc(v.typeUniverse,a,!1)},
+a7(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w
 switch(a0){case 5:case 1:case 2:case 3:case 4:return a2
 case 6:s=a2.x
-r=A.a9(a1,s,a3,a4)
+r=A.a7(a1,s,a3,a4)
 if(r===s)return a2
-return A.fk(a1,r,!0)
+return A.fc(a1,r,!0)
 case 7:s=a2.x
-r=A.a9(a1,s,a3,a4)
+r=A.a7(a1,s,a3,a4)
 if(r===s)return a2
-return A.eo(a1,r,!0)
+return A.eg(a1,r,!0)
 case 8:s=a2.x
-r=A.a9(a1,s,a3,a4)
+r=A.a7(a1,s,a3,a4)
 if(r===s)return a2
-return A.fi(a1,r,!0)
+return A.fa(a1,r,!0)
 case 9:q=a2.y
-p=A.aA(a1,q,a3,a4)
+p=A.ax(a1,q,a3,a4)
 if(p===q)return a2
-return A.bg(a1,a2.x,p)
+return A.bd(a1,a2.x,p)
 case 10:o=a2.x
-n=A.a9(a1,o,a3,a4)
+n=A.a7(a1,o,a3,a4)
 m=a2.y
-l=A.aA(a1,m,a3,a4)
+l=A.ax(a1,m,a3,a4)
 if(n===o&&l===m)return a2
-return A.em(a1,n,l)
+return A.ee(a1,n,l)
 case 11:k=a2.x
 j=a2.y
-i=A.aA(a1,j,a3,a4)
+i=A.ax(a1,j,a3,a4)
 if(i===j)return a2
-return A.fj(a1,k,i)
+return A.fb(a1,k,i)
 case 12:h=a2.x
-g=A.a9(a1,h,a3,a4)
+g=A.a7(a1,h,a3,a4)
 f=a2.y
-e=A.jq(a1,f,a3,a4)
+e=A.jf(a1,f,a3,a4)
 if(g===h&&e===f)return a2
-return A.fh(a1,g,e)
+return A.f9(a1,g,e)
 case 13:d=a2.y
 a4+=d.length
-c=A.aA(a1,d,a3,a4)
+c=A.ax(a1,d,a3,a4)
 o=a2.x
-n=A.a9(a1,o,a3,a4)
+n=A.a7(a1,o,a3,a4)
 if(c===d&&n===o)return a2
-return A.en(a1,n,c,!0)
+return A.ef(a1,n,c,!0)
 case 14:b=a2.x
 if(b<a4)return a2
 a=a3[b-a4]
 if(a==null)return a2
 return a
-default:throw A.a(A.bw("Attempted to substitute unexpected RTI kind "+a0))}},
-aA(a,b,c,d){var s,r,q,p,o=b.length,n=A.dA(o)
+default:throw A.a(A.bq("Attempted to substitute unexpected RTI kind "+a0))}},
+ax(a,b,c,d){var s,r,q,p,o=b.length,n=A.dx(o)
 for(s=!1,r=0;r<o;++r){q=b[r]
-p=A.a9(a,q,c,d)
+p=A.a7(a,q,c,d)
 if(p!==q)s=!0
 n[r]=p}return s?n:b},
-jr(a,b,c,d){var s,r,q,p,o,n,m=b.length,l=A.dA(m)
+jg(a,b,c,d){var s,r,q,p,o,n,m=b.length,l=A.dx(m)
 for(s=!1,r=0;r<m;r+=3){q=b[r]
 p=b[r+1]
 o=b[r+2]
-n=A.a9(a,o,c,d)
+n=A.a7(a,o,c,d)
 if(n!==o)s=!0
 l.splice(r,3,q,p,n)}return s?l:b},
-jq(a,b,c,d){var s,r=b.a,q=A.aA(a,r,c,d),p=b.b,o=A.aA(a,p,c,d),n=b.c,m=A.jr(a,n,c,d)
+jf(a,b,c,d){var s,r=b.a,q=A.ax(a,r,c,d),p=b.b,o=A.ax(a,p,c,d),n=b.c,m=A.jg(a,n,c,d)
 if(q===r&&o===p&&m===n)return b
-s=new A.c7()
+s=new A.c2()
 s.a=q
 s.b=o
 s.c=m
 return s},
-h(a,b){a[v.arrayRti]=b
+l(a,b){a[v.arrayRti]=b
 return a},
-fU(a){var s=a.$S
-if(s!=null){if(typeof s=="number")return A.jH(s)
+fM(a){var s=a.$S
+if(s!=null){if(typeof s=="number")return A.jw(s)
 return a.$S()}return null},
-jN(a,b){var s
-if(A.f2(b))if(a instanceof A.ae){s=A.fU(a)
-if(s!=null)return s}return A.aD(a)},
-aD(a){if(a instanceof A.k)return A.E(a)
-if(Array.isArray(a))return A.a7(a)
-return A.ev(J.al(a))},
-a7(a){var s=a[v.arrayRti],r=t.b
+jC(a,b){var s
+if(A.eV(b))if(a instanceof A.ab){s=A.fM(a)
+if(s!=null)return s}return A.aA(a)},
+aA(a){if(a instanceof A.j)return A.R(a)
+if(Array.isArray(a))return A.a4(a)
+return A.en(J.ai(a))},
+a4(a){var s=a[v.arrayRti],r=t.b
 if(s==null)return r
 if(s.constructor!==r.constructor)return r
 return s},
-E(a){var s=a.$ti
-return s!=null?s:A.ev(a)},
-ev(a){var s=a.constructor,r=s.$ccache
+R(a){var s=a.$ti
+return s!=null?s:A.en(a)},
+en(a){var s=a.constructor,r=s.$ccache
 if(r!=null)return r
-return A.j2(a,s)},
-j2(a,b){var s=a instanceof A.ae?Object.getPrototypeOf(Object.getPrototypeOf(a)).constructor:b,r=A.ir(v.typeUniverse,s.name)
+return A.iS(a,s)},
+iS(a,b){var s=a instanceof A.ab?Object.getPrototypeOf(Object.getPrototypeOf(a)).constructor:b,r=A.ig(v.typeUniverse,s.name)
 b.$ccache=r
 return r},
-jH(a){var s,r=v.types,q=r[a]
-if(typeof q=="string"){s=A.ch(v.typeUniverse,q,!1)
+jw(a){var s,r=v.types,q=r[a]
+if(typeof q=="string"){s=A.cc(v.typeUniverse,q,!1)
 r[a]=s
 return s}return q},
-jG(a){return A.ak(A.E(a))},
-ez(a){var s
-if(a instanceof A.bc)return A.jC(a.$r,a.aw())
-s=a instanceof A.ae?A.fU(a):null
+jv(a){return A.ah(A.R(a))},
+er(a){var s
+if(a instanceof A.b9)return A.jr(a.$r,a.aw())
+s=a instanceof A.ab?A.fM(a):null
 if(s!=null)return s
-if(t.k.b(a))return J.ho(a).a
-if(Array.isArray(a))return A.a7(a)
-return A.aD(a)},
-ak(a){var s=a.r
-return s==null?a.r=A.fD(a):s},
-fD(a){var s,r,q=a.as,p=q.replace(/\*/g,"")
-if(p===q)return a.r=new A.ds(a)
-s=A.ch(v.typeUniverse,p,!0)
+if(t.k.b(a))return J.he(a).a
+if(Array.isArray(a))return A.a4(a)
+return A.aA(a)},
+ah(a){var s=a.r
+return s==null?a.r=A.fv(a):s},
+fv(a){var s,r,q=a.as,p=q.replace(/\*/g,"")
+if(p===q)return a.r=new A.dp(a)
+s=A.cc(v.typeUniverse,p,!0)
 r=s.r
-return r==null?s.r=A.fD(s):r},
-jC(a,b){var s,r,q=b,p=q.length
+return r==null?s.r=A.fv(s):r},
+jr(a,b){var s,r,q=b,p=q.length
 if(p===0)return t.d
-s=A.bi(v.typeUniverse,A.ez(q[0]),"@<0>")
-for(r=1;r<p;++r)s=A.fl(v.typeUniverse,s,A.ez(q[r]))
-return A.bi(v.typeUniverse,s,a)},
-L(a){return A.ak(A.ch(v.typeUniverse,a,!1))},
-j1(a){var s,r,q,p,o,n,m=this
-if(m===t.K)return A.V(m,a,A.jb)
-if(!A.W(m))s=m===t._
+s=A.bf(v.typeUniverse,A.er(q[0]),"@<0>")
+for(r=1;r<p;++r)s=A.fd(v.typeUniverse,s,A.er(q[r]))
+return A.bf(v.typeUniverse,s,a)},
+J(a){return A.ah(A.cc(v.typeUniverse,a,!1))},
+iR(a){var s,r,q,p,o,n,m=this
+if(m===t.K)return A.Q(m,a,A.j0)
+if(!A.S(m))s=m===t._
 else s=!0
-if(s)return A.V(m,a,A.jf)
+if(s)return A.Q(m,a,A.j4)
 s=m.w
-if(s===7)return A.V(m,a,A.iY)
-if(s===1)return A.V(m,a,A.fI)
+if(s===7)return A.Q(m,a,A.iN)
+if(s===1)return A.Q(m,a,A.fA)
 r=s===6?m.x:m
 q=r.w
-if(q===8)return A.V(m,a,A.j7)
-if(r===t.S)p=A.fH
-else if(r===t.i||r===t.H)p=A.ja
-else if(r===t.N)p=A.jd
-else p=r===t.y?A.ew:null
-if(p!=null)return A.V(m,a,p)
+if(q===8)return A.Q(m,a,A.iX)
+if(r===t.S)p=A.fz
+else if(r===t.i||r===t.H)p=A.j_
+else if(r===t.N)p=A.j2
+else p=r===t.y?A.eo:null
+if(p!=null)return A.Q(m,a,p)
 if(q===9){o=r.x
-if(r.y.every(A.jO)){m.f="$i"+o
-if(o==="f")return A.V(m,a,A.j9)
-return A.V(m,a,A.je)}}else if(q===11){n=A.jA(r.x,r.y)
-return A.V(m,a,n==null?A.fI:n)}return A.V(m,a,A.iW)},
-V(a,b,c){a.b=c
+if(r.y.every(A.jD)){m.f="$i"+o
+if(o==="f")return A.Q(m,a,A.iZ)
+return A.Q(m,a,A.j3)}}else if(q===11){n=A.jp(r.x,r.y)
+return A.Q(m,a,n==null?A.fA:n)}return A.Q(m,a,A.iL)},
+Q(a,b,c){a.b=c
 return a.b(b)},
-j0(a){var s,r=this,q=A.iV
-if(!A.W(r))s=r===t._
+iQ(a){var s,r=this,q=A.iK
+if(!A.S(r))s=r===t._
 else s=!0
-if(s)q=A.iN
-else if(r===t.K)q=A.iL
-else{s=A.br(r)
-if(s)q=A.iX}r.a=q
+if(s)q=A.iD
+else if(r===t.K)q=A.iB
+else{s=A.bm(r)
+if(s)q=A.iM}r.a=q
 return r.a(a)},
-cj(a){var s=a.w,r=!0
-if(!A.W(a))if(!(a===t._))if(!(a===t.A))if(s!==7)if(!(s===6&&A.cj(a.x)))r=s===8&&A.cj(a.x)||a===t.P||a===t.T
+ce(a){var s=a.w,r=!0
+if(!A.S(a))if(!(a===t._))if(!(a===t.A))if(s!==7)if(!(s===6&&A.ce(a.x)))r=s===8&&A.ce(a.x)||a===t.P||a===t.T
 return r},
-iW(a){var s=this
-if(a==null)return A.cj(s)
-return A.jP(v.typeUniverse,A.jN(a,s),s)},
-iY(a){if(a==null)return!0
+iL(a){var s=this
+if(a==null)return A.ce(s)
+return A.jF(v.typeUniverse,A.jC(a,s),s)},
+iN(a){if(a==null)return!0
 return this.x.b(a)},
-je(a){var s,r=this
-if(a==null)return A.cj(r)
+j3(a){var s,r=this
+if(a==null)return A.ce(r)
 s=r.f
-if(a instanceof A.k)return!!a[s]
-return!!J.al(a)[s]},
-j9(a){var s,r=this
-if(a==null)return A.cj(r)
+if(a instanceof A.j)return!!a[s]
+return!!J.ai(a)[s]},
+iZ(a){var s,r=this
+if(a==null)return A.ce(r)
 if(typeof a!="object")return!1
 if(Array.isArray(a))return!0
 s=r.f
-if(a instanceof A.k)return!!a[s]
-return!!J.al(a)[s]},
-iV(a){var s=this
-if(a==null){if(A.br(s))return a}else if(s.b(a))return a
-A.fE(a,s)},
-iX(a){var s=this
+if(a instanceof A.j)return!!a[s]
+return!!J.ai(a)[s]},
+iK(a){var s=this
+if(a==null){if(A.bm(s))return a}else if(s.b(a))return a
+A.fw(a,s)},
+iM(a){var s=this
 if(a==null)return a
 else if(s.b(a))return a
-A.fE(a,s)},
-fE(a,b){throw A.a(A.ih(A.fb(a,A.C(b,null))))},
-fb(a,b){return A.cr(a)+": type '"+A.C(A.ez(a),null)+"' is not a subtype of type '"+b+"'"},
-ih(a){return new A.be("TypeError: "+a)},
-B(a,b){return new A.be("TypeError: "+A.fb(a,b))},
-j7(a){var s=this,r=s.w===6?s.x:s
-return r.x.b(a)||A.ei(v.typeUniverse,r).b(a)},
-jb(a){return a!=null},
-iL(a){if(a!=null)return a
+A.fw(a,s)},
+fw(a,b){throw A.a(A.i6(A.f3(a,A.C(b,null))))},
+f3(a,b){return A.co(a)+": type '"+A.C(A.er(a),null)+"' is not a subtype of type '"+b+"'"},
+i6(a){return new A.bb("TypeError: "+a)},
+B(a,b){return new A.bb("TypeError: "+A.f3(a,b))},
+iX(a){var s=this,r=s.w===6?s.x:s
+return r.x.b(a)||A.ea(v.typeUniverse,r).b(a)},
+j0(a){return a!=null},
+iB(a){if(a!=null)return a
 throw A.a(A.B(a,"Object"))},
-jf(a){return!0},
-iN(a){return a},
-fI(a){return!1},
-ew(a){return!0===a||!1===a},
-ko(a){if(!0===a)return!0
+j4(a){return!0},
+iD(a){return a},
+fA(a){return!1},
+eo(a){return!0===a||!1===a},
+ke(a){if(!0===a)return!0
 if(!1===a)return!1
 throw A.a(A.B(a,"bool"))},
-kq(a){if(!0===a)return!0
+kg(a){if(!0===a)return!0
 if(!1===a)return!1
 if(a==null)return a
 throw A.a(A.B(a,"bool"))},
-kp(a){if(!0===a)return!0
+kf(a){if(!0===a)return!0
 if(!1===a)return!1
 if(a==null)return a
 throw A.a(A.B(a,"bool?"))},
-kr(a){if(typeof a=="number")return a
+kh(a){if(typeof a=="number")return a
 throw A.a(A.B(a,"double"))},
-kt(a){if(typeof a=="number")return a
+kj(a){if(typeof a=="number")return a
 if(a==null)return a
 throw A.a(A.B(a,"double"))},
-ks(a){if(typeof a=="number")return a
+ki(a){if(typeof a=="number")return a
 if(a==null)return a
 throw A.a(A.B(a,"double?"))},
-fH(a){return typeof a=="number"&&Math.floor(a)===a},
-fw(a){if(typeof a=="number"&&Math.floor(a)===a)return a
+fz(a){return typeof a=="number"&&Math.floor(a)===a},
+fo(a){if(typeof a=="number"&&Math.floor(a)===a)return a
 throw A.a(A.B(a,"int"))},
-ku(a){if(typeof a=="number"&&Math.floor(a)===a)return a
+kk(a){if(typeof a=="number"&&Math.floor(a)===a)return a
 if(a==null)return a
 throw A.a(A.B(a,"int"))},
-fx(a){if(typeof a=="number"&&Math.floor(a)===a)return a
+fp(a){if(typeof a=="number"&&Math.floor(a)===a)return a
 if(a==null)return a
 throw A.a(A.B(a,"int?"))},
-ja(a){return typeof a=="number"},
-kv(a){if(typeof a=="number")return a
+j_(a){return typeof a=="number"},
+kl(a){if(typeof a=="number")return a
 throw A.a(A.B(a,"num"))},
-kx(a){if(typeof a=="number")return a
+kn(a){if(typeof a=="number")return a
 if(a==null)return a
 throw A.a(A.B(a,"num"))},
-kw(a){if(typeof a=="number")return a
+km(a){if(typeof a=="number")return a
 if(a==null)return a
 throw A.a(A.B(a,"num?"))},
-jd(a){return typeof a=="string"},
-fy(a){if(typeof a=="string")return a
+j2(a){return typeof a=="string"},
+fq(a){if(typeof a=="string")return a
 throw A.a(A.B(a,"String"))},
-ky(a){if(typeof a=="string")return a
+ko(a){if(typeof a=="string")return a
 if(a==null)return a
 throw A.a(A.B(a,"String"))},
-iM(a){if(typeof a=="string")return a
+iC(a){if(typeof a=="string")return a
 if(a==null)return a
 throw A.a(A.B(a,"String?"))},
-fM(a,b){var s,r,q
+fE(a,b){var s,r,q
 for(s="",r="",q=0;q<a.length;++q,r=", ")s+=r+A.C(a[q],b)
 return s},
-jk(a,b){var s,r,q,p,o,n,m=a.x,l=a.y
-if(""===m)return"("+A.fM(l,b)+")"
+j9(a,b){var s,r,q,p,o,n,m=a.x,l=a.y
+if(""===m)return"("+A.fE(l,b)+")"
 s=l.length
 r=m.split(",")
 q=r.length-s
@@ -900,9 +890,9 @@
 if(q===0)p+="{"
 p+=A.C(l[n],b)
 if(q>=0)p+=" "+r[q];++q}return p+"})"},
-fF(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=", ",a2=null
+fx(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=", ",a2=null
 if(a5!=null){s=a5.length
-if(a4==null)a4=A.h([],t.s)
+if(a4==null)a4=A.l([],t.s)
 else a2=a4.length
 r=a4.length
 for(q=s;q>0;--q)a4.push("T"+(r+q))
@@ -940,240 +930,240 @@
 r=A.C(s,b)
 q=s.w
 return(q===12||q===13?"("+r+")":r)+"?"}if(m===8)return"FutureOr<"+A.C(a.x,b)+">"
-if(m===9){p=A.js(a.x)
+if(m===9){p=A.jh(a.x)
 o=a.y
-return o.length>0?p+("<"+A.fM(o,b)+">"):p}if(m===11)return A.jk(a,b)
-if(m===12)return A.fF(a,b,null)
-if(m===13)return A.fF(a.x,b,a.y)
+return o.length>0?p+("<"+A.fE(o,b)+">"):p}if(m===11)return A.j9(a,b)
+if(m===12)return A.fx(a,b,null)
+if(m===13)return A.fx(a.x,b,a.y)
 if(m===14){n=a.x
 return b[b.length-1-n]}return"?"},
-js(a){var s=v.mangledGlobalNames[a]
+jh(a){var s=v.mangledGlobalNames[a]
 if(s!=null)return s
 return"minified:"+a},
-is(a,b){var s=a.tR[b]
+ih(a,b){var s=a.tR[b]
 for(;typeof s=="string";)s=a.tR[s]
 return s},
-ir(a,b){var s,r,q,p,o,n=a.eT,m=n[b]
-if(m==null)return A.ch(a,b,!1)
+ig(a,b){var s,r,q,p,o,n=a.eT,m=n[b]
+if(m==null)return A.cc(a,b,!1)
 else if(typeof m=="number"){s=m
-r=A.bh(a,5,"#")
-q=A.dA(s)
+r=A.be(a,5,"#")
+q=A.dx(s)
 for(p=0;p<s;++p)q[p]=r
-o=A.bg(a,b,q)
+o=A.bd(a,b,q)
 n[b]=o
 return o}else return m},
-iq(a,b){return A.fu(a.tR,b)},
-ip(a,b){return A.fu(a.eT,b)},
-ch(a,b,c){var s,r=a.eC,q=r.get(b)
+ie(a,b){return A.fm(a.tR,b)},
+id(a,b){return A.fm(a.eT,b)},
+cc(a,b,c){var s,r=a.eC,q=r.get(b)
 if(q!=null)return q
-s=A.ff(A.fd(a,null,b,c))
+s=A.f7(A.f5(a,null,b,c))
 r.set(b,s)
 return s},
-bi(a,b,c){var s,r,q=b.z
+bf(a,b,c){var s,r,q=b.z
 if(q==null)q=b.z=new Map()
 s=q.get(c)
 if(s!=null)return s
-r=A.ff(A.fd(a,b,c,!0))
+r=A.f7(A.f5(a,b,c,!0))
 q.set(c,r)
 return r},
-fl(a,b,c){var s,r,q,p=b.Q
+fd(a,b,c){var s,r,q,p=b.Q
 if(p==null)p=b.Q=new Map()
 s=c.as
 r=p.get(s)
 if(r!=null)return r
-q=A.em(a,b,c.w===10?c.y:[c])
+q=A.ee(a,b,c.w===10?c.y:[c])
 p.set(s,q)
 return q},
-T(a,b){b.a=A.j0
-b.b=A.j1
+P(a,b){b.a=A.iQ
+b.b=A.iR
 return b},
-bh(a,b,c){var s,r,q=a.eC.get(c)
+be(a,b,c){var s,r,q=a.eC.get(c)
 if(q!=null)return q
-s=new A.G(null,null)
+s=new A.F(null,null)
 s.w=b
 s.as=c
-r=A.T(a,s)
+r=A.P(a,s)
 a.eC.set(c,r)
 return r},
-fk(a,b,c){var s,r=b.as+"*",q=a.eC.get(r)
+fc(a,b,c){var s,r=b.as+"*",q=a.eC.get(r)
 if(q!=null)return q
-s=A.im(a,b,r,c)
+s=A.ib(a,b,r,c)
 a.eC.set(r,s)
 return s},
-im(a,b,c,d){var s,r,q
+ib(a,b,c,d){var s,r,q
 if(d){s=b.w
-if(!A.W(b))r=b===t.P||b===t.T||s===7||s===6
+if(!A.S(b))r=b===t.P||b===t.T||s===7||s===6
 else r=!0
-if(r)return b}q=new A.G(null,null)
+if(r)return b}q=new A.F(null,null)
 q.w=6
 q.x=b
 q.as=c
-return A.T(a,q)},
-eo(a,b,c){var s,r=b.as+"?",q=a.eC.get(r)
+return A.P(a,q)},
+eg(a,b,c){var s,r=b.as+"?",q=a.eC.get(r)
 if(q!=null)return q
-s=A.il(a,b,r,c)
+s=A.ia(a,b,r,c)
 a.eC.set(r,s)
 return s},
-il(a,b,c,d){var s,r,q,p
+ia(a,b,c,d){var s,r,q,p
 if(d){s=b.w
 r=!0
-if(!A.W(b))if(!(b===t.P||b===t.T))if(s!==7)r=s===8&&A.br(b.x)
+if(!A.S(b))if(!(b===t.P||b===t.T))if(s!==7)r=s===8&&A.bm(b.x)
 if(r)return b
 else if(s===1||b===t.A)return t.P
 else if(s===6){q=b.x
-if(q.w===8&&A.br(q.x))return q
-else return A.f1(a,b)}}p=new A.G(null,null)
+if(q.w===8&&A.bm(q.x))return q
+else return A.eU(a,b)}}p=new A.F(null,null)
 p.w=7
 p.x=b
 p.as=c
-return A.T(a,p)},
-fi(a,b,c){var s,r=b.as+"/",q=a.eC.get(r)
+return A.P(a,p)},
+fa(a,b,c){var s,r=b.as+"/",q=a.eC.get(r)
 if(q!=null)return q
-s=A.ij(a,b,r,c)
+s=A.i8(a,b,r,c)
 a.eC.set(r,s)
 return s},
-ij(a,b,c,d){var s,r
+i8(a,b,c,d){var s,r
 if(d){s=b.w
-if(A.W(b)||b===t.K||b===t._)return b
-else if(s===1)return A.bg(a,"a0",[b])
-else if(b===t.P||b===t.T)return t.W}r=new A.G(null,null)
+if(A.S(b)||b===t.K||b===t._)return b
+else if(s===1)return A.bd(a,"Y",[b])
+else if(b===t.P||b===t.T)return t.V}r=new A.F(null,null)
 r.w=8
 r.x=b
 r.as=c
-return A.T(a,r)},
-io(a,b){var s,r,q=""+b+"^",p=a.eC.get(q)
+return A.P(a,r)},
+ic(a,b){var s,r,q=""+b+"^",p=a.eC.get(q)
 if(p!=null)return p
-s=new A.G(null,null)
+s=new A.F(null,null)
 s.w=14
 s.x=b
 s.as=q
-r=A.T(a,s)
+r=A.P(a,s)
 a.eC.set(q,r)
 return r},
-bf(a){var s,r,q,p=a.length
+bc(a){var s,r,q,p=a.length
 for(s="",r="",q=0;q<p;++q,r=",")s+=r+a[q].as
 return s},
-ii(a){var s,r,q,p,o,n=a.length
+i7(a){var s,r,q,p,o,n=a.length
 for(s="",r="",q=0;q<n;q+=3,r=","){p=a[q]
 o=a[q+1]?"!":":"
 s+=r+p+o+a[q+2].as}return s},
-bg(a,b,c){var s,r,q,p=b
-if(c.length>0)p+="<"+A.bf(c)+">"
+bd(a,b,c){var s,r,q,p=b
+if(c.length>0)p+="<"+A.bc(c)+">"
 s=a.eC.get(p)
 if(s!=null)return s
-r=new A.G(null,null)
+r=new A.F(null,null)
 r.w=9
 r.x=b
 r.y=c
 if(c.length>0)r.c=c[0]
 r.as=p
-q=A.T(a,r)
+q=A.P(a,r)
 a.eC.set(p,q)
 return q},
-em(a,b,c){var s,r,q,p,o,n
+ee(a,b,c){var s,r,q,p,o,n
 if(b.w===10){s=b.x
 r=b.y.concat(c)}else{r=c
-s=b}q=s.as+(";<"+A.bf(r)+">")
+s=b}q=s.as+(";<"+A.bc(r)+">")
 p=a.eC.get(q)
 if(p!=null)return p
-o=new A.G(null,null)
+o=new A.F(null,null)
 o.w=10
 o.x=s
 o.y=r
 o.as=q
-n=A.T(a,o)
+n=A.P(a,o)
 a.eC.set(q,n)
 return n},
-fj(a,b,c){var s,r,q="+"+(b+"("+A.bf(c)+")"),p=a.eC.get(q)
+fb(a,b,c){var s,r,q="+"+(b+"("+A.bc(c)+")"),p=a.eC.get(q)
 if(p!=null)return p
-s=new A.G(null,null)
+s=new A.F(null,null)
 s.w=11
 s.x=b
 s.y=c
 s.as=q
-r=A.T(a,s)
+r=A.P(a,s)
 a.eC.set(q,r)
 return r},
-fh(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.bf(m)
+f9(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.bc(m)
 if(j>0){s=l>0?",":""
-g+=s+"["+A.bf(k)+"]"}if(h>0){s=l>0?",":""
-g+=s+"{"+A.ii(i)+"}"}r=n+(g+")")
+g+=s+"["+A.bc(k)+"]"}if(h>0){s=l>0?",":""
+g+=s+"{"+A.i7(i)+"}"}r=n+(g+")")
 q=a.eC.get(r)
 if(q!=null)return q
-p=new A.G(null,null)
+p=new A.F(null,null)
 p.w=12
 p.x=b
 p.y=c
 p.as=r
-o=A.T(a,p)
+o=A.P(a,p)
 a.eC.set(r,o)
 return o},
-en(a,b,c,d){var s,r=b.as+("<"+A.bf(c)+">"),q=a.eC.get(r)
+ef(a,b,c,d){var s,r=b.as+("<"+A.bc(c)+">"),q=a.eC.get(r)
 if(q!=null)return q
-s=A.ik(a,b,c,r,d)
+s=A.i9(a,b,c,r,d)
 a.eC.set(r,s)
 return s},
-ik(a,b,c,d,e){var s,r,q,p,o,n,m,l
+i9(a,b,c,d,e){var s,r,q,p,o,n,m,l
 if(e){s=c.length
-r=A.dA(s)
+r=A.dx(s)
 for(q=0,p=0;p<s;++p){o=c[p]
-if(o.w===1){r[p]=o;++q}}if(q>0){n=A.a9(a,b,r,0)
-m=A.aA(a,c,r,0)
-return A.en(a,n,m,c!==m)}}l=new A.G(null,null)
+if(o.w===1){r[p]=o;++q}}if(q>0){n=A.a7(a,b,r,0)
+m=A.ax(a,c,r,0)
+return A.ef(a,n,m,c!==m)}}l=new A.F(null,null)
 l.w=13
 l.x=b
 l.y=c
 l.as=d
-return A.T(a,l)},
-fd(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}},
-ff(a){var s,r,q,p,o,n,m,l=a.r,k=a.s
+return A.P(a,l)},
+f5(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}},
+f7(a){var s,r,q,p,o,n,m,l=a.r,k=a.s
 for(s=l.length,r=0;r<s;){q=l.charCodeAt(r)
-if(q>=48&&q<=57)r=A.ia(r+1,q,l,k)
-else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.fe(a,r,l,k,!1)
-else if(q===46)r=A.fe(a,r,l,k,!0)
+if(q>=48&&q<=57)r=A.i0(r+1,q,l,k)
+else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.f6(a,r,l,k,!1)
+else if(q===46)r=A.f6(a,r,l,k,!0)
 else{++r
 switch(q){case 44:break
 case 58:k.push(!1)
 break
 case 33:k.push(!0)
 break
-case 59:k.push(A.a6(a.u,a.e,k.pop()))
+case 59:k.push(A.a3(a.u,a.e,k.pop()))
 break
-case 94:k.push(A.io(a.u,k.pop()))
+case 94:k.push(A.ic(a.u,k.pop()))
 break
-case 35:k.push(A.bh(a.u,5,"#"))
+case 35:k.push(A.be(a.u,5,"#"))
 break
-case 64:k.push(A.bh(a.u,2,"@"))
+case 64:k.push(A.be(a.u,2,"@"))
 break
-case 126:k.push(A.bh(a.u,3,"~"))
+case 126:k.push(A.be(a.u,3,"~"))
 break
 case 60:k.push(a.p)
 a.p=k.length
 break
-case 62:A.ic(a,k)
+case 62:A.i2(a,k)
 break
-case 38:A.ib(a,k)
+case 38:A.i1(a,k)
 break
 case 42:p=a.u
-k.push(A.fk(p,A.a6(p,a.e,k.pop()),a.n))
+k.push(A.fc(p,A.a3(p,a.e,k.pop()),a.n))
 break
 case 63:p=a.u
-k.push(A.eo(p,A.a6(p,a.e,k.pop()),a.n))
+k.push(A.eg(p,A.a3(p,a.e,k.pop()),a.n))
 break
 case 47:p=a.u
-k.push(A.fi(p,A.a6(p,a.e,k.pop()),a.n))
+k.push(A.fa(p,A.a3(p,a.e,k.pop()),a.n))
 break
 case 40:k.push(-3)
 k.push(a.p)
 a.p=k.length
 break
-case 41:A.i9(a,k)
+case 41:A.i_(a,k)
 break
 case 91:k.push(a.p)
 a.p=k.length
 break
 case 93:o=k.splice(a.p)
-A.fg(a.u,a.e,o)
+A.f8(a.u,a.e,o)
 a.p=k.pop()
 k.push(o)
 k.push(-1)
@@ -1182,7 +1172,7 @@
 a.p=k.length
 break
 case 125:o=k.splice(a.p)
-A.ie(a.u,a.e,o)
+A.i4(a.u,a.e,o)
 a.p=k.pop()
 k.push(o)
 k.push(-2)
@@ -1195,13 +1185,13 @@
 r=n+1
 break
 default:throw"Bad character "+q}}}m=k.pop()
-return A.a6(a.u,a.e,m)},
-ia(a,b,c,d){var s,r,q=b-48
+return A.a3(a.u,a.e,m)},
+i0(a,b,c,d){var s,r,q=b-48
 for(s=c.length;a<s;++a){r=c.charCodeAt(a)
 if(!(r>=48&&r<=57))break
 q=q*10+(r-48)}d.push(q)
 return a},
-fe(a,b,c,d,e){var s,r,q,p,o,n,m=b+1
+f6(a,b,c,d,e){var s,r,q,p,o,n,m=b+1
 for(s=c.length;m<s;++m){r=c.charCodeAt(m)
 if(r===46){if(e)break
 e=!0}else{if(!((((r|32)>>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57
@@ -1210,55 +1200,55 @@
 if(e){s=a.u
 o=a.e
 if(o.w===10)o=o.x
-n=A.is(s,o.x)[p]
-if(n==null)A.h0('No "'+p+'" in "'+A.hY(o)+'"')
-d.push(A.bi(s,o,n))}else d.push(p)
+n=A.ih(s,o.x)[p]
+if(n==null)A.fT('No "'+p+'" in "'+A.hN(o)+'"')
+d.push(A.bf(s,o,n))}else d.push(p)
 return m},
-ic(a,b){var s,r=a.u,q=A.fc(a,b),p=b.pop()
-if(typeof p=="string")b.push(A.bg(r,p,q))
-else{s=A.a6(r,a.e,p)
-switch(s.w){case 12:b.push(A.en(r,s,q,a.n))
+i2(a,b){var s,r=a.u,q=A.f4(a,b),p=b.pop()
+if(typeof p=="string")b.push(A.bd(r,p,q))
+else{s=A.a3(r,a.e,p)
+switch(s.w){case 12:b.push(A.ef(r,s,q,a.n))
 break
-default:b.push(A.em(r,s,q))
+default:b.push(A.ee(r,s,q))
 break}}},
-i9(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null
+i_(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null
 if(typeof o=="number")switch(o){case-1:n=b.pop()
 break
 case-2:m=b.pop()
 break
 default:b.push(o)
 break}else b.push(o)
-s=A.fc(a,b)
+s=A.f4(a,b)
 o=b.pop()
 switch(o){case-3:o=b.pop()
 if(n==null)n=p.sEA
 if(m==null)m=p.sEA
-r=A.a6(p,a.e,o)
-q=new A.c7()
+r=A.a3(p,a.e,o)
+q=new A.c2()
 q.a=s
 q.b=n
 q.c=m
-b.push(A.fh(p,r,q))
+b.push(A.f9(p,r,q))
 return
-case-4:b.push(A.fj(p,b.pop(),s))
+case-4:b.push(A.fb(p,b.pop(),s))
 return
-default:throw A.a(A.bw("Unexpected state under `()`: "+A.i(o)))}},
-ib(a,b){var s=b.pop()
-if(0===s){b.push(A.bh(a.u,1,"0&"))
-return}if(1===s){b.push(A.bh(a.u,4,"1&"))
-return}throw A.a(A.bw("Unexpected extended operation "+A.i(s)))},
-fc(a,b){var s=b.splice(a.p)
-A.fg(a.u,a.e,s)
+default:throw A.a(A.bq("Unexpected state under `()`: "+A.h(o)))}},
+i1(a,b){var s=b.pop()
+if(0===s){b.push(A.be(a.u,1,"0&"))
+return}if(1===s){b.push(A.be(a.u,4,"1&"))
+return}throw A.a(A.bq("Unexpected extended operation "+A.h(s)))},
+f4(a,b){var s=b.splice(a.p)
+A.f8(a.u,a.e,s)
 a.p=b.pop()
 return s},
-a6(a,b,c){if(typeof c=="string")return A.bg(a,c,a.sEA)
+a3(a,b,c){if(typeof c=="string")return A.bd(a,c,a.sEA)
 else if(typeof c=="number"){b.toString
-return A.id(a,b,c)}else return c},
-fg(a,b,c){var s,r=c.length
-for(s=0;s<r;++s)c[s]=A.a6(a,b,c[s])},
-ie(a,b,c){var s,r=c.length
-for(s=2;s<r;s+=3)c[s]=A.a6(a,b,c[s])},
-id(a,b,c){var s,r,q=b.w
+return A.i3(a,b,c)}else return c},
+f8(a,b,c){var s,r=c.length
+for(s=0;s<r;++s)c[s]=A.a3(a,b,c[s])},
+i4(a,b,c){var s,r=c.length
+for(s=2;s<r;s+=3)c[s]=A.a3(a,b,c[s])},
+i3(a,b,c){var s,r,q=b.w
 if(q===10){if(c===0)return b.x
 s=b.y
 r=s.length
@@ -1266,41 +1256,41 @@
 c-=r
 b=b.x
 q=b.w}else if(c===0)return b
-if(q!==9)throw A.a(A.bw("Indexed base must be an interface type"))
+if(q!==9)throw A.a(A.bq("Indexed base must be an interface type"))
 s=b.y
 if(c<=s.length)return s[c-1]
-throw A.a(A.bw("Bad index "+c+" for "+b.h(0)))},
-jP(a,b,c){var s,r=b.d
+throw A.a(A.bq("Bad index "+c+" for "+b.h(0)))},
+jF(a,b,c){var s,r=b.d
 if(r==null)r=b.d=new Map()
 s=r.get(c)
-if(s==null){s=A.r(a,b,null,c,null,!1)?1:0
+if(s==null){s=A.q(a,b,null,c,null,!1)?1:0
 r.set(c,s)}if(0===s)return!1
 if(1===s)return!0
 return!0},
-r(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k,j,i
+q(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k,j,i
 if(b===d)return!0
-if(!A.W(d))s=d===t._
+if(!A.S(d))s=d===t._
 else s=!0
 if(s)return!0
 r=b.w
 if(r===4)return!0
-if(A.W(b))return!1
+if(A.S(b))return!1
 s=b.w
 if(s===1)return!0
 q=r===14
-if(q)if(A.r(a,c[b.x],c,d,e,!1))return!0
+if(q)if(A.q(a,c[b.x],c,d,e,!1))return!0
 p=d.w
 s=b===t.P||b===t.T
-if(s){if(p===8)return A.r(a,b,c,d.x,e,!1)
-return d===t.P||d===t.T||p===7||p===6}if(d===t.K){if(r===8)return A.r(a,b.x,c,d,e,!1)
-if(r===6)return A.r(a,b.x,c,d,e,!1)
-return r!==7}if(r===6)return A.r(a,b.x,c,d,e,!1)
-if(p===6){s=A.f1(a,d)
-return A.r(a,b,c,s,e,!1)}if(r===8){if(!A.r(a,b.x,c,d,e,!1))return!1
-return A.r(a,A.ei(a,b),c,d,e,!1)}if(r===7){s=A.r(a,t.P,c,d,e,!1)
-return s&&A.r(a,b.x,c,d,e,!1)}if(p===8){if(A.r(a,b,c,d.x,e,!1))return!0
-return A.r(a,b,c,A.ei(a,d),e,!1)}if(p===7){s=A.r(a,b,c,t.P,e,!1)
-return s||A.r(a,b,c,d.x,e,!1)}if(q)return!1
+if(s){if(p===8)return A.q(a,b,c,d.x,e,!1)
+return d===t.P||d===t.T||p===7||p===6}if(d===t.K){if(r===8)return A.q(a,b.x,c,d,e,!1)
+if(r===6)return A.q(a,b.x,c,d,e,!1)
+return r!==7}if(r===6)return A.q(a,b.x,c,d,e,!1)
+if(p===6){s=A.eU(a,d)
+return A.q(a,b,c,s,e,!1)}if(r===8){if(!A.q(a,b.x,c,d,e,!1))return!1
+return A.q(a,A.ea(a,b),c,d,e,!1)}if(r===7){s=A.q(a,t.P,c,d,e,!1)
+return s&&A.q(a,b.x,c,d,e,!1)}if(p===8){if(A.q(a,b,c,d.x,e,!1))return!0
+return A.q(a,b,c,A.ea(a,d),e,!1)}if(p===7){s=A.q(a,b,c,t.P,e,!1)
+return s||A.q(a,b,c,d.x,e,!1)}if(q)return!1
 s=r!==12
 if((!s||r===13)&&d===t.Z)return!0
 o=r===11
@@ -1315,13 +1305,13 @@
 e=e==null?m:m.concat(e)
 for(k=0;k<l;++k){j=n[k]
 i=m[k]
-if(!A.r(a,j,c,i,e,!1)||!A.r(a,i,e,j,c,!1))return!1}return A.fG(a,b.x,c,d.x,e,!1)}if(p===12){if(b===t.g)return!0
+if(!A.q(a,j,c,i,e,!1)||!A.q(a,i,e,j,c,!1))return!1}return A.fy(a,b.x,c,d.x,e,!1)}if(p===12){if(b===t.g)return!0
 if(s)return!1
-return A.fG(a,b,c,d,e,!1)}if(r===9){if(p!==9)return!1
-return A.j8(a,b,c,d,e,!1)}if(o&&p===11)return A.jc(a,b,c,d,e,!1)
+return A.fy(a,b,c,d,e,!1)}if(r===9){if(p!==9)return!1
+return A.iY(a,b,c,d,e,!1)}if(o&&p===11)return A.j1(a,b,c,d,e,!1)
 return!1},
-fG(a3,a4,a5,a6,a7,a8){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2
-if(!A.r(a3,a4.x,a5,a6.x,a7,!1))return!1
+fy(a3,a4,a5,a6,a7,a8){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2
+if(!A.q(a3,a4.x,a5,a6.x,a7,!1))return!1
 s=a4.y
 r=a6.y
 q=s.a
@@ -1336,9 +1326,9 @@
 i=k.length
 if(o+j<n+i)return!1
 for(h=0;h<o;++h){g=q[h]
-if(!A.r(a3,p[h],a7,g,a5,!1))return!1}for(h=0;h<m;++h){g=l[h]
-if(!A.r(a3,p[o+h],a7,g,a5,!1))return!1}for(h=0;h<i;++h){g=l[m+h]
-if(!A.r(a3,k[h],a7,g,a5,!1))return!1}f=s.c
+if(!A.q(a3,p[h],a7,g,a5,!1))return!1}for(h=0;h<m;++h){g=l[h]
+if(!A.q(a3,p[o+h],a7,g,a5,!1))return!1}for(h=0;h<i;++h){g=l[m+h]
+if(!A.q(a3,k[h],a7,g,a5,!1))return!1}f=s.c
 e=r.c
 d=f.length
 c=e.length
@@ -1352,10 +1342,10 @@
 continue}g=e[a+1]
 if(a2&&!g)return!1
 g=f[b-1]
-if(!A.r(a3,e[a+2],a7,g,a5,!1))return!1
+if(!A.q(a3,e[a+2],a7,g,a5,!1))return!1
 break}}for(;b<d;){if(f[b+1])return!1
 b+=3}return!0},
-j8(a,b,c,d,e,f){var s,r,q,p,o,n=b.x,m=d.x
+iY(a,b,c,d,e,f){var s,r,q,p,o,n=b.x,m=d.x
 for(;n!==m;){s=a.tR[n]
 if(s==null)return!1
 if(typeof s=="string"){n=s
@@ -1363,86 +1353,86 @@
 if(r==null)return!1
 q=r.length
 p=q>0?new Array(q):v.typeUniverse.sEA
-for(o=0;o<q;++o)p[o]=A.bi(a,b,r[o])
-return A.fv(a,p,null,c,d.y,e,!1)}return A.fv(a,b.y,null,c,d.y,e,!1)},
-fv(a,b,c,d,e,f,g){var s,r=b.length
-for(s=0;s<r;++s)if(!A.r(a,b[s],d,e[s],f,!1))return!1
+for(o=0;o<q;++o)p[o]=A.bf(a,b,r[o])
+return A.fn(a,p,null,c,d.y,e,!1)}return A.fn(a,b.y,null,c,d.y,e,!1)},
+fn(a,b,c,d,e,f,g){var s,r=b.length
+for(s=0;s<r;++s)if(!A.q(a,b[s],d,e[s],f,!1))return!1
 return!0},
-jc(a,b,c,d,e,f){var s,r=b.y,q=d.y,p=r.length
+j1(a,b,c,d,e,f){var s,r=b.y,q=d.y,p=r.length
 if(p!==q.length)return!1
 if(b.x!==d.x)return!1
-for(s=0;s<p;++s)if(!A.r(a,r[s],c,q[s],e,!1))return!1
+for(s=0;s<p;++s)if(!A.q(a,r[s],c,q[s],e,!1))return!1
 return!0},
-br(a){var s=a.w,r=!0
-if(!(a===t.P||a===t.T))if(!A.W(a))if(s!==7)if(!(s===6&&A.br(a.x)))r=s===8&&A.br(a.x)
+bm(a){var s=a.w,r=!0
+if(!(a===t.P||a===t.T))if(!A.S(a))if(s!==7)if(!(s===6&&A.bm(a.x)))r=s===8&&A.bm(a.x)
 return r},
-jO(a){var s
-if(!A.W(a))s=a===t._
+jD(a){var s
+if(!A.S(a))s=a===t._
 else s=!0
 return s},
-W(a){var s=a.w
+S(a){var s=a.w
 return s===2||s===3||s===4||s===5||a===t.X},
-fu(a,b){var s,r,q=Object.keys(b),p=q.length
+fm(a,b){var s,r,q=Object.keys(b),p=q.length
 for(s=0;s<p;++s){r=q[s]
 a[r]=b[r]}},
-dA(a){return a>0?new Array(a):v.typeUniverse.sEA},
-G:function G(a,b){var _=this
+dx(a){return a>0?new Array(a):v.typeUniverse.sEA},
+F:function F(a,b){var _=this
 _.a=a
 _.b=b
 _.r=_.f=_.d=_.c=null
 _.w=0
 _.as=_.Q=_.z=_.y=_.x=null},
-c7:function c7(){this.c=this.b=this.a=null},
-ds:function ds(a){this.a=a},
-c6:function c6(){},
-be:function be(a){this.a=a},
-i5(){var s,r,q={}
-if(self.scheduleImmediate!=null)return A.jv()
+c2:function c2(){this.c=this.b=this.a=null},
+dp:function dp(a){this.a=a},
+c1:function c1(){},
+bb:function bb(a){this.a=a},
+hW(){var s,r,q={}
+if(self.scheduleImmediate!=null)return A.jk()
 if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div")
 r=self.document.createElement("span")
 q.a=null
-new self.MutationObserver(A.aC(new A.cY(q),1)).observe(s,{childList:true})
-return new A.cX(q,s,r)}else if(self.setImmediate!=null)return A.jw()
-return A.jx()},
-i6(a){self.scheduleImmediate(A.aC(new A.cZ(a),0))},
-i7(a){self.setImmediate(A.aC(new A.d_(a),0))},
-i8(a){A.ig(0,a)},
-ig(a,b){var s=new A.dq()
-s.ba(a,b)
+new self.MutationObserver(A.az(new A.cV(q),1)).observe(s,{childList:true})
+return new A.cU(q,s,r)}else if(self.setImmediate!=null)return A.jl()
+return A.jm()},
+hX(a){self.scheduleImmediate(A.az(new A.cW(a),0))},
+hY(a){self.setImmediate(A.az(new A.cX(a),0))},
+hZ(a){A.i5(0,a)},
+i5(a,b){var s=new A.dm()
+s.b9(a,b)
 return s},
-fK(a){return new A.c1(new A.v($.q,a.j("v<0>")),a.j("c1<0>"))},
-fC(a,b){a.$2(0,null)
+fC(a){return new A.bX(new A.v($.o,a.j("v<0>")),a.j("bX<0>"))},
+fu(a,b){a.$2(0,null)
 b.b=!0
 return b.a},
-fz(a,b){A.iO(a,b)},
-fB(a,b){b.ae(a)},
-fA(a,b){b.af(A.X(a),A.aa(a))},
-iO(a,b){var s,r,q=new A.dC(b),p=new A.dD(b)
+fr(a,b){A.iE(a,b)},
+ft(a,b){b.ae(a)},
+fs(a,b){b.af(A.T(a),A.a8(a))},
+iE(a,b){var s,r,q=new A.dz(b),p=new A.dA(b)
 if(a instanceof A.v)a.aD(q,p,t.z)
 else{s=t.z
-if(a instanceof A.v)a.a2(q,p,s)
-else{r=new A.v($.q,t.e)
+if(a instanceof A.v)a.a1(q,p,s)
+else{r=new A.v($.o,t.e)
 r.a=8
 r.c=a
 r.aD(q,p,s)}}},
-fR(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e)
+fJ(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e)
 break}catch(r){e=r
 d=c}}}}(a,1)
-return $.q.aX(new A.dQ(s))},
-e9(a){var s
+return $.o.aX(new A.dK(s))},
+e1(a){var s
 if(t.C.b(a)){s=a.gK()
 if(s!=null)return s}return B.f},
-j3(a,b){if($.q===B.c)return null
+iT(a,b){if($.o===B.b)return null
 return null},
-j4(a,b){if($.q!==B.c)A.j3(a,b)
+iU(a,b){if($.o!==B.b)A.iT(a,b)
 if(b==null)if(t.C.b(a)){b=a.gK()
-if(b==null){A.f_(a,B.f)
+if(b==null){A.eS(a,B.f)
 b=B.f}}else b=B.f
-else if(t.C.b(a))A.f_(a,b)
-return new A.a_(a,b)},
-ek(a,b,c){var s,r,q,p={},o=p.a=a
+else if(t.C.b(a))A.eS(a,b)
+return new A.X(a,b)},
+ec(a,b,c){var s,r,q,p={},o=p.a=a
 for(;s=o.a,(s&4)!==0;){o=o.c
-p.a=o}if(o===b){b.a6(new A.I(!0,o,null,"Cannot complete a future with itself"),A.hZ())
+p.a=o}if(o===b){b.a5(new A.H(!0,o,null,"Cannot complete a future with itself"),A.hO())
 return}r=b.a&1
 s=o.a=s|r
 if((s&24)===0){q=b.c
@@ -1454,19 +1444,19 @@
 else o=!0
 if(o){q=b.U()
 b.T(p.a)
-A.aw(b,q)
+A.at(b,q)
 return}b.a^=2
-A.az(null,null,b.b,new A.d5(p,b))},
-aw(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g={},f=g.a=a
+A.aw(null,null,b.b,new A.d2(p,b))},
+at(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g={},f=g.a=a
 for(;!0;){s={}
 r=f.a
 q=(r&16)===0
 p=!q
 if(b==null){if(p&&(r&1)===0){f=f.c
-A.ey(f.a,f.b)}return}s.a=b
+A.eq(f.a,f.b)}return}s.a=b
 o=b.a
 for(f=b;o!=null;f=o,o=n){f.a=null
-A.aw(g.a,f)
+A.at(g.a,f)
 s.a=o
 n=o.a}r=g.a
 m=r.c
@@ -1477,17 +1467,17 @@
 if(l){k=f.b.b
 if(p){r=r.b===k
 r=!(r||r)}else r=!1
-if(r){A.ey(m.a,m.b)
-return}j=$.q
-if(j!==k)$.q=k
+if(r){A.eq(m.a,m.b)
+return}j=$.o
+if(j!==k)$.o=k
 else j=null
 f=f.c
-if((f&15)===8)new A.dc(s,g,p).$0()
-else if(q){if((f&1)!==0)new A.db(s,m).$0()}else if((f&2)!==0)new A.da(g,s).$0()
-if(j!=null)$.q=j
+if((f&15)===8)new A.d9(s,g,p).$0()
+else if(q){if((f&1)!==0)new A.d8(s,m).$0()}else if((f&2)!==0)new A.d7(g,s).$0()
+if(j!=null)$.o=j
 f=s.c
 if(f instanceof A.v){r=s.a.$ti
-r=r.j("a0<2>").b(f)||!r.y[1].b(f)}else r=!1
+r=r.j("Y<2>").b(f)||!r.y[1].b(f)}else r=!1
 if(r){i=s.a.b
 if((f.a&24)!==0){h=i.c
 i.c=null
@@ -1495,7 +1485,7 @@
 i.a=f.a&30|i.a&1
 i.c=f.c
 g.a=f
-continue}else A.ek(f,i,!0)
+continue}else A.ec(f,i,!0)
 return}}i=s.a.b
 h=i.c
 i.c=null
@@ -1506,79 +1496,79 @@
 i.c=r}else{i.a=i.a&1|16
 i.c=r}g.a=i
 f=i}},
-jl(a,b){if(t.Q.b(a))return b.aX(a)
+ja(a,b){if(t.Q.b(a))return b.aX(a)
 if(t.v.b(a))return a
-throw A.a(A.eL(a,"onError",u.c))},
-ji(){var s,r
-for(s=$.ay;s!=null;s=$.ay){$.bp=null
+throw A.a(A.eE(a,"onError",u.c))},
+j7(){var s,r
+for(s=$.av;s!=null;s=$.av){$.bl=null
 r=s.b
-$.ay=r
-if(r==null)$.bo=null
+$.av=r
+if(r==null)$.bk=null
 s.a.$0()}},
-jp(){$.ex=!0
-try{A.ji()}finally{$.bp=null
-$.ex=!1
-if($.ay!=null)$.eK().$1(A.fT())}},
-fO(a){var s=new A.c2(a),r=$.bo
-if(r==null){$.ay=$.bo=s
-if(!$.ex)$.eK().$1(A.fT())}else $.bo=r.b=s},
-jo(a){var s,r,q,p=$.ay
-if(p==null){A.fO(a)
-$.bp=$.bo
-return}s=new A.c2(a)
-r=$.bp
+je(){$.ep=!0
+try{A.j7()}finally{$.bl=null
+$.ep=!1
+if($.av!=null)$.eC().$1(A.fL())}},
+fG(a){var s=new A.bY(a),r=$.bk
+if(r==null){$.av=$.bk=s
+if(!$.ep)$.eC().$1(A.fL())}else $.bk=r.b=s},
+jd(a){var s,r,q,p=$.av
+if(p==null){A.fG(a)
+$.bl=$.bk
+return}s=new A.bY(a)
+r=$.bl
 if(r==null){s.b=p
-$.ay=$.bp=s}else{q=r.b
+$.av=$.bl=s}else{q=r.b
 s.b=q
-$.bp=r.b=s
-if(q==null)$.bo=s}},
-jW(a){var s=null,r=$.q
-if(B.c===r){A.az(s,s,B.c,a)
-return}A.az(s,s,r,r.aF(a))},
-k6(a){A.eB(a,"stream",t.K)
-return new A.cf()},
-ey(a,b){A.jo(new A.dO(a,b))},
-fL(a,b,c,d){var s,r=$.q
+$.bl=r.b=s
+if(q==null)$.bk=s}},
+jM(a){var s=null,r=$.o
+if(B.b===r){A.aw(s,s,B.b,a)
+return}A.aw(s,s,r,r.aF(a))},
+jX(a){A.et(a,"stream",t.K)
+return new A.ca()},
+eq(a,b){A.jd(new A.dI(a,b))},
+fD(a,b,c,d){var s,r=$.o
 if(r===c)return d.$0()
-$.q=c
+$.o=c
 s=r
 try{r=d.$0()
-return r}finally{$.q=s}},
-jn(a,b,c,d,e){var s,r=$.q
+return r}finally{$.o=s}},
+jc(a,b,c,d,e){var s,r=$.o
 if(r===c)return d.$1(e)
-$.q=c
+$.o=c
 s=r
 try{r=d.$1(e)
-return r}finally{$.q=s}},
-jm(a,b,c,d,e,f){var s,r=$.q
+return r}finally{$.o=s}},
+jb(a,b,c,d,e,f){var s,r=$.o
 if(r===c)return d.$2(e,f)
-$.q=c
+$.o=c
 s=r
 try{r=d.$2(e,f)
-return r}finally{$.q=s}},
-az(a,b,c,d){if(B.c!==c)d=c.aF(d)
-A.fO(d)},
-cY:function cY(a){this.a=a},
-cX:function cX(a,b,c){this.a=a
+return r}finally{$.o=s}},
+aw(a,b,c,d){if(B.b!==c)d=c.aF(d)
+A.fG(d)},
+cV:function cV(a){this.a=a},
+cU:function cU(a,b,c){this.a=a
 this.b=b
 this.c=c},
-cZ:function cZ(a){this.a=a},
-d_:function d_(a){this.a=a},
-dq:function dq(){},
-dr:function dr(a,b){this.a=a
+cW:function cW(a){this.a=a},
+cX:function cX(a){this.a=a},
+dm:function dm(){},
+dn:function dn(a,b){this.a=a
 this.b=b},
-c1:function c1(a,b){this.a=a
+bX:function bX(a,b){this.a=a
 this.b=!1
 this.$ti=b},
-dC:function dC(a){this.a=a},
-dD:function dD(a){this.a=a},
-dQ:function dQ(a){this.a=a},
-a_:function a_(a,b){this.a=a
+dz:function dz(a){this.a=a},
+dA:function dA(a){this.a=a},
+dK:function dK(a){this.a=a},
+X:function X(a,b){this.a=a
 this.b=b},
-c3:function c3(){},
-b5:function b5(a,b){this.a=a
+bZ:function bZ(){},
+b2:function b2(a,b){this.a=a
 this.$ti=b},
-av:function av(a,b,c,d,e){var _=this
+as:function as(a,b,c,d,e){var _=this
 _.a=null
 _.b=a
 _.c=b
@@ -1590,93 +1580,93 @@
 _.b=a
 _.c=null
 _.$ti=b},
+d_:function d_(a,b){this.a=a
+this.b=b},
+d6:function d6(a,b){this.a=a
+this.b=b},
+d3:function d3(a){this.a=a},
+d4:function d4(a){this.a=a},
+d5:function d5(a,b,c){this.a=a
+this.b=b
+this.c=c},
 d2:function d2(a,b){this.a=a
 this.b=b},
-d9:function d9(a,b){this.a=a
+d1:function d1(a,b){this.a=a
 this.b=b},
-d6:function d6(a){this.a=a},
-d7:function d7(a){this.a=a},
-d8:function d8(a,b,c){this.a=a
+d0:function d0(a,b,c){this.a=a
 this.b=b
 this.c=c},
-d5:function d5(a,b){this.a=a
-this.b=b},
-d4:function d4(a,b){this.a=a
-this.b=b},
-d3:function d3(a,b,c){this.a=a
+d9:function d9(a,b,c){this.a=a
 this.b=b
 this.c=c},
-dc:function dc(a,b,c){this.a=a
-this.b=b
-this.c=c},
-dd:function dd(a,b){this.a=a
-this.b=b},
-de:function de(a){this.a=a},
-db:function db(a,b){this.a=a
-this.b=b},
 da:function da(a,b){this.a=a
 this.b=b},
-c2:function c2(a){this.a=a
+db:function db(a){this.a=a},
+d8:function d8(a,b){this.a=a
+this.b=b},
+d7:function d7(a,b){this.a=a
+this.b=b},
+bY:function bY(a){this.a=a
 this.b=null},
-cf:function cf(){},
-dB:function dB(){},
-dO:function dO(a,b){this.a=a
+ca:function ca(){},
+dy:function dy(){},
+dI:function dI(a,b){this.a=a
 this.b=b},
-dh:function dh(){},
-di:function di(a,b){this.a=a
+de:function de(){},
+df:function df(a,b){this.a=a
 this.b=b},
-eU(a,b,c){return A.jD(a,new A.ag(b.j("@<0>").B(c).j("ag<1,2>")))},
-ee(a,b){return new A.ag(a.j("@<0>").B(b).j("ag<1,2>"))},
-hH(a){var s,r=A.a7(a),q=new J.Z(a,a.length,r.j("Z<1>"))
+eM(a,b,c){return A.js(a,new A.ad(b.j("@<0>").C(c).j("ad<1,2>")))},
+e6(a,b){return new A.ad(a.j("@<0>").C(b).j("ad<1,2>"))},
+hx(a){var s,r=A.a4(a),q=new J.W(a,a.length,r.j("W<1>"))
 if(q.m()){s=q.d
 return s==null?r.c.a(s):s}return null},
-ef(a){var s,r={}
-if(A.eG(a))return"{...}"
+e7(a){var s,r={}
+if(A.ey(a))return"{...}"
 s=new A.z("")
-try{$.am.push(a)
+try{$.aj.push(a)
 s.a+="{"
 r.a=!0
-a.F(0,new A.cE(r,s))
-s.a+="}"}finally{$.am.pop()}r=s.a
+a.F(0,new A.cA(r,s))
+s.a+="}"}finally{$.aj.pop()}r=s.a
 return r.charCodeAt(0)==0?r:r},
 e:function e(){},
-P:function P(){},
-cE:function cE(a,b){this.a=a
+L:function L(){},
+cA:function cA(a,b){this.a=a
 this.b=b},
-ci:function ci(){},
-aU:function aU(){},
-au:function au(a,b){this.a=a
+cd:function cd(){},
+aT:function aT(){},
+ar:function ar(a,b){this.a=a
 this.$ti=b},
-ar:function ar(){},
-bj:function bj(){},
-jj(a,b){var s,r,q,p=null
-try{p=JSON.parse(a)}catch(r){s=A.X(r)
+ao:function ao(){},
+bg:function bg(){},
+j8(a,b){var s,r,q,p=null
+try{p=JSON.parse(a)}catch(r){s=A.T(r)
 q=A.x(String(s),null,null)
-throw A.a(q)}q=A.dE(p)
+throw A.a(q)}q=A.dB(p)
 return q},
-dE(a){var s
+dB(a){var s
 if(a==null)return null
 if(typeof a!="object")return a
-if(!Array.isArray(a))return new A.c8(a,Object.create(null))
-for(s=0;s<a.length;++s)a[s]=A.dE(a[s])
+if(!Array.isArray(a))return new A.c3(a,Object.create(null))
+for(s=0;s<a.length;++s)a[s]=A.dB(a[s])
 return a},
-iJ(a,b,c){var s,r,q,p,o=c-b
-if(o<=4096)s=$.hh()
+iz(a,b,c){var s,r,q,p,o=c-b
+if(o<=4096)s=$.h9()
 else s=new Uint8Array(o)
-for(r=J.ck(a),q=0;q<o;++q){p=r.k(a,b+q)
+for(r=J.cg(a),q=0;q<o;++q){p=r.k(a,b+q)
 if((p&255)!==p)p=255
 s[q]=p}return s},
-iI(a,b,c,d){var s=a?$.hg():$.hf()
+iy(a,b,c,d){var s=a?$.h8():$.h7()
 if(s==null)return null
-if(0===c&&d===b.length)return A.ft(s,b)
-return A.ft(s,b.subarray(c,d))},
-ft(a,b){var s,r
+if(0===c&&d===b.length)return A.fl(s,b)
+return A.fl(s,b.subarray(c,d))},
+fl(a,b){var s,r
 try{s=a.decode(b)
 return s}catch(r){}return null},
-eM(a,b,c,d,e,f){if(B.b.a3(f,4)!==0)throw A.a(A.x("Invalid base64 padding, padded length must be multiple of four, is "+f,a,c))
+eF(a,b,c,d,e,f){if(B.d.a2(f,4)!==0)throw A.a(A.x("Invalid base64 padding, padded length must be multiple of four, is "+f,a,c))
 if(d+e!==f)throw A.a(A.x("Invalid base64 padding, '=' not at the end",a,b))
 if(e>2)throw A.a(A.x("Invalid base64 padding, more than two '=' characters",a,b))},
-iK(a){switch(a){case 65:return"Missing extension byte"
+iA(a){switch(a){case 65:return"Missing extension byte"
 case 67:return"Unexpected extension byte"
 case 69:return"Invalid UTF-8 byte"
 case 71:return"Overlong encoding"
@@ -1684,135 +1674,135 @@
 case 75:return"Encoded surrogate"
 case 77:return"Unfinished UTF-8 octet sequence"
 default:return""}},
-c8:function c8(a,b){this.a=a
+c3:function c3(a,b){this.a=a
 this.b=b
 this.c=null},
-c9:function c9(a){this.a=a},
-dy:function dy(){},
-dx:function dx(){},
-cl:function cl(){},
-cm:function cm(){},
-bz:function bz(){},
-bB:function bB(){},
+c4:function c4(a){this.a=a},
+dv:function dv(){},
+du:function du(){},
+ci:function ci(){},
+cj:function cj(){},
+bt:function bt(){},
+bv:function bv(){},
+cn:function cn(){},
 cq:function cq(){},
-ct:function ct(){},
-cs:function cs(){},
-cB:function cB(){},
-cC:function cC(a){this.a=a},
-cT:function cT(){},
-cV:function cV(){},
-dz:function dz(a){this.b=0
+cp:function cp(){},
+cx:function cx(){},
+cy:function cy(a){this.a=a},
+cQ:function cQ(){},
+cS:function cS(){},
+dw:function dw(a){this.b=0
 this.c=a},
-cU:function cU(a){this.a=a},
-dw:function dw(a){this.a=a
+cR:function cR(a){this.a=a},
+dt:function dt(a){this.a=a
 this.b=16
 this.c=0},
-e0(a,b){var s=A.eY(a,b)
+dU(a,b){var s=A.eQ(a,b)
 if(s!=null)return s
 throw A.a(A.x(a,null,null))},
-hy(a,b){a=A.a(a)
+ho(a,b){a=A.a(a)
 a.stack=b.h(0)
 throw a
 throw A.a("unreachable")},
-eV(a,b,c,d){var s,r=c?J.hL(a,d):J.hK(a,d)
+eN(a,b,c,d){var s,r=c?J.hB(a,d):J.hA(a,d)
 if(a!==0&&b!=null)for(s=0;s<r.length;++s)r[s]=b
 return r},
-hP(a,b,c){var s,r,q=A.h([],c.j("p<0>"))
-for(s=a.length,r=0;r<a.length;a.length===s||(0,A.e6)(a),++r)q.push(a[r])
+hF(a,b,c){var s,r,q=A.l([],c.j("p<0>"))
+for(s=a.length,r=0;r<a.length;a.length===s||(0,A.e_)(a),++r)q.push(a[r])
 q.$flags=1
 return q},
-eW(a,b,c){var s=A.hO(a,c)
+eO(a,b,c){var s=A.hE(a,c)
 return s},
-hO(a,b){var s,r
-if(Array.isArray(a))return A.h(a.slice(0),b.j("p<0>"))
-s=A.h([],b.j("p<0>"))
-for(r=J.ac(a);r.m();)s.push(r.gn())
+hE(a,b){var s,r
+if(Array.isArray(a))return A.l(a.slice(0),b.j("p<0>"))
+s=A.l([],b.j("p<0>"))
+for(r=J.aC(a);r.m();)s.push(r.gn())
 return s},
-f5(a,b,c){var s,r
-A.eg(b,"start")
+eY(a,b,c){var s,r
+A.e8(b,"start")
 if(c!=null){s=c-b
-if(s<0)throw A.a(A.F(c,b,null,"end",null))
-if(s===0)return""}r=A.i_(a,b,c)
+if(s<0)throw A.a(A.E(c,b,null,"end",null))
+if(s===0)return""}r=A.hP(a,b,c)
 return r},
-i_(a,b,c){var s=a.length
+hP(a,b,c){var s=a.length
 if(b>=s)return""
-return A.hW(a,b,c==null||c>s?s:c)},
-f0(a,b){return new A.cy(a,A.eT(a,!1,b,!1,!1,!1))},
-f4(a,b,c){var s=J.ac(b)
+return A.hL(a,b,c==null||c>s?s:c)},
+eT(a,b){return new A.cv(a,A.eL(a,!1,b,!1,!1,!1))},
+eX(a,b,c){var s=J.aC(b)
 if(!s.m())return a
-if(c.length===0){do a+=A.i(s.gn())
-while(s.m())}else{a+=A.i(s.gn())
-for(;s.m();)a=a+c+A.i(s.gn())}return a},
-fs(a,b,c,d){var s,r,q,p,o,n="0123456789ABCDEF"
-if(c===B.e){s=$.hd()
+if(c.length===0){do a+=A.h(s.gn())
+while(s.m())}else{a+=A.h(s.gn())
+for(;s.m();)a=a+c+A.h(s.gn())}return a},
+fk(a,b,c,d){var s,r,q,p,o,n="0123456789ABCDEF"
+if(c===B.e){s=$.h5()
 s=s.b.test(b)}else s=!1
 if(s)return b
-r=B.D.I(b)
+r=B.y.I(b)
 for(s=r.length,q=0,p="";q<s;++q){o=r[q]
-if(o<128&&(a[o>>>4]&1<<(o&15))!==0)p+=A.Q(o)
+if(o<128&&(u.f.charCodeAt(o)&a)!==0)p+=A.M(o)
 else p=d&&o===32?p+"+":p+"%"+n[o>>>4&15]+n[o&15]}return p.charCodeAt(0)==0?p:p},
-iA(a){var s,r,q
-if(!$.he())return A.iB(a)
+iq(a){var s,r,q
+if(!$.h6())return A.ir(a)
 s=new URLSearchParams()
-a.F(0,new A.dv(s))
+a.F(0,new A.ds(s))
 r=s.toString()
 q=r.length
 if(q>0&&r[q-1]==="=")r=B.a.i(r,0,q-1)
 return r.replace(/=&|\*|%7E/g,b=>b==="=&"?"&":b==="*"?"%2A":"~")},
-hZ(){return A.aa(new Error())},
-cr(a){if(typeof a=="number"||A.ew(a)||a==null)return J.an(a)
+hO(){return A.a8(new Error())},
+co(a){if(typeof a=="number"||A.eo(a)||a==null)return J.ak(a)
 if(typeof a=="string")return JSON.stringify(a)
-return A.eZ(a)},
-hz(a,b){A.eB(a,"error",t.K)
-A.eB(b,"stackTrace",t.l)
-A.hy(a,b)},
-bw(a){return new A.bv(a)},
-M(a,b){return new A.I(!1,null,b,a)},
-eL(a,b,c){return new A.I(!0,a,b,c)},
-hX(a,b){return new A.b0(null,null,!0,a,b,"Value not in range")},
-F(a,b,c,d,e){return new A.b0(b,c,!0,a,d,"Invalid value")},
-b1(a,b,c){if(0>a||a>c)throw A.a(A.F(a,0,c,"start",null))
-if(b!=null){if(a>b||b>c)throw A.a(A.F(b,a,c,"end",null))
+return A.eR(a)},
+hp(a,b){A.et(a,"error",t.K)
+A.et(b,"stackTrace",t.l)
+A.ho(a,b)},
+bq(a){return new A.bp(a)},
+V(a,b){return new A.H(!1,null,b,a)},
+eE(a,b,c){return new A.H(!0,a,b,c)},
+hM(a,b){return new A.aZ(null,null,!0,a,b,"Value not in range")},
+E(a,b,c,d,e){return new A.aZ(b,c,!0,a,d,"Invalid value")},
+bQ(a,b,c){if(0>a||a>c)throw A.a(A.E(a,0,c,"start",null))
+if(b!=null){if(a>b||b>c)throw A.a(A.E(b,a,c,"end",null))
 return b}return c},
-eg(a,b){if(a<0)throw A.a(A.F(a,0,null,b,null))
+e8(a,b){if(a<0)throw A.a(A.E(a,0,null,b,null))
 return a},
-ea(a,b,c,d){return new A.bD(b,!0,a,d,"Index out of range")},
-bZ(a){return new A.b4(a)},
-f7(a){return new A.bW(a)},
-f3(a){return new A.b3(a)},
-aF(a){return new A.bA(a)},
-x(a,b,c){return new A.bC(a,b,c)},
-hI(a,b,c){var s,r
-if(A.eG(a)){if(b==="("&&c===")")return"(...)"
-return b+"..."+c}s=A.h([],t.s)
-$.am.push(a)
-try{A.jg(a,s)}finally{$.am.pop()}r=A.f4(b,s,", ")+c
+e2(a,b,c,d){return new A.bx(b,!0,a,d,"Index out of range")},
+cK(a){return new A.b1(a)},
+f_(a){return new A.bS(a)},
+eW(a){return new A.b0(a)},
+al(a){return new A.bu(a)},
+x(a,b,c){return new A.bw(a,b,c)},
+hy(a,b,c){var s,r
+if(A.ey(a)){if(b==="("&&c===")")return"(...)"
+return b+"..."+c}s=A.l([],t.s)
+$.aj.push(a)
+try{A.j5(a,s)}finally{$.aj.pop()}r=A.eX(b,s,", ")+c
 return r.charCodeAt(0)==0?r:r},
-eb(a,b,c){var s,r
-if(A.eG(a))return b+"..."+c
+e3(a,b,c){var s,r
+if(A.ey(a))return b+"..."+c
 s=new A.z(b)
-$.am.push(a)
+$.aj.push(a)
 try{r=s
-r.a=A.f4(r.a,a,", ")}finally{$.am.pop()}s.a+=c
+r.a=A.eX(r.a,a,", ")}finally{$.aj.pop()}s.a+=c
 r=s.a
 return r.charCodeAt(0)==0?r:r},
-jg(a,b){var s,r,q,p,o,n,m,l=a.gA(a),k=0,j=0
+j5(a,b){var s,r,q,p,o,n,m,l=a.gv(a),k=0,j=0
 while(!0){if(!(k<80||j<3))break
 if(!l.m())return
-s=A.i(l.gn())
+s=A.h(l.gn())
 b.push(s)
 k+=s.length+2;++j}if(!l.m()){if(j<=5)return
 r=b.pop()
 q=b.pop()}else{p=l.gn();++j
-if(!l.m()){if(j<=4){b.push(A.i(p))
-return}r=A.i(p)
+if(!l.m()){if(j<=4){b.push(A.h(p))
+return}r=A.h(p)
 q=b.pop()
 k+=r.length+2}else{o=l.gn();++j
 for(;l.m();p=o,o=n){n=l.gn();++j
 if(j>100){while(!0){if(!(k>75&&j>3))break
 k-=b.pop().length+2;--j}b.push("...")
-return}}q=A.i(p)
-r=A.i(o)
+return}}q=A.h(p)
+r=A.h(o)
 k+=r.length+q.length+4}}if(j>b.length+2){k+=5
 m="..."}else m=null
 while(!0){if(!(k>80&&b.length>3))break
@@ -1821,24 +1811,24 @@
 m="..."}}if(m!=null)b.push(m)
 b.push(q)
 b.push(r)},
-hT(a,b,c,d){var s
-if(B.j===c){s=B.b.gp(a)
-b=J.Y(b)
-return A.ej(A.a4(A.a4($.e7(),s),b))}if(B.j===d){s=B.b.gp(a)
-b=J.Y(b)
-c=J.Y(c)
-return A.ej(A.a4(A.a4(A.a4($.e7(),s),b),c))}s=B.b.gp(a)
-b=J.Y(b)
-c=J.Y(c)
-d=J.Y(d)
-d=A.ej(A.a4(A.a4(A.a4(A.a4($.e7(),s),b),c),d))
+hI(a,b,c,d){var s
+if(B.h===c){s=B.d.gp(a)
+b=J.U(b)
+return A.eb(A.a1(A.a1($.e0(),s),b))}if(B.h===d){s=B.d.gp(a)
+b=J.U(b)
+c=J.U(c)
+return A.eb(A.a1(A.a1(A.a1($.e0(),s),b),c))}s=B.d.gp(a)
+b=J.U(b)
+c=J.U(c)
+d=J.U(d)
+d=A.eb(A.a1(A.a1(A.a1(A.a1($.e0(),s),b),c),d))
 return d},
-c0(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=null
+bW(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=null
 a6=a4.length
 s=a5+5
 if(a6>=s){r=((a4.charCodeAt(a5+4)^58)*3|a4.charCodeAt(a5)^100|a4.charCodeAt(a5+1)^97|a4.charCodeAt(a5+2)^116|a4.charCodeAt(a5+3)^97)>>>0
-if(r===0)return A.f8(a5>0||a6<a6?B.a.i(a4,a5,a6):a4,5,a3).gb_()
-else if(r===32)return A.f8(B.a.i(a4,s,a6),0,a3).gb_()}q=A.eV(8,0,!1,t.S)
+if(r===0)return A.f0(a5>0||a6<a6?B.a.i(a4,a5,a6):a4,5,a3).gb_()
+else if(r===32)return A.f0(B.a.i(a4,s,a6),0,a3).gb_()}q=A.eN(8,0,!1,t.S)
 q[0]=0
 p=a5-1
 q[1]=p
@@ -1848,9 +1838,9 @@
 q[4]=a5
 q[5]=a6
 q[6]=a6
-if(A.fN(a4,a5,a6,0,q)>=14)q[7]=a6
+if(A.fF(a4,a5,a6,0,q)>=14)q[7]=a6
 o=q[1]
-if(o>=a5)if(A.fN(a4,a5,o,20,q)===20)q[7]=o
+if(o>=a5)if(A.fF(a4,a5,o,20,q)===20)q[7]=o
 n=q[2]+1
 m=q[3]
 l=q[4]
@@ -1865,12 +1855,12 @@
 if(i){i=!1
 if(!(n>o+3)){p=m>a5
 g=0
-if(!(p&&m+1===l)){if(!B.a.v(a4,"\\",l))if(n>a5)f=B.a.v(a4,"\\",n-1)||B.a.v(a4,"\\",n-2)
+if(!(p&&m+1===l)){if(!B.a.u(a4,"\\",l))if(n>a5)f=B.a.u(a4,"\\",n-1)||B.a.u(a4,"\\",n-2)
 else f=!1
 else f=!0
-if(!f){if(!(k<a6&&k===l+2&&B.a.v(a4,"..",l)))f=k>l+2&&B.a.v(a4,"/..",k-3)
+if(!f){if(!(k<a6&&k===l+2&&B.a.u(a4,"..",l)))f=k>l+2&&B.a.u(a4,"/..",k-3)
 else f=!0
-if(!f)if(o===a5+4){if(B.a.v(a4,"file",a5)){if(n<=a5){if(!B.a.v(a4,"/",l)){e="file:///"
+if(!f)if(o===a5+4){if(B.a.u(a4,"file",a5)){if(n<=a5){if(!B.a.u(a4,"/",l)){e="file:///"
 r=3}else{e="file://"
 r=2}a4=e+B.a.i(a4,l,a6)
 o-=a5
@@ -1892,7 +1882,7 @@
 k+=s
 j+=s
 a6=a4.length
-a5=g}}h="file"}else if(B.a.v(a4,"http",a5)){if(p&&m+3===l&&B.a.v(a4,"80",m+1)){s=a5===0
+a5=g}}h="file"}else if(B.a.u(a4,"http",a5)){if(p&&m+3===l&&B.a.u(a4,"80",m+1)){s=a5===0
 s
 if(s){a4=B.a.J(a4,m,l,"")
 l-=3
@@ -1907,7 +1897,7 @@
 k-=s
 j-=s
 a6=a4.length
-a5=g}}h="http"}}else if(o===s&&B.a.v(a4,"https",a5)){if(p&&m+4===l&&B.a.v(a4,"443",m+1)){s=a5===0
+a5=g}}h="http"}}else if(o===s&&B.a.u(a4,"https",a5)){if(p&&m+4===l&&B.a.u(a4,"443",m+1)){s=a5===0
 s
 if(s){a4=B.a.J(a4,m,l,"")
 l-=4
@@ -1928,40 +1918,40 @@
 m-=a5
 l-=a5
 k-=a5
-j-=a5}return new A.ce(a4,o,n,m,l,k,j,h)}if(h==null)if(o>a5)h=A.iC(a4,a5,o)
-else{if(o===a5)A.ax(a4,a5,"Invalid empty scheme")
+j-=a5}return new A.c9(a4,o,n,m,l,k,j,h)}if(h==null)if(o>a5)h=A.is(a4,a5,o)
+else{if(o===a5)A.au(a4,a5,"Invalid empty scheme")
 h=""}d=a3
 if(n>a5){c=o+3
-b=c<n?A.iD(a4,c,n-1):""
-a=A.ix(a4,n,m,!1)
+b=c<n?A.it(a4,c,n-1):""
+a=A.im(a4,n,m,!1)
 s=m+1
-if(s<l){a0=A.eY(B.a.i(a4,s,l),a3)
-d=A.iz(a0==null?A.h0(A.x("Invalid port",a4,s)):a0,h)}}else{a=a3
-b=""}a1=A.iy(a4,l,k,a3,h,a!=null)
-a2=k<j?A.er(a4,k+1,j,a3):a3
-return A.ep(h,b,a,d,a1,a2,j<a6?A.iw(a4,j+1,a6):a3)},
-i4(a){var s,r,q=0,p=null
-try{s=A.c0(a,q,p)
-return s}catch(r){if(A.X(r) instanceof A.bC)return null
+if(s<l){a0=A.eQ(B.a.i(a4,s,l),a3)
+d=A.ip(a0==null?A.fT(A.x("Invalid port",a4,s)):a0,h)}}else{a=a3
+b=""}a1=A.io(a4,l,k,a3,h,a!=null)
+a2=k<j?A.ej(a4,k+1,j,a3):a3
+return A.eh(h,b,a,d,a1,a2,j<a6?A.il(a4,j+1,a6):a3)},
+hV(a){var s,r,q=0,p=null
+try{s=A.bW(a,q,p)
+return s}catch(r){if(A.T(r) instanceof A.bw)return null
 else throw r}},
-fa(a){var s=t.N
-return B.d.bB(A.h(a.split("&"),t.s),A.ee(s,s),new A.cS(B.e))},
-i3(a,b,c){var s,r,q,p,o,n,m="IPv4 address should contain exactly 4 parts",l="each part must be in the range 0..255",k=new A.cP(a),j=new Uint8Array(4)
+f2(a){var s=t.N
+return B.c.bz(A.l(a.split("&"),t.s),A.e6(s,s),new A.cP(B.e))},
+hU(a,b,c){var s,r,q,p,o,n,m="IPv4 address should contain exactly 4 parts",l="each part must be in the range 0..255",k=new A.cM(a),j=new Uint8Array(4)
 for(s=b,r=s,q=0;s<c;++s){p=a.charCodeAt(s)
 if(p!==46){if((p^48)>9)k.$2("invalid character",s)}else{if(q===3)k.$2(m,s)
-o=A.e0(B.a.i(a,r,s),null)
+o=A.dU(B.a.i(a,r,s),null)
 if(o>255)k.$2(l,r)
 n=q+1
 j[q]=o
 r=s+1
 q=n}}if(q!==3)k.$2(m,c)
-o=A.e0(B.a.i(a,r,c),null)
+o=A.dU(B.a.i(a,r,c),null)
 if(o>255)k.$2(l,r)
 j[q]=o
 return j},
-f9(a,b,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=new A.cQ(a),c=new A.cR(d,a)
+f1(a,b,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=new A.cN(a),c=new A.cO(d,a)
 if(a.length<2)d.$2("address is too short",e)
-s=A.h([],t.t)
+s=A.l([],t.t)
 for(r=b,q=r,p=!1,o=!1;r<a0;++r){n=a.charCodeAt(r)
 if(n===58){if(r===b){++r
 if(a.charCodeAt(r)!==58)d.$2("invalid start colon.",r)
@@ -1970,56 +1960,56 @@
 p=!0}else s.push(c.$2(q,r))
 q=r+1}else if(n===46)o=!0}if(s.length===0)d.$2("too few parts",e)
 m=q===a0
-l=B.d.ga0(s)
+l=B.c.ga_(s)
 if(m&&l!==-1)d.$2("expected a part after last `:`",a0)
 if(!m)if(!o)s.push(c.$2(q,a0))
-else{k=A.i3(a,q,a0)
+else{k=A.hU(a,q,a0)
 s.push((k[0]<<8|k[1])>>>0)
 s.push((k[2]<<8|k[3])>>>0)}if(p){if(s.length>7)d.$2("an address with a wildcard must have less than 7 parts",e)}else if(s.length!==8)d.$2("an address without a wildcard must contain exactly 8 parts",e)
 j=new Uint8Array(16)
 for(l=s.length,i=9-l,r=0,h=0;r<l;++r){g=s[r]
 if(g===-1)for(f=0;f<i;++f){j[h]=0
 j[h+1]=0
-h+=2}else{j[h]=B.b.W(g,8)
+h+=2}else{j[h]=B.d.ac(g,8)
 j[h+1]=g&255
 h+=2}}return j},
-ep(a,b,c,d,e,f,g){return new A.bk(a,b,c,d,e,f,g)},
-fm(a){if(a==="http")return 80
+eh(a,b,c,d,e,f,g){return new A.bh(a,b,c,d,e,f,g)},
+fe(a){if(a==="http")return 80
 if(a==="https")return 443
 return 0},
-ax(a,b,c){throw A.a(A.x(c,a,b))},
-iz(a,b){if(a!=null&&a===A.fm(b))return null
+au(a,b,c){throw A.a(A.x(c,a,b))},
+ip(a,b){if(a!=null&&a===A.fe(b))return null
 return a},
-ix(a,b,c,d){var s,r,q,p,o,n
+im(a,b,c,d){var s,r,q,p,o,n
 if(b===c)return""
 if(a.charCodeAt(b)===91){s=c-1
-if(a.charCodeAt(s)!==93)A.ax(a,b,"Missing end `]` to match `[` in host")
+if(a.charCodeAt(s)!==93)A.au(a,b,"Missing end `]` to match `[` in host")
 r=b+1
-q=A.iu(a,r,s)
+q=A.ij(a,r,s)
 if(q<s){p=q+1
-o=A.fr(a,B.a.v(a,"25",p)?q+3:p,s,"%25")}else o=""
-A.f9(a,r,q)
-return B.a.i(a,b,q).toLowerCase()+o+"]"}for(n=b;n<c;++n)if(a.charCodeAt(n)===58){q=B.a.a_(a,"%",b)
+o=A.fj(a,B.a.u(a,"25",p)?q+3:p,s,"%25")}else o=""
+A.f1(a,r,q)
+return B.a.i(a,b,q).toLowerCase()+o+"]"}for(n=b;n<c;++n)if(a.charCodeAt(n)===58){q=B.a.Z(a,"%",b)
 q=q>=b&&q<c?q:c
 if(q<c){p=q+1
-o=A.fr(a,B.a.v(a,"25",p)?q+3:p,c,"%25")}else o=""
-A.f9(a,b,q)
-return"["+B.a.i(a,b,q)+o+"]"}return A.iF(a,b,c)},
-iu(a,b,c){var s=B.a.a_(a,"%",b)
+o=A.fj(a,B.a.u(a,"25",p)?q+3:p,c,"%25")}else o=""
+A.f1(a,b,q)
+return"["+B.a.i(a,b,q)+o+"]"}return A.iv(a,b,c)},
+ij(a,b,c){var s=B.a.Z(a,"%",b)
 return s>=b&&s<c?s:c},
-fr(a,b,c,d){var s,r,q,p,o,n,m,l,k,j,i=d!==""?new A.z(d):null
+fj(a,b,c,d){var s,r,q,p,o,n,m,l,k,j,i=d!==""?new A.z(d):null
 for(s=b,r=s,q=!0;s<c;){p=a.charCodeAt(s)
-if(p===37){o=A.es(a,s,!0)
+if(p===37){o=A.ek(a,s,!0)
 n=o==null
 if(n&&q){s+=3
 continue}if(i==null)i=new A.z("")
 m=i.a+=B.a.i(a,r,s)
 if(n)o=B.a.i(a,s,s+3)
-else if(o==="%")A.ax(a,s,"ZoneID should not contain % anymore")
+else if(o==="%")A.au(a,s,"ZoneID should not contain % anymore")
 i.a=m+o
 s+=3
 r=s
-q=!0}else if(p<127&&(B.h[p>>>4]&1<<(p&15))!==0){if(q&&65<=p&&90>=p){if(i==null)i=new A.z("")
+q=!0}else if(p<127&&(u.f.charCodeAt(p)&1)!==0){if(q&&65<=p&&90>=p){if(i==null)i=new A.z("")
 if(r<s){i.a+=B.a.i(a,r,s)
 r=s}q=!1}++s}else{l=1
 if((p&64512)===55296&&s+1<c){k=a.charCodeAt(s+1)
@@ -2028,16 +2018,16 @@
 if(i==null){i=new A.z("")
 n=i}else n=i
 n.a+=j
-m=A.eq(p)
+m=A.ei(p)
 n.a+=m
 s+=l
 r=s}}if(i==null)return B.a.i(a,b,c)
 if(r<c){j=B.a.i(a,r,c)
 i.a+=j}n=i.a
 return n.charCodeAt(0)==0?n:n},
-iF(a,b,c){var s,r,q,p,o,n,m,l,k,j,i
+iv(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h=u.f
 for(s=b,r=s,q=null,p=!0;s<c;){o=a.charCodeAt(s)
-if(o===37){n=A.es(a,s,!0)
+if(o===37){n=A.ek(a,s,!0)
 m=n==null
 if(m&&p){s+=3
 continue}if(q==null)q=new A.z("")
@@ -2050,9 +2040,9 @@
 j=1}q.a=k+n
 s+=j
 r=s
-p=!0}else if(o<127&&(B.a5[o>>>4]&1<<(o&15))!==0){if(p&&65<=o&&90>=o){if(q==null)q=new A.z("")
+p=!0}else if(o<127&&(h.charCodeAt(o)&32)!==0){if(p&&65<=o&&90>=o){if(q==null)q=new A.z("")
 if(r<s){q.a+=B.a.i(a,r,s)
-r=s}p=!1}++s}else if(o<=93&&(B.q[o>>>4]&1<<(o&15))!==0)A.ax(a,s,"Invalid character")
+r=s}p=!1}++s}else if(o<=93&&(h.charCodeAt(o)&1024)!==0)A.au(a,s,"Invalid character")
 else{j=1
 if((o&64512)===55296&&s+1<c){i=a.charCodeAt(s+1)
 if((i&64512)===56320){o=65536+((o&1023)<<10)+(i&1023)
@@ -2061,7 +2051,7 @@
 if(q==null){q=new A.z("")
 m=q}else m=q
 m.a+=l
-k=A.eq(o)
+k=A.ei(o)
 m.a+=k
 s+=j
 r=s}}if(q==null)return B.a.i(a,b,c)
@@ -2069,48 +2059,48 @@
 if(!p)l=l.toLowerCase()
 q.a+=l}m=q.a
 return m.charCodeAt(0)==0?m:m},
-iC(a,b,c){var s,r,q
+is(a,b,c){var s,r,q
 if(b===c)return""
-if(!A.fo(a.charCodeAt(b)))A.ax(a,b,"Scheme not starting with alphabetic character")
+if(!A.fg(a.charCodeAt(b)))A.au(a,b,"Scheme not starting with alphabetic character")
 for(s=b,r=!1;s<c;++s){q=a.charCodeAt(s)
-if(!(q<128&&(B.o[q>>>4]&1<<(q&15))!==0))A.ax(a,s,"Illegal scheme character")
+if(!(q<128&&(u.f.charCodeAt(q)&8)!==0))A.au(a,s,"Illegal scheme character")
 if(65<=q&&q<=90)r=!0}a=B.a.i(a,b,c)
-return A.it(r?a.toLowerCase():a)},
-it(a){if(a==="http")return"http"
+return A.ii(r?a.toLowerCase():a)},
+ii(a){if(a==="http")return"http"
 if(a==="file")return"file"
 if(a==="https")return"https"
 if(a==="package")return"package"
 return a},
-iD(a,b,c){return A.bl(a,b,c,B.a4,!1,!1)},
-iy(a,b,c,d,e,f){var s,r=e==="file",q=r||f
+it(a,b,c){return A.bi(a,b,c,16,!1,!1)},
+io(a,b,c,d,e,f){var s,r=e==="file",q=r||f
 if(a==null)return r?"/":""
-else s=A.bl(a,b,c,B.p,!0,!0)
-if(s.length===0){if(r)return"/"}else if(q&&!B.a.u(s,"/"))s="/"+s
-return A.iE(s,e,f)},
-iE(a,b,c){var s=b.length===0
-if(s&&!c&&!B.a.u(a,"/")&&!B.a.u(a,"\\"))return A.iG(a,!s||c)
-return A.iH(a)},
-er(a,b,c,d){if(a!=null){if(d!=null)throw A.a(A.M("Both query and queryParameters specified",null))
-return A.bl(a,b,c,B.i,!0,!1)}if(d==null)return null
-return A.iA(d)},
-iB(a){var s={},r=new A.z("")
+else s=A.bi(a,b,c,128,!0,!0)
+if(s.length===0){if(r)return"/"}else if(q&&!B.a.t(s,"/"))s="/"+s
+return A.iu(s,e,f)},
+iu(a,b,c){var s=b.length===0
+if(s&&!c&&!B.a.t(a,"/")&&!B.a.t(a,"\\"))return A.iw(a,!s||c)
+return A.ix(a)},
+ej(a,b,c,d){if(a!=null){if(d!=null)throw A.a(A.V("Both query and queryParameters specified",null))
+return A.bi(a,b,c,256,!0,!1)}if(d==null)return null
+return A.iq(d)},
+ir(a){var s={},r=new A.z("")
 s.a=""
-a.F(0,new A.dt(new A.du(s,r)))
+a.F(0,new A.dq(new A.dr(s,r)))
 s=r.a
 return s.charCodeAt(0)==0?s:s},
-iw(a,b,c){return A.bl(a,b,c,B.i,!0,!1)},
-es(a,b,c){var s,r,q,p,o,n=b+2
+il(a,b,c){return A.bi(a,b,c,256,!0,!1)},
+ek(a,b,c){var s,r,q,p,o,n=b+2
 if(n>=a.length)return"%"
 s=a.charCodeAt(b+1)
 r=a.charCodeAt(n)
-q=A.dT(s)
-p=A.dT(r)
+q=A.dM(s)
+p=A.dM(r)
 if(q<0||p<0)return"%"
 o=q*16+p
-if(o<127&&(B.h[B.b.W(o,4)]&1<<(o&15))!==0)return A.Q(c&&65<=o&&90>=o?(o|32)>>>0:o)
+if(o<127&&(u.f.charCodeAt(o)&1)!==0)return A.M(c&&65<=o&&90>=o?(o|32)>>>0:o)
 if(s>=97||r>=97)return B.a.i(a,b,b+3).toUpperCase()
 return null},
-eq(a){var s,r,q,p,o,n="0123456789ABCDEF"
+ei(a){var s,r,q,p,o,n="0123456789ABCDEF"
 if(a<=127){s=new Uint8Array(3)
 s[0]=37
 s[1]=n.charCodeAt(a>>>4)
@@ -2118,87 +2108,87 @@
 q=4}else{r=224
 q=3}else{r=192
 q=2}s=new Uint8Array(3*q)
-for(p=0;--q,q>=0;r=128){o=B.b.bq(a,6*q)&63|r
+for(p=0;--q,q>=0;r=128){o=B.d.bp(a,6*q)&63|r
 s[p]=37
 s[p+1]=n.charCodeAt(o>>>4)
 s[p+2]=n.charCodeAt(o&15)
-p+=3}}return A.f5(s,0,null)},
-bl(a,b,c,d,e,f){var s=A.fq(a,b,c,d,e,f)
+p+=3}}return A.eY(s,0,null)},
+bi(a,b,c,d,e,f){var s=A.fi(a,b,c,d,e,f)
 return s==null?B.a.i(a,b,c):s},
-fq(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k,j,i=null
+fi(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k,j,i=null,h=u.f
 for(s=!e,r=b,q=r,p=i;r<c;){o=a.charCodeAt(r)
-if(o<127&&(d[o>>>4]&1<<(o&15))!==0)++r
+if(o<127&&(h.charCodeAt(o)&d)!==0)++r
 else{n=1
-if(o===37){m=A.es(a,r,!1)
+if(o===37){m=A.ek(a,r,!1)
 if(m==null){r+=3
 continue}if("%"===m)m="%25"
 else n=3}else if(o===92&&f)m="/"
-else if(s&&o<=93&&(B.q[o>>>4]&1<<(o&15))!==0){A.ax(a,r,"Invalid character")
+else if(s&&o<=93&&(h.charCodeAt(o)&1024)!==0){A.au(a,r,"Invalid character")
 n=i
 m=n}else{if((o&64512)===55296){l=r+1
 if(l<c){k=a.charCodeAt(l)
 if((k&64512)===56320){o=65536+((o&1023)<<10)+(k&1023)
-n=2}}}m=A.eq(o)}if(p==null){p=new A.z("")
+n=2}}}m=A.ei(o)}if(p==null){p=new A.z("")
 l=p}else l=p
 j=l.a+=B.a.i(a,q,r)
-l.a=j+A.i(m)
+l.a=j+A.h(m)
 r+=n
 q=r}}if(p==null)return i
 if(q<c){s=B.a.i(a,q,c)
 p.a+=s}s=p.a
 return s.charCodeAt(0)==0?s:s},
-fp(a){if(B.a.u(a,"."))return!0
+fh(a){if(B.a.t(a,"."))return!0
 return B.a.aQ(a,"/.")!==-1},
-iH(a){var s,r,q,p,o,n
-if(!A.fp(a))return a
-s=A.h([],t.s)
+ix(a){var s,r,q,p,o,n
+if(!A.fh(a))return a
+s=A.l([],t.s)
 for(r=a.split("/"),q=r.length,p=!1,o=0;o<q;++o){n=r[o]
 if(n===".."){if(s.length!==0){s.pop()
 if(s.length===0)s.push("")}p=!0}else{p="."===n
 if(!p)s.push(n)}}if(p)s.push("")
-return B.d.aU(s,"/")},
-iG(a,b){var s,r,q,p,o,n
-if(!A.fp(a))return!b?A.fn(a):a
-s=A.h([],t.s)
+return B.c.aU(s,"/")},
+iw(a,b){var s,r,q,p,o,n
+if(!A.fh(a))return!b?A.ff(a):a
+s=A.l([],t.s)
 for(r=a.split("/"),q=r.length,p=!1,o=0;o<q;++o){n=r[o]
-if(".."===n){p=s.length!==0&&B.d.ga0(s)!==".."
+if(".."===n){p=s.length!==0&&B.c.ga_(s)!==".."
 if(p)s.pop()
 else s.push("..")}else{p="."===n
 if(!p)s.push(n)}}r=s.length
 if(r!==0)r=r===1&&s[0].length===0
 else r=!0
 if(r)return"./"
-if(p||B.d.ga0(s)==="..")s.push("")
-if(!b)s[0]=A.fn(s[0])
-return B.d.aU(s,"/")},
-fn(a){var s,r,q=a.length
-if(q>=2&&A.fo(a.charCodeAt(0)))for(s=1;s<q;++s){r=a.charCodeAt(s)
+if(p||B.c.ga_(s)==="..")s.push("")
+if(!b)s[0]=A.ff(s[0])
+return B.c.aU(s,"/")},
+ff(a){var s,r,q=a.length
+if(q>=2&&A.fg(a.charCodeAt(0)))for(s=1;s<q;++s){r=a.charCodeAt(s)
 if(r===58)return B.a.i(a,0,s)+"%3A"+B.a.L(a,s+1)
-if(r>127||(B.o[r>>>4]&1<<(r&15))===0)break}return a},
-iv(a,b){var s,r,q
+if(r>127||(u.f.charCodeAt(r)&8)===0)break}return a},
+ik(a,b){var s,r,q
 for(s=0,r=0;r<2;++r){q=a.charCodeAt(b+r)
 if(48<=q&&q<=57)s=s*16+q-48
 else{q|=32
 if(97<=q&&q<=102)s=s*16+q-87
-else throw A.a(A.M("Invalid URL encoding",null))}}return s},
-et(a,b,c,d,e){var s,r,q,p,o=b
+else throw A.a(A.V("Invalid URL encoding",null))}}return s},
+el(a,b,c,d,e){var s,r,q,p,o=b
 while(!0){if(!(o<c)){s=!0
 break}r=a.charCodeAt(o)
 q=!0
 if(r<=127)if(r!==37)q=r===43
 if(q){s=!1
 break}++o}if(s)if(B.e===d)return B.a.i(a,b,c)
-else p=new A.by(B.a.i(a,b,c))
-else{p=A.h([],t.t)
+else p=new A.bs(B.a.i(a,b,c))
+else{p=A.l([],t.t)
 for(q=a.length,o=b;o<c;++o){r=a.charCodeAt(o)
-if(r>127)throw A.a(A.M("Illegal percent encoding in URI",null))
-if(r===37){if(o+3>q)throw A.a(A.M("Truncated URI",null))
-p.push(A.iv(a,o+1))
+if(r>127)throw A.a(A.V("Illegal percent encoding in URI",null))
+if(r===37){if(o+3>q)throw A.a(A.V("Truncated URI",null))
+p.push(A.ik(a,o+1))
 o+=2}else if(r===43)p.push(32)
-else p.push(r)}}return B.an.I(p)},
-fo(a){var s=a|32
+else p.push(r)}}return B.af.I(p)},
+fg(a){var s=a|32
 return 97<=s&&s<=122},
-f8(a,b,c){var s,r,q,p,o,n,m,l,k="Invalid MIME type",j=A.h([b-1],t.t)
+f0(a,b,c){var s,r,q,p,o,n,m,l,k="Invalid MIME type",j=A.l([b-1],t.t)
 for(s=a.length,r=b,q=-1,p=null;r<s;++r){p=a.charCodeAt(r)
 if(p===44||p===59)break
 if(p===47){if(q<0){q=r
@@ -2206,201 +2196,63 @@
 for(;p!==44;){j.push(r);++r
 for(o=-1;r<s;++r){p=a.charCodeAt(r)
 if(p===61){if(o<0)o=r}else if(p===59||p===44)break}if(o>=0)j.push(o)
-else{n=B.d.ga0(j)
-if(p!==44||r!==n+7||!B.a.v(a,"base64",n+1))throw A.a(A.x("Expecting '='",a,r))
+else{n=B.c.ga_(j)
+if(p!==44||r!==n+7||!B.a.u(a,"base64",n+1))throw A.a(A.x("Expecting '='",a,r))
 break}}j.push(r)
 m=r+1
-if((j.length&1)===1)a=B.u.bH(a,m,s)
-else{l=A.fq(a,m,s,B.i,!0,!1)
-if(l!=null)a=B.a.J(a,m,s,l)}return new A.cO(a,j,c)},
-iS(){var s,r,q,p,o,n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",m=".",l=":",k="/",j="\\",i="?",h="#",g="/\\",f=J.eS(22,t.D)
-for(s=0;s<22;++s)f[s]=new Uint8Array(96)
-r=new A.dH(f)
-q=new A.dI()
-p=new A.dJ()
-o=r.$2(0,225)
-q.$3(o,n,1)
-q.$3(o,m,14)
-q.$3(o,l,34)
-q.$3(o,k,3)
-q.$3(o,j,227)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(14,225)
-q.$3(o,n,1)
-q.$3(o,m,15)
-q.$3(o,l,34)
-q.$3(o,g,234)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(15,225)
-q.$3(o,n,1)
-q.$3(o,"%",225)
-q.$3(o,l,34)
-q.$3(o,k,9)
-q.$3(o,j,233)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(1,225)
-q.$3(o,n,1)
-q.$3(o,l,34)
-q.$3(o,k,10)
-q.$3(o,j,234)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(2,235)
-q.$3(o,n,139)
-q.$3(o,k,131)
-q.$3(o,j,131)
-q.$3(o,m,146)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(3,235)
-q.$3(o,n,11)
-q.$3(o,k,68)
-q.$3(o,j,68)
-q.$3(o,m,18)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(4,229)
-q.$3(o,n,5)
-p.$3(o,"AZ",229)
-q.$3(o,l,102)
-q.$3(o,"@",68)
-q.$3(o,"[",232)
-q.$3(o,k,138)
-q.$3(o,j,138)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(5,229)
-q.$3(o,n,5)
-p.$3(o,"AZ",229)
-q.$3(o,l,102)
-q.$3(o,"@",68)
-q.$3(o,k,138)
-q.$3(o,j,138)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(6,231)
-p.$3(o,"19",7)
-q.$3(o,"@",68)
-q.$3(o,k,138)
-q.$3(o,j,138)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(7,231)
-p.$3(o,"09",7)
-q.$3(o,"@",68)
-q.$3(o,k,138)
-q.$3(o,j,138)
-q.$3(o,i,172)
-q.$3(o,h,205)
-q.$3(r.$2(8,8),"]",5)
-o=r.$2(9,235)
-q.$3(o,n,11)
-q.$3(o,m,16)
-q.$3(o,g,234)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(16,235)
-q.$3(o,n,11)
-q.$3(o,m,17)
-q.$3(o,g,234)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(17,235)
-q.$3(o,n,11)
-q.$3(o,k,9)
-q.$3(o,j,233)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(10,235)
-q.$3(o,n,11)
-q.$3(o,m,18)
-q.$3(o,k,10)
-q.$3(o,j,234)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(18,235)
-q.$3(o,n,11)
-q.$3(o,m,19)
-q.$3(o,g,234)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(19,235)
-q.$3(o,n,11)
-q.$3(o,g,234)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(11,235)
-q.$3(o,n,11)
-q.$3(o,k,10)
-q.$3(o,j,234)
-q.$3(o,i,172)
-q.$3(o,h,205)
-o=r.$2(12,236)
-q.$3(o,n,12)
-q.$3(o,i,12)
-q.$3(o,h,205)
-o=r.$2(13,237)
-q.$3(o,n,13)
-q.$3(o,i,13)
-p.$3(r.$2(20,245),"az",21)
-o=r.$2(21,245)
-p.$3(o,"az",21)
-p.$3(o,"09",21)
-q.$3(o,"+-.",21)
-return f},
-fN(a,b,c,d,e){var s,r,q,p,o=$.hi()
-for(s=b;s<c;++s){r=o[d]
-q=a.charCodeAt(s)^96
-p=r[q>95?31:q]
-d=p&31
-e[p>>>5]=s}return d},
-dv:function dv(a){this.a=a},
-d0:function d0(){},
-l:function l(){},
-bv:function bv(a){this.a=a},
-R:function R(){},
-I:function I(a,b,c,d){var _=this
+if((j.length&1)===1)a=B.o.bF(a,m,s)
+else{l=A.fi(a,m,s,256,!0,!1)
+if(l!=null)a=B.a.J(a,m,s,l)}return new A.cL(a,j,c)},
+fF(a,b,c,d,e){var s,r,q
+for(s=b;s<c;++s){r=a.charCodeAt(s)^96
+if(r>95)r=31
+q='\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe1\xe1\x01\xe1\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe3\xe1\xe1\x01\xe1\x01\xe1\xcd\x01\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x0e\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"\x01\xe1\x01\xe1\xac\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe1\xe1\x01\xe1\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xea\xe1\xe1\x01\xe1\x01\xe1\xcd\x01\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\n\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"\x01\xe1\x01\xe1\xac\xeb\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\xeb\xeb\xeb\x8b\xeb\xeb\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\xeb\x83\xeb\xeb\x8b\xeb\x8b\xeb\xcd\x8b\xeb\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x92\x83\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\xeb\x8b\xeb\x8b\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xebD\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x12D\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xe5\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\xe5\xe5\xe5\x05\xe5D\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe8\x8a\xe5\xe5\x05\xe5\x05\xe5\xcd\x05\xe5\x05\x05\x05\x05\x05\x05\x05\x05\x05\x8a\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05f\x05\xe5\x05\xe5\xac\xe5\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\xe5\xe5\xe5\x05\xe5D\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\x8a\xe5\xe5\x05\xe5\x05\xe5\xcd\x05\xe5\x05\x05\x05\x05\x05\x05\x05\x05\x05\x8a\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05f\x05\xe5\x05\xe5\xac\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7D\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x8a\xe7\xe7\xe7\xe7\xe7\xe7\xcd\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x8a\xe7\x07\x07\x07\x07\x07\x07\x07\x07\x07\xe7\xe7\xe7\xe7\xe7\xac\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7D\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x8a\xe7\xe7\xe7\xe7\xe7\xe7\xcd\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x8a\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\xe7\xe7\xe7\xe7\xe7\xac\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\x05\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x10\xea\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x12\n\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\v\n\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xec\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\xec\xec\xec\f\xec\xec\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\xec\xec\xec\xec\f\xec\f\xec\xcd\f\xec\f\f\f\f\f\f\f\f\f\xec\f\f\f\f\f\f\f\f\f\f\xec\f\xec\f\xec\f\xed\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\xed\xed\xed\r\xed\xed\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\xed\xed\xed\xed\r\xed\r\xed\xed\r\xed\r\r\r\r\r\r\r\r\r\xed\r\r\r\r\r\r\r\r\r\r\xed\r\xed\r\xed\r\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe1\xe1\x01\xe1\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xea\xe1\xe1\x01\xe1\x01\xe1\xcd\x01\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x0f\xea\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"\x01\xe1\x01\xe1\xac\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe1\xe1\x01\xe1\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe9\xe1\xe1\x01\xe1\x01\xe1\xcd\x01\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\t\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"\x01\xe1\x01\xe1\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x11\xea\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xe9\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\v\t\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x13\xea\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\v\xea\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xf5\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\x15\xf5\x15\x15\xf5\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\xf5\xf5\xf5\xf5\xf5\xf5'.charCodeAt(d*96+r)
+d=q&31
+e[q>>>5]=s}return d},
+ds:function ds(a){this.a=a},
+cY:function cY(){},
+k:function k(){},
+bp:function bp(a){this.a=a},
+N:function N(){},
+H:function H(a,b,c,d){var _=this
 _.a=a
 _.b=b
 _.c=c
 _.d=d},
-b0:function b0(a,b,c,d,e,f){var _=this
+aZ:function aZ(a,b,c,d,e,f){var _=this
 _.e=a
 _.f=b
 _.a=c
 _.b=d
 _.c=e
 _.d=f},
-bD:function bD(a,b,c,d,e){var _=this
+bx:function bx(a,b,c,d,e){var _=this
 _.f=a
 _.a=b
 _.b=c
 _.c=d
 _.d=e},
-b4:function b4(a){this.a=a},
-bW:function bW(a){this.a=a},
-b3:function b3(a){this.a=a},
-bA:function bA(a){this.a=a},
-bS:function bS(){},
-b2:function b2(){},
-d1:function d1(a){this.a=a},
-bC:function bC(a,b,c){this.a=a
+b1:function b1(a){this.a=a},
+bS:function bS(a){this.a=a},
+b0:function b0(a){this.a=a},
+bu:function bu(a){this.a=a},
+bN:function bN(){},
+b_:function b_(){},
+cZ:function cZ(a){this.a=a},
+bw:function bw(a,b,c){this.a=a
 this.b=b
 this.c=c},
-o:function o(){},
+r:function r(){},
 u:function u(){},
-k:function k(){},
-cg:function cg(){},
+j:function j(){},
+cb:function cb(){},
 z:function z(a){this.a=a},
-cS:function cS(a){this.a=a},
 cP:function cP(a){this.a=a},
-cQ:function cQ(a){this.a=a},
-cR:function cR(a,b){this.a=a
+cM:function cM(a){this.a=a},
+cN:function cN(a){this.a=a},
+cO:function cO(a,b){this.a=a
 this.b=b},
-bk:function bk(a,b,c,d,e,f,g){var _=this
+bh:function bh(a,b,c,d,e,f,g){var _=this
 _.a=a
 _.b=b
 _.c=c
@@ -2409,16 +2261,13 @@
 _.f=f
 _.r=g
 _.z=_.y=_.w=$},
-du:function du(a,b){this.a=a
+dr:function dr(a,b){this.a=a
 this.b=b},
-dt:function dt(a){this.a=a},
-cO:function cO(a,b,c){this.a=a
+dq:function dq(a){this.a=a},
+cL:function cL(a,b,c){this.a=a
 this.b=b
 this.c=c},
-dH:function dH(a){this.a=a},
-dI:function dI(){},
-dJ:function dJ(){},
-ce:function ce(a,b,c,d,e,f,g,h){var _=this
+c9:function c9(a,b,c,d,e,f,g,h){var _=this
 _.a=a
 _.b=b
 _.c=c
@@ -2428,7 +2277,7 @@
 _.r=g
 _.w=h
 _.x=null},
-c5:function c5(a,b,c,d,e,f,g){var _=this
+c0:function c0(a,b,c,d,e,f,g){var _=this
 _.a=a
 _.b=b
 _.c=c
@@ -2437,40 +2286,40 @@
 _.f=f
 _.r=g
 _.z=_.y=_.w=$},
-a8(a){var s
-if(typeof a=="function")throw A.a(A.M("Attempting to rewrap a JS function.",null))
-s=function(b,c){return function(d){return b(c,d,arguments.length)}}(A.iP,a)
-s[$.eJ()]=a
+a6(a){var s
+if(typeof a=="function")throw A.a(A.V("Attempting to rewrap a JS function.",null))
+s=function(b,c){return function(d){return b(c,d,arguments.length)}}(A.iF,a)
+s[$.eB()]=a
 return s},
-iP(a,b,c){if(c>=1)return a.$1(b)
+iF(a,b,c){if(c>=1)return a.$1(b)
 return a.$0()},
-e3(a,b){var s=new A.v($.q,b.j("v<0>")),r=new A.b5(s,b.j("b5<0>"))
-a.then(A.aC(new A.e4(r),1),A.aC(new A.e5(r),1))
+dX(a,b){var s=new A.v($.o,b.j("v<0>")),r=new A.b2(s,b.j("b2<0>"))
+a.then(A.az(new A.dY(r),1),A.az(new A.dZ(r),1))
 return s},
-e4:function e4(a){this.a=a},
-e5:function e5(a){this.a=a},
-cG:function cG(a){this.a=a},
+dY:function dY(a){this.a=a},
+dZ:function dZ(a){this.a=a},
+cC:function cC(a){this.a=a},
 m:function m(a,b){this.a=a
 this.b=b},
-hC(a){var s,r,q,p,o,n,m,l,k="enclosedBy"
+hs(a){var s,r,q,p,o,n,m,l,k="enclosedBy"
 if(a.k(0,k)!=null){s=t.a.a(a.k(0,k))
-r=new A.cp(A.fy(s.k(0,"name")),B.r[A.fw(s.k(0,"kind"))],A.fy(s.k(0,"href")))}else r=null
+r=new A.cm(A.fq(s.k(0,"name")),B.m[A.fo(s.k(0,"kind"))],A.fq(s.k(0,"href")))}else r=null
 q=a.k(0,"name")
 p=a.k(0,"qualifiedName")
-o=A.fx(a.k(0,"packageRank"))
+o=A.fp(a.k(0,"packageRank"))
 if(o==null)o=0
 n=a.k(0,"href")
-m=B.r[A.fw(a.k(0,"kind"))]
-l=A.fx(a.k(0,"overriddenDepth"))
+m=B.m[A.fo(a.k(0,"kind"))]
+l=A.fp(a.k(0,"overriddenDepth"))
 if(l==null)l=0
 return new A.w(q,p,o,m,n,l,a.k(0,"desc"),r)},
 A:function A(a,b){this.a=a
 this.b=b},
-cu:function cu(a){this.a=a},
-cx:function cx(a,b){this.a=a
+cr:function cr(a){this.a=a},
+cu:function cu(a,b){this.a=a
 this.b=b},
-cv:function cv(){},
-cw:function cw(){},
+cs:function cs(){},
+ct:function ct(){},
 w:function w(a,b,c,d,e,f,g,h){var _=this
 _.a=a
 _.b=b
@@ -2480,35 +2329,35 @@
 _.f=f
 _.r=g
 _.w=h},
-cp:function cp(a,b,c){this.a=a
+cm:function cm(a,b,c){this.a=a
 this.b=b
 this.c=c},
-jI(){var s=self,r=s.document.getElementById("search-box"),q=s.document.getElementById("search-body"),p=s.document.getElementById("search-sidebar")
-A.e3(s.window.fetch($.bt()+"index.json"),t.m).aY(new A.dY(new A.dZ(r,q,p),r,q,p),t.P)},
-el(a){var s=A.h([],t.O),r=A.h([],t.M)
-return new A.dj(a,A.c0(self.window.location.href,0,null),s,r)},
-iR(a,b){var s,r,q,p,o,n,m,l=self,k=l.document.createElement("div"),j=b.e
+jx(){var s=self,r=s.document.getElementById("search-box"),q=s.document.getElementById("search-body"),p=s.document.getElementById("search-sidebar")
+A.dX(s.window.fetch($.bo()+"index.json"),t.m).aY(new A.dR(new A.dS(r,q,p),r,q,p),t.P)},
+ed(a){var s=A.l([],t.O),r=A.l([],t.M)
+return new A.dg(a,A.bW(self.window.location.href,0,null),s,r)},
+iH(a,b){var s,r,q,p,o,n,m,l=self,k=l.document.createElement("div"),j=b.e
 if(j==null)j=""
 k.setAttribute("data-href",j)
 k.classList.add("tt-suggestion")
 s=l.document.createElement("span")
 s.classList.add("tt-suggestion-title")
-s.innerHTML=A.eu(b.a+" "+b.d.h(0).toLowerCase(),a)
+s.innerHTML=A.em(b.a+" "+b.d.h(0).toLowerCase(),a)
 k.appendChild(s)
 r=b.w
 j=r!=null
 if(j){s=l.document.createElement("span")
 s.classList.add("tt-suggestion-container")
-s.innerHTML="(in "+A.eu(r.a,a)+")"
+s.innerHTML="(in "+A.em(r.a,a)+")"
 k.appendChild(s)}q=b.r
 if(q!=null&&q.length!==0){s=l.document.createElement("blockquote")
 s.classList.add("one-line-description")
 p=l.document.createElement("textarea")
 p.innerHTML=q
 s.setAttribute("title",p.value)
-s.innerHTML=A.eu(q,a)
-k.appendChild(s)}k.addEventListener("mousedown",A.a8(new A.dF()))
-k.addEventListener("click",A.a8(new A.dG(b)))
+s.innerHTML=A.em(q,a)
+k.appendChild(s)}k.addEventListener("mousedown",A.a6(new A.dC()))
+k.addEventListener("click",A.a6(new A.dD(b)))
 if(j){j=r.a
 o=r.b.h(0)
 n=r.c
@@ -2522,24 +2371,24 @@
 m.innerHTML=j+" "+o
 p.appendChild(m)
 s.appendChild(p)
-A.jh(s,k)}return k},
-jh(a,b){var s,r=a.innerHTML
+A.j6(s,k)}return k},
+j6(a,b){var s,r=a.innerHTML
 if(r.length===0)return
-s=$.bn.k(0,r)
+s=$.a5.k(0,r)
 if(s!=null)s.appendChild(b)
 else{a.appendChild(b)
-$.bn.q(0,r,a)}},
-eu(a,b){return A.jZ(a,A.f0(b,!1),new A.dK(),null)},
-dL:function dL(){},
-dZ:function dZ(a,b,c){this.a=a
+$.a5.A(0,r,a)}},
+em(a,b){return A.jP(a,A.eT(b,!1),new A.dE(),null)},
+dF:function dF(){},
+dS:function dS(a,b,c){this.a=a
 this.b=b
 this.c=c},
-dY:function dY(a,b,c,d){var _=this
+dR:function dR(a,b,c,d){var _=this
 _.a=a
 _.b=b
 _.c=c
 _.d=d},
-dj:function dj(a,b,c,d){var _=this
+dg:function dg(a,b,c,d){var _=this
 _.a=a
 _.b=b
 _.e=_.d=_.c=$
@@ -2548,22 +2397,22 @@
 _.w=c
 _.x=d
 _.y=-1},
-dk:function dk(a){this.a=a},
+dh:function dh(a){this.a=a},
+di:function di(a,b){this.a=a
+this.b=b},
+dj:function dj(a,b){this.a=a
+this.b=b},
+dk:function dk(a,b){this.a=a
+this.b=b},
 dl:function dl(a,b){this.a=a
 this.b=b},
-dm:function dm(a,b){this.a=a
-this.b=b},
-dn:function dn(a,b){this.a=a
-this.b=b},
-dp:function dp(a,b){this.a=a
-this.b=b},
-dF:function dF(){},
-dG:function dG(a){this.a=a},
-dK:function dK(){},
-j_(){var s=self,r=s.document.getElementById("sidenav-left-toggle"),q=s.document.querySelector(".sidebar-offcanvas-left"),p=s.document.getElementById("overlay-under-drawer"),o=A.a8(new A.dM(q,p))
+dC:function dC(){},
+dD:function dD(a){this.a=a},
+dE:function dE(){},
+iP(){var s=self,r=s.document.getElementById("sidenav-left-toggle"),q=s.document.querySelector(".sidebar-offcanvas-left"),p=s.document.getElementById("overlay-under-drawer"),o=A.a6(new A.dG(q,p))
 if(p!=null)p.addEventListener("click",o)
 if(r!=null)r.addEventListener("click",o)},
-iZ(){var s,r,q,p,o=self,n=o.document.body
+iO(){var s,r,q,p,o=self,n=o.document.body
 if(n==null)return
 s=n.getAttribute("data-using-base-href")
 if(s==null)return
@@ -2572,145 +2421,142 @@
 q=r}else q=""
 p=o.document.getElementById("dartdoc-main-content")
 if(p==null)return
-A.fJ(q,p.getAttribute("data-above-sidebar"),o.document.getElementById("dartdoc-sidebar-left-content"))
-A.fJ(q,p.getAttribute("data-below-sidebar"),o.document.getElementById("dartdoc-sidebar-right"))},
-fJ(a,b,c){if(b==null||b.length===0||c==null)return
-A.e3(self.window.fetch(a+A.i(b)),t.m).aY(new A.dN(c,a),t.P)},
-fQ(a,b){var s,r,q,p,o,n=A.hJ(b,"HTMLAnchorElement")
+A.fB(q,p.getAttribute("data-above-sidebar"),o.document.getElementById("dartdoc-sidebar-left-content"))
+A.fB(q,p.getAttribute("data-below-sidebar"),o.document.getElementById("dartdoc-sidebar-right"))},
+fB(a,b,c){if(b==null||b.length===0||c==null)return
+A.dX(self.window.fetch(a+A.h(b)),t.m).aY(new A.dH(c,a),t.P)},
+fI(a,b){var s,r,q,p,o,n=A.hz(b,"HTMLAnchorElement")
 if(n){n=b.attributes.getNamedItem("href")
 s=n==null?null:n.value
 if(s==null)return
-r=A.i4(s)
+r=A.hV(s)
 if(r!=null&&!r.gaT())b.href=a+s}q=b.childNodes
 for(p=0;p<q.length;++p){o=q.item(p)
-if(o!=null)A.fQ(a,o)}},
-dM:function dM(a,b){this.a=a
+if(o!=null)A.fI(a,o)}},
+dG:function dG(a,b){this.a=a
 this.b=b},
-dN:function dN(a,b){this.a=a
+dH:function dH(a,b){this.a=a
 this.b=b},
-jJ(){var s,r,q,p=self,o=p.document.body
+jy(){var s,r,q,p=self,o=p.document.body
 if(o==null)return
 s=p.document.getElementById("theme")
 if(s==null)s=t.m.a(s)
-r=new A.e_(s,o)
-s.addEventListener("change",A.a8(new A.dX(r)))
+r=new A.dT(s,o)
+s.addEventListener("change",A.a6(new A.dQ(r)))
 q=p.window.localStorage.getItem("colorTheme")
 if(q!=null){s.checked=q==="true"
 r.$0()}},
-e_:function e_(a,b){this.a=a
+dT:function dT(a,b){this.a=a
 this.b=b},
-dX:function dX(a){this.a=a},
-jU(a){if(typeof dartPrint=="function"){dartPrint(a)
+dQ:function dQ(a){this.a=a},
+jK(a){if(typeof dartPrint=="function"){dartPrint(a)
 return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a)
 return}if(typeof print=="function"){print(a)
 return}throw"Unable to print message: "+String(a)},
-k_(a){A.eI(new A.aT("Field '"+a+"' has been assigned during initialization."),new Error())},
-bs(){A.eI(new A.aT("Field '' has been assigned during initialization."),new Error())},
-hJ(a,b){var s,r,q,p,o,n
+jQ(a){A.eA(new A.aQ("Field '"+a+"' has been assigned during initialization."),new Error())},
+bn(){A.eA(new A.aQ("Field '' has been assigned during initialization."),new Error())},
+hz(a,b){var s,r,q,p,o,n
 if(b.length===0)return!1
 s=b.split(".")
 r=t.m.a(self)
 for(q=s.length,p=t.B,o=0;o<q;++o){n=s[o]
 r=p.a(r[n])
 if(r==null)return!1}return a instanceof t.g.a(r)},
-jR(){A.iZ()
-A.j_()
-A.jI()
+jH(){A.iO()
+A.iP()
+A.jx()
 var s=self.hljs
 if(s!=null)s.highlightAll()
-A.jJ()}},B={}
+A.jy()}},B={}
 var w=[A,J,B]
 var $={}
-A.ec.prototype={}
-J.bE.prototype={
+A.e4.prototype={}
+J.by.prototype={
 E(a,b){return a===b},
-gp(a){return A.bU(a)},
-h(a){return"Instance of '"+A.cI(a)+"'"},
-gt(a){return A.ak(A.ev(this))}}
-J.bF.prototype={
+gp(a){return A.bP(a)},
+h(a){return"Instance of '"+A.cE(a)+"'"},
+gq(a){return A.ah(A.en(this))}}
+J.bz.prototype={
 h(a){return String(a)},
 gp(a){return a?519018:218159},
-gt(a){return A.ak(t.y)},
-$ij:1}
-J.aO.prototype={
+gq(a){return A.ah(t.y)},
+$ii:1}
+J.aL.prototype={
 E(a,b){return null==b},
 h(a){return"null"},
 gp(a){return 0},
-$ij:1,
+$ii:1,
 $iu:1}
-J.aR.prototype={$in:1}
-J.a2.prototype={
+J.aO.prototype={$in:1}
+J.a_.prototype={
 gp(a){return 0},
 h(a){return String(a)}}
-J.bT.prototype={}
-J.as.prototype={}
-J.a1.prototype={
-h(a){var s=a[$.eJ()]
-if(s==null)return this.b9(a)
-return"JavaScript function for "+J.an(s)}}
-J.aQ.prototype={
+J.bO.prototype={}
+J.ap.prototype={}
+J.Z.prototype={
+h(a){var s=a[$.eB()]
+if(s==null)return this.b8(a)
+return"JavaScript function for "+J.ak(s)}}
+J.aN.prototype={
 gp(a){return 0},
 h(a){return String(a)}}
-J.aS.prototype={
+J.aP.prototype={
 gp(a){return 0},
 h(a){return String(a)}}
 J.p.prototype={
-Y(a,b){return new A.N(a,A.a7(a).j("@<1>").B(b).j("N<1,2>"))},
-Z(a){a.$flags&1&&A.K(a,"clear","clear")
+X(a,b){return new A.K(a,A.a4(a).j("@<1>").C(b).j("K<1,2>"))},
+Y(a){a.$flags&1&&A.aB(a,"clear","clear")
 a.length=0},
-aU(a,b){var s,r=A.eV(a.length,"",!1,t.N)
-for(s=0;s<a.length;++s)r[s]=A.i(a[s])
+aU(a,b){var s,r=A.eN(a.length,"",!1,t.N)
+for(s=0;s<a.length;++s)r[s]=A.h(a[s])
 return r.join(b)},
-bA(a,b,c){var s,r,q=a.length
+by(a,b,c){var s,r,q=a.length
 for(s=b,r=0;r<q;++r){s=c.$2(s,a[r])
-if(a.length!==q)throw A.a(A.aF(a))}return s},
-bB(a,b,c){return this.bA(a,b,c,t.z)},
-C(a,b){return a[b]},
-b8(a,b,c){var s=a.length
-if(b>s)throw A.a(A.F(b,0,s,"start",null))
-if(c<b||c>s)throw A.a(A.F(c,b,s,"end",null))
-if(b===c)return A.h([],A.a7(a))
-return A.h(a.slice(b,c),A.a7(a))},
-ga0(a){var s=a.length
+if(a.length!==q)throw A.a(A.al(a))}return s},
+bz(a,b,c){return this.by(a,b,c,t.z)},
+D(a,b){return a[b]},
+b7(a,b,c){var s=a.length
+if(b>s)throw A.a(A.E(b,0,s,"start",null))
+if(c<b||c>s)throw A.a(A.E(c,b,s,"end",null))
+if(b===c)return A.l([],A.a4(a))
+return A.l(a.slice(b,c),A.a4(a))},
+ga_(a){var s=a.length
 if(s>0)return a[s-1]
-throw A.a(A.hG())},
-b7(a,b){var s,r,q,p,o
-a.$flags&2&&A.K(a,"sort")
+throw A.a(A.hw())},
+b6(a,b){var s,r,q,p,o
+a.$flags&2&&A.aB(a,"sort")
 s=a.length
 if(s<2)return
-if(b==null)b=J.j5()
+if(b==null)b=J.iV()
 if(s===2){r=a[0]
 q=a[1]
 if(b.$2(r,q)>0){a[0]=q
 a[1]=r}return}p=0
-if(A.a7(a).c.b(null))for(o=0;o<a.length;++o)if(a[o]===void 0){a[o]=null;++p}a.sort(A.aC(b,2))
-if(p>0)this.bo(a,p)},
-bo(a,b){var s,r=a.length
+if(A.a4(a).c.b(null))for(o=0;o<a.length;++o)if(a[o]===void 0){a[o]=null;++p}a.sort(A.az(b,2))
+if(p>0)this.bn(a,p)},
+bn(a,b){var s,r=a.length
 for(;s=r-1,r>0;r=s)if(a[s]===null){a[s]=void 0;--b
 if(b===0)break}},
-h(a){return A.eb(a,"[","]")},
-gA(a){return new J.Z(a,a.length,A.a7(a).j("Z<1>"))},
-gp(a){return A.bU(a)},
+h(a){return A.e3(a,"[","]")},
+gv(a){return new J.W(a,a.length,A.a4(a).j("W<1>"))},
+gp(a){return A.bP(a)},
 gl(a){return a.length},
-k(a,b){if(!(b>=0&&b<a.length))throw A.a(A.eD(a,b))
+k(a,b){if(!(b>=0&&b<a.length))throw A.a(A.fN(a,b))
 return a[b]},
-q(a,b,c){a.$flags&2&&A.K(a)
-if(!(b>=0&&b<a.length))throw A.a(A.eD(a,b))
-a[b]=c},
 $ic:1,
 $if:1}
-J.cz.prototype={}
-J.Z.prototype={
+J.cw.prototype={}
+J.W.prototype={
 gn(){var s=this.d
 return s==null?this.$ti.c.a(s):s},
 m(){var s,r=this,q=r.a,p=q.length
-if(r.b!==p)throw A.a(A.e6(q))
+if(r.b!==p)throw A.a(A.e_(q))
 s=r.c
 if(s>=p){r.d=null
 return!1}r.d=q[s]
 r.c=s+1
 return!0}}
-J.aP.prototype={
+J.aM.prototype={
 aH(a,b){var s
 if(a<b)return-1
 else if(a>b)return 1
@@ -2729,56 +2575,56 @@
 q=Math.pow(2,r)
 p=s<1?s/q:q/s
 return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911},
-a3(a,b){var s=a%b
+a2(a,b){var s=a%b
 if(s===0)return 0
 if(s>0)return s
 return s+b},
-br(a,b){return(a|0)===a?a/b|0:this.bs(a,b)},
-bs(a,b){var s=a/b
+bq(a,b){return(a|0)===a?a/b|0:this.br(a,b)},
+br(a,b){var s=a/b
 if(s>=-2147483648&&s<=2147483647)return s|0
 if(s>0){if(s!==1/0)return Math.floor(s)}else if(s>-1/0)return Math.ceil(s)
-throw A.a(A.bZ("Result of truncating division is "+A.i(s)+": "+A.i(a)+" ~/ "+b))},
-W(a,b){var s
+throw A.a(A.cK("Result of truncating division is "+A.h(s)+": "+A.h(a)+" ~/ "+b))},
+ac(a,b){var s
 if(a>0)s=this.aC(a,b)
 else{s=b>31?31:b
 s=a>>s>>>0}return s},
-bq(a,b){if(0>b)throw A.a(A.ju(b))
+bp(a,b){if(0>b)throw A.a(A.jj(b))
 return this.aC(a,b)},
 aC(a,b){return b>31?0:a>>>b},
-gt(a){return A.ak(t.H)},
+gq(a){return A.ah(t.H)},
 $it:1}
-J.aN.prototype={
-gt(a){return A.ak(t.S)},
-$ij:1,
+J.aK.prototype={
+gq(a){return A.ah(t.S)},
+$ii:1,
 $ib:1}
-J.bG.prototype={
-gt(a){return A.ak(t.i)},
-$ij:1}
-J.af.prototype={
-J(a,b,c,d){var s=A.b1(b,c,a.length)
+J.bA.prototype={
+gq(a){return A.ah(t.i)},
+$ii:1}
+J.ac.prototype={
+J(a,b,c,d){var s=A.bQ(b,c,a.length)
 return a.substring(0,b)+d+a.substring(s)},
-v(a,b,c){var s
-if(c<0||c>a.length)throw A.a(A.F(c,0,a.length,null,null))
+u(a,b,c){var s
+if(c<0||c>a.length)throw A.a(A.E(c,0,a.length,null,null))
 s=c+b.length
 if(s>a.length)return!1
 return b===a.substring(c,s)},
-u(a,b){return this.v(a,b,0)},
-i(a,b,c){return a.substring(b,A.b1(b,c,a.length))},
+t(a,b){return this.u(a,b,0)},
+i(a,b,c){return a.substring(b,A.bQ(b,c,a.length))},
 L(a,b){return this.i(a,b,null)},
-b4(a,b){var s,r
+b3(a,b){var s,r
 if(0>=b)return""
 if(b===1||a.length===0)return a
-if(b!==b>>>0)throw A.a(B.C)
+if(b!==b>>>0)throw A.a(B.x)
 for(s=a,r="";!0;){if((b&1)===1)r=s+r
 b=b>>>1
 if(b===0)break
 s+=s}return r},
-a_(a,b,c){var s
-if(c<0||c>a.length)throw A.a(A.F(c,0,a.length,null,null))
+Z(a,b,c){var s
+if(c<0||c>a.length)throw A.a(A.E(c,0,a.length,null,null))
 s=a.indexOf(b,c)
 return s},
-aQ(a,b){return this.a_(a,b,0)},
-O(a,b){return A.jY(a,b,0)},
+aQ(a,b){return this.Z(a,b,0)},
+O(a,b){return A.jO(a,b,0)},
 aH(a,b){var s
 if(a===b)s=0
 else s=a<b?-1:1
@@ -2790,85 +2636,71 @@
 r^=r>>6}r=r+((r&67108863)<<3)&536870911
 r^=r>>11
 return r+((r&16383)<<15)&536870911},
-gt(a){return A.ak(t.N)},
+gq(a){return A.ah(t.N)},
 gl(a){return a.length},
-$ij:1,
+$ii:1,
 $id:1}
-A.a5.prototype={
-gA(a){return new A.bx(J.ac(this.gN()),A.E(this).j("bx<1,2>"))},
-gl(a){return J.bu(this.gN())},
-C(a,b){return A.E(this).y[1].a(J.e8(this.gN(),b))},
-h(a){return J.an(this.gN())}}
-A.bx.prototype={
+A.a2.prototype={
+gv(a){return new A.br(J.aC(this.gN()),A.R(this).j("br<1,2>"))},
+gl(a){return J.ch(this.gN())},
+D(a,b){return A.R(this).y[1].a(J.eD(this.gN(),b))},
+h(a){return J.ak(this.gN())}}
+A.br.prototype={
 m(){return this.a.m()},
 gn(){return this.$ti.y[1].a(this.a.gn())}}
-A.ad.prototype={
+A.aa.prototype={
 gN(){return this.a}}
-A.b7.prototype={$ic:1}
-A.b6.prototype={
-k(a,b){return this.$ti.y[1].a(J.hj(this.a,b))},
-q(a,b,c){J.hk(this.a,b,this.$ti.c.a(c))},
+A.b4.prototype={$ic:1}
+A.b3.prototype={
+k(a,b){return this.$ti.y[1].a(J.ha(this.a,b))},
 $ic:1,
 $if:1}
-A.N.prototype={
-Y(a,b){return new A.N(this.a,this.$ti.j("@<1>").B(b).j("N<1,2>"))},
+A.K.prototype={
+X(a,b){return new A.K(this.a,this.$ti.j("@<1>").C(b).j("K<1,2>"))},
 gN(){return this.a}}
-A.aT.prototype={
+A.aQ.prototype={
 h(a){return"LateInitializationError: "+this.a}}
-A.by.prototype={
+A.bs.prototype={
 gl(a){return this.a.length},
 k(a,b){return this.a.charCodeAt(b)}}
-A.cJ.prototype={}
+A.cF.prototype={}
 A.c.prototype={}
-A.J.prototype={
-gA(a){var s=this
-return new A.ao(s,s.gl(s),A.E(s).j("ao<J.E>"))}}
-A.ao.prototype={
+A.I.prototype={
+gv(a){var s=this
+return new A.am(s,s.gl(s),A.R(s).j("am<I.E>"))}}
+A.am.prototype={
 gn(){var s=this.d
 return s==null?this.$ti.c.a(s):s},
-m(){var s,r=this,q=r.a,p=J.ck(q),o=p.gl(q)
-if(r.b!==o)throw A.a(A.aF(q))
+m(){var s,r=this,q=r.a,p=J.cg(q),o=p.gl(q)
+if(r.b!==o)throw A.a(A.al(q))
 s=r.c
 if(s>=o){r.d=null
-return!1}r.d=p.C(q,s);++r.c
+return!1}r.d=p.D(q,s);++r.c
 return!0}}
-A.ah.prototype={
-gA(a){return new A.ap(J.ac(this.a),this.b,A.E(this).j("ap<1,2>"))},
-gl(a){return J.bu(this.a)},
-C(a,b){return this.b.$1(J.e8(this.a,b))}}
-A.aK.prototype={$ic:1}
-A.ap.prototype={
-m(){var s=this,r=s.b
-if(r.m()){s.a=s.c.$1(r.gn())
-return!0}s.a=null
-return!1},
-gn(){var s=this.a
-return s==null?this.$ti.y[1].a(s):s}}
-A.ai.prototype={
-gl(a){return J.bu(this.a)},
-C(a,b){return this.b.$1(J.e8(this.a,b))}}
-A.aM.prototype={}
-A.bY.prototype={
-q(a,b,c){throw A.a(A.bZ("Cannot modify an unmodifiable list"))}}
-A.at.prototype={}
-A.bm.prototype={}
-A.cd.prototype={$r:"+item,matchPosition(1,2)",$s:1}
-A.aG.prototype={
-h(a){return A.ef(this)},
-q(a,b,c){A.hx()},
+A.af.prototype={
+gl(a){return J.ch(this.a)},
+D(a,b){return this.b.$1(J.eD(this.a,b))}}
+A.aJ.prototype={}
+A.bU.prototype={}
+A.aq.prototype={}
+A.bj.prototype={}
+A.c8.prototype={$r:"+item,matchPosition(1,2)",$s:1}
+A.aE.prototype={
+h(a){return A.e7(this)},
+A(a,b,c){A.hn()},
 $iy:1}
-A.aI.prototype={
+A.aG.prototype={
 gl(a){return this.b.length},
-gbl(){var s=this.$keys
+gbk(){var s=this.$keys
 if(s==null){s=Object.keys(this.a)
 this.$keys=s}return s},
 P(a){if("__proto__"===a)return!1
 return this.a.hasOwnProperty(a)},
 k(a,b){if(!this.P(b))return null
 return this.b[this.a[b]]},
-F(a,b){var s,r,q=this.gbl(),p=this.b
+F(a,b){var s,r,q=this.gbk(),p=this.b
 for(s=q.length,r=0;r<s;++r)b.$2(q[r],p[r])}}
-A.ca.prototype={
+A.c5.prototype={
 gn(){var s=this.d
 return s==null?this.$ti.c.a(s):s},
 m(){var s=this,r=s.c
@@ -2876,17 +2708,17 @@
 return!1}s.d=s.a[r]
 s.c=r+1
 return!0}}
-A.aH.prototype={}
-A.aJ.prototype={
+A.aF.prototype={}
+A.aH.prototype={
 gl(a){return this.b},
-gA(a){var s,r=this,q=r.$keys
+gv(a){var s,r=this,q=r.$keys
 if(q==null){q=Object.keys(r.a)
 r.$keys=q}s=q
-return new A.ca(s,s.length,r.$ti.j("ca<1>"))},
+return new A.c5(s,s.length,r.$ti.j("c5<1>"))},
 O(a,b){if("__proto__"===b)return!1
 return this.a.hasOwnProperty(b)}}
-A.cM.prototype={
-D(a){var s,r,q=this,p=new RegExp(q.a).exec(a)
+A.cI.prototype={
+B(a){var s,r,q=this,p=new RegExp(q.a).exec(a)
 if(p==null)return null
 s=Object.create(null)
 r=q.b
@@ -2900,57 +2732,55 @@
 r=q.f
 if(r!==-1)s.receiver=p[r+1]
 return s}}
-A.b_.prototype={
+A.aY.prototype={
 h(a){return"Null check operator used on a null value"}}
-A.bH.prototype={
+A.bB.prototype={
 h(a){var s,r=this,q="NoSuchMethodError: method not found: '",p=r.b
 if(p==null)return"NoSuchMethodError: "+r.a
 s=r.c
 if(s==null)return q+p+"' ("+r.a+")"
 return q+p+"' on '"+s+"' ("+r.a+")"}}
-A.bX.prototype={
+A.bT.prototype={
 h(a){var s=this.a
 return s.length===0?"Error":"Error: "+s}}
-A.cH.prototype={
+A.cD.prototype={
 h(a){return"Throw of null ('"+(this.a===null?"null":"undefined")+"' from JavaScript)"}}
-A.aL.prototype={}
-A.bd.prototype={
+A.aI.prototype={}
+A.ba.prototype={
 h(a){var s,r=this.b
 if(r!=null)return r
 r=this.a
 s=r!==null&&typeof r==="object"?r.stack:null
 return this.b=s==null?"":s},
-$ia3:1}
-A.ae.prototype={
+$ia0:1}
+A.ab.prototype={
 h(a){var s=this.constructor,r=s==null?null:s.name
-return"Closure '"+A.h1(r==null?"unknown":r)+"'"},
-gbQ(){return this},
+return"Closure '"+A.fU(r==null?"unknown":r)+"'"},
+gbO(){return this},
 $C:"$1",
 $R:1,
 $D:null}
-A.cn.prototype={$C:"$0",$R:0}
-A.co.prototype={$C:"$2",$R:2}
-A.cL.prototype={}
-A.cK.prototype={
+A.ck.prototype={$C:"$0",$R:0}
+A.cl.prototype={$C:"$2",$R:2}
+A.cH.prototype={}
+A.cG.prototype={
 h(a){var s=this.$static_name
 if(s==null)return"Closure of unknown static method"
-return"Closure '"+A.h1(s)+"'"}}
-A.aE.prototype={
+return"Closure '"+A.fU(s)+"'"}}
+A.aD.prototype={
 E(a,b){if(b==null)return!1
 if(this===b)return!0
-if(!(b instanceof A.aE))return!1
+if(!(b instanceof A.aD))return!1
 return this.$_target===b.$_target&&this.a===b.a},
-gp(a){return(A.fY(this.a)^A.bU(this.$_target))>>>0},
-h(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.cI(this.a)+"'")}}
-A.c4.prototype={
+gp(a){return(A.fQ(this.a)^A.bP(this.$_target))>>>0},
+h(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.cE(this.a)+"'")}}
+A.c_.prototype={
 h(a){return"Reading static variable '"+this.a+"' during its initialization"}}
-A.bV.prototype={
+A.bR.prototype={
 h(a){return"RuntimeError: "+this.a}}
-A.ag.prototype={
+A.ad.prototype={
 gl(a){return this.a},
-gR(){return new A.O(this,A.E(this).j("O<1>"))},
-gb1(){var s=A.E(this)
-return A.hQ(new A.O(this,s.j("O<1>")),new A.cA(this),s.c,s.y[1])},
+gR(){return new A.ae(this,A.R(this).j("ae<1>"))},
 P(a){var s=this.b
 if(s==null)return!1
 return s[a]!=null},
@@ -2963,125 +2793,133 @@
 if(p==null)return o
 r=p[b]
 q=r==null?o:r.b
-return q}else return this.bF(b)},
-bF(a){var s,r,q=this.d
+return q}else return this.bD(b)},
+bD(a){var s,r,q=this.d
 if(q==null)return null
 s=q[this.aR(a)]
 r=this.aS(s,a)
 if(r<0)return null
 return s[r].b},
-q(a,b,c){var s,r,q,p,o,n,m=this
+A(a,b,c){var s,r,q,p,o,n,m=this
 if(typeof b=="string"){s=m.b
-m.aq(s==null?m.b=m.ab():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=m.c
-m.aq(r==null?m.c=m.ab():r,b,c)}else{q=m.d
-if(q==null)q=m.d=m.ab()
+m.aq(s==null?m.b=m.aa():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=m.c
+m.aq(r==null?m.c=m.aa():r,b,c)}else{q=m.d
+if(q==null)q=m.d=m.aa()
 p=m.aR(b)
 o=q[p]
-if(o==null)q[p]=[m.ac(b,c)]
+if(o==null)q[p]=[m.ab(b,c)]
 else{n=m.aS(o,b)
 if(n>=0)o[n].b=c
-else o.push(m.ac(b,c))}}},
-Z(a){var s=this
+else o.push(m.ab(b,c))}}},
+Y(a){var s=this
 if(s.a>0){s.b=s.c=s.d=s.e=s.f=null
 s.a=0
 s.az()}},
 F(a,b){var s=this,r=s.e,q=s.r
 for(;r!=null;){b.$2(r.a,r.b)
-if(q!==s.r)throw A.a(A.aF(s))
+if(q!==s.r)throw A.a(A.al(s))
 r=r.c}},
 aq(a,b,c){var s=a[b]
-if(s==null)a[b]=this.ac(b,c)
+if(s==null)a[b]=this.ab(b,c)
 else s.b=c},
 az(){this.r=this.r+1&1073741823},
-ac(a,b){var s=this,r=new A.cD(a,b)
+ab(a,b){var s=this,r=new A.cz(a,b)
 if(s.e==null)s.e=s.f=r
 else s.f=s.f.c=r;++s.a
 s.az()
 return r},
-aR(a){return J.Y(a)&1073741823},
+aR(a){return J.U(a)&1073741823},
 aS(a,b){var s,r
 if(a==null)return-1
 s=a.length
-for(r=0;r<s;++r)if(J.H(a[r].a,b))return r
+for(r=0;r<s;++r)if(J.G(a[r].a,b))return r
 return-1},
-h(a){return A.ef(this)},
-ab(){var s=Object.create(null)
+h(a){return A.e7(this)},
+aa(){var s=Object.create(null)
 s["<non-identifier-key>"]=s
 delete s["<non-identifier-key>"]
 return s}}
-A.cA.prototype={
-$1(a){var s=this.a,r=s.k(0,a)
-return r==null?A.E(s).y[1].a(r):r},
-$S(){return A.E(this.a).j("2(1)")}}
-A.cD.prototype={}
-A.O.prototype={
+A.cz.prototype={}
+A.ae.prototype={
 gl(a){return this.a.a},
-gA(a){var s=this.a,r=new A.bI(s,s.r)
-r.c=s.e
-return r}}
-A.bI.prototype={
+gv(a){var s=this.a
+return new A.bC(s,s.r,s.e)}}
+A.bC.prototype={
 gn(){return this.d},
 m(){var s,r=this,q=r.a
-if(r.b!==q.r)throw A.a(A.aF(q))
+if(r.b!==q.r)throw A.a(A.al(q))
 s=r.c
 if(s==null){r.d=null
 return!1}else{r.d=s.a
 r.c=s.c
 return!0}}}
-A.dU.prototype={
+A.aS.prototype={
+gl(a){return this.a.a},
+gv(a){var s=this.a
+return new A.aR(s,s.r,s.e)}}
+A.aR.prototype={
+gn(){return this.d},
+m(){var s,r=this,q=r.a
+if(r.b!==q.r)throw A.a(A.al(q))
+s=r.c
+if(s==null){r.d=null
+return!1}else{r.d=s.b
+r.c=s.c
+return!0}}}
+A.dN.prototype={
 $1(a){return this.a(a)},
-$S:11}
-A.dV.prototype={
+$S:10}
+A.dO.prototype={
 $2(a,b){return this.a(a,b)},
-$S:12}
-A.dW.prototype={
+$S:11}
+A.dP.prototype={
 $1(a){return this.a(a)},
-$S:13}
-A.bc.prototype={
+$S:12}
+A.b9.prototype={
 h(a){return this.aE(!1)},
-aE(a){var s,r,q,p,o,n=this.bj(),m=this.aw(),l=(a?""+"Record ":"")+"("
+aE(a){var s,r,q,p,o,n=this.bi(),m=this.aw(),l=(a?""+"Record ":"")+"("
 for(s=n.length,r="",q=0;q<s;++q,r=", "){l+=r
 p=n[q]
 if(typeof p=="string")l=l+p+": "
 o=m[q]
-l=a?l+A.eZ(o):l+A.i(o)}l+=")"
+l=a?l+A.eR(o):l+A.h(o)}l+=")"
 return l.charCodeAt(0)==0?l:l},
-bj(){var s,r=this.$s
-for(;$.dg.length<=r;)$.dg.push(null)
-s=$.dg[r]
-if(s==null){s=this.be()
-$.dg[r]=s}return s},
-be(){var s,r,q,p=this.$r,o=p.indexOf("("),n=p.substring(1,o),m=p.substring(o),l=m==="()"?0:m.replace(/[^,]/g,"").length+1,k=t.K,j=J.eS(l,k)
-for(s=0;s<l;++s)j[s]=s
+bi(){var s,r=this.$s
+for(;$.dd.length<=r;)$.dd.push(null)
+s=$.dd[r]
+if(s==null){s=this.bd()
+$.dd[r]=s}return s},
+bd(){var s,r,q,p=this.$r,o=p.indexOf("("),n=p.substring(1,o),m=p.substring(o),l=m==="()"?0:m.replace(/[^,]/g,"").length+1,k=A.l(new Array(l),t.f)
+for(s=0;s<l;++s)k[s]=s
 if(n!==""){r=n.split(",")
 s=r.length
 for(q=l;s>0;){--q;--s
-j[q]=r[s]}}j=A.hP(j,!1,k)
-j.$flags=3
-return j}}
-A.cc.prototype={
+k[q]=r[s]}}k=A.hF(k,!1,t.K)
+k.$flags=3
+return k}}
+A.c7.prototype={
 aw(){return[this.a,this.b]},
 E(a,b){if(b==null)return!1
-return b instanceof A.cc&&this.$s===b.$s&&J.H(this.a,b.a)&&J.H(this.b,b.b)},
-gp(a){return A.hT(this.$s,this.a,this.b,B.j)}}
-A.cy.prototype={
+return b instanceof A.c7&&this.$s===b.$s&&J.G(this.a,b.a)&&J.G(this.b,b.b)},
+gp(a){return A.hI(this.$s,this.a,this.b,B.h)}}
+A.cv.prototype={
 h(a){return"RegExp/"+this.a+"/"+this.b.flags},
-gbm(){var s=this,r=s.c
+gbl(){var s=this,r=s.c
 if(r!=null)return r
 r=s.b
-return s.c=A.eT(s.a,r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)},
-bi(a,b){var s,r=this.gbm()
+return s.c=A.eL(s.a,r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)},
+bh(a,b){var s,r=this.gbl()
 r.lastIndex=b
 s=r.exec(a)
 if(s==null)return null
-return new A.cb(s)}}
-A.cb.prototype={
-gby(){var s=this.b
+return new A.c6(s)}}
+A.c6.prototype={
+gbx(){var s=this.b
 return s.index+s[0].length},
 k(a,b){return this.b[b]},
-$icF:1,
-$ieh:1}
-A.cW.prototype={
+$icB:1,
+$ie9:1}
+A.cT.prototype={
 gn(){var s=this.d
 return s==null?t.F.a(s):s},
 m(){var s,r,q,p,o,n,m=this,l=m.b
@@ -3089,9 +2927,9 @@
 s=m.c
 r=l.length
 if(s<=r){q=m.a
-p=q.bi(l,s)
+p=q.bh(l,s)
 if(p!=null){m.d=p
-o=p.gby()
+o=p.gbx()
 if(p.b.index===o){s=!1
 if(q.b.unicode){q=m.c
 n=q+1
@@ -3100,173 +2938,164 @@
 s=s>=56320&&s<=57343}}}o=(s?o+1:o)+1}m.c=o
 return!0}}m.b=m.d=null
 return!1}}
-A.bJ.prototype={
-gt(a){return B.ab},
-$ij:1}
-A.aX.prototype={}
-A.bK.prototype={
-gt(a){return B.ac},
-$ij:1}
-A.aq.prototype={
+A.bD.prototype={
+gq(a){return B.a3},
+$ii:1}
+A.aW.prototype={}
+A.bE.prototype={
+gq(a){return B.a4},
+$ii:1}
+A.an.prototype={
 gl(a){return a.length},
 $iD:1}
-A.aV.prototype={
-k(a,b){A.U(b,a,a.length)
+A.aU.prototype={
+k(a,b){A.ag(b,a,a.length)
 return a[b]},
-q(a,b,c){a.$flags&2&&A.K(a)
-A.U(b,a,a.length)
-a[b]=c},
 $ic:1,
 $if:1}
-A.aW.prototype={
-q(a,b,c){a.$flags&2&&A.K(a)
-A.U(b,a,a.length)
-a[b]=c},
-$ic:1,
-$if:1}
+A.aV.prototype={$ic:1,$if:1}
+A.bF.prototype={
+gq(a){return B.a5},
+$ii:1}
+A.bG.prototype={
+gq(a){return B.a6},
+$ii:1}
+A.bH.prototype={
+gq(a){return B.a7},
+k(a,b){A.ag(b,a,a.length)
+return a[b]},
+$ii:1}
+A.bI.prototype={
+gq(a){return B.a8},
+k(a,b){A.ag(b,a,a.length)
+return a[b]},
+$ii:1}
+A.bJ.prototype={
+gq(a){return B.a9},
+k(a,b){A.ag(b,a,a.length)
+return a[b]},
+$ii:1}
+A.bK.prototype={
+gq(a){return B.ab},
+k(a,b){A.ag(b,a,a.length)
+return a[b]},
+$ii:1}
 A.bL.prototype={
-gt(a){return B.ad},
-$ij:1}
+gq(a){return B.ac},
+k(a,b){A.ag(b,a,a.length)
+return a[b]},
+$ii:1}
+A.aX.prototype={
+gq(a){return B.ad},
+gl(a){return a.length},
+k(a,b){A.ag(b,a,a.length)
+return a[b]},
+$ii:1}
 A.bM.prototype={
-gt(a){return B.ae},
-$ij:1}
-A.bN.prototype={
-gt(a){return B.af},
-k(a,b){A.U(b,a,a.length)
-return a[b]},
-$ij:1}
-A.bO.prototype={
-gt(a){return B.ag},
-k(a,b){A.U(b,a,a.length)
-return a[b]},
-$ij:1}
-A.bP.prototype={
-gt(a){return B.ah},
-k(a,b){A.U(b,a,a.length)
-return a[b]},
-$ij:1}
-A.bQ.prototype={
-gt(a){return B.aj},
-k(a,b){A.U(b,a,a.length)
-return a[b]},
-$ij:1}
-A.bR.prototype={
-gt(a){return B.ak},
-k(a,b){A.U(b,a,a.length)
-return a[b]},
-$ij:1}
-A.aY.prototype={
-gt(a){return B.al},
+gq(a){return B.ae},
 gl(a){return a.length},
-k(a,b){A.U(b,a,a.length)
+k(a,b){A.ag(b,a,a.length)
 return a[b]},
-$ij:1}
-A.aZ.prototype={
-gt(a){return B.am},
-gl(a){return a.length},
-k(a,b){A.U(b,a,a.length)
-return a[b]},
-$ij:1,
-$iaj:1}
+$ii:1}
+A.b5.prototype={}
+A.b6.prototype={}
+A.b7.prototype={}
 A.b8.prototype={}
-A.b9.prototype={}
-A.ba.prototype={}
-A.bb.prototype={}
-A.G.prototype={
-j(a){return A.bi(v.typeUniverse,this,a)},
-B(a){return A.fl(v.typeUniverse,this,a)}}
-A.c7.prototype={}
-A.ds.prototype={
+A.F.prototype={
+j(a){return A.bf(v.typeUniverse,this,a)},
+C(a){return A.fd(v.typeUniverse,this,a)}}
+A.c2.prototype={}
+A.dp.prototype={
 h(a){return A.C(this.a,null)}}
-A.c6.prototype={
+A.c1.prototype={
 h(a){return this.a}}
-A.be.prototype={$iR:1}
-A.cY.prototype={
+A.bb.prototype={$iN:1}
+A.cV.prototype={
 $1(a){var s=this.a,r=s.a
 s.a=null
 r.$0()},
 $S:2}
-A.cX.prototype={
+A.cU.prototype={
 $1(a){var s,r
 this.a.a=a
 s=this.b
 r=this.c
 s.firstChild?s.removeChild(r):s.appendChild(r)},
-$S:14}
-A.cZ.prototype={
+$S:13}
+A.cW.prototype={
 $0(){this.a.$0()},
 $S:5}
-A.d_.prototype={
+A.cX.prototype={
 $0(){this.a.$0()},
 $S:5}
-A.dq.prototype={
-ba(a,b){if(self.setTimeout!=null)self.setTimeout(A.aC(new A.dr(this,b),0),a)
-else throw A.a(A.bZ("`setTimeout()` not found."))}}
-A.dr.prototype={
+A.dm.prototype={
+b9(a,b){if(self.setTimeout!=null)self.setTimeout(A.az(new A.dn(this,b),0),a)
+else throw A.a(A.cK("`setTimeout()` not found."))}}
+A.dn.prototype={
 $0(){this.b.$0()},
 $S:0}
-A.c1.prototype={
+A.bX.prototype={
 ae(a){var s,r=this
 if(a==null)a=r.$ti.c.a(a)
 if(!r.b)r.a.ar(a)
 else{s=r.a
-if(r.$ti.j("a0<1>").b(a))s.au(a)
-else s.a7(a)}},
+if(r.$ti.j("Y<1>").b(a))s.au(a)
+else s.a6(a)}},
 af(a,b){var s=this.a
 if(this.b)s.H(a,b)
-else s.a6(a,b)}}
-A.dC.prototype={
+else s.a5(a,b)}}
+A.dz.prototype={
 $1(a){return this.a.$2(0,a)},
 $S:3}
-A.dD.prototype={
-$2(a,b){this.a.$2(1,new A.aL(a,b))},
-$S:15}
-A.dQ.prototype={
+A.dA.prototype={
+$2(a,b){this.a.$2(1,new A.aI(a,b))},
+$S:14}
+A.dK.prototype={
 $2(a,b){this.a(a,b)},
-$S:16}
-A.a_.prototype={
-h(a){return A.i(this.a)},
-$il:1,
+$S:15}
+A.X.prototype={
+h(a){return A.h(this.a)},
+$ik:1,
 gK(){return this.b}}
-A.c3.prototype={
+A.bZ.prototype={
 af(a,b){var s,r=this.a
-if((r.a&30)!==0)throw A.a(A.f3("Future already completed"))
-s=A.j4(a,b)
-r.a6(s.a,s.b)},
+if((r.a&30)!==0)throw A.a(A.eW("Future already completed"))
+s=A.iU(a,b)
+r.a5(s.a,s.b)},
 aI(a){return this.af(a,null)}}
-A.b5.prototype={
+A.b2.prototype={
 ae(a){var s=this.a
-if((s.a&30)!==0)throw A.a(A.f3("Future already completed"))
+if((s.a&30)!==0)throw A.a(A.eW("Future already completed"))
 s.ar(a)}}
-A.av.prototype={
-bG(a){if((this.c&15)!==6)return!0
+A.as.prototype={
+bE(a){if((this.c&15)!==6)return!0
 return this.b.b.ap(this.d,a.a)},
-bC(a){var s,r=this.e,q=null,p=a.a,o=this.b.b
-if(t.Q.b(r))q=o.bL(r,p,a.b)
+bA(a){var s,r=this.e,q=null,p=a.a,o=this.b.b
+if(t.Q.b(r))q=o.bJ(r,p,a.b)
 else q=o.ap(r,p)
 try{p=q
-return p}catch(s){if(t.c.b(A.X(s))){if((this.c&1)!==0)throw A.a(A.M("The error handler of Future.then must return a value of the returned future's type","onError"))
-throw A.a(A.M("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}}
+return p}catch(s){if(t.c.b(A.T(s))){if((this.c&1)!==0)throw A.a(A.V("The error handler of Future.then must return a value of the returned future's type","onError"))
+throw A.a(A.V("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}}
 A.v.prototype={
-a2(a,b,c){var s,r,q=$.q
-if(q===B.c){if(b!=null&&!t.Q.b(b)&&!t.v.b(b))throw A.a(A.eL(b,"onError",u.c))}else if(b!=null)b=A.jl(b,q)
+a1(a,b,c){var s,r,q=$.o
+if(q===B.b){if(b!=null&&!t.Q.b(b)&&!t.v.b(b))throw A.a(A.eE(b,"onError",u.c))}else if(b!=null)b=A.ja(b,q)
 s=new A.v(q,c.j("v<0>"))
 r=b==null?1:3
-this.a5(new A.av(s,r,a,b,this.$ti.j("@<1>").B(c).j("av<1,2>")))
+this.a4(new A.as(s,r,a,b,this.$ti.j("@<1>").C(c).j("as<1,2>")))
 return s},
-aY(a,b){return this.a2(a,null,b)},
-aD(a,b,c){var s=new A.v($.q,c.j("v<0>"))
-this.a5(new A.av(s,19,a,b,this.$ti.j("@<1>").B(c).j("av<1,2>")))
+aY(a,b){return this.a1(a,null,b)},
+aD(a,b,c){var s=new A.v($.o,c.j("v<0>"))
+this.a4(new A.as(s,19,a,b,this.$ti.j("@<1>").C(c).j("as<1,2>")))
 return s},
-bp(a){this.a=this.a&1|16
+bo(a){this.a=this.a&1|16
 this.c=a},
 T(a){this.a=a.a&30|this.a&1
 this.c=a.c},
-a5(a){var s=this,r=s.a
+a4(a){var s=this,r=s.a
 if(r<=3){a.a=s.c
 s.c=a}else{if((r&4)!==0){r=s.c
-if((r.a&24)===0){r.a5(a)
-return}s.T(r)}A.az(null,null,s.b,new A.d2(s,a))}},
+if((r.a&24)===0){r.a4(a)
+return}s.T(r)}A.aw(null,null,s.b,new A.d_(s,a))}},
 aA(a){var s,r,q,p,o,n=this,m={}
 m.a=a
 if(a==null)return
@@ -3278,219 +3107,216 @@
 p.a=r}}else{if((s&4)!==0){s=n.c
 if((s.a&24)===0){s.aA(a)
 return}n.T(s)}m.a=n.V(a)
-A.az(null,null,n.b,new A.d9(m,n))}},
+A.aw(null,null,n.b,new A.d6(m,n))}},
 U(){var s=this.c
 this.c=null
 return this.V(s)},
 V(a){var s,r,q
 for(s=a,r=null;s!=null;r=s,s=q){q=s.a
 s.a=r}return r},
-bc(a){var s,r,q,p=this
+bb(a){var s,r,q,p=this
 p.a^=2
-try{a.a2(new A.d6(p),new A.d7(p),t.P)}catch(q){s=A.X(q)
-r=A.aa(q)
-A.jW(new A.d8(p,s,r))}},
-a7(a){var s=this,r=s.U()
+try{a.a1(new A.d3(p),new A.d4(p),t.P)}catch(q){s=A.T(q)
+r=A.a8(q)
+A.jM(new A.d5(p,s,r))}},
+a6(a){var s=this,r=s.U()
 s.a=8
 s.c=a
-A.aw(s,r)},
-bd(a){var s,r,q=this
+A.at(s,r)},
+bc(a){var s,r,q=this
 if((a.a&16)!==0){s=q.b===a.b
 s=!(s||s)}else s=!1
 if(s)return
 r=q.U()
 q.T(a)
-A.aw(q,r)},
+A.at(q,r)},
 H(a,b){var s=this.U()
-this.bp(new A.a_(a,b))
-A.aw(this,s)},
-ar(a){if(this.$ti.j("a0<1>").b(a)){this.au(a)
+this.bo(new A.X(a,b))
+A.at(this,s)},
+ar(a){if(this.$ti.j("Y<1>").b(a)){this.au(a)
+return}this.ba(a)},
+ba(a){this.a^=2
+A.aw(null,null,this.b,new A.d1(this,a))},
+au(a){if(this.$ti.b(a)){A.ec(a,this,!1)
 return}this.bb(a)},
-bb(a){this.a^=2
-A.az(null,null,this.b,new A.d4(this,a))},
-au(a){if(this.$ti.b(a)){A.ek(a,this,!1)
-return}this.bc(a)},
-a6(a,b){this.a^=2
-A.az(null,null,this.b,new A.d3(this,a,b))},
-$ia0:1}
-A.d2.prototype={
-$0(){A.aw(this.a,this.b)},
-$S:0}
-A.d9.prototype={
-$0(){A.aw(this.b,this.a.a)},
+a5(a,b){this.a^=2
+A.aw(null,null,this.b,new A.d0(this,a,b))},
+$iY:1}
+A.d_.prototype={
+$0(){A.at(this.a,this.b)},
 $S:0}
 A.d6.prototype={
-$1(a){var s,r,q,p=this.a
-p.a^=2
-try{p.a7(p.$ti.c.a(a))}catch(q){s=A.X(q)
-r=A.aa(q)
-p.H(s,r)}},
-$S:2}
-A.d7.prototype={
-$2(a,b){this.a.H(a,b)},
-$S:6}
-A.d8.prototype={
-$0(){this.a.H(this.b,this.c)},
-$S:0}
-A.d5.prototype={
-$0(){A.ek(this.a.a,this.b,!0)},
-$S:0}
-A.d4.prototype={
-$0(){this.a.a7(this.b)},
+$0(){A.at(this.b,this.a.a)},
 $S:0}
 A.d3.prototype={
+$1(a){var s,r,q,p=this.a
+p.a^=2
+try{p.a6(p.$ti.c.a(a))}catch(q){s=A.T(q)
+r=A.a8(q)
+p.H(s,r)}},
+$S:2}
+A.d4.prototype={
+$2(a,b){this.a.H(a,b)},
+$S:6}
+A.d5.prototype={
 $0(){this.a.H(this.b,this.c)},
 $S:0}
-A.dc.prototype={
+A.d2.prototype={
+$0(){A.ec(this.a.a,this.b,!0)},
+$S:0}
+A.d1.prototype={
+$0(){this.a.a6(this.b)},
+$S:0}
+A.d0.prototype={
+$0(){this.a.H(this.b,this.c)},
+$S:0}
+A.d9.prototype={
 $0(){var s,r,q,p,o,n,m,l,k=this,j=null
 try{q=k.a.a
-j=q.b.b.bJ(q.d)}catch(p){s=A.X(p)
-r=A.aa(p)
+j=q.b.b.bH(q.d)}catch(p){s=A.T(p)
+r=A.a8(p)
 if(k.c&&k.b.a.c.a===s){q=k.a
 q.c=k.b.a.c}else{q=s
 o=r
-if(o==null)o=A.e9(q)
+if(o==null)o=A.e1(q)
 n=k.a
-n.c=new A.a_(q,o)
+n.c=new A.X(q,o)
 q=n}q.b=!0
 return}if(j instanceof A.v&&(j.a&24)!==0){if((j.a&16)!==0){q=k.a
 q.c=j.c
 q.b=!0}return}if(j instanceof A.v){m=k.b.a
 l=new A.v(m.b,m.$ti)
-j.a2(new A.dd(l,m),new A.de(l),t.n)
+j.a1(new A.da(l,m),new A.db(l),t.n)
 q=k.a
 q.c=l
 q.b=!1}},
 $S:0}
-A.dd.prototype={
-$1(a){this.a.bd(this.b)},
+A.da.prototype={
+$1(a){this.a.bc(this.b)},
 $S:2}
-A.de.prototype={
+A.db.prototype={
 $2(a,b){this.a.H(a,b)},
 $S:6}
-A.db.prototype={
+A.d8.prototype={
 $0(){var s,r,q,p,o,n
 try{q=this.a
 p=q.a
-q.c=p.b.b.ap(p.d,this.b)}catch(o){s=A.X(o)
-r=A.aa(o)
+q.c=p.b.b.ap(p.d,this.b)}catch(o){s=A.T(o)
+r=A.a8(o)
 q=s
 p=r
-if(p==null)p=A.e9(q)
+if(p==null)p=A.e1(q)
 n=this.a
-n.c=new A.a_(q,p)
+n.c=new A.X(q,p)
 n.b=!0}},
 $S:0}
-A.da.prototype={
+A.d7.prototype={
 $0(){var s,r,q,p,o,n,m,l=this
 try{s=l.a.a.c
 p=l.b
-if(p.a.bG(s)&&p.a.e!=null){p.c=p.a.bC(s)
-p.b=!1}}catch(o){r=A.X(o)
-q=A.aa(o)
+if(p.a.bE(s)&&p.a.e!=null){p.c=p.a.bA(s)
+p.b=!1}}catch(o){r=A.T(o)
+q=A.a8(o)
 p=l.a.a.c
 if(p.a===r){n=l.b
 n.c=p
 p=n}else{p=r
 n=q
-if(n==null)n=A.e9(p)
+if(n==null)n=A.e1(p)
 m=l.b
-m.c=new A.a_(p,n)
+m.c=new A.X(p,n)
 p=m}p.b=!0}},
 $S:0}
-A.c2.prototype={}
-A.cf.prototype={}
-A.dB.prototype={}
-A.dO.prototype={
-$0(){A.hz(this.a,this.b)},
+A.bY.prototype={}
+A.ca.prototype={}
+A.dy.prototype={}
+A.dI.prototype={
+$0(){A.hp(this.a,this.b)},
 $S:0}
-A.dh.prototype={
-bN(a){var s,r,q
-try{if(B.c===$.q){a.$0()
-return}A.fL(null,null,this,a)}catch(q){s=A.X(q)
-r=A.aa(q)
-A.ey(s,r)}},
-aF(a){return new A.di(this,a)},
-bK(a){if($.q===B.c)return a.$0()
-return A.fL(null,null,this,a)},
-bJ(a){return this.bK(a,t.z)},
-bO(a,b){if($.q===B.c)return a.$1(b)
-return A.jn(null,null,this,a,b)},
+A.de.prototype={
+bL(a){var s,r,q
+try{if(B.b===$.o){a.$0()
+return}A.fD(null,null,this,a)}catch(q){s=A.T(q)
+r=A.a8(q)
+A.eq(s,r)}},
+aF(a){return new A.df(this,a)},
+bI(a){if($.o===B.b)return a.$0()
+return A.fD(null,null,this,a)},
+bH(a){return this.bI(a,t.z)},
+bM(a,b){if($.o===B.b)return a.$1(b)
+return A.jc(null,null,this,a,b)},
 ap(a,b){var s=t.z
-return this.bO(a,b,s,s)},
-bM(a,b,c){if($.q===B.c)return a.$2(b,c)
-return A.jm(null,null,this,a,b,c)},
-bL(a,b,c){var s=t.z
-return this.bM(a,b,c,s,s,s)},
-bI(a){return a},
+return this.bM(a,b,s,s)},
+bK(a,b,c){if($.o===B.b)return a.$2(b,c)
+return A.jb(null,null,this,a,b,c)},
+bJ(a,b,c){var s=t.z
+return this.bK(a,b,c,s,s,s)},
+bG(a){return a},
 aX(a){var s=t.z
-return this.bI(a,s,s,s)}}
-A.di.prototype={
-$0(){return this.a.bN(this.b)},
+return this.bG(a,s,s,s)}}
+A.df.prototype={
+$0(){return this.a.bL(this.b)},
 $S:0}
 A.e.prototype={
-gA(a){return new A.ao(a,this.gl(a),A.aD(a).j("ao<e.E>"))},
-C(a,b){return this.k(a,b)},
-Y(a,b){return new A.N(a,A.aD(a).j("@<e.E>").B(b).j("N<1,2>"))},
-bz(a,b,c,d){var s
-A.b1(b,c,this.gl(a))
-for(s=b;s<c;++s)this.q(a,s,d)},
-h(a){return A.eb(a,"[","]")},
+gv(a){return new A.am(a,this.gl(a),A.aA(a).j("am<e.E>"))},
+D(a,b){return this.k(a,b)},
+X(a,b){return new A.K(a,A.aA(a).j("@<e.E>").C(b).j("K<1,2>"))},
+h(a){return A.e3(a,"[","]")},
 $ic:1,
 $if:1}
-A.P.prototype={
+A.L.prototype={
 F(a,b){var s,r,q,p
-for(s=this.gR(),s=s.gA(s),r=A.E(this).j("P.V");s.m();){q=s.gn()
+for(s=this.gR(),s=s.gv(s),r=A.R(this).j("L.V");s.m();){q=s.gn()
 p=this.k(0,q)
 b.$2(q,p==null?r.a(p):p)}},
 gl(a){var s=this.gR()
 return s.gl(s)},
-h(a){return A.ef(this)},
+h(a){return A.e7(this)},
 $iy:1}
-A.cE.prototype={
+A.cA.prototype={
 $2(a,b){var s,r=this.a
 if(!r.a)this.b.a+=", "
 r.a=!1
 r=this.b
-s=A.i(a)
+s=A.h(a)
 s=r.a+=s
 r.a=s+": "
-s=A.i(b)
+s=A.h(b)
 r.a+=s},
-$S:17}
-A.ci.prototype={
-q(a,b,c){throw A.a(A.bZ("Cannot modify unmodifiable map"))}}
-A.aU.prototype={
+$S:16}
+A.cd.prototype={
+A(a,b,c){throw A.a(A.cK("Cannot modify unmodifiable map"))}}
+A.aT.prototype={
 k(a,b){return this.a.k(0,b)},
-q(a,b,c){this.a.q(0,b,c)},
+A(a,b,c){this.a.A(0,b,c)},
 gl(a){var s=this.a
 return s.gl(s)},
 h(a){return this.a.h(0)},
 $iy:1}
-A.au.prototype={}
-A.ar.prototype={
-h(a){return A.eb(this,"{","}")},
-C(a,b){var s,r
-A.eg(b,"index")
-s=this.gA(this)
-for(r=b;s.m();){if(r===0)return s.gn();--r}throw A.a(A.ea(b,b-r,this,"index"))},
+A.ar.prototype={}
+A.ao.prototype={
+h(a){return A.e3(this,"{","}")},
+D(a,b){var s,r
+A.e8(b,"index")
+s=this.gv(this)
+for(r=b;s.m();){if(r===0)return s.gn();--r}throw A.a(A.e2(b,b-r,this,"index"))},
 $ic:1}
-A.bj.prototype={}
-A.c8.prototype={
+A.bg.prototype={}
+A.c3.prototype={
 k(a,b){var s,r=this.b
 if(r==null)return this.c.k(0,b)
 else if(typeof b!="string")return null
 else{s=r[b]
-return typeof s=="undefined"?this.bn(b):s}},
+return typeof s=="undefined"?this.bm(b):s}},
 gl(a){return this.b==null?this.c.a:this.M().length},
 gR(){if(this.b==null){var s=this.c
-return new A.O(s,A.E(s).j("O<1>"))}return new A.c9(this)},
-q(a,b,c){var s,r,q=this
-if(q.b==null)q.c.q(0,b,c)
+return new A.ae(s,A.R(s).j("ae<1>"))}return new A.c4(this)},
+A(a,b,c){var s,r,q=this
+if(q.b==null)q.c.A(0,b,c)
 else if(q.P(b)){s=q.b
 s[b]=c
 r=q.a
-if(r==null?s!=null:r!==s)r[b]=null}else q.bt().q(0,b,c)},
+if(r==null?s!=null:r!==s)r[b]=null}else q.bs().A(0,b,c)},
 P(a){if(this.b==null)return this.c.P(a)
 return Object.prototype.hasOwnProperty.call(this.a,a)},
 F(a,b){var s,r,q,p,o=this
@@ -3498,52 +3324,52 @@
 s=o.M()
 for(r=0;r<s.length;++r){q=s[r]
 p=o.b[q]
-if(typeof p=="undefined"){p=A.dE(o.a[q])
+if(typeof p=="undefined"){p=A.dB(o.a[q])
 o.b[q]=p}b.$2(q,p)
-if(s!==o.c)throw A.a(A.aF(o))}},
+if(s!==o.c)throw A.a(A.al(o))}},
 M(){var s=this.c
-if(s==null)s=this.c=A.h(Object.keys(this.a),t.s)
+if(s==null)s=this.c=A.l(Object.keys(this.a),t.s)
 return s},
-bt(){var s,r,q,p,o,n=this
+bs(){var s,r,q,p,o,n=this
 if(n.b==null)return n.c
-s=A.ee(t.N,t.z)
+s=A.e6(t.N,t.z)
 r=n.M()
 for(q=0;p=r.length,q<p;++q){o=r[q]
-s.q(0,o,n.k(0,o))}if(p===0)r.push("")
-else B.d.Z(r)
+s.A(0,o,n.k(0,o))}if(p===0)r.push("")
+else B.c.Y(r)
 n.a=n.b=null
 return n.c=s},
-bn(a){var s
+bm(a){var s
 if(!Object.prototype.hasOwnProperty.call(this.a,a))return null
-s=A.dE(this.a[a])
+s=A.dB(this.a[a])
 return this.b[a]=s}}
-A.c9.prototype={
+A.c4.prototype={
 gl(a){return this.a.gl(0)},
-C(a,b){var s=this.a
-return s.b==null?s.gR().C(0,b):s.M()[b]},
-gA(a){var s=this.a
+D(a,b){var s=this.a
+return s.b==null?s.gR().D(0,b):s.M()[b]},
+gv(a){var s=this.a
 if(s.b==null){s=s.gR()
-s=s.gA(s)}else{s=s.M()
-s=new J.Z(s,s.length,A.a7(s).j("Z<1>"))}return s}}
-A.dy.prototype={
+s=s.gv(s)}else{s=s.M()
+s=new J.W(s,s.length,A.a4(s).j("W<1>"))}return s}}
+A.dv.prototype={
 $0(){var s,r
 try{s=new TextDecoder("utf-8",{fatal:true})
 return s}catch(r){}return null},
 $S:7}
-A.dx.prototype={
+A.du.prototype={
 $0(){var s,r
 try{s=new TextDecoder("utf-8",{fatal:false})
 return s}catch(r){}return null},
 $S:7}
-A.cl.prototype={
-bH(a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a="Invalid base64 encoding length "
-a2=A.b1(a1,a2,a0.length)
-s=$.hc()
+A.ci.prototype={
+bF(a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a="Invalid base64 encoding length "
+a2=A.bQ(a1,a2,a0.length)
+s=$.h4()
 for(r=a1,q=r,p=null,o=-1,n=-1,m=0;r<a2;r=l){l=r+1
 k=a0.charCodeAt(r)
 if(k===37){j=l+2
-if(j<=a2){i=A.dT(a0.charCodeAt(l))
-h=A.dT(a0.charCodeAt(l+1))
+if(j<=a2){i=A.dM(a0.charCodeAt(l))
+h=A.dM(a0.charCodeAt(l+1))
 g=i*16+h-(h&256)
 if(g===37)g=-1
 l=j}else g=-1}else g=k
@@ -3557,32 +3383,32 @@
 if(k===61)continue}k=g}if(f!==-2){if(p==null){p=new A.z("")
 e=p}else e=p
 e.a+=B.a.i(a0,q,r)
-d=A.Q(k)
+d=A.M(k)
 e.a+=d
 q=l
 continue}}throw A.a(A.x("Invalid base64 data",a0,r))}if(p!=null){e=B.a.i(a0,q,a2)
 e=p.a+=e
 d=e.length
-if(o>=0)A.eM(a0,n,a2,o,m,d)
-else{c=B.b.a3(d-1,4)+1
+if(o>=0)A.eF(a0,n,a2,o,m,d)
+else{c=B.d.a2(d-1,4)+1
 if(c===1)throw A.a(A.x(a,a0,a2))
 for(;c<4;){e+="="
 p.a=e;++c}}e=p.a
 return B.a.J(a0,a1,a2,e.charCodeAt(0)==0?e:e)}b=a2-a1
-if(o>=0)A.eM(a0,n,a2,o,m,b)
-else{c=B.b.a3(b,4)
+if(o>=0)A.eF(a0,n,a2,o,m,b)
+else{c=B.d.a2(b,4)
 if(c===1)throw A.a(A.x(a,a0,a2))
 if(c>1)a0=B.a.J(a0,a2,a2,c===2?"==":"=")}return a0}}
-A.cm.prototype={}
-A.bz.prototype={}
-A.bB.prototype={}
-A.cq.prototype={}
-A.ct.prototype={
+A.cj.prototype={}
+A.bt.prototype={}
+A.bv.prototype={}
+A.cn.prototype={}
+A.cq.prototype={
 h(a){return"unknown"}}
-A.cs.prototype={
-I(a){var s=this.bg(a,0,a.length)
+A.cp.prototype={
+I(a){var s=this.bf(a,0,a.length)
 return s==null?a:s},
-bg(a,b,c){var s,r,q,p
+bf(a,b,c){var s,r,q,p
 for(s=b,r=null;s<c;++s){switch(a[s]){case"&":q="&amp;"
 break
 case'"':q="&quot;"
@@ -3602,34 +3428,34 @@
 if(c>b){p=B.a.i(a,b,c)
 r.a+=p}p=r.a
 return p.charCodeAt(0)==0?p:p}}
-A.cB.prototype={
-bv(a,b){var s=A.jj(a,this.gbx().a)
+A.cx.prototype={
+bu(a,b){var s=A.j8(a,this.gbw().a)
 return s},
-gbx(){return B.H}}
-A.cC.prototype={}
-A.cT.prototype={}
-A.cV.prototype={
-I(a){var s,r,q,p=A.b1(0,null,a.length)
+gbw(){return B.C}}
+A.cy.prototype={}
+A.cQ.prototype={}
+A.cS.prototype={
+I(a){var s,r,q,p=A.bQ(0,null,a.length)
 if(p===0)return new Uint8Array(0)
 s=p*3
 r=new Uint8Array(s)
-q=new A.dz(r)
-if(q.bk(a,0,p)!==p)q.ad()
-return new Uint8Array(r.subarray(0,A.iQ(0,q.b,s)))}}
-A.dz.prototype={
+q=new A.dw(r)
+if(q.bj(a,0,p)!==p)q.ad()
+return new Uint8Array(r.subarray(0,A.iG(0,q.b,s)))}}
+A.dw.prototype={
 ad(){var s=this,r=s.c,q=s.b,p=s.b=q+1
-r.$flags&2&&A.K(r)
+r.$flags&2&&A.aB(r)
 r[q]=239
 q=s.b=p+1
 r[p]=191
 s.b=q+1
 r[q]=189},
-bu(a,b){var s,r,q,p,o=this
+bt(a,b){var s,r,q,p,o=this
 if((b&64512)===56320){s=65536+((a&1023)<<10)|b&1023
 r=o.c
 q=o.b
 p=o.b=q+1
-r.$flags&2&&A.K(r)
+r.$flags&2&&A.aB(r)
 r[q]=s>>>18|240
 q=o.b=p+1
 r[p]=s>>>12&63|128
@@ -3639,72 +3465,72 @@
 r[p]=s&63|128
 return!0}else{o.ad()
 return!1}},
-bk(a,b,c){var s,r,q,p,o,n,m,l,k=this
+bj(a,b,c){var s,r,q,p,o,n,m,l,k=this
 if(b!==c&&(a.charCodeAt(c-1)&64512)===55296)--c
 for(s=k.c,r=s.$flags|0,q=s.length,p=b;p<c;++p){o=a.charCodeAt(p)
 if(o<=127){n=k.b
 if(n>=q)break
 k.b=n+1
-r&2&&A.K(s)
+r&2&&A.aB(s)
 s[n]=o}else{n=o&64512
 if(n===55296){if(k.b+4>q)break
 m=p+1
-if(k.bu(o,a.charCodeAt(m)))p=m}else if(n===56320){if(k.b+3>q)break
+if(k.bt(o,a.charCodeAt(m)))p=m}else if(n===56320){if(k.b+3>q)break
 k.ad()}else if(o<=2047){n=k.b
 l=n+1
 if(l>=q)break
 k.b=l
-r&2&&A.K(s)
+r&2&&A.aB(s)
 s[n]=o>>>6|192
 k.b=l+1
 s[l]=o&63|128}else{n=k.b
 if(n+2>=q)break
 l=k.b=n+1
-r&2&&A.K(s)
+r&2&&A.aB(s)
 s[n]=o>>>12|224
 n=k.b=l+1
 s[l]=o>>>6&63|128
 k.b=n+1
 s[n]=o&63|128}}}return p}}
-A.cU.prototype={
-I(a){return new A.dw(this.a).bh(a,0,null,!0)}}
-A.dw.prototype={
-bh(a,b,c,d){var s,r,q,p,o,n,m=this,l=A.b1(b,c,J.bu(a))
+A.cR.prototype={
+I(a){return new A.dt(this.a).bg(a,0,null,!0)}}
+A.dt.prototype={
+bg(a,b,c,d){var s,r,q,p,o,n,m=this,l=A.bQ(b,c,J.ch(a))
 if(b===l)return""
 if(a instanceof Uint8Array){s=a
 r=s
-q=0}else{r=A.iJ(a,b,l)
+q=0}else{r=A.iz(a,b,l)
 l-=b
 q=b
 b=0}if(l-b>=15){p=m.a
-o=A.iI(p,r,b,l)
+o=A.iy(p,r,b,l)
 if(o!=null){if(!p)return o
-if(o.indexOf("\ufffd")<0)return o}}o=m.a8(r,b,l,!0)
+if(o.indexOf("\ufffd")<0)return o}}o=m.a7(r,b,l,!0)
 p=m.b
-if((p&1)!==0){n=A.iK(p)
+if((p&1)!==0){n=A.iA(p)
 m.b=0
 throw A.a(A.x(n,a,q+m.c))}return o},
-a8(a,b,c,d){var s,r,q=this
-if(c-b>1000){s=B.b.br(b+c,2)
-r=q.a8(a,b,s,!1)
+a7(a,b,c,d){var s,r,q=this
+if(c-b>1000){s=B.d.bq(b+c,2)
+r=q.a7(a,b,s,!1)
 if((q.b&1)!==0)return r
-return r+q.a8(a,s,c,d)}return q.bw(a,b,c,d)},
-bw(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=65533,j=l.b,i=l.c,h=new A.z(""),g=b+1,f=a[b]
+return r+q.a7(a,s,c,d)}return q.bv(a,b,c,d)},
+bv(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=65533,j=l.b,i=l.c,h=new A.z(""),g=b+1,f=a[b]
 $label0$0:for(s=l.a;!0;){for(;!0;g=p){r="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE".charCodeAt(f)&31
 i=j<=32?f&61694>>>r:(f&63|i<<6)>>>0
 j=" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA".charCodeAt(j+r)
-if(j===0){q=A.Q(i)
+if(j===0){q=A.M(i)
 h.a+=q
 if(g===c)break $label0$0
-break}else if((j&1)!==0){if(s)switch(j){case 69:case 67:q=A.Q(k)
+break}else if((j&1)!==0){if(s)switch(j){case 69:case 67:q=A.M(k)
 h.a+=q
 break
-case 65:q=A.Q(k)
+case 65:q=A.M(k)
 h.a+=q;--g
 break
-default:q=A.Q(k)
+default:q=A.M(k)
 q=h.a+=q
-h.a=q+A.Q(k)
+h.a=q+A.M(k)
 break}else{l.b=j
 l.c=g-1
 return""}j=0}if(g===c)break $label0$0
@@ -3716,79 +3542,79 @@
 f=a[p]
 if(f>=128){o=n-1
 p=n
-break}p=n}if(o-g<20)for(m=g;m<o;++m){q=A.Q(a[m])
-h.a+=q}else{q=A.f5(a,g,o)
+break}p=n}if(o-g<20)for(m=g;m<o;++m){q=A.M(a[m])
+h.a+=q}else{q=A.eY(a,g,o)
 h.a+=q}if(o===c)break $label0$0
-g=p}else g=p}if(d&&j>32)if(s){s=A.Q(k)
+g=p}else g=p}if(d&&j>32)if(s){s=A.M(k)
 h.a+=s}else{l.b=77
 l.c=c
 return""}l.b=j
 l.c=i
 s=h.a
 return s.charCodeAt(0)==0?s:s}}
-A.dv.prototype={
+A.ds.prototype={
 $2(a,b){var s,r
 if(typeof b=="string")this.a.set(a,b)
 else if(b==null)this.a.set(a,"")
-else for(s=J.ac(b),r=this.a;s.m();){b=s.gn()
+else for(s=J.aC(b),r=this.a;s.m();){b=s.gn()
 if(typeof b=="string")r.append(a,b)
 else if(b==null)r.append(a,"")
-else A.iM(b)}},
+else A.iC(b)}},
 $S:8}
-A.d0.prototype={
+A.cY.prototype={
 h(a){return this.av()}}
-A.l.prototype={
-gK(){return A.hV(this)}}
-A.bv.prototype={
+A.k.prototype={
+gK(){return A.hK(this)}}
+A.bp.prototype={
 h(a){var s=this.a
-if(s!=null)return"Assertion failed: "+A.cr(s)
+if(s!=null)return"Assertion failed: "+A.co(s)
 return"Assertion failed"}}
-A.R.prototype={}
-A.I.prototype={
-gaa(){return"Invalid argument"+(!this.a?"(s)":"")},
-ga9(){return""},
-h(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+p,n=s.gaa()+q+o
+A.N.prototype={}
+A.H.prototype={
+ga9(){return"Invalid argument"+(!this.a?"(s)":"")},
+ga8(){return""},
+h(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+p,n=s.ga9()+q+o
 if(!s.a)return n
-return n+s.ga9()+": "+A.cr(s.gak())},
+return n+s.ga8()+": "+A.co(s.gak())},
 gak(){return this.b}}
-A.b0.prototype={
+A.aZ.prototype={
 gak(){return this.b},
-gaa(){return"RangeError"},
-ga9(){var s,r=this.e,q=this.f
-if(r==null)s=q!=null?": Not less than or equal to "+A.i(q):""
-else if(q==null)s=": Not greater than or equal to "+A.i(r)
-else if(q>r)s=": Not in inclusive range "+A.i(r)+".."+A.i(q)
-else s=q<r?": Valid value range is empty":": Only valid value is "+A.i(r)
+ga9(){return"RangeError"},
+ga8(){var s,r=this.e,q=this.f
+if(r==null)s=q!=null?": Not less than or equal to "+A.h(q):""
+else if(q==null)s=": Not greater than or equal to "+A.h(r)
+else if(q>r)s=": Not in inclusive range "+A.h(r)+".."+A.h(q)
+else s=q<r?": Valid value range is empty":": Only valid value is "+A.h(r)
 return s}}
-A.bD.prototype={
+A.bx.prototype={
 gak(){return this.b},
-gaa(){return"RangeError"},
-ga9(){if(this.b<0)return": index must not be negative"
+ga9(){return"RangeError"},
+ga8(){if(this.b<0)return": index must not be negative"
 var s=this.f
 if(s===0)return": no indices are valid"
 return": index should be less than "+s},
 gl(a){return this.f}}
-A.b4.prototype={
+A.b1.prototype={
 h(a){return"Unsupported operation: "+this.a}}
-A.bW.prototype={
+A.bS.prototype={
 h(a){return"UnimplementedError: "+this.a}}
-A.b3.prototype={
+A.b0.prototype={
 h(a){return"Bad state: "+this.a}}
-A.bA.prototype={
+A.bu.prototype={
 h(a){var s=this.a
 if(s==null)return"Concurrent modification during iteration."
-return"Concurrent modification during iteration: "+A.cr(s)+"."}}
-A.bS.prototype={
+return"Concurrent modification during iteration: "+A.co(s)+"."}}
+A.bN.prototype={
 h(a){return"Out of Memory"},
 gK(){return null},
-$il:1}
-A.b2.prototype={
+$ik:1}
+A.b_.prototype={
 h(a){return"Stack Overflow"},
 gK(){return null},
-$il:1}
-A.d1.prototype={
+$ik:1}
+A.cZ.prototype={
 h(a){return"Exception: "+this.a}}
-A.bC.prototype={
+A.bw.prototype={
 h(a){var s,r,q,p,o,n,m,l,k,j,i,h=this.a,g=""!==h?"FormatException: "+h:"FormatException",f=this.c,e=this.b
 if(typeof e=="string"){if(f!=null)s=f<0||f>e.length
 else s=!1
@@ -3811,55 +3637,55 @@
 k=""}else{i=f-36
 j=f+36}l="..."}}else{j=m
 i=q
-k=""}return g+l+B.a.i(e,i,j)+k+"\n"+B.a.b4(" ",f-i+l.length)+"^\n"}else return f!=null?g+(" (at offset "+A.i(f)+")"):g}}
-A.o.prototype={
-Y(a,b){return A.hr(this,A.E(this).j("o.E"),b)},
-gl(a){var s,r=this.gA(this)
+k=""}return g+l+B.a.i(e,i,j)+k+"\n"+B.a.b3(" ",f-i+l.length)+"^\n"}else return f!=null?g+(" (at offset "+A.h(f)+")"):g}}
+A.r.prototype={
+X(a,b){return A.hh(this,A.R(this).j("r.E"),b)},
+gl(a){var s,r=this.gv(this)
 for(s=0;r.m();)++s
 return s},
-C(a,b){var s,r
-A.eg(b,"index")
-s=this.gA(this)
-for(r=b;s.m();){if(r===0)return s.gn();--r}throw A.a(A.ea(b,b-r,this,"index"))},
-h(a){return A.hI(this,"(",")")}}
+D(a,b){var s,r
+A.e8(b,"index")
+s=this.gv(this)
+for(r=b;s.m();){if(r===0)return s.gn();--r}throw A.a(A.e2(b,b-r,this,"index"))},
+h(a){return A.hy(this,"(",")")}}
 A.u.prototype={
-gp(a){return A.k.prototype.gp.call(this,0)},
+gp(a){return A.j.prototype.gp.call(this,0)},
 h(a){return"null"}}
-A.k.prototype={$ik:1,
+A.j.prototype={$ij:1,
 E(a,b){return this===b},
-gp(a){return A.bU(this)},
-h(a){return"Instance of '"+A.cI(this)+"'"},
-gt(a){return A.jG(this)},
+gp(a){return A.bP(this)},
+h(a){return"Instance of '"+A.cE(this)+"'"},
+gq(a){return A.jv(this)},
 toString(){return this.h(this)}}
-A.cg.prototype={
+A.cb.prototype={
 h(a){return""},
-$ia3:1}
+$ia0:1}
 A.z.prototype={
 gl(a){return this.a.length},
 h(a){var s=this.a
 return s.charCodeAt(0)==0?s:s}}
-A.cS.prototype={
+A.cP.prototype={
 $2(a,b){var s,r,q,p=B.a.aQ(b,"=")
-if(p===-1){if(b!=="")a.q(0,A.et(b,0,b.length,this.a,!0),"")}else if(p!==0){s=B.a.i(b,0,p)
+if(p===-1){if(b!=="")a.A(0,A.el(b,0,b.length,this.a,!0),"")}else if(p!==0){s=B.a.i(b,0,p)
 r=B.a.L(b,p+1)
 q=this.a
-a.q(0,A.et(s,0,s.length,q,!0),A.et(r,0,r.length,q,!0))}return a},
-$S:18}
-A.cP.prototype={
+a.A(0,A.el(s,0,s.length,q,!0),A.el(r,0,r.length,q,!0))}return a},
+$S:17}
+A.cM.prototype={
 $2(a,b){throw A.a(A.x("Illegal IPv4 address, "+a,this.a,b))},
-$S:19}
-A.cQ.prototype={
+$S:18}
+A.cN.prototype={
 $2(a,b){throw A.a(A.x("Illegal IPv6 address, "+a,this.a,b))},
-$S:20}
-A.cR.prototype={
+$S:19}
+A.cO.prototype={
 $2(a,b){var s
 if(b-a>4)this.a.$2("an IPv6 part can only contain a maximum of 4 hex digits",a)
-s=A.e0(B.a.i(this.b,a,b),16)
+s=A.dU(B.a.i(this.b,a,b),16)
 if(s<0||s>65535)this.a.$2("each part must be in the range of `0x0..0xFFFF`",a)
 return s},
-$S:21}
-A.bk.prototype={
-gX(){var s,r,q,p,o=this,n=o.w
+$S:20}
+A.bh.prototype={
+gW(){var s,r,q,p,o=this,n=o.w
 if(n===$){s=o.a
 r=s.length!==0?""+s+":":""
 q=o.c
@@ -3869,31 +3695,31 @@
 if(r.length!==0)s=s+r+"@"
 if(!p)s+=q
 r=o.d
-if(r!=null)s=s+":"+A.i(r)}else s=r
+if(r!=null)s=s+":"+A.h(r)}else s=r
 s+=o.e
 r=o.f
 if(r!=null)s=s+"?"+r
 r=o.r
 if(r!=null)s=s+"#"+r
-n!==$&&A.bs()
+n!==$&&A.bn()
 n=o.w=s.charCodeAt(0)==0?s:s}return n},
 gp(a){var s,r=this,q=r.y
-if(q===$){s=B.a.gp(r.gX())
-r.y!==$&&A.bs()
+if(q===$){s=B.a.gp(r.gW())
+r.y!==$&&A.bn()
 r.y=s
 q=s}return q},
 gan(){var s,r=this,q=r.z
 if(q===$){s=r.f
-s=A.fa(s==null?"":s)
-r.z!==$&&A.bs()
-q=r.z=new A.au(s,t.h)}return q},
+s=A.f2(s==null?"":s)
+r.z!==$&&A.bn()
+q=r.z=new A.ar(s,t.h)}return q},
 gb0(){return this.b},
 gai(){var s=this.c
 if(s==null)return""
-if(B.a.u(s,"["))return B.a.i(s,1,s.length-1)
+if(B.a.t(s,"["))return B.a.i(s,1,s.length-1)
 return s},
-ga1(){var s=this.d
-return s==null?A.fm(this.a):s},
+ga0(){var s=this.d
+return s==null?A.fe(this.a):s},
 gam(){var s=this.f
 return s==null?"":s},
 gaK(){var s=this.r
@@ -3903,106 +3729,91 @@
 s=o.e
 if(!m)r=j!=null&&s.length!==0
 else r=!0
-if(r&&!B.a.u(s,"/"))s="/"+s
+if(r&&!B.a.t(s,"/"))s="/"+s
 q=s
-p=A.er(null,0,0,a)
-return A.ep(n,l,j,k,q,p,o.r)},
+p=A.ej(null,0,0,a)
+return A.eh(n,l,j,k,q,p,o.r)},
 gaT(){if(this.a!==""){var s=this.r
 s=(s==null?"":s)===""}else s=!1
 return s},
 gaM(){return this.c!=null},
 gaP(){return this.f!=null},
 gaN(){return this.r!=null},
-h(a){return this.gX()},
+h(a){return this.gW()},
 E(a,b){var s,r,q,p=this
 if(b==null)return!1
 if(p===b)return!0
 s=!1
-if(t.R.b(b))if(p.a===b.ga4())if(p.c!=null===b.gaM())if(p.b===b.gb0())if(p.gai()===b.gai())if(p.ga1()===b.ga1())if(p.e===b.gaW()){r=p.f
+if(t.R.b(b))if(p.a===b.ga3())if(p.c!=null===b.gaM())if(p.b===b.gb0())if(p.gai()===b.gai())if(p.ga0()===b.ga0())if(p.e===b.gaW()){r=p.f
 q=r==null
 if(!q===b.gaP()){if(q)r=""
 if(r===b.gam()){r=p.r
 q=r==null
 if(!q===b.gaN()){s=q?"":r
 s=s===b.gaK()}}}}return s},
-$ic_:1,
-ga4(){return this.a},
+$ibV:1,
+ga3(){return this.a},
 gaW(){return this.e}}
-A.du.prototype={
+A.dr.prototype={
 $2(a,b){var s=this.b,r=this.a
 s.a+=r.a
 r.a="&"
-r=A.fs(B.h,a,B.e,!0)
+r=A.fk(1,a,B.e,!0)
 r=s.a+=r
 if(b!=null&&b.length!==0){s.a=r+"="
-r=A.fs(B.h,b,B.e,!0)
+r=A.fk(1,b,B.e,!0)
 s.a+=r}},
-$S:22}
-A.dt.prototype={
+$S:21}
+A.dq.prototype={
 $2(a,b){var s,r
 if(b==null||typeof b=="string")this.a.$2(a,b)
-else for(s=J.ac(b),r=this.a;s.m();)r.$2(a,s.gn())},
+else for(s=J.aC(b),r=this.a;s.m();)r.$2(a,s.gn())},
 $S:8}
-A.cO.prototype={
+A.cL.prototype={
 gb_(){var s,r,q,p,o=this,n=null,m=o.c
 if(m==null){m=o.a
 s=o.b[0]+1
-r=B.a.a_(m,"?",s)
+r=B.a.Z(m,"?",s)
 q=m.length
-if(r>=0){p=A.bl(m,r+1,q,B.i,!1,!1)
+if(r>=0){p=A.bi(m,r+1,q,256,!1,!1)
 q=r}else p=n
-m=o.c=new A.c5("data","",n,n,A.bl(m,s,q,B.p,!1,!1),p,n)}return m},
+m=o.c=new A.c0("data","",n,n,A.bi(m,s,q,128,!1,!1),p,n)}return m},
 h(a){var s=this.a
 return this.b[0]===-1?"data:"+s:s}}
-A.dH.prototype={
-$2(a,b){var s=this.a[a]
-B.a7.bz(s,0,96,b)
-return s},
-$S:23}
-A.dI.prototype={
-$3(a,b,c){var s,r,q
-for(s=b.length,r=a.$flags|0,q=0;q<s;++q){r&2&&A.K(a)
-a[b.charCodeAt(q)^96]=c}},
-$S:9}
-A.dJ.prototype={
-$3(a,b,c){var s,r,q
-for(s=b.charCodeAt(0),r=b.charCodeAt(1),q=a.$flags|0;s<=r;++s){q&2&&A.K(a)
-a[(s^96)>>>0]=c}},
-$S:9}
-A.ce.prototype={
+A.c9.prototype={
 gaM(){return this.c>0},
 gaO(){return this.c>0&&this.d+1<this.e},
 gaP(){return this.f<this.r},
 gaN(){return this.r<this.a.length},
 gaT(){return this.b>0&&this.r>=this.a.length},
-ga4(){var s=this.w
-return s==null?this.w=this.bf():s},
-bf(){var s,r=this,q=r.b
+ga3(){var s=this.w
+return s==null?this.w=this.be():s},
+be(){var s,r=this,q=r.b
 if(q<=0)return""
 s=q===4
-if(s&&B.a.u(r.a,"http"))return"http"
-if(q===5&&B.a.u(r.a,"https"))return"https"
-if(s&&B.a.u(r.a,"file"))return"file"
-if(q===7&&B.a.u(r.a,"package"))return"package"
+if(s&&B.a.t(r.a,"http"))return"http"
+if(q===5&&B.a.t(r.a,"https"))return"https"
+if(s&&B.a.t(r.a,"file"))return"file"
+if(q===7&&B.a.t(r.a,"package"))return"package"
 return B.a.i(r.a,0,q)},
 gb0(){var s=this.c,r=this.b+3
 return s>r?B.a.i(this.a,r,s-1):""},
 gai(){var s=this.c
 return s>0?B.a.i(this.a,s,this.d):""},
-ga1(){var s,r=this
-if(r.gaO())return A.e0(B.a.i(r.a,r.d+1,r.e),null)
+ga0(){var s,r=this
+if(r.gaO())return A.dU(B.a.i(r.a,r.d+1,r.e),null)
 s=r.b
-if(s===4&&B.a.u(r.a,"http"))return 80
-if(s===5&&B.a.u(r.a,"https"))return 443
+if(s===4&&B.a.t(r.a,"http"))return 80
+if(s===5&&B.a.t(r.a,"https"))return 443
 return 0},
 gaW(){return B.a.i(this.a,this.e,this.f)},
 gam(){var s=this.f,r=this.r
 return s<r?B.a.i(this.a,s+1,r):""},
 gaK(){var s=this.r,r=this.a
 return s<r.length?B.a.L(r,s+1):""},
-gan(){if(this.f>=this.r)return B.a6
-return new A.au(A.fa(this.gam()),t.h)},
-ao(a){var s,r,q,p,o,n=this,m=null,l=n.ga4(),k=l==="file",j=n.c,i=j>0?B.a.i(n.a,n.b+3,j):"",h=n.gaO()?n.ga1():m
+gan(){if(this.f>=this.r)return B.a_
+return new A.ar(A.f2(this.gam()),t.h)},
+ao(a){var s,r,q,p,o,n=this,m=null,l=n.ga3(),k=l==="file",j=n.c,i=j>0?B.a.i(n.a,n.b+3,j):"",h=n.gaO()?n.ga0():m
 j=n.c
 if(j>0)s=B.a.i(n.a,j,n.d)
 else s=i.length!==0||h!=null||k?"":m
@@ -4010,27 +3821,27 @@
 r=B.a.i(j,n.e,n.f)
 if(!k)q=s!=null&&r.length!==0
 else q=!0
-if(q&&!B.a.u(r,"/"))r="/"+r
-p=A.er(m,0,0,a)
+if(q&&!B.a.t(r,"/"))r="/"+r
+p=A.ej(m,0,0,a)
 q=n.r
 o=q<j.length?B.a.L(j,q+1):m
-return A.ep(l,i,s,h,r,p,o)},
+return A.eh(l,i,s,h,r,p,o)},
 gp(a){var s=this.x
 return s==null?this.x=B.a.gp(this.a):s},
 E(a,b){if(b==null)return!1
 if(this===b)return!0
 return t.R.b(b)&&this.a===b.h(0)},
 h(a){return this.a},
-$ic_:1}
-A.c5.prototype={}
-A.e4.prototype={
+$ibV:1}
+A.c0.prototype={}
+A.dY.prototype={
 $1(a){return this.a.ae(a)},
 $S:3}
-A.e5.prototype={
-$1(a){if(a==null)return this.a.aI(new A.cG(a===undefined))
+A.dZ.prototype={
+$1(a){if(a==null)return this.a.aI(new A.cC(a===undefined))
 return this.a.aI(a)},
 $S:3}
-A.cG.prototype={
+A.cC.prototype={
 h(a){return"Promise was rejected with a value of `"+(this.a?"undefined":"null")+"`."}}
 A.m.prototype={
 av(){return"Kind."+this.b},
@@ -4084,24 +3895,24 @@
 default:s=null}return s}}
 A.A.prototype={
 av(){return"_MatchPosition."+this.b}}
-A.cu.prototype={
+A.cr.prototype={
 aJ(a){var s,r,q,p,o,n,m,l,k,j,i
-if(a.length===0)return A.h([],t.M)
+if(a.length===0)return A.l([],t.M)
 s=a.toLowerCase()
-r=A.h([],t.r)
-for(q=this.a,p=q.length,o=s.length>1,n="dart:"+s,m=0;m<q.length;q.length===p||(0,A.e6)(q),++m){l=q[m]
-k=new A.cx(r,l)
+r=A.l([],t.r)
+for(q=this.a,p=q.length,o=s.length>1,n="dart:"+s,m=0;m<q.length;q.length===p||(0,A.e_)(q),++m){l=q[m]
+k=new A.cu(r,l)
 j=l.a.toLowerCase()
 i=l.b.toLowerCase()
-if(j===s||i===s||j===n)k.$1(B.ao)
-else if(o)if(B.a.u(j,s)||B.a.u(i,s))k.$1(B.ap)
-else if(B.a.O(j,s)||B.a.O(i,s))k.$1(B.aq)}B.d.b7(r,new A.cv())
-q=t.V
-return A.eW(new A.ai(r,new A.cw(),q),!0,q.j("J.E"))}}
-A.cx.prototype={
-$1(a){this.a.push(new A.cd(this.b,a))},
-$S:24}
-A.cv.prototype={
+if(j===s||i===s||j===n)k.$1(B.ag)
+else if(o)if(B.a.t(j,s)||B.a.t(i,s))k.$1(B.ah)
+else if(B.a.O(j,s)||B.a.O(i,s))k.$1(B.ai)}B.c.b6(r,new A.cs())
+q=t.U
+return A.eO(new A.af(r,new A.ct(),q),!0,q.j("I.E"))}}
+A.cu.prototype={
+$1(a){this.a.push(new A.c8(this.b,a))},
+$S:22}
+A.cs.prototype={
 $2(a,b){var s,r,q=a.b.a-b.b.a
 if(q!==0)return q
 s=a.a
@@ -4113,10 +3924,10 @@
 q=s.f-r.f
 if(q!==0)return q
 return s.a.length-r.a.length},
-$S:25}
-A.cw.prototype={
+$S:23}
+A.ct.prototype={
 $1(a){return a.a},
-$S:26}
+$S:24}
 A.w.prototype={
 gaB(){var s=0
 switch(this.d.a){case 3:break
@@ -4158,15 +3969,15 @@
 case 22:s=3
 break
 default:s=null}return s}}
-A.cp.prototype={}
-A.dL.prototype={
+A.cm.prototype={}
+A.dF.prototype={
 $0(){var s,r=self.document.body
 if(r==null)return""
-if(J.H(r.getAttribute("data-using-base-href"),"false")){s=r.getAttribute("data-base-href")
+if(J.G(r.getAttribute("data-using-base-href"),"false")){s=r.getAttribute("data-base-href")
 return s==null?"":s}else return""},
-$S:27}
-A.dZ.prototype={
-$0(){A.jU("Could not activate search functionality.")
+$S:25}
+A.dS.prototype={
+$0(){A.jK("Could not activate search functionality.")
 var s=this.a
 if(s!=null)s.placeholder="Failed to initialize search"
 s=this.b
@@ -4174,36 +3985,36 @@
 s=this.c
 if(s!=null)s.placeholder="Failed to initialize search"},
 $S:0}
-A.dY.prototype={
-$1(a){return this.b3(a)},
-b3(a){var s=0,r=A.fK(t.P),q,p=this,o,n,m,l,k,j,i,h,g
-var $async$$1=A.fR(function(b,c){if(b===1)return A.fA(c,r)
-while(true)switch(s){case 0:if(!J.H(a.status,200)){p.a.$0()
+A.dR.prototype={
+$1(a){return this.b2(a)},
+b2(a){var s=0,r=A.fC(t.P),q,p=this,o,n,m,l,k,j,i,h,g
+var $async$$1=A.fJ(function(b,c){if(b===1)return A.fs(c,r)
+while(true)switch(s){case 0:if(!J.G(a.status,200)){p.a.$0()
 s=1
 break}i=J
 h=t.j
-g=B.B
+g=B.w
 s=3
-return A.fz(A.e3(a.text(),t.N),$async$$1)
-case 3:o=i.hl(h.a(g.bv(c,null)),t.a)
-n=o.$ti.j("ai<e.E,w>")
-m=new A.cu(A.eW(new A.ai(o,A.jX(),n),!0,n.j("J.E")))
+return A.fr(A.dX(a.text(),t.N),$async$$1)
+case 3:o=i.hb(h.a(g.bu(c,null)),t.a)
+n=o.$ti.j("af<e.E,w>")
+m=new A.cr(A.eO(new A.af(o,A.jN(),n),!0,n.j("I.E")))
 n=self
-l=A.c0(J.an(n.window.location),0,null).gan().k(0,"search")
-if(l!=null){k=A.hH(m.aJ(l))
+l=A.bW(J.ak(n.window.location),0,null).gan().k(0,"search")
+if(l!=null){k=A.hx(m.aJ(l))
 j=k==null?null:k.e
-if(j!=null){n.window.location.assign($.bt()+j)
+if(j!=null){n.window.location.assign($.bo()+j)
 s=1
 break}}n=p.b
-if(n!=null)A.el(m).aj(n)
+if(n!=null)A.ed(m).aj(n)
 n=p.c
-if(n!=null)A.el(m).aj(n)
+if(n!=null)A.ed(m).aj(n)
 n=p.d
-if(n!=null)A.el(m).aj(n)
-case 1:return A.fB(q,r)}})
-return A.fC($async$$1,r)},
-$S:10}
-A.dj.prototype={
+if(n!=null)A.ed(m).aj(n)
+case 1:return A.ft(q,r)}})
+return A.fu($async$$1,r)},
+$S:9}
+A.dg.prototype={
 gG(){var s,r=this,q=r.c
 if(q===$){s=self.document.createElement("div")
 s.setAttribute("role","listbox")
@@ -4212,26 +4023,26 @@
 s.classList.add("tt-menu")
 s.appendChild(r.gaV())
 s.appendChild(r.gS())
-r.c!==$&&A.bs()
+r.c!==$&&A.bn()
 r.c=s
 q=s}return q},
 gaV(){var s,r=this.d
 if(r===$){s=self.document.createElement("div")
 s.classList.add("enter-search-message")
-this.d!==$&&A.bs()
+this.d!==$&&A.bn()
 this.d=s
 r=s}return r},
 gS(){var s,r=this.e
 if(r===$){s=self.document.createElement("div")
 s.classList.add("tt-search-results")
-this.e!==$&&A.bs()
+this.e!==$&&A.bn()
 this.e=s
 r=s}return r},
 aj(a){var s,r,q,p=this
 a.disabled=!1
 a.setAttribute("placeholder","Search API Docs")
 s=self
-s.document.addEventListener("keydown",A.a8(new A.dk(a)))
+s.document.addEventListener("keydown",A.a6(new A.dh(a)))
 r=s.document.createElement("div")
 r.classList.add("tt-wrapper")
 a.replaceWith(r)
@@ -4240,120 +4051,119 @@
 a.classList.add("tt-input")
 r.appendChild(a)
 r.appendChild(p.gG())
-p.b5(a)
-if(J.hn(s.window.location.href,"search.html")){q=p.b.gan().k(0,"q")
+p.b4(a)
+if(J.hd(s.window.location.href,"search.html")){q=p.b.gan().k(0,"q")
 if(q==null)return
-q=B.l.I(q)
-$.eA=$.dP
-p.bE(q,!0)
-p.b6(q)
+q=B.j.I(q)
+$.es=$.dJ
+p.bC(q,!0)
+p.b5(q)
 p.ah()
-$.eA=10}},
-b6(a){var s,r,q,p,o,n=self,m=n.document.getElementById("dartdoc-main-content")
-if(m==null)return
-m.textContent=""
-s=n.document.createElement("section")
+$.es=10}},
+b5(a){var s,r,q,p=self,o=p.document.getElementById("dartdoc-main-content")
+if(o==null)return
+o.textContent=""
+s=p.document.createElement("section")
 s.classList.add("search-summary")
-m.appendChild(s)
-s=n.document.createElement("h2")
+o.appendChild(s)
+s=p.document.createElement("h2")
 s.innerHTML="Search Results"
-m.appendChild(s)
-s=n.document.createElement("div")
+o.appendChild(s)
+s=p.document.createElement("div")
 s.classList.add("search-summary")
-s.innerHTML=""+$.dP+' results for "'+a+'"'
-m.appendChild(s)
-if($.bn.a!==0)for(n=$.bn.gb1(),r=A.E(n),n=new A.ap(J.ac(n.a),n.b,r.j("ap<1,2>")),r=r.y[1];n.m();){q=n.a
-if(q==null)q=r.a(q)
-m.appendChild(q)}else{s=n.document.createElement("div")
+s.innerHTML=""+$.dJ+' results for "'+a+'"'
+o.appendChild(s)
+if($.a5.a!==0)for(p=new A.aR($.a5,$.a5.r,$.a5.e);p.m();)o.appendChild(p.d)
+else{s=p.document.createElement("div")
 s.classList.add("search-summary")
 s.innerHTML='There was not a match for "'+a+'". Want to try searching from additional Dart-related sites? '
-p=A.c0("https://dart.dev/search?cx=011220921317074318178%3A_yy-tmb5t_i&ie=UTF-8&hl=en&q=",0,null).ao(A.eU(["q",a],t.N,t.z))
-o=n.document.createElement("a")
-o.setAttribute("href",p.gX())
-o.textContent="Search on dart.dev."
-s.appendChild(o)
-m.appendChild(s)}},
+r=A.bW("https://dart.dev/search?cx=011220921317074318178%3A_yy-tmb5t_i&ie=UTF-8&hl=en&q=",0,null).ao(A.eM(["q",a],t.N,t.z))
+q=p.document.createElement("a")
+q.setAttribute("href",r.gW())
+q.textContent="Search on dart.dev."
+s.appendChild(q)
+o.appendChild(s)}},
 ah(){var s=this.gG()
 s.style.display="none"
 s.setAttribute("aria-expanded","false")
 return s},
 aZ(a,b,c){var s,r,q,p,o=this
-o.x=A.h([],t.M)
+o.x=A.l([],t.M)
 s=o.w
-B.d.Z(s)
-$.bn.Z(0)
+B.c.Y(s)
+$.a5.Y(0)
 o.gS().textContent=""
 r=b.length
 if(r===0){o.ah()
-return}for(q=0;q<b.length;b.length===r||(0,A.e6)(b),++q)s.push(A.iR(a,b[q]))
-for(r=J.ac(c?$.bn.gb1():s);r.m();){p=r.gn()
+return}for(q=0;q<b.length;b.length===r||(0,A.e_)(b),++q)s.push(A.iH(a,b[q]))
+for(r=J.aC(c?new A.aS($.a5,A.R($.a5).j("aS<2>")):s);r.m();){p=r.gn()
 o.gS().appendChild(p)}o.x=b
 o.y=-1
 if(o.gS().hasChildNodes()){r=o.gG()
 r.style.display="block"
-r.setAttribute("aria-expanded","true")}r=$.dP
+r.setAttribute("aria-expanded","true")}r=$.dJ
 r=r>10?'Press "Enter" key to see all '+r+" results":""
 o.gaV().textContent=r},
-bP(a,b){return this.aZ(a,b,!1)},
+bN(a,b){return this.aZ(a,b,!1)},
 ag(a,b,c){var s,r,q,p=this
 if(p.r===a&&!b)return
-if(a.length===0){p.bP("",A.h([],t.M))
+if(a.length===0){p.bN("",A.l([],t.M))
 return}s=p.a.aJ(a)
 r=s.length
-$.dP=r
-q=$.eA
-if(r>q)s=B.d.b8(s,0,q)
+$.dJ=r
+q=$.es
+if(r>q)s=B.c.b7(s,0,q)
 p.r=a
 p.aZ(a,s,c)},
-bE(a,b){return this.ag(a,!1,b)},
+bC(a,b){return this.ag(a,!1,b)},
 aL(a){return this.ag(a,!1,!1)},
-bD(a,b){return this.ag(a,b,!1)},
+bB(a,b){return this.ag(a,b,!1)},
 aG(a){var s,r=this
 r.y=-1
 s=r.f
 if(s!=null){a.value=s
 r.f=null}r.ah()},
-b5(a){var s=this
-a.addEventListener("focus",A.a8(new A.dl(s,a)))
-a.addEventListener("blur",A.a8(new A.dm(s,a)))
-a.addEventListener("input",A.a8(new A.dn(s,a)))
-a.addEventListener("keydown",A.a8(new A.dp(s,a)))}}
-A.dk.prototype={
+b4(a){var s=this
+a.addEventListener("focus",A.a6(new A.di(s,a)))
+a.addEventListener("blur",A.a6(new A.dj(s,a)))
+a.addEventListener("input",A.a6(new A.dk(s,a)))
+a.addEventListener("keydown",A.a6(new A.dl(s,a)))}}
+A.dh.prototype={
 $1(a){var s
-if(!J.H(a.key,"/"))return
+if(!J.G(a.key,"/"))return
 s=self.document.activeElement
-if(s==null||!B.aa.O(0,s.nodeName.toLowerCase())){a.preventDefault()
+if(s==null||!B.a2.O(0,s.nodeName.toLowerCase())){a.preventDefault()
 this.a.focus()}},
 $S:1}
-A.dl.prototype={
-$1(a){this.a.bD(this.b.value,!0)},
+A.di.prototype={
+$1(a){this.a.bB(this.b.value,!0)},
 $S:1}
-A.dm.prototype={
+A.dj.prototype={
 $1(a){this.a.aG(this.b)},
 $S:1}
-A.dn.prototype={
+A.dk.prototype={
 $1(a){this.a.aL(this.b.value)},
 $S:1}
-A.dp.prototype={
+A.dl.prototype={
 $1(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this
-if(!J.H(a.type,"keydown"))return
-if(J.H(a.code,"Enter")){a.preventDefault()
+if(!J.G(a.type,"keydown"))return
+if(J.G(a.code,"Enter")){a.preventDefault()
 s=e.a
 r=s.y
 if(r!==-1){q=s.w[r].getAttribute("data-href")
-if(q!=null)self.window.location.assign($.bt()+q)
-return}else{p=B.l.I(s.r)
-o=A.c0($.bt()+"search.html",0,null).ao(A.eU(["q",p],t.N,t.z))
-self.window.location.assign(o.gX())
+if(q!=null)self.window.location.assign($.bo()+q)
+return}else{p=B.j.I(s.r)
+o=A.bW($.bo()+"search.html",0,null).ao(A.eM(["q",p],t.N,t.z))
+self.window.location.assign(o.gW())
 return}}s=e.a
 r=s.w
 n=r.length-1
 m=s.y
-if(J.H(a.code,"ArrowUp")){l=s.y
+if(J.G(a.code,"ArrowUp")){l=s.y
 if(l===-1)s.y=n
-else s.y=l-1}else if(J.H(a.code,"ArrowDown")){l=s.y
+else s.y=l-1}else if(J.G(a.code,"ArrowDown")){l=s.y
 if(l===n)s.y=-1
-else s.y=l+1}else if(J.H(a.code,"Escape"))s.aG(e.b)
+else s.y=l+1}else if(J.G(a.code,"Escape"))s.aG(e.b)
 else{if(s.f!=null){s.f=null
 s.aL(e.b.value)}return}l=m!==-1
 if(l)r[m].classList.remove("tt-cursor")
@@ -4372,43 +4182,43 @@
 r=!1}if(r){e.b.value=f
 s.f=null}}a.preventDefault()},
 $S:1}
-A.dF.prototype={
+A.dC.prototype={
 $1(a){a.preventDefault()},
 $S:1}
-A.dG.prototype={
+A.dD.prototype={
 $1(a){var s=this.a.e
-if(s!=null){self.window.location.assign($.bt()+s)
+if(s!=null){self.window.location.assign($.bo()+s)
 a.preventDefault()}},
 $S:1}
-A.dK.prototype={
-$1(a){return"<strong class='tt-highlight'>"+A.i(a.k(0,0))+"</strong>"},
-$S:28}
-A.dM.prototype={
+A.dE.prototype={
+$1(a){return"<strong class='tt-highlight'>"+A.h(a.k(0,0))+"</strong>"},
+$S:26}
+A.dG.prototype={
 $1(a){var s=this.a
 if(s!=null)s.classList.toggle("active")
 s=this.b
 if(s!=null)s.classList.toggle("active")},
 $S:1}
-A.dN.prototype={
-$1(a){return this.b2(a)},
-b2(a){var s=0,r=A.fK(t.P),q,p=this,o,n
-var $async$$1=A.fR(function(b,c){if(b===1)return A.fA(c,r)
-while(true)switch(s){case 0:if(!J.H(a.status,200)){o=self.document.createElement("a")
+A.dH.prototype={
+$1(a){return this.b1(a)},
+b1(a){var s=0,r=A.fC(t.P),q,p=this,o,n
+var $async$$1=A.fJ(function(b,c){if(b===1)return A.fs(c,r)
+while(true)switch(s){case 0:if(!J.G(a.status,200)){o=self.document.createElement("a")
 o.href="https://dart.dev/tools/dart-doc#troubleshoot"
 o.text="Failed to load sidebar. Visit dart.dev for help troubleshooting."
 p.a.appendChild(o)
 s=1
 break}s=3
-return A.fz(A.e3(a.text(),t.N),$async$$1)
+return A.fr(A.dX(a.text(),t.N),$async$$1)
 case 3:n=c
 o=self.document.createElement("div")
 o.innerHTML=n
-A.fQ(p.b,o)
+A.fI(p.b,o)
 p.a.appendChild(o)
-case 1:return A.fB(q,r)}})
-return A.fC($async$$1,r)},
-$S:10}
-A.e_.prototype={
+case 1:return A.ft(q,r)}})
+return A.fu($async$$1,r)},
+$S:9}
+A.dT.prototype={
 $0(){var s=this.a,r=this.b
 if(s.checked){r.setAttribute("class","dark-theme")
 s.setAttribute("value","dark-theme")
@@ -4416,95 +4226,93 @@
 s.setAttribute("value","light-theme")
 self.window.localStorage.setItem("colorTheme","false")}},
 $S:0}
-A.dX.prototype={
+A.dQ.prototype={
 $1(a){this.a.$0()},
-$S:1};(function aliases(){var s=J.a2.prototype
-s.b9=s.h})();(function installTearOffs(){var s=hunkHelpers._static_2,r=hunkHelpers._static_1,q=hunkHelpers._static_0
-s(J,"j5","hN",29)
-r(A,"jv","i6",4)
-r(A,"jw","i7",4)
-r(A,"jx","i8",4)
-q(A,"fT","jp",0)
-r(A,"jX","hC",30)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany
-r(A.k,null)
-q(A.k,[A.ec,J.bE,J.Z,A.o,A.bx,A.l,A.e,A.cJ,A.ao,A.ap,A.aM,A.bY,A.bc,A.aG,A.ca,A.ar,A.cM,A.cH,A.aL,A.bd,A.ae,A.P,A.cD,A.bI,A.cy,A.cb,A.cW,A.G,A.c7,A.ds,A.dq,A.c1,A.a_,A.c3,A.av,A.v,A.c2,A.cf,A.dB,A.ci,A.aU,A.bz,A.bB,A.ct,A.dz,A.dw,A.d0,A.bS,A.b2,A.d1,A.bC,A.u,A.cg,A.z,A.bk,A.cO,A.ce,A.cG,A.cu,A.w,A.cp,A.dj])
-q(J.bE,[J.bF,J.aO,J.aR,J.aQ,J.aS,J.aP,J.af])
-q(J.aR,[J.a2,J.p,A.bJ,A.aX])
-q(J.a2,[J.bT,J.as,J.a1])
-r(J.cz,J.p)
-q(J.aP,[J.aN,J.bG])
-q(A.o,[A.a5,A.c,A.ah])
-q(A.a5,[A.ad,A.bm])
-r(A.b7,A.ad)
-r(A.b6,A.bm)
-r(A.N,A.b6)
-q(A.l,[A.aT,A.R,A.bH,A.bX,A.c4,A.bV,A.c6,A.bv,A.I,A.b4,A.bW,A.b3,A.bA])
-r(A.at,A.e)
-r(A.by,A.at)
-q(A.c,[A.J,A.O])
-r(A.aK,A.ah)
-q(A.J,[A.ai,A.c9])
-r(A.cc,A.bc)
-r(A.cd,A.cc)
-r(A.aI,A.aG)
-r(A.aH,A.ar)
-r(A.aJ,A.aH)
-r(A.b_,A.R)
-q(A.ae,[A.cn,A.co,A.cL,A.cA,A.dU,A.dW,A.cY,A.cX,A.dC,A.d6,A.dd,A.dI,A.dJ,A.e4,A.e5,A.cx,A.cw,A.dY,A.dk,A.dl,A.dm,A.dn,A.dp,A.dF,A.dG,A.dK,A.dM,A.dN,A.dX])
-q(A.cL,[A.cK,A.aE])
-q(A.P,[A.ag,A.c8])
-q(A.co,[A.dV,A.dD,A.dQ,A.d7,A.de,A.cE,A.dv,A.cS,A.cP,A.cQ,A.cR,A.du,A.dt,A.dH,A.cv])
-q(A.aX,[A.bK,A.aq])
-q(A.aq,[A.b8,A.ba])
-r(A.b9,A.b8)
-r(A.aV,A.b9)
-r(A.bb,A.ba)
-r(A.aW,A.bb)
-q(A.aV,[A.bL,A.bM])
-q(A.aW,[A.bN,A.bO,A.bP,A.bQ,A.bR,A.aY,A.aZ])
-r(A.be,A.c6)
-q(A.cn,[A.cZ,A.d_,A.dr,A.d2,A.d9,A.d8,A.d5,A.d4,A.d3,A.dc,A.db,A.da,A.dO,A.di,A.dy,A.dx,A.dL,A.dZ,A.e_])
-r(A.b5,A.c3)
-r(A.dh,A.dB)
-r(A.bj,A.aU)
-r(A.au,A.bj)
-q(A.bz,[A.cl,A.cq,A.cB])
-q(A.bB,[A.cm,A.cs,A.cC,A.cV,A.cU])
-r(A.cT,A.cq)
-q(A.I,[A.b0,A.bD])
-r(A.c5,A.bk)
-q(A.d0,[A.m,A.A])
-s(A.at,A.bY)
-s(A.bm,A.e)
-s(A.b8,A.e)
-s(A.b9,A.aM)
-s(A.ba,A.e)
-s(A.bb,A.aM)
-s(A.bj,A.ci)})()
-var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{b:"int",t:"double",jT:"num",d:"String",jy:"bool",u:"Null",f:"List",k:"Object",y:"Map"},mangledNames:{},types:["~()","u(n)","u(@)","~(@)","~(~())","u()","u(k,a3)","@()","~(d,@)","~(aj,d,b)","a0<u>(n)","@(@)","@(@,d)","@(d)","u(~())","u(@,a3)","~(b,@)","~(k?,k?)","y<d,d>(y<d,d>,d)","~(d,b)","~(d,b?)","b(b,b)","~(d,d?)","aj(@,@)","~(A)","b(+item,matchPosition(w,A),+item,matchPosition(w,A))","w(+item,matchPosition(w,A))","d()","d(cF)","b(@,@)","w(y<d,@>)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti"),rttc:{"2;item,matchPosition":(a,b)=>c=>c instanceof A.cd&&a.b(c.a)&&b.b(c.b)}}
-A.iq(v.typeUniverse,JSON.parse('{"bT":"a2","as":"a2","a1":"a2","bF":{"j":[]},"aO":{"u":[],"j":[]},"aR":{"n":[]},"a2":{"n":[]},"p":{"f":["1"],"c":["1"],"n":[]},"cz":{"p":["1"],"f":["1"],"c":["1"],"n":[]},"aP":{"t":[]},"aN":{"t":[],"b":[],"j":[]},"bG":{"t":[],"j":[]},"af":{"d":[],"j":[]},"a5":{"o":["2"]},"ad":{"a5":["1","2"],"o":["2"],"o.E":"2"},"b7":{"ad":["1","2"],"a5":["1","2"],"c":["2"],"o":["2"],"o.E":"2"},"b6":{"e":["2"],"f":["2"],"a5":["1","2"],"c":["2"],"o":["2"]},"N":{"b6":["1","2"],"e":["2"],"f":["2"],"a5":["1","2"],"c":["2"],"o":["2"],"e.E":"2","o.E":"2"},"aT":{"l":[]},"by":{"e":["b"],"f":["b"],"c":["b"],"e.E":"b"},"c":{"o":["1"]},"J":{"c":["1"],"o":["1"]},"ah":{"o":["2"],"o.E":"2"},"aK":{"ah":["1","2"],"c":["2"],"o":["2"],"o.E":"2"},"ai":{"J":["2"],"c":["2"],"o":["2"],"J.E":"2","o.E":"2"},"at":{"e":["1"],"f":["1"],"c":["1"]},"aG":{"y":["1","2"]},"aI":{"y":["1","2"]},"aH":{"ar":["1"],"c":["1"]},"aJ":{"ar":["1"],"c":["1"]},"b_":{"R":[],"l":[]},"bH":{"l":[]},"bX":{"l":[]},"bd":{"a3":[]},"c4":{"l":[]},"bV":{"l":[]},"ag":{"P":["1","2"],"y":["1","2"],"P.V":"2"},"O":{"c":["1"],"o":["1"],"o.E":"1"},"cb":{"eh":[],"cF":[]},"bJ":{"n":[],"j":[]},"aX":{"n":[]},"bK":{"n":[],"j":[]},"aq":{"D":["1"],"n":[]},"aV":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"n":[]},"aW":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[]},"bL":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"n":[],"j":[],"e.E":"t"},"bM":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"n":[],"j":[],"e.E":"t"},"bN":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"j":[],"e.E":"b"},"bO":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"j":[],"e.E":"b"},"bP":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"j":[],"e.E":"b"},"bQ":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"j":[],"e.E":"b"},"bR":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"j":[],"e.E":"b"},"aY":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"j":[],"e.E":"b"},"aZ":{"aj":[],"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"j":[],"e.E":"b"},"c6":{"l":[]},"be":{"R":[],"l":[]},"a_":{"l":[]},"b5":{"c3":["1"]},"v":{"a0":["1"]},"e":{"f":["1"],"c":["1"]},"P":{"y":["1","2"]},"aU":{"y":["1","2"]},"au":{"y":["1","2"]},"ar":{"c":["1"]},"c8":{"P":["d","@"],"y":["d","@"],"P.V":"@"},"c9":{"J":["d"],"c":["d"],"o":["d"],"J.E":"d","o.E":"d"},"f":{"c":["1"]},"eh":{"cF":[]},"bv":{"l":[]},"R":{"l":[]},"I":{"l":[]},"b0":{"l":[]},"bD":{"l":[]},"b4":{"l":[]},"bW":{"l":[]},"b3":{"l":[]},"bA":{"l":[]},"bS":{"l":[]},"b2":{"l":[]},"cg":{"a3":[]},"bk":{"c_":[]},"ce":{"c_":[]},"c5":{"c_":[]},"hF":{"f":["b"],"c":["b"]},"aj":{"f":["b"],"c":["b"]},"i2":{"f":["b"],"c":["b"]},"hD":{"f":["b"],"c":["b"]},"i0":{"f":["b"],"c":["b"]},"hE":{"f":["b"],"c":["b"]},"i1":{"f":["b"],"c":["b"]},"hA":{"f":["t"],"c":["t"]},"hB":{"f":["t"],"c":["t"]}}'))
-A.ip(v.typeUniverse,JSON.parse('{"aM":1,"bY":1,"at":1,"bm":2,"aG":2,"aH":1,"bI":1,"aq":1,"cf":1,"ci":2,"aU":2,"bj":2,"bz":2,"bB":2}'))
-var u={c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"}
-var t=(function rtii(){var s=A.bq
-return{U:s("c<@>"),C:s("l"),Z:s("k4"),M:s("p<w>"),O:s("p<n>"),r:s("p<+item,matchPosition(w,A)>"),s:s("p<d>"),b:s("p<@>"),t:s("p<b>"),T:s("aO"),m:s("n"),g:s("a1"),p:s("D<@>"),j:s("f<@>"),a:s("y<d,@>"),V:s("ai<+item,matchPosition(w,A),w>"),P:s("u"),K:s("k"),L:s("k5"),d:s("+()"),F:s("eh"),l:s("a3"),N:s("d"),k:s("j"),c:s("R"),D:s("aj"),o:s("as"),h:s("au<d,d>"),R:s("c_"),e:s("v<@>"),y:s("jy"),i:s("t"),z:s("@"),v:s("@(k)"),Q:s("@(k,a3)"),S:s("b"),A:s("0&*"),_:s("k*"),W:s("a0<u>?"),B:s("n?"),X:s("k?"),H:s("jT"),n:s("~")}})();(function constants(){var s=hunkHelpers.makeConstList
-B.E=J.bE.prototype
-B.d=J.p.prototype
-B.b=J.aN.prototype
-B.a=J.af.prototype
-B.F=J.a1.prototype
-B.G=J.aR.prototype
-B.a7=A.aZ.prototype
-B.t=J.bT.prototype
-B.k=J.as.prototype
-B.ar=new A.cm()
-B.u=new A.cl()
-B.as=new A.ct()
-B.l=new A.cs()
-B.m=function getTagFallback(o) {
+$S:1};(function aliases(){var s=J.a_.prototype
+s.b8=s.h})();(function installTearOffs(){var s=hunkHelpers._static_2,r=hunkHelpers._static_1,q=hunkHelpers._static_0
+s(J,"iV","hD",27)
+r(A,"jk","hX",4)
+r(A,"jl","hY",4)
+r(A,"jm","hZ",4)
+q(A,"fL","je",0)
+r(A,"jN","hs",28)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany
+r(A.j,null)
+q(A.j,[A.e4,J.by,J.W,A.r,A.br,A.k,A.e,A.cF,A.am,A.aJ,A.bU,A.b9,A.aE,A.c5,A.ao,A.cI,A.cD,A.aI,A.ba,A.ab,A.L,A.cz,A.bC,A.aR,A.cv,A.c6,A.cT,A.F,A.c2,A.dp,A.dm,A.bX,A.X,A.bZ,A.as,A.v,A.bY,A.ca,A.dy,A.cd,A.aT,A.bt,A.bv,A.cq,A.dw,A.dt,A.cY,A.bN,A.b_,A.cZ,A.bw,A.u,A.cb,A.z,A.bh,A.cL,A.c9,A.cC,A.cr,A.w,A.cm,A.dg])
+q(J.by,[J.bz,J.aL,J.aO,J.aN,J.aP,J.aM,J.ac])
+q(J.aO,[J.a_,J.p,A.bD,A.aW])
+q(J.a_,[J.bO,J.ap,J.Z])
+r(J.cw,J.p)
+q(J.aM,[J.aK,J.bA])
+q(A.r,[A.a2,A.c])
+q(A.a2,[A.aa,A.bj])
+r(A.b4,A.aa)
+r(A.b3,A.bj)
+r(A.K,A.b3)
+q(A.k,[A.aQ,A.N,A.bB,A.bT,A.c_,A.bR,A.c1,A.bp,A.H,A.b1,A.bS,A.b0,A.bu])
+r(A.aq,A.e)
+r(A.bs,A.aq)
+q(A.c,[A.I,A.ae,A.aS])
+q(A.I,[A.af,A.c4])
+r(A.c7,A.b9)
+r(A.c8,A.c7)
+r(A.aG,A.aE)
+r(A.aF,A.ao)
+r(A.aH,A.aF)
+r(A.aY,A.N)
+q(A.ab,[A.ck,A.cl,A.cH,A.dN,A.dP,A.cV,A.cU,A.dz,A.d3,A.da,A.dY,A.dZ,A.cu,A.ct,A.dR,A.dh,A.di,A.dj,A.dk,A.dl,A.dC,A.dD,A.dE,A.dG,A.dH,A.dQ])
+q(A.cH,[A.cG,A.aD])
+q(A.L,[A.ad,A.c3])
+q(A.cl,[A.dO,A.dA,A.dK,A.d4,A.db,A.cA,A.ds,A.cP,A.cM,A.cN,A.cO,A.dr,A.dq,A.cs])
+q(A.aW,[A.bE,A.an])
+q(A.an,[A.b5,A.b7])
+r(A.b6,A.b5)
+r(A.aU,A.b6)
+r(A.b8,A.b7)
+r(A.aV,A.b8)
+q(A.aU,[A.bF,A.bG])
+q(A.aV,[A.bH,A.bI,A.bJ,A.bK,A.bL,A.aX,A.bM])
+r(A.bb,A.c1)
+q(A.ck,[A.cW,A.cX,A.dn,A.d_,A.d6,A.d5,A.d2,A.d1,A.d0,A.d9,A.d8,A.d7,A.dI,A.df,A.dv,A.du,A.dF,A.dS,A.dT])
+r(A.b2,A.bZ)
+r(A.de,A.dy)
+r(A.bg,A.aT)
+r(A.ar,A.bg)
+q(A.bt,[A.ci,A.cn,A.cx])
+q(A.bv,[A.cj,A.cp,A.cy,A.cS,A.cR])
+r(A.cQ,A.cn)
+q(A.H,[A.aZ,A.bx])
+r(A.c0,A.bh)
+q(A.cY,[A.m,A.A])
+s(A.aq,A.bU)
+s(A.bj,A.e)
+s(A.b5,A.e)
+s(A.b6,A.aJ)
+s(A.b7,A.e)
+s(A.b8,A.aJ)
+s(A.bg,A.cd)})()
+var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{b:"int",t:"double",jJ:"num",d:"String",jn:"bool",u:"Null",f:"List",j:"Object",y:"Map"},mangledNames:{},types:["~()","u(n)","u(@)","~(@)","~(~())","u()","u(j,a0)","@()","~(d,@)","Y<u>(n)","@(@)","@(@,d)","@(d)","u(~())","u(@,a0)","~(b,@)","~(j?,j?)","y<d,d>(y<d,d>,d)","~(d,b)","~(d,b?)","b(b,b)","~(d,d?)","~(A)","b(+item,matchPosition(w,A),+item,matchPosition(w,A))","w(+item,matchPosition(w,A))","d()","d(cB)","b(@,@)","w(y<d,@>)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti"),rttc:{"2;item,matchPosition":(a,b)=>c=>c instanceof A.c8&&a.b(c.a)&&b.b(c.b)}}
+A.ie(v.typeUniverse,JSON.parse('{"bO":"a_","ap":"a_","Z":"a_","bz":{"i":[]},"aL":{"u":[],"i":[]},"aO":{"n":[]},"a_":{"n":[]},"p":{"f":["1"],"c":["1"],"n":[]},"cw":{"p":["1"],"f":["1"],"c":["1"],"n":[]},"aM":{"t":[]},"aK":{"t":[],"b":[],"i":[]},"bA":{"t":[],"i":[]},"ac":{"d":[],"i":[]},"a2":{"r":["2"]},"aa":{"a2":["1","2"],"r":["2"],"r.E":"2"},"b4":{"aa":["1","2"],"a2":["1","2"],"c":["2"],"r":["2"],"r.E":"2"},"b3":{"e":["2"],"f":["2"],"a2":["1","2"],"c":["2"],"r":["2"]},"K":{"b3":["1","2"],"e":["2"],"f":["2"],"a2":["1","2"],"c":["2"],"r":["2"],"e.E":"2","r.E":"2"},"aQ":{"k":[]},"bs":{"e":["b"],"f":["b"],"c":["b"],"e.E":"b"},"c":{"r":["1"]},"I":{"c":["1"],"r":["1"]},"af":{"I":["2"],"c":["2"],"r":["2"],"I.E":"2","r.E":"2"},"aq":{"e":["1"],"f":["1"],"c":["1"]},"aE":{"y":["1","2"]},"aG":{"y":["1","2"]},"aF":{"ao":["1"],"c":["1"]},"aH":{"ao":["1"],"c":["1"]},"aY":{"N":[],"k":[]},"bB":{"k":[]},"bT":{"k":[]},"ba":{"a0":[]},"c_":{"k":[]},"bR":{"k":[]},"ad":{"L":["1","2"],"y":["1","2"],"L.V":"2"},"ae":{"c":["1"],"r":["1"],"r.E":"1"},"aS":{"c":["1"],"r":["1"],"r.E":"1"},"c6":{"e9":[],"cB":[]},"bD":{"n":[],"i":[]},"aW":{"n":[]},"bE":{"n":[],"i":[]},"an":{"D":["1"],"n":[]},"aU":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"n":[]},"aV":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[]},"bF":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"n":[],"i":[],"e.E":"t"},"bG":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"n":[],"i":[],"e.E":"t"},"bH":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"i":[],"e.E":"b"},"bI":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"i":[],"e.E":"b"},"bJ":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"i":[],"e.E":"b"},"bK":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"i":[],"e.E":"b"},"bL":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"i":[],"e.E":"b"},"aX":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"i":[],"e.E":"b"},"bM":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"n":[],"i":[],"e.E":"b"},"c1":{"k":[]},"bb":{"N":[],"k":[]},"X":{"k":[]},"b2":{"bZ":["1"]},"v":{"Y":["1"]},"e":{"f":["1"],"c":["1"]},"L":{"y":["1","2"]},"aT":{"y":["1","2"]},"ar":{"y":["1","2"]},"ao":{"c":["1"]},"c3":{"L":["d","@"],"y":["d","@"],"L.V":"@"},"c4":{"I":["d"],"c":["d"],"r":["d"],"I.E":"d","r.E":"d"},"f":{"c":["1"]},"e9":{"cB":[]},"bp":{"k":[]},"N":{"k":[]},"H":{"k":[]},"aZ":{"k":[]},"bx":{"k":[]},"b1":{"k":[]},"bS":{"k":[]},"b0":{"k":[]},"bu":{"k":[]},"bN":{"k":[]},"b_":{"k":[]},"cb":{"a0":[]},"bh":{"bV":[]},"c9":{"bV":[]},"c0":{"bV":[]},"hv":{"f":["b"],"c":["b"]},"hT":{"f":["b"],"c":["b"]},"hS":{"f":["b"],"c":["b"]},"ht":{"f":["b"],"c":["b"]},"hQ":{"f":["b"],"c":["b"]},"hu":{"f":["b"],"c":["b"]},"hR":{"f":["b"],"c":["b"]},"hq":{"f":["t"],"c":["t"]},"hr":{"f":["t"],"c":["t"]}}'))
+A.id(v.typeUniverse,JSON.parse('{"aJ":1,"bU":1,"aq":1,"bj":2,"aE":2,"aF":1,"bC":1,"aR":1,"an":1,"ca":1,"cd":2,"aT":2,"bg":2,"bt":2,"bv":2}'))
+var u={f:"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\u03f6\x00\u0404\u03f4 \u03f4\u03f6\u01f6\u01f6\u03f6\u03fc\u01f4\u03ff\u03ff\u0584\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u05d4\u01f4\x00\u01f4\x00\u0504\u05c4\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u0400\x00\u0400\u0200\u03f7\u0200\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u0200\u0200\u0200\u03f7\x00",c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"}
+var t=(function rtii(){var s=A.cf
+return{C:s("k"),Z:s("jV"),M:s("p<w>"),O:s("p<n>"),f:s("p<j>"),r:s("p<+item,matchPosition(w,A)>"),s:s("p<d>"),b:s("p<@>"),t:s("p<b>"),T:s("aL"),m:s("n"),g:s("Z"),p:s("D<@>"),j:s("f<@>"),a:s("y<d,@>"),U:s("af<+item,matchPosition(w,A),w>"),P:s("u"),K:s("j"),L:s("jW"),d:s("+()"),F:s("e9"),l:s("a0"),N:s("d"),k:s("i"),c:s("N"),o:s("ap"),h:s("ar<d,d>"),R:s("bV"),e:s("v<@>"),y:s("jn"),i:s("t"),z:s("@"),v:s("@(j)"),Q:s("@(j,a0)"),S:s("b"),A:s("0&*"),_:s("j*"),V:s("Y<u>?"),B:s("n?"),X:s("j?"),H:s("jJ"),n:s("~")}})();(function constants(){var s=hunkHelpers.makeConstList
+B.z=J.by.prototype
+B.c=J.p.prototype
+B.d=J.aK.prototype
+B.a=J.ac.prototype
+B.A=J.Z.prototype
+B.B=J.aO.prototype
+B.n=J.bO.prototype
+B.i=J.ap.prototype
+B.aj=new A.cj()
+B.o=new A.ci()
+B.ak=new A.cq()
+B.j=new A.cp()
+B.k=function getTagFallback(o) {
   var s = Object.prototype.toString.call(o);
   return s.substring(8, s.length - 1);
 }
-B.v=function() {
+B.p=function() {
   var toStringFunction = Object.prototype.toString;
   function getTag(o) {
     var s = toStringFunction.call(o);
@@ -4536,7 +4344,7 @@
     prototypeForTag: prototypeForTag,
     discriminator: discriminator };
 }
-B.A=function(getTagFallback) {
+B.v=function(getTagFallback) {
   return function(hooks) {
     if (typeof navigator != "object") return hooks;
     var userAgent = navigator.userAgent;
@@ -4551,11 +4359,11 @@
     hooks.getTag = getTagFallback;
   };
 }
-B.w=function(hooks) {
+B.q=function(hooks) {
   if (typeof dartExperimentalFixupGetTag != "function") return hooks;
   hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
 }
-B.z=function(hooks) {
+B.u=function(hooks) {
   if (typeof navigator != "object") return hooks;
   var userAgent = navigator.userAgent;
   if (typeof userAgent != "string") return hooks;
@@ -4574,7 +4382,7 @@
   }
   hooks.getTag = getTagFirefox;
 }
-B.y=function(hooks) {
+B.t=function(hooks) {
   if (typeof navigator != "object") return hooks;
   var userAgent = navigator.userAgent;
   if (typeof userAgent != "string") return hooks;
@@ -4605,7 +4413,7 @@
   hooks.getTag = getTagIE;
   hooks.prototypeForTag = prototypeForTagIE;
 }
-B.x=function(hooks) {
+B.r=function(hooks) {
   var getTag = hooks.getTag;
   var prototypeForTag = hooks.prototypeForTag;
   function getTagFixed(o) {
@@ -4623,111 +4431,103 @@
   hooks.getTag = getTagFixed;
   hooks.prototypeForTag = prototypeForTagFixed;
 }
-B.n=function(hooks) { return hooks; }
+B.l=function(hooks) { return hooks; }
 
-B.B=new A.cB()
-B.C=new A.bS()
-B.j=new A.cJ()
-B.e=new A.cT()
-B.D=new A.cV()
-B.c=new A.dh()
-B.f=new A.cg()
-B.H=new A.cC(null)
-B.o=A.h(s([0,0,26624,1023,65534,2047,65534,2047]),t.t)
-B.p=A.h(s([0,0,65490,12287,65535,34815,65534,18431]),t.t)
-B.q=A.h(s([0,0,32776,33792,1,10240,0,0]),t.t)
-B.a4=A.h(s([0,0,32722,12287,65534,34815,65534,18431]),t.t)
-B.h=A.h(s([0,0,24576,1023,65534,34815,65534,18431]),t.t)
-B.I=new A.m(0,"accessor")
-B.J=new A.m(1,"constant")
-B.U=new A.m(2,"constructor")
-B.Y=new A.m(3,"class_")
-B.Z=new A.m(4,"dynamic")
-B.a_=new A.m(5,"enum_")
-B.a0=new A.m(6,"extension")
-B.a1=new A.m(7,"extensionType")
-B.a2=new A.m(8,"function")
-B.a3=new A.m(9,"library")
-B.K=new A.m(10,"method")
-B.L=new A.m(11,"mixin")
-B.M=new A.m(12,"never")
-B.N=new A.m(13,"package")
-B.O=new A.m(14,"parameter")
-B.P=new A.m(15,"prefix")
-B.Q=new A.m(16,"property")
-B.R=new A.m(17,"sdk")
-B.S=new A.m(18,"topic")
-B.T=new A.m(19,"topLevelConstant")
-B.V=new A.m(20,"topLevelProperty")
-B.W=new A.m(21,"typedef")
-B.X=new A.m(22,"typeParameter")
-B.r=A.h(s([B.I,B.J,B.U,B.Y,B.Z,B.a_,B.a0,B.a1,B.a2,B.a3,B.K,B.L,B.M,B.N,B.O,B.P,B.Q,B.R,B.S,B.T,B.V,B.W,B.X]),A.bq("p<m>"))
-B.i=A.h(s([0,0,65490,45055,65535,34815,65534,18431]),t.t)
-B.a5=A.h(s([0,0,32754,11263,65534,34815,65534,18431]),t.t)
-B.a8={}
-B.a6=new A.aI(B.a8,[],A.bq("aI<d,d>"))
-B.a9={input:0,textarea:1}
-B.aa=new A.aJ(B.a9,2,A.bq("aJ<d>"))
-B.ab=A.L("k1")
-B.ac=A.L("k2")
-B.ad=A.L("hA")
-B.ae=A.L("hB")
-B.af=A.L("hD")
-B.ag=A.L("hE")
-B.ah=A.L("hF")
-B.ai=A.L("k")
-B.aj=A.L("i0")
-B.ak=A.L("i1")
-B.al=A.L("i2")
-B.am=A.L("aj")
-B.an=new A.cU(!1)
-B.ao=new A.A(0,"isExactly")
-B.ap=new A.A(1,"startsWith")
-B.aq=new A.A(2,"contains")})();(function staticFields(){$.df=null
-$.am=A.h([],A.bq("p<k>"))
-$.eX=null
+B.w=new A.cx()
+B.x=new A.bN()
+B.h=new A.cF()
+B.e=new A.cQ()
+B.y=new A.cS()
+B.b=new A.de()
+B.f=new A.cb()
+B.C=new A.cy(null)
+B.D=new A.m(0,"accessor")
+B.E=new A.m(1,"constant")
+B.P=new A.m(2,"constructor")
+B.T=new A.m(3,"class_")
+B.U=new A.m(4,"dynamic")
+B.V=new A.m(5,"enum_")
+B.W=new A.m(6,"extension")
+B.X=new A.m(7,"extensionType")
+B.Y=new A.m(8,"function")
+B.Z=new A.m(9,"library")
+B.F=new A.m(10,"method")
+B.G=new A.m(11,"mixin")
+B.H=new A.m(12,"never")
+B.I=new A.m(13,"package")
+B.J=new A.m(14,"parameter")
+B.K=new A.m(15,"prefix")
+B.L=new A.m(16,"property")
+B.M=new A.m(17,"sdk")
+B.N=new A.m(18,"topic")
+B.O=new A.m(19,"topLevelConstant")
+B.Q=new A.m(20,"topLevelProperty")
+B.R=new A.m(21,"typedef")
+B.S=new A.m(22,"typeParameter")
+B.m=A.l(s([B.D,B.E,B.P,B.T,B.U,B.V,B.W,B.X,B.Y,B.Z,B.F,B.G,B.H,B.I,B.J,B.K,B.L,B.M,B.N,B.O,B.Q,B.R,B.S]),A.cf("p<m>"))
+B.a0={}
+B.a_=new A.aG(B.a0,[],A.cf("aG<d,d>"))
+B.a1={input:0,textarea:1}
+B.a2=new A.aH(B.a1,2,A.cf("aH<d>"))
+B.a3=A.J("jS")
+B.a4=A.J("jT")
+B.a5=A.J("hq")
+B.a6=A.J("hr")
+B.a7=A.J("ht")
+B.a8=A.J("hu")
+B.a9=A.J("hv")
+B.aa=A.J("j")
+B.ab=A.J("hQ")
+B.ac=A.J("hR")
+B.ad=A.J("hS")
+B.ae=A.J("hT")
+B.af=new A.cR(!1)
+B.ag=new A.A(0,"isExactly")
+B.ah=new A.A(1,"startsWith")
+B.ai=new A.A(2,"contains")})();(function staticFields(){$.dc=null
+$.aj=A.l([],t.f)
 $.eP=null
-$.eO=null
-$.fV=null
+$.eI=null
+$.eH=null
+$.fO=null
+$.fK=null
 $.fS=null
-$.h_=null
-$.dR=null
-$.e1=null
-$.eF=null
-$.dg=A.h([],A.bq("p<f<k>?>"))
-$.ay=null
-$.bo=null
-$.bp=null
-$.ex=!1
-$.q=B.c
-$.eA=10
-$.dP=0
-$.bn=A.ee(t.N,t.m)})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal
-s($,"k3","eJ",()=>A.jF("_$dart_dartClosure"))
-s($,"k7","h2",()=>A.S(A.cN({
+$.dL=null
+$.dV=null
+$.ex=null
+$.dd=A.l([],A.cf("p<f<j>?>"))
+$.av=null
+$.bk=null
+$.bl=null
+$.ep=!1
+$.o=B.b
+$.es=10
+$.dJ=0
+$.a5=A.e6(t.N,t.m)})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal
+s($,"jU","eB",()=>A.ju("_$dart_dartClosure"))
+s($,"jY","fV",()=>A.O(A.cJ({
 toString:function(){return"$receiver$"}})))
-s($,"k8","h3",()=>A.S(A.cN({$method$:null,
+s($,"jZ","fW",()=>A.O(A.cJ({$method$:null,
 toString:function(){return"$receiver$"}})))
-s($,"k9","h4",()=>A.S(A.cN(null)))
-s($,"ka","h5",()=>A.S(function(){var $argumentsExpr$="$arguments$"
+s($,"k_","fX",()=>A.O(A.cJ(null)))
+s($,"k0","fY",()=>A.O(function(){var $argumentsExpr$="$arguments$"
 try{null.$method$($argumentsExpr$)}catch(r){return r.message}}()))
-s($,"kd","h8",()=>A.S(A.cN(void 0)))
-s($,"ke","h9",()=>A.S(function(){var $argumentsExpr$="$arguments$"
+s($,"k3","h0",()=>A.O(A.cJ(void 0)))
+s($,"k4","h1",()=>A.O(function(){var $argumentsExpr$="$arguments$"
 try{(void 0).$method$($argumentsExpr$)}catch(r){return r.message}}()))
-s($,"kc","h7",()=>A.S(A.f6(null)))
-s($,"kb","h6",()=>A.S(function(){try{null.$method$}catch(r){return r.message}}()))
-s($,"kg","hb",()=>A.S(A.f6(void 0)))
-s($,"kf","ha",()=>A.S(function(){try{(void 0).$method$}catch(r){return r.message}}()))
-s($,"kh","eK",()=>A.i5())
-s($,"kn","hh",()=>A.hS(4096))
-s($,"kl","hf",()=>new A.dy().$0())
-s($,"km","hg",()=>new A.dx().$0())
-s($,"ki","hc",()=>A.hR(A.iU(A.h([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],t.t))))
-s($,"kj","hd",()=>A.f0("^[\\-\\.0-9A-Z_a-z~]*$",!0))
-s($,"kk","he",()=>typeof URLSearchParams=="function")
-s($,"kz","e7",()=>A.fY(B.ai))
-s($,"kB","hi",()=>A.iS())
-s($,"kA","bt",()=>new A.dL().$0())})();(function nativeSupport(){!function(){var s=function(a){var m={}
+s($,"k2","h_",()=>A.O(A.eZ(null)))
+s($,"k1","fZ",()=>A.O(function(){try{null.$method$}catch(r){return r.message}}()))
+s($,"k6","h3",()=>A.O(A.eZ(void 0)))
+s($,"k5","h2",()=>A.O(function(){try{(void 0).$method$}catch(r){return r.message}}()))
+s($,"k7","eC",()=>A.hW())
+s($,"kd","h9",()=>A.hH(4096))
+s($,"kb","h7",()=>new A.dv().$0())
+s($,"kc","h8",()=>new A.du().$0())
+s($,"k8","h4",()=>A.hG(A.iJ(A.l([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],t.t))))
+s($,"k9","h5",()=>A.eT("^[\\-\\.0-9A-Z_a-z~]*$",!0))
+s($,"ka","h6",()=>typeof URLSearchParams=="function")
+s($,"kp","e0",()=>A.fQ(B.aa))
+s($,"kq","bo",()=>new A.dF().$0())})();(function nativeSupport(){!function(){var s=function(a){var m={}
 m[a]=1
 return Object.keys(hunkHelpers.convertToFastObject(m))[0]}
 v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)}
@@ -4738,15 +4538,15 @@
 if(!(n in q)){q[n]=1
 v.isolateTag=n
 break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}()
-hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.bJ,ArrayBufferView:A.aX,DataView:A.bK,Float32Array:A.bL,Float64Array:A.bM,Int16Array:A.bN,Int32Array:A.bO,Int8Array:A.bP,Uint16Array:A.bQ,Uint32Array:A.bR,Uint8ClampedArray:A.aY,CanvasPixelArray:A.aY,Uint8Array:A.aZ})
+hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.bD,ArrayBufferView:A.aW,DataView:A.bE,Float32Array:A.bF,Float64Array:A.bG,Int16Array:A.bH,Int32Array:A.bI,Int8Array:A.bJ,Uint16Array:A.bK,Uint32Array:A.bL,Uint8ClampedArray:A.aX,CanvasPixelArray:A.aX,Uint8Array:A.bM})
 hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false})
-A.aq.$nativeSuperclassTag="ArrayBufferView"
+A.an.$nativeSuperclassTag="ArrayBufferView"
+A.b5.$nativeSuperclassTag="ArrayBufferView"
+A.b6.$nativeSuperclassTag="ArrayBufferView"
+A.aU.$nativeSuperclassTag="ArrayBufferView"
+A.b7.$nativeSuperclassTag="ArrayBufferView"
 A.b8.$nativeSuperclassTag="ArrayBufferView"
-A.b9.$nativeSuperclassTag="ArrayBufferView"
-A.aV.$nativeSuperclassTag="ArrayBufferView"
-A.ba.$nativeSuperclassTag="ArrayBufferView"
-A.bb.$nativeSuperclassTag="ArrayBufferView"
-A.aW.$nativeSuperclassTag="ArrayBufferView"})()
+A.aV.$nativeSuperclassTag="ArrayBufferView"})()
 Function.prototype.$0=function(){return this()}
 Function.prototype.$1=function(a){return this(a)}
 Function.prototype.$2=function(a,b){return this(a,b)}
@@ -4759,6 +4559,6 @@
 return}if(typeof document.currentScript!="undefined"){a(document.currentScript)
 return}var s=document.scripts
 function onLoad(b){for(var q=0;q<s.length;++q){s[q].removeEventListener("load",onLoad,false)}a(b.target)}for(var r=0;r<s.length;++r){s[r].addEventListener("load",onLoad,false)}})(function(a){v.currentScript=a
-var s=A.jR
+var s=A.jH
 if(typeof dartMainRunner==="function"){dartMainRunner(s,[])}else{s([])}})})()
 //# sourceMappingURL=docs.dart.js.map
diff --git a/lib/resources/docs.dart.js.map b/lib/resources/docs.dart.js.map
index 4f54893..84043eb 100644
--- a/lib/resources/docs.dart.js.map
+++ b/lib/resources/docs.dart.js.map
@@ -3,14 +3,14 @@
   "engine": "v2",
   "file": "docs.dart.js",
   "sourceRoot": "",
-  "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/core/comparable.dart","org-dartlang-sdk:///lib/internal/cast.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/collection/iterable.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/convert_utf_patch.dart","org-dartlang-sdk:///lib/convert/base64.dart","org-dartlang-sdk:///lib/convert/utf.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/core/object.dart","org-dartlang-sdk:///lib/core/uri.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","../src/search.dart","../../web/search.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","../../web/sidebars.dart","../../web/theme.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/js_interop/js_interop.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart","../../web/docs.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/list.dart","org-dartlang-sdk:///lib/collection/set.dart","org-dartlang-sdk:///lib/convert/html_escape.dart","org-dartlang-sdk:///lib/convert/json.dart","org-dartlang-sdk:///lib/core/enum.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","../src/model/kind.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/async/future.dart","../../../../.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/html.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","../../web/highlight.dart","org-dartlang-sdk:///lib/core/list.dart","org-dartlang-sdk:///lib/core/print.dart"],
-  "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","JS_INTEROP_INTERCEPTOR_TAG","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.growable","JSArray.markGrowable","JSArray.allocateGrowable","JSArray.markFixed","JSArray._compareAny","CastIterable","hexDigitValue","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","MappedIterable","IterableElementError.noElement","ConstantMap._throwUnmodifiable","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.parseInt","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.stringSafeToString","Primitives.stringFromNativeUint8List","Primitives.stringFromCharCode","Primitives.extractStackTrace","Primitives.trySetStackTrace","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwUnsupportedOperation","_diagnoseUnsupportedOperation","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","fillLiteralMap","_invokeClosure","Exception","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","_rtiEval","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","throwCyclicInit","getIsolateAffinityTag","lookupAndCacheInterceptor","setDispatchProperty","patchInstance","lookupInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","initHooks","applyHooksTransformer","createRecordTypePredicate","JSSyntaxRegExp.makeNative","stringContainsUnchecked","stringContainsStringUnchecked","quoteStringForRegExp","_stringIdentity","stringReplaceAllFuncUnchecked","_AllMatchesIterable.iterator","NativeInt8List._create1","_ensureNativeList","NativeUint8List","_checkValidIndex","_checkValidRange","Rti._getQuestionFromStar","Rti._getStarArgument","Rti._getFutureFromFutureOr","Rti._getFutureOrArgument","Rti._isUnionOfFunctionType","Rti._getKind","Rti._getCanonicalRecipe","findType","_substitute","Rti._getInterfaceName","Rti._getBindingBase","Rti._getRecordPartialShapeTag","Rti._getReturnType","Rti._getGenericFunctionBase","Rti._getGenericFunctionParameterIndex","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","instanceType","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","_structuralTypeOf","getRtiForRecord","_instanceFunctionType","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","evaluateRtiForRecord","_rtiBind","typeLiteral","_installSpecializedIsTest","isDefinitelyTopType","_recordSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","Rti._getQuestionArgument","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isLegacyObjectType","_rtiToString","_unminifyOrTag","_Universe.findRule","_Universe._findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._installRti","_Universe._lookupStarRti","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._canonicalRecipeOfInterface","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._canonicalRecipeOfFunctionParameters","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.toGenericFunctionParameter","_Parser.pushStackFrame","_Parser.collectArray","_Parser.handleOptionalGroup","_Parser.collectNamed","_Parser.handleNamedGroup","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Universe.evalTypeVariable","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","isBottomType","_isFunctionSubtype","_isInterfaceSubtype","_Utils.newArrayOrEmpty","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isSoundTopType","_Utils.objectAssign","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","_TimerImpl","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError.defaultStackTrace","_interceptError","_interceptUserError","_Future._chainCoreFuture","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootScheduleMicrotask","LinkedHashMap._literal","LinkedHashMap._empty","IterableExtensions.firstOrNull","JSArray.iterator","MapBase.mapToString","_parseJson","_convertJsonToDartLazy","_JsonMap._processed","_Utf8Decoder._makeNativeUint8List","_Utf8Decoder._convertInterceptedUint8List","_Utf8Decoder._useTextDecoder","Base64Codec._checkPadding","_Utf8Decoder.errorDescription","int.parse","Error._throw","List.filled","List.from","List.of","List._of","List._ofArray","String.fromCharCodes","String._stringFromUint8List","RegExp","StringBuffer._writeAll","_Uri._uriEncode","JSSyntaxRegExp.hasMatch","StringBuffer.writeCharCode","_Uri._makeQueryFromParameters","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","RangeError.value","RangeError.range","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Object.hash","Uri.parse","_Uri.notSimple","Uri.tryParse","Uri.splitQueryString","Uri._parseIPv4Address","Uri.parseIPv6Address","_Uri._internal","_Uri._defaultPort","_Uri._fail","_Uri._makePort","_Uri._makeHost","_Uri._checkZoneID","_Uri._normalizeZoneID","StringBuffer.write","_Uri._normalizeRegName","_Uri._makeScheme","_Uri._canonicalizeScheme","_Uri._makeUserInfo","_Uri._makePath","_Uri._normalizePath","_Uri._makeQuery","_Uri._makeQueryFromParametersDefault","_Uri._makeFragment","_Uri._normalizeEscape","_Uri._escapeChar","_Uri._normalizeOrSubstring","_Uri._normalize","_Uri._mayContainDotSegments","_Uri._removeDotSegments","JSArray.isNotEmpty","_Uri._normalizeRelativePath","_Uri._escapeScheme","_Uri._hexCharPairToByte","_Uri._uriDecode","JSString.codeUnits","_Uri._isAlphabeticCharacter","UriData._parse","_createTables","_scan","_functionToJS1","_callDartFunctionFast1","promiseToFuture","_Completer.future","Completer","IndexItem._#fromMap#tearOff","IndexItem.fromMap","init","_Search","_createSuggestion","HTMLDivElement|constructor#","HTMLSpanElement|constructor#","JSString.isNotEmpty","HTMLQuoteElement|constructor#blockquote","HTMLTextAreaElement|constructor#","_decodeHtml","_createContainer","HTMLParagraphElement|constructor#","HTMLAnchorElement|constructor#","_mapToContainer","_highlight","JSString.replaceAllMapped","_initializeToggles","_initializeContents","_loadSidebar","_updateLinks","printString","throwLateFieldADI","throwUnnamedLateFieldADI","JSAnyUtilityExtension.instanceOfString","JSObjectUnsafeUtilExtension.[]","main","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.toString","LegacyJavaScriptObject.hashCode","JavaScriptFunction.toString","JavaScriptBigInt.toString","JavaScriptBigInt.hashCode","JavaScriptSymbol.toString","JavaScriptSymbol.hashCode","List.castFrom","JSArray.cast","JSArray.clear","JSArray.join","JSArray.fold","JSArray.fold[function-entry$2]","JSArray.elementAt","JSArray.sublist","JSArray.last","JSArray.sort","JSArray._replaceSomeNullsWithUndefined","JSArray.toString","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","ArrayIterator.current","ArrayIterator.moveNext","JSNumber.compareTo","JSNumber.isNegative","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shrOtherPositive","JSNumber._shrReceiverPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.replaceRange","JSString.startsWith","JSString.startsWith[function-entry$1]","JSString.substring","JSString.substring[function-entry$1]","JSString.*","JSString.indexOf","JSString.indexOf[function-entry$1]","JSString.contains","JSString.compareTo","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","_CastIterableBase.iterator","_CastIterableBase.length","_CastIterableBase.elementAt","_CastIterableBase.toString","CastIterator.moveNext","CastIterator.current","_CastListBase.[]","_CastListBase.[]=","CastList.cast","LateError.toString","CodeUnits.[]","CodeUnits.length","ListIterable.iterator","ListIterator.current","ListIterator.moveNext","MappedIterable.iterator","MappedIterable.length","MappedIterable.elementAt","MappedIterator.moveNext","MappedIterator.current","MappedListIterable.length","MappedListIterable.elementAt","UnmodifiableListMixin.[]=","ConstantMap.toString","ConstantMap.[]=","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","ConstantStringSet.length","ConstantStringSet.iterator","ConstantStringSet._keys","ConstantStringSet.contains","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.values","JsLinkedHashMap.containsKey","JsLinkedHashMap._containsTableEntry","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap._getBucket","JsLinkedHashMap.[]=","JsLinkedHashMap.internalSet","JsLinkedHashMap.clear","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._modified","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","JsLinkedHashMap.values.<anonymous function>","JsLinkedHashMap_values_closure","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","initHooks.<anonymous function>","_Record.toString","_Record._toString","StringBuffer._writeString","_Record._fieldKeys","_Record._computeFieldKeys","_Record2._getFieldValues","_Record2.==","_Record._sameShape","_Record2.hashCode","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._execGlobal","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.<anonymous function>","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.<anonymous function>","_wrapJsFunctionForAsync.<anonymous function>","AsyncError.toString","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeWithResultOf","_Future._completeError","_Future._setError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.<anonymous function>","_Future._prependListeners.<anonymous function>","_Future._chainForeignFuture.<anonymous function>","_Future._chainCoreFuture.<anonymous function>","_Future._asyncCompleteWithValue.<anonymous function>","_Future._asyncCompleteError.<anonymous function>","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._newFutureWithSameType","_Future._propagateToListeners.handleWhenCompleteCallback.<anonymous function>","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","_rootHandleError.<anonymous function>","_RootZone.runGuarded","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.<anonymous function>","ListBase.iterator","ListBase.elementAt","ListBase.cast","ListBase.fillRange","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.<anonymous function>","_UnmodifiableMapMixin.[]=","MapView.[]","MapView.[]=","MapView.length","MapView.toString","SetBase.toString","SetBase.elementAt","_JsonMap.[]","_JsonMap.length","_JsonMap.keys","_JsonMap.[]=","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._upgrade","_JsonMap._process","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_Utf8Decoder._decoder.<anonymous function>","_Utf8Decoder._decoderNonfatal.<anonymous function>","Base64Codec.normalize","HtmlEscapeMode.toString","HtmlEscape.convert","HtmlEscape._convert","JsonCodec.decode","JsonCodec.decoder","Utf8Encoder.convert","NativeUint8List.sublist","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","Utf8Decoder.convert","_Utf8Decoder._convertGeneral","_Utf8Decoder._decodeRecursive","_Utf8Decoder.decodeGeneral","_Uri._makeQueryFromParameters.<anonymous function>","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.length","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri.splitQueryString.<anonymous function>","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.hashCode","_Uri.queryParameters","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.replace","_Uri.isAbsolute","_Uri.hasAuthority","_Uri.hasQuery","_Uri.hasFragment","_Uri.toString","_Uri.==","_Uri._makeQueryFromParametersDefault.writeParameter","_Uri._makeQueryFromParametersDefault.<anonymous function>","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.isAbsolute","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.queryParameters","_SimpleUri.replace","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri.toString","promiseToFuture.<anonymous function>","NullRejectionException.toString","Kind._enumToString","Kind.toString","_MatchPosition._enumToString","Index.find","JSArray.map","Index.find.score","Index.find.<anonymous function>","IndexItem._scope","_htmlBase.<anonymous function>","init.disableSearch","print","init.<anonymous function>","init_closure","Index.fromJson","ListBase.map","_Search.listBox","_Search.moreResults","_Search.searchResults","_Search.initialize","_Search.showSearchResultPage","HTMLElement|constructor#section","HTMLHeadingElement|constructor#h2","JsLinkedHashMap.isNotEmpty","_Search.hideSuggestions","_Search.updateSuggestions","_Search.showSuggestions","_Search.showEnterMessage","_Search.updateSuggestions[function-entry$2]","_Search.handleSearch","_Search.handleSearch[function-entry$1$isSearchPage]","_Search.handleSearch[function-entry$1]","_Search.handleSearch[function-entry$1$forceUpdate]","_Search.clearSearch","_Search.setEventListeners","_Search.initialize.<anonymous function>","ElementExtension.acceptsInput","_Search.setEventListeners.<anonymous function>","_createSuggestion.<anonymous function>","_highlight.<anonymous function>","_initializeToggles.<anonymous function>","_loadSidebar.<anonymous function>","_loadSidebar_closure","init.switchThemes","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","_Utf8Decoder._reusableBuffer","_Utf8Decoder._decoder","_Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._needsNoEncoding","_Uri._useURLSearchParams","_hashSeed","_scannerTables","_htmlBase","","$intercepted$$eq$Iu","$intercepted$__$asx","$intercepted$___$ax","$intercepted$cast10$ax","$intercepted$compareTo1$ns","$intercepted$contains1$asx","$intercepted$elementAt1$ax","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","AsyncError","Base64Codec","Base64Encoder","BoundClosure","ByteBuffer","ByteData","CastIterator","CastList","Closure","Closure0Args","Closure2Args","CodeUnits","Codec","ConstantMap","ConstantSet","ConstantStringMap","ConstantStringSet","Converter","EfficientLengthIterable","EfficientLengthMappedIterable","EnclosedBy","Encoding","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","HtmlEscape","HtmlEscapeMode","Index","IndexError","IndexItem","Index_find_closure","Index_find_score","Int16List","Int32List","Int8List","Interceptor","Iterable","IterableExtensions|get#firstOrNull","JSAnyUtilityExtension|instanceOfString","JSArray","JSBool","JSInt","JSNull","JSNumNotInt","JSNumber","JSObject","JSString","JSSyntaxRegExp","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","JsLinkedHashMap","JsonCodec","JsonDecoder","Kind","LateError","LegacyJavaScriptObject","LinkedHashMapCell","LinkedHashMapKeyIterable","List","ListBase","ListIterable","ListIterator","Map","MapBase","MapBase_mapToString_closure","MapView","MappedIterator","MappedListIterable","Match","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","OutOfMemoryError","PlainJavaScriptObject","RangeError","Record","RegExpMatch","Rti","RuntimeError","SentinelValue","SetBase","StackOverflowError","StackTrace","StaticClosure","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","UnmodifiableListBase","UnmodifiableListMixin","UnmodifiableMapView","Uri","UriData","Uri__parseIPv4Address_error","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","Uri_splitQueryString_closure","Utf8Codec","Utf8Decoder","Utf8Encoder","_#fromMap#tearOff","_AllMatchesIterator","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncCompleter","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_CastIterableBase","_CastListBase","_Completer","_CyclicInitializationError","_DataUri","_EfficientLengthCastIterable","_Enum","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFuture_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_JS_INTEROP_INTERCEPTOR_TAG","_JsonMap","_JsonMapKeyIterable","_KeysOrValuesOrElementsIterator","_MatchImplementation","_MatchPosition","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_Record","_Record2","_Record_2_item_matchPosition","_RootZone","_RootZone_bindCallbackGuarded_closure","_Search_initialize_closure","_Search_setEventListeners_closure","_SimpleUri","_StackTrace","_StreamIterator","_StringStackTrace","_TimerImpl_internalCallback","_TypeError","_UnmodifiableMapMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","_Uri","_Uri__makeQueryFromParametersDefault_closure","_Uri__makeQueryFromParametersDefault_writeParameter","_Uri__makeQueryFromParameters_closure","_Utf8Decoder","_Utf8Decoder__decoderNonfatal_closure","_Utf8Decoder__decoder_closure","_Utf8Encoder","_Zone","__CastListBase&_CastIterableBase&ListMixin","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_canonicalizeScheme","_chainCoreFuture","_checkPadding","_checkZoneID","_compareAny","_computeFieldNamed","_computeSignatureFunctionNewRti","_computedFieldKeys","_containerMap","_convertInterceptedUint8List","_create1","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_createSuggestion_closure","_createTables_build","_createTables_setChars","_createTables_setRange","_current","_decoder","_decoderNonfatal","_defaultPort","_empty","_escapeChar","_escapeScheme","_fail","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_hexCharPairToByte","_highlight_closure","_htmlBase_closure","_identityHashCodeProperty","_initializeScheduleImmediate","_initializeToggles_closure","_installTypeTests","_interceptorFieldNameCache","_interceptors_JSArray__compareAny$closure","_internal","_inverseAlphabet","_isAlphabeticCharacter","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_literal","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_makeFragment","_makeHost","_makeNativeUint8List","_makePath","_makePort","_makeQuery","_makeQueryFromParameters","_makeQueryFromParametersDefault","_makeScheme","_makeUserInfo","_mayContainDotSegments","_needsNoEncoding","_nextCallback","_normalize","_normalizeEscape","_normalizeOrSubstring","_normalizePath","_normalizeRegName","_normalizeRelativePath","_normalizeZoneID","_objectTypeNameNewRti","_of","_parse","_parseIPv4Address","_propagateToListeners","_receiverFieldNameCache","_removeDotSegments","_reusableBuffer","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_stringFromUint8List","_suggestionLength","_suggestionLimit","_throw","_throwUnmodifiable","_uriDecode","_uriEncode","_useTextDecoder","_useURLSearchParams","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","allocateGrowable","alternateTagFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___startMicrotaskLoop$closure","bind","bool","checkNotNegative","checkValidRange","collectArray","combine","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","errorDescription","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","finish","fixed","forType","forwardCallTo","forwardInterceptedCallTo","from","fromCharCodes","fromMessage","fromTearOff","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getInterceptor$ns","getTagFunction","growable","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","hash","indexToType","initHooks_closure","initNativeDispatchFlag","init_disableSearch","init_switchThemes","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","makeNative","mapToString","markFixed","newArrayOrEmpty","noElement","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","of","parse","parseIPv6Address","parseInt","promiseToFuture_closure","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","safeToString","search_IndexItem___fromMap_tearOff$closure","splitQueryString","stringFromCharCode","stringFromNativeUint8List","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","tryParse","trySetStackTrace","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","withLength","$eq","$index","$indexSet","$mod","$mul","bindCallbackGuarded","call","cast","clear","clearSearch","compareTo","complete","completeError","contains","containsKey","convert","dart:_interceptors#_replaceSomeNullsWithUndefined","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_interceptors#_shrReceiverPositive","dart:_interceptors#_tdivFast","dart:_interceptors#_tdivSlow","dart:_internal#_source","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_computeFieldKeys","dart:_js_helper#_execGlobal","dart:_js_helper#_fieldKeys","dart:_js_helper#_getFieldValues","dart:_js_helper#_keys","dart:_js_helper#_modified","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_newHashTable","dart:_js_helper#_newLinkedCell","dart:_js_helper#_toString","dart:_rti#_bind","dart:_rti#_eval","dart:async#_addListener","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithResultOf","dart:async#_completeWithValue","dart:async#_prependListeners","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_setErrorObject","dart:async#_thenAwait","dart:convert#_computeKeys","dart:convert#_convert","dart:convert#_convertGeneral","dart:convert#_decodeRecursive","dart:convert#_fillBuffer","dart:convert#_process","dart:convert#_upgrade","dart:convert#_writeReplacementCharacter","dart:convert#_writeSurrogate","dart:core#_computeScheme","dart:core#_enumToString","dart:core#_errorExplanation","dart:core#_errorName","dart:core#_text","decode","decodeGeneral","decoder","elementAt","end","fillRange","find","fold","forEach","fragment","handleError","handleSearch","hasAuthority","hasFragment","hasPort","hasQuery","hashCode","hideSuggestions","host","indexOf","initialize","internalComputeHashCode","internalFindBucketIndex","internalGet","invalidValue","isAbsolute","isNegative","iterator","join","keys","last","length","listBox","matchTypeError","matchesErrorTest","moreResults","moveNext","normalize","package:dartdoc/src/search.dart#_scope","path","port","query","queryParameters","registerBinaryCallback","replace","replaceRange","run","runBinary","runGuarded","runUnary","runtimeType","scheme","searchResults","setEventListeners","showSearchResultPage","sort","stackTrace","startsWith","sublist","substring","then","toString","updateSuggestions","uri","userInfo","values","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_Utf8Encoder.withBufferSize","_Utf8Encoder._createBuffer","-","ElementExtension|get#acceptsInput","JSObjectUnsafeUtilExtension|[]","JSObjectUnsafeUtilExtension|getProperty","JSPromiseToFuture|get#toDart","_","_asCheck","_callMethodUnchecked0","_callMethodUnchecked1","_callMethodUnchecked2","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_checkMutable","_cloneResult","_combineSurrogatePair","_completeError","_computeIdentityHashCodeProperty","_computeUri","_containsTableEntry","_createBindingRti","_createBuffer","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createLength","_createRecordRti","_createTerminalRti","_createTimer","_equalFields","_error","_errorTest","_failedAsCheckError","_findRule","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getBucket","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getProperty","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRti","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_getTableBucket","_getTableCell","_hasError","_hasProperty","_hasTimer","_initializeText","_installRti","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isDotAll","_isFile","_isGeneralDelimiter","_isHttp","_isHttps","_isLeadSurrogate","_isMultiLine","_isPackage","_isRegNameChar","_isSchemeCharacter","_isSubtypeUncached","_isTrailSurrogate","_isUnicode","_isUnreservedChar","_isUpgraded","_isZoneIDChar","_keys","_keysFromIndex","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddListener","_mayComplete","_name","_newFutureWithSameType","_newJavaScriptObject","_objectToString","_ofArray","_onError","_onValue","_parseRecipe","_processed","_recipeJoin","_removeListeners","_sameShape","_scheduleImmediate","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setChained","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setPropertyUnchecked","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_shapeTag","_startsWithData","_stringToSafeString","_target","_theUniverse","_trySetStackTrace","_unstar","_upgradedMap","_whenCompleteAction","_writeAuthority","_writeOne","_writeString","_zone","allocate","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","castFrom","charCodeAt","checkGrowable","checkMutable","checkString","codeUnits","collectNamed","compare","constructorNameFallback","convertSingle","decodeQueryComponent","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","encode","encodeQueryComponent","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fromCharCode","fromJson","fromList","fromMap","future","getDispatchProperty","getIndex","getLegacyErasedRecipe","getLength","getProperty","getRuntimeTypeOfInterceptorNotArray","globalContext","group","handleNamedGroup","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","hasMatch","hasScheme","hash2","hash3","hash4","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","internalSet","isArray","isDigit","isEmpty","isIdentical","isNaN","isNotEmpty","isUnicode","jsHasOwnProperty","jsonDecode","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","map","mapGet","mapSet","markFixedList","markGrowable","notSimple","objectKeys","objectToHumanReadableString","parseHexByte","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","removeSelectedElement","replaceAllMapped","setToString","sharedEmptyArray","shouldChain","showEnterMessage","showSuggestions","splitMapJoin","stack","start","staticInteropGlobalContext","stringConcatUnchecked","stringIndexOf","stringIndexOfStringUnchecked","stringReplaceRangeUnchecked","stringSafeToString","stringSplit","suggestionElements","suggestionsInfo","thenAwait","toGenericFunctionParameter","toList","toLowerCase","toUpperCase","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","unmodifiable","withBufferSize","write","writeAll","writeCharCode","zone"],
-  "mappings": "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",
+  "sources": ["org-dartlang-sdk:///lib/_internal/js_runtime/lib/interceptors.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/core/comparable.dart","org-dartlang-sdk:///lib/internal/cast.dart","org-dartlang-sdk:///lib/internal/internal.dart","org-dartlang-sdk:///lib/core/errors.dart","org-dartlang-sdk:///lib/internal/iterable.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_names.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/records.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/string_helper.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/synced/recipe_syntax.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/async_patch.dart","org-dartlang-sdk:///lib/async/future_impl.dart","org-dartlang-sdk:///lib/async/zone.dart","org-dartlang-sdk:///lib/async/async_error.dart","org-dartlang-sdk:///lib/async/schedule_microtask.dart","org-dartlang-sdk:///lib/async/stream.dart","org-dartlang-sdk:///lib/async/stream_impl.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/collection/iterable.dart","org-dartlang-sdk:///lib/collection/maps.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/convert_utf_patch.dart","org-dartlang-sdk:///lib/convert/base64.dart","org-dartlang-sdk:///lib/convert/utf.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/core/object.dart","org-dartlang-sdk:///lib/core/uri.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_allow_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_util_patch.dart","../src/search.dart","../../web/search.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","../../web/sidebars.dart","../../web/theme.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","org-dartlang-sdk:///lib/internal/errors.dart","org-dartlang-sdk:///lib/js_interop/js_interop.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart","../../web/docs.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/collection/set.dart","org-dartlang-sdk:///lib/convert/html_escape.dart","org-dartlang-sdk:///lib/convert/json.dart","org-dartlang-sdk:///lib/core/enum.dart","org-dartlang-sdk:///lib/core/null.dart","org-dartlang-sdk:///lib/core/stacktrace.dart","org-dartlang-sdk:///lib/js_util/js_util.dart","../src/model/kind.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/async/future.dart","../../../../.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/html.dart","org-dartlang-sdk:///lib/js_interop_unsafe/js_interop_unsafe.dart","../../web/highlight.dart","org-dartlang-sdk:///lib/core/list.dart","org-dartlang-sdk:///lib/core/print.dart"],
+  "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","JS_INTEROP_INTERCEPTOR_TAG","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.growable","JSArray.markGrowable","JSArray.markFixed","JSArray._compareAny","CastIterable","hexDigitValue","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","IterableElementError.noElement","ConstantMap._throwUnmodifiable","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.parseInt","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.stringSafeToString","Primitives.stringFromNativeUint8List","Primitives.stringFromCharCode","Primitives.extractStackTrace","Primitives.trySetStackTrace","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwUnsupportedOperation","_diagnoseUnsupportedOperation","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","fillLiteralMap","_invokeClosure","Exception","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunctionNewRti","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","_rtiEval","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","throwCyclicInit","getIsolateAffinityTag","lookupAndCacheInterceptor","setDispatchProperty","patchInstance","lookupInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","initHooks","applyHooksTransformer","createRecordTypePredicate","JSSyntaxRegExp.makeNative","stringContainsUnchecked","stringContainsStringUnchecked","quoteStringForRegExp","_stringIdentity","stringReplaceAllFuncUnchecked","_AllMatchesIterable.iterator","NativeInt8List._create1","_ensureNativeList","NativeUint8List","_checkValidIndex","_checkValidRange","Rti._getQuestionFromStar","Rti._getStarArgument","Rti._getFutureFromFutureOr","Rti._getFutureOrArgument","Rti._isUnionOfFunctionType","Rti._getKind","Rti._getCanonicalRecipe","findType","_substitute","Rti._getInterfaceName","Rti._getBindingBase","Rti._getRecordPartialShapeTag","Rti._getReturnType","Rti._getGenericFunctionBase","Rti._getGenericFunctionParameterIndex","_substituteArray","_substituteNamed","_substituteFunctionParameters","_FunctionParameters.allocate","_setArrayType","closureFunctionType","instanceOrFunctionType","instanceType","_arrayInstanceType","_instanceType","_instanceTypeFromConstructor","_instanceTypeFromConstructorMiss","getTypeFromTypesTable","getRuntimeTypeOfDartObject","_structuralTypeOf","getRtiForRecord","_instanceFunctionType","createRuntimeType","_createAndCacheRuntimeType","_createRuntimeType","_Type","evaluateRtiForRecord","_rtiBind","typeLiteral","_installSpecializedIsTest","isDefinitelyTopType","_recordSpecializedIsTest","_finishIsFn","_installSpecializedAsCheck","_nullIs","_generalIsTestImplementation","_generalNullableIsTestImplementation","Rti._getQuestionArgument","_isTestViaProperty","_isListTestViaProperty","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_failedAsCheck","_Error.compose","_TypeError.fromMessage","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolS","_asBoolQ","_asDouble","_asDoubleS","_asDoubleQ","_isInt","_asInt","_asIntS","_asIntQ","_isNum","_asNum","_asNumS","_asNumQ","_isString","_asString","_asStringS","_asStringQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","isLegacyObjectType","_rtiToString","_unminifyOrTag","_Universe.findRule","_Universe._findRule","_Universe.findErasedType","_Universe.addRules","_Universe.addErasedTypes","_Universe.eval","_Universe.evalInEnvironment","_Universe.bind","_Universe._installTypeTests","_Universe._lookupTerminalRti","Rti.allocate","_Universe._createTerminalRti","_Universe._installRti","_Universe._lookupStarRti","_Universe._createStarRti","_Universe._lookupQuestionRti","_Universe._createQuestionRti","_Universe._lookupFutureOrRti","_Universe._createFutureOrRti","_Universe._lookupGenericFunctionParameterRti","_Universe._createGenericFunctionParameterRti","_Universe._canonicalRecipeJoin","_Universe._canonicalRecipeJoinNamed","_Universe._lookupInterfaceRti","_Universe._canonicalRecipeOfInterface","_Universe._createInterfaceRti","_Universe._lookupBindingRti","_Universe._createBindingRti","_Universe._lookupRecordRti","_Universe._createRecordRti","_Universe._lookupFunctionRti","_Universe._canonicalRecipeOfFunction","_Universe._canonicalRecipeOfFunctionParameters","_Universe._createFunctionRti","_Universe._lookupGenericFunctionRti","_Universe._createGenericFunctionRti","_Parser.create","_Parser.parse","_Parser.toGenericFunctionParameter","_Parser.pushStackFrame","_Parser.collectArray","_Parser.handleOptionalGroup","_Parser.collectNamed","_Parser.handleNamedGroup","_Parser.handleStartRecord","_Parser.handleDigit","_Parser.handleIdentifier","_Universe.evalTypeVariable","_Parser.handleTypeArguments","_Parser.handleArguments","_Parser.handleExtendedOperations","_Parser.toType","_Parser.toTypes","_Parser.toTypesNamed","_Parser.indexToType","isSubtype","_isSubtype","isBottomType","_isFunctionSubtype","_isInterfaceSubtype","_Utils.newArrayOrEmpty","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isSoundTopType","_Utils.objectAssign","_AsyncRun._initializeScheduleImmediate","_AsyncRun._scheduleImmediateJsOverride","_AsyncRun._scheduleImmediateWithSetImmediate","_AsyncRun._scheduleImmediateWithTimer","_TimerImpl","_makeAsyncAwaitCompleter","_AsyncAwaitCompleter._future","_asyncStartSync","_asyncAwait","_asyncReturn","_asyncRethrow","_awaitOnObject","_wrapJsFunctionForAsync","AsyncError.defaultStackTrace","_interceptError","_interceptUserError","_Future._chainCoreFuture","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootScheduleMicrotask","LinkedHashMap._literal","LinkedHashMap._empty","IterableExtensions.firstOrNull","JSArray.iterator","MapBase.mapToString","_parseJson","_convertJsonToDartLazy","_JsonMap._processed","_Utf8Decoder._makeNativeUint8List","_Utf8Decoder._convertInterceptedUint8List","_Utf8Decoder._useTextDecoder","Base64Codec._checkPadding","_Utf8Decoder.errorDescription","int.parse","Error._throw","List.filled","List.from","List.of","List._of","List._ofArray","String.fromCharCodes","String._stringFromUint8List","RegExp","StringBuffer._writeAll","_Uri._uriEncode","JSSyntaxRegExp.hasMatch","StringBuffer.writeCharCode","_Uri._makeQueryFromParameters","StackTrace.current","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","RangeError.value","RangeError.range","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Object.hash","Uri.parse","_Uri.notSimple","Uri.tryParse","Uri.splitQueryString","Uri._parseIPv4Address","Uri.parseIPv6Address","_Uri._internal","_Uri._defaultPort","_Uri._fail","_Uri._makePort","_Uri._makeHost","_Uri._checkZoneID","_Uri._normalizeZoneID","StringBuffer.write","_Uri._normalizeRegName","_Uri._makeScheme","_Uri._canonicalizeScheme","_Uri._makeUserInfo","_Uri._makePath","_Uri._normalizePath","_Uri._makeQuery","_Uri._makeQueryFromParametersDefault","_Uri._makeFragment","_Uri._normalizeEscape","_Uri._escapeChar","_Uri._normalizeOrSubstring","_Uri._normalize","_Uri._mayContainDotSegments","_Uri._removeDotSegments","JSArray.isNotEmpty","_Uri._normalizeRelativePath","_Uri._escapeScheme","_Uri._hexCharPairToByte","_Uri._uriDecode","JSString.codeUnits","_Uri._isAlphabeticCharacter","UriData._parse","_scan","_functionToJS1","_callDartFunctionFast1","promiseToFuture","_Completer.future","Completer","IndexItem._#fromMap#tearOff","IndexItem.fromMap","init","_Search","_createSuggestion","HTMLDivElement|constructor#","HTMLSpanElement|constructor#","JSString.isNotEmpty","HTMLQuoteElement|constructor#blockquote","HTMLTextAreaElement|constructor#","_decodeHtml","_createContainer","HTMLParagraphElement|constructor#","HTMLAnchorElement|constructor#","_mapToContainer","_highlight","JSString.replaceAllMapped","_initializeToggles","_initializeContents","_loadSidebar","_updateLinks","printString","throwLateFieldADI","throwUnnamedLateFieldADI","JSAnyUtilityExtension.instanceOfString","JSObjectUnsafeUtilExtension.[]","main","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.toString","LegacyJavaScriptObject.hashCode","JavaScriptFunction.toString","JavaScriptBigInt.toString","JavaScriptBigInt.hashCode","JavaScriptSymbol.toString","JavaScriptSymbol.hashCode","List.castFrom","JSArray.cast","JSArray.clear","JSArray.join","JSArray.fold","JSArray.fold[function-entry$2]","JSArray.elementAt","JSArray.sublist","JSArray.last","JSArray.sort","JSArray._replaceSomeNullsWithUndefined","JSArray.toString","JSArray.hashCode","JSArray.length","JSArray.[]","ArrayIterator.current","ArrayIterator.moveNext","JSNumber.compareTo","JSNumber.isNegative","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shrOtherPositive","JSNumber._shrReceiverPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.replaceRange","JSString.startsWith","JSString.startsWith[function-entry$1]","JSString.substring","JSString.substring[function-entry$1]","JSString.*","JSString.indexOf","JSString.indexOf[function-entry$1]","JSString.contains","JSString.compareTo","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","_CastIterableBase.iterator","_CastIterableBase.length","_CastIterableBase.elementAt","_CastIterableBase.toString","CastIterator.moveNext","CastIterator.current","_CastListBase.[]","CastList.cast","LateError.toString","CodeUnits.[]","CodeUnits.length","ListIterable.iterator","ListIterator.current","ListIterator.moveNext","MappedListIterable.length","MappedListIterable.elementAt","ConstantMap.toString","ConstantMap.[]=","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","ConstantStringSet.length","ConstantStringSet.iterator","ConstantStringSet._keys","ConstantStringSet.contains","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.containsKey","JsLinkedHashMap._containsTableEntry","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap._getBucket","JsLinkedHashMap.[]=","JsLinkedHashMap.internalSet","JsLinkedHashMap.clear","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._modified","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","LinkedHashMapKeysIterable.length","LinkedHashMapKeysIterable.iterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","LinkedHashMapValuesIterable.length","LinkedHashMapValuesIterable.iterator","LinkedHashMapValueIterator.current","LinkedHashMapValueIterator.moveNext","initHooks.<anonymous function>","_Record.toString","_Record._toString","StringBuffer._writeString","_Record._fieldKeys","_Record._computeFieldKeys","JSArray.allocateGrowable","_Record2._getFieldValues","_Record2.==","_Record._sameShape","_Record2.hashCode","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._execGlobal","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.<anonymous function>","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.<anonymous function>","_wrapJsFunctionForAsync.<anonymous function>","AsyncError.toString","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeWithResultOf","_Future._completeError","_Future._setError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.<anonymous function>","_Future._prependListeners.<anonymous function>","_Future._chainForeignFuture.<anonymous function>","_Future._chainCoreFuture.<anonymous function>","_Future._asyncCompleteWithValue.<anonymous function>","_Future._asyncCompleteError.<anonymous function>","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._newFutureWithSameType","_Future._propagateToListeners.handleWhenCompleteCallback.<anonymous function>","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","_rootHandleError.<anonymous function>","_RootZone.runGuarded","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.<anonymous function>","ListBase.iterator","ListBase.elementAt","ListBase.cast","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.<anonymous function>","_UnmodifiableMapMixin.[]=","MapView.[]","MapView.[]=","MapView.length","MapView.toString","SetBase.toString","SetBase.elementAt","_JsonMap.[]","_JsonMap.length","_JsonMap.keys","_JsonMap.[]=","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._upgrade","_JsonMap._process","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_Utf8Decoder._decoder.<anonymous function>","_Utf8Decoder._decoderNonfatal.<anonymous function>","Base64Codec.normalize","HtmlEscapeMode.toString","HtmlEscape.convert","HtmlEscape._convert","JsonCodec.decode","JsonCodec.decoder","Utf8Encoder.convert","NativeUint8List.sublist","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","Utf8Decoder.convert","_Utf8Decoder._convertGeneral","_Utf8Decoder._decodeRecursive","_Utf8Decoder.decodeGeneral","_Uri._makeQueryFromParameters.<anonymous function>","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.length","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri.splitQueryString.<anonymous function>","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.hashCode","_Uri.queryParameters","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.replace","_Uri.isAbsolute","_Uri.hasAuthority","_Uri.hasQuery","_Uri.hasFragment","_Uri.toString","_Uri.==","_Uri._makeQueryFromParametersDefault.writeParameter","_Uri._makeQueryFromParametersDefault.<anonymous function>","UriData.uri","UriData._computeUri","UriData.toString","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.isAbsolute","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.queryParameters","_SimpleUri.replace","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri.toString","promiseToFuture.<anonymous function>","NullRejectionException.toString","Kind._enumToString","Kind.toString","_MatchPosition._enumToString","Index.find","JSArray.map","Index.find.score","Index.find.<anonymous function>","IndexItem._scope","_htmlBase.<anonymous function>","init.disableSearch","print","init.<anonymous function>","init_closure","Index.fromJson","ListBase.map","_Search.listBox","_Search.moreResults","_Search.searchResults","_Search.initialize","_Search.showSearchResultPage","HTMLElement|constructor#section","HTMLHeadingElement|constructor#h2","JsLinkedHashMap.isNotEmpty","_Search.hideSuggestions","_Search.updateSuggestions","JsLinkedHashMap.values","_Search.showSuggestions","_Search.showEnterMessage","_Search.updateSuggestions[function-entry$2]","_Search.handleSearch","_Search.handleSearch[function-entry$1$isSearchPage]","_Search.handleSearch[function-entry$1]","_Search.handleSearch[function-entry$1$forceUpdate]","_Search.clearSearch","_Search.setEventListeners","_Search.initialize.<anonymous function>","ElementExtension.acceptsInput","_Search.setEventListeners.<anonymous function>","_createSuggestion.<anonymous function>","_highlight.<anonymous function>","_initializeToggles.<anonymous function>","_loadSidebar.<anonymous function>","_loadSidebar_closure","init.switchThemes","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","_Utf8Decoder._reusableBuffer","_Utf8Decoder._decoder","_Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._needsNoEncoding","_Uri._useURLSearchParams","_hashSeed","_htmlBase","","$intercepted$$eq$Iu","$intercepted$__$asx","$intercepted$cast10$ax","$intercepted$compareTo1$ns","$intercepted$contains1$asx","$intercepted$elementAt1$ax","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","AsyncError","Base64Codec","Base64Encoder","BoundClosure","ByteBuffer","ByteData","CastIterator","CastList","Closure","Closure0Args","Closure2Args","CodeUnits","Codec","ConstantMap","ConstantSet","ConstantStringMap","ConstantStringSet","Converter","EfficientLengthIterable","EnclosedBy","Encoding","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","HtmlEscape","HtmlEscapeMode","Index","IndexError","IndexItem","Index_find_closure","Index_find_score","Int16List","Int32List","Int8List","Interceptor","Iterable","IterableExtensions|get#firstOrNull","JSAnyUtilityExtension|instanceOfString","JSArray","JSBool","JSInt","JSNull","JSNumNotInt","JSNumber","JSObject","JSString","JSSyntaxRegExp","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","JsLinkedHashMap","JsonCodec","JsonDecoder","Kind","LateError","LegacyJavaScriptObject","LinkedHashMapCell","LinkedHashMapKeyIterator","LinkedHashMapKeysIterable","LinkedHashMapValueIterator","LinkedHashMapValuesIterable","List","ListBase","ListIterable","ListIterator","Map","MapBase","MapBase_mapToString_closure","MapView","MappedListIterable","Match","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","OutOfMemoryError","PlainJavaScriptObject","RangeError","Record","RegExpMatch","Rti","RuntimeError","SentinelValue","SetBase","StackOverflowError","StackTrace","StaticClosure","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","UnmodifiableListBase","UnmodifiableListMixin","UnmodifiableMapView","Uri","UriData","Uri__parseIPv4Address_error","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","Uri_splitQueryString_closure","Utf8Codec","Utf8Decoder","Utf8Encoder","_#fromMap#tearOff","_AllMatchesIterator","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncCompleter","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_CastIterableBase","_CastListBase","_Completer","_CyclicInitializationError","_DataUri","_EfficientLengthCastIterable","_Enum","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFuture_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_JS_INTEROP_INTERCEPTOR_TAG","_JsonMap","_JsonMapKeyIterable","_KeysOrValuesOrElementsIterator","_MatchImplementation","_MatchPosition","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_Record","_Record2","_Record_2_item_matchPosition","_RootZone","_RootZone_bindCallbackGuarded_closure","_Search_initialize_closure","_Search_setEventListeners_closure","_SimpleUri","_StackTrace","_StreamIterator","_StringStackTrace","_TimerImpl_internalCallback","_TypeError","_UnmodifiableMapMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","_Uri","_Uri__makeQueryFromParametersDefault_closure","_Uri__makeQueryFromParametersDefault_writeParameter","_Uri__makeQueryFromParameters_closure","_Utf8Decoder","_Utf8Decoder__decoderNonfatal_closure","_Utf8Decoder__decoder_closure","_Utf8Encoder","_Zone","__CastListBase&_CastIterableBase&ListMixin","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_canonicalizeScheme","_chainCoreFuture","_checkPadding","_checkZoneID","_compareAny","_computeFieldNamed","_computeSignatureFunctionNewRti","_computedFieldKeys","_containerMap","_convertInterceptedUint8List","_create1","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_createSuggestion_closure","_current","_decoder","_decoderNonfatal","_defaultPort","_empty","_escapeChar","_escapeScheme","_fail","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_hexCharPairToByte","_highlight_closure","_htmlBase_closure","_identityHashCodeProperty","_initializeScheduleImmediate","_initializeToggles_closure","_installTypeTests","_interceptorFieldNameCache","_interceptors_JSArray__compareAny$closure","_internal","_inverseAlphabet","_isAlphabeticCharacter","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_literal","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_makeFragment","_makeHost","_makeNativeUint8List","_makePath","_makePort","_makeQuery","_makeQueryFromParameters","_makeQueryFromParametersDefault","_makeScheme","_makeUserInfo","_mayContainDotSegments","_needsNoEncoding","_nextCallback","_normalize","_normalizeEscape","_normalizeOrSubstring","_normalizePath","_normalizeRegName","_normalizeRelativePath","_normalizeZoneID","_objectTypeNameNewRti","_of","_parse","_parseIPv4Address","_propagateToListeners","_receiverFieldNameCache","_removeDotSegments","_reusableBuffer","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_stringFromUint8List","_suggestionLength","_suggestionLimit","_throw","_throwUnmodifiable","_uriDecode","_uriEncode","_useTextDecoder","_useURLSearchParams","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___startMicrotaskLoop$closure","bind","bool","checkNotNegative","checkValidRange","collectArray","combine","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","errorDescription","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","finish","fixed","forType","forwardCallTo","forwardInterceptedCallTo","from","fromCharCodes","fromMessage","fromTearOff","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getInterceptor$ns","getTagFunction","growable","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","hash","indexToType","initHooks_closure","initNativeDispatchFlag","init_disableSearch","init_switchThemes","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","makeNative","mapToString","markFixed","newArrayOrEmpty","noElement","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","of","parse","parseIPv6Address","parseInt","promiseToFuture_closure","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","safeToString","search_IndexItem___fromMap_tearOff$closure","splitQueryString","stringFromCharCode","stringFromNativeUint8List","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","tryParse","trySetStackTrace","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","withLength","$eq","$index","$indexSet","$mod","$mul","bindCallbackGuarded","call","cast","clear","clearSearch","compareTo","complete","completeError","contains","containsKey","convert","dart:_interceptors#_replaceSomeNullsWithUndefined","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_interceptors#_shrReceiverPositive","dart:_interceptors#_tdivFast","dart:_interceptors#_tdivSlow","dart:_internal#_source","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_computeFieldKeys","dart:_js_helper#_execGlobal","dart:_js_helper#_fieldKeys","dart:_js_helper#_getFieldValues","dart:_js_helper#_keys","dart:_js_helper#_modified","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_newHashTable","dart:_js_helper#_newLinkedCell","dart:_js_helper#_toString","dart:_rti#_bind","dart:_rti#_eval","dart:async#_addListener","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithResultOf","dart:async#_completeWithValue","dart:async#_prependListeners","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_setErrorObject","dart:async#_thenAwait","dart:convert#_computeKeys","dart:convert#_convert","dart:convert#_convertGeneral","dart:convert#_decodeRecursive","dart:convert#_fillBuffer","dart:convert#_process","dart:convert#_upgrade","dart:convert#_writeReplacementCharacter","dart:convert#_writeSurrogate","dart:core#_computeScheme","dart:core#_enumToString","dart:core#_errorExplanation","dart:core#_errorName","dart:core#_text","decode","decodeGeneral","decoder","elementAt","end","find","fold","forEach","fragment","handleError","handleSearch","hasAuthority","hasFragment","hasPort","hasQuery","hashCode","hideSuggestions","host","indexOf","initialize","internalComputeHashCode","internalFindBucketIndex","internalGet","invalidValue","isAbsolute","isNegative","iterator","join","keys","last","length","listBox","matchTypeError","matchesErrorTest","moreResults","moveNext","normalize","package:dartdoc/src/search.dart#_scope","path","port","query","queryParameters","registerBinaryCallback","replace","replaceRange","run","runBinary","runGuarded","runUnary","runtimeType","scheme","searchResults","setEventListeners","showSearchResultPage","sort","stackTrace","startsWith","sublist","substring","then","toString","updateSuggestions","uri","userInfo","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_Utf8Encoder.withBufferSize","_Utf8Encoder._createBuffer","-","ElementExtension|get#acceptsInput","JSObjectUnsafeUtilExtension|[]","JSObjectUnsafeUtilExtension|getProperty","JSPromiseToFuture|get#toDart","_","_asCheck","_callMethodUnchecked0","_callMethodUnchecked1","_callMethodUnchecked2","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_cloneResult","_combineSurrogatePair","_completeError","_computeIdentityHashCodeProperty","_computeUri","_containsTableEntry","_createBindingRti","_createBuffer","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createLength","_createRecordRti","_createTerminalRti","_createTimer","_equalFields","_error","_errorTest","_failedAsCheckError","_findRule","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getBucket","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getProperty","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRti","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_getTableBucket","_getTableCell","_hasError","_hasProperty","_hasTimer","_initializeText","_installRti","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isDotAll","_isFile","_isGeneralDelimiter","_isHttp","_isHttps","_isLeadSurrogate","_isMultiLine","_isPackage","_isRegNameChar","_isSchemeCharacter","_isSubtypeUncached","_isTrailSurrogate","_isUnicode","_isUnreservedChar","_isUpgraded","_isZoneIDChar","_keys","_keysFromIndex","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddListener","_mayComplete","_name","_newFutureWithSameType","_newJavaScriptObject","_objectToString","_ofArray","_onError","_onValue","_parseRecipe","_processed","_recipeJoin","_removeListeners","_sameShape","_scheduleImmediate","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setChained","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setPropertyUnchecked","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_shapeTag","_startsWithData","_stringToSafeString","_target","_theUniverse","_trySetStackTrace","_unstar","_upgradedMap","_whenCompleteAction","_writeAuthority","_writeOne","_writeString","_zone","allocate","allocateGrowable","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","castFrom","charCodeAt","checkGrowable","checkMutable","checkString","codeUnits","collectNamed","compare","constructorNameFallback","convertSingle","decodeQueryComponent","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","encode","encodeQueryComponent","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fromCharCode","fromJson","fromList","fromMap","future","getDispatchProperty","getIndex","getLegacyErasedRecipe","getLength","getProperty","getRuntimeTypeOfInterceptorNotArray","globalContext","group","handleNamedGroup","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","hasMatch","hasScheme","hash2","hash3","hash4","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","internalSet","isArray","isDigit","isEmpty","isIdentical","isNaN","isNotEmpty","isUnicode","jsHasOwnProperty","jsonDecode","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","map","mapGet","mapSet","markFixedList","markGrowable","notSimple","objectKeys","objectToHumanReadableString","parseHexByte","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","removeSelectedElement","replaceAllMapped","setToString","sharedEmptyArray","shouldChain","showEnterMessage","showSuggestions","splitMapJoin","stack","start","staticInteropGlobalContext","stringConcatUnchecked","stringIndexOf","stringIndexOfStringUnchecked","stringReplaceRangeUnchecked","stringSafeToString","stringSplit","suggestionElements","suggestionsInfo","thenAwait","toGenericFunctionParameter","toList","toLowerCase","toUpperCase","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","unmodifiable","values","withBufferSize","write","writeAll","writeCharCode","zone"],
+  "mappings": "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",
   "x_org_dartlang_dart2js": {
     "minified_names": {
-      "global": "A,1019,B,1186,C,183,D,906,E,122,F,1237,G,952,H,837,I,313,J,919,K,41,L,136,M,836,N,857,O,916,P,922,Q,1242,R,963,S,1179,T,1088,U,96,V,140,W,249,X,48,Y,844,Z,849,a,36,a0,878,a1,905,a2,914,a3,957,a4,1166,a5,992,a6,1246,a7,121,a8,368,a9,106,aA,113,aB,84,aC,56,aD,120,aE,853,aF,836,aG,863,aH,864,aI,865,aJ,866,aK,869,aL,873,aM,874,aN,895,aO,896,aP,898,aQ,904,aR,907,aS,908,aT,913,aU,924,aV,936,aW,937,aX,938,aY,941,aZ,95,a_,850,aa,51,ab,49,ac,845,ad,11,ae,858,af,900,ag,909,ah,17,ai,926,aj,968,ak,130,al,1193,am,1245,an,848,ao,920,ap,925,aq,935,ar,955,as,969,at,971,au,973,av,1003,aw,1133,ax,1078,ay,1121,az,280,b,1210,b0,949,b1,1164,b2,956,b3,322,b4,320,b5,987,b6,993,b7,997,b8,1020,b9,1021,bA,323,bB,867,bC,324,bD,882,bE,889,bF,894,bG,897,bH,47,bI,534,bJ,928,bK,929,bL,930,bM,931,bN,932,bO,933,bP,934,bQ,939,bR,940,bS,947,bT,948,bU,52,bV,953,bW,321,bX,970,bY,972,bZ,836,b_,943,ba,1022,bb,1023,bc,1024,bd,1032,be,1036,bf,1050,bg,1104,bh,1108,bi,1177,bj,1038,bk,1039,bl,1124,bm,1048,bn,1060,bo,1096,bp,1097,bq,105,br,248,bs,396,bt,835,bu,846,bv,312,bw,836,bx,856,by,861,bz,862,c,868,c0,1230,c1,985,c2,986,c3,994,c4,995,c5,996,c6,999,c7,1001,c8,1015,c9,1016,cA,531,cB,910,cC,911,cD,915,cE,923,cF,927,cG,944,cH,945,cI,1228,cJ,954,cK,958,cL,961,cM,964,cN,1235,cO,975,cP,976,cQ,977,cR,978,cS,979,cT,980,cU,981,cV,982,cW,984,cX,988,cY,989,cZ,990,c_,974,ca,1017,cb,1018,cc,1025,cd,1026,ce,1031,cf,1033,cg,1034,ch,1176,ci,1037,cj,142,ck,1194,cl,851,cm,852,cn,859,co,860,cp,870,cq,871,cr,1239,cs,879,ct,880,cu,881,cv,884,cw,884,cx,885,cy,901,cz,902,d,959,d0,998,d1,1000,d2,1004,d3,1005,d4,1006,d5,1007,d6,1008,d7,1008,d8,1008,d9,1009,dA,1218,dB,1047,dC,1049,dD,1049,dE,287,dF,1067,dG,1067,dH,1068,dI,1069,dJ,1070,dK,1083,dL,1084,dM,1087,dN,813,dO,1137,dP,1143,dQ,1151,dR,1173,dS,1195,dT,12,dU,1206,dV,1206,dW,1206,dX,784,dY,784,dZ,1208,d_,991,da,1010,db,1011,dc,1012,dd,1013,de,1013,df,1014,dg,1059,dh,1027,di,1028,dj,376,dk,1029,dl,1030,dm,1030,dn,1030,dp,1030,dq,255,dr,1035,ds,133,dt,1040,du,1041,dv,1042,dw,1043,dx,1044,dy,1045,dz,1046,e,918,e0,1230,e1,1212,e2,79,e3,370,e4,1233,e5,1233,e6,43,e7,833,e8,843,e9,1172,eA,1144,eB,15,eC,64,eD,33,eE,1,eF,1207,eG,16,eH,0,eI,40,eJ,815,eK,1138,eL,1255,eM,1054,eN,1057,eO,1089,eP,1134,eQ,1238,eR,1187,eS,1155,eT,1215,eU,1098,eV,1181,eW,1229,eX,1085,eY,1232,eZ,1239,e_,1209,ea,1256,eb,1213,ec,903,ed,836,ee,1075,ef,1216,eg,1163,eh,951,ei,1080,ej,1184,ek,1053,el,836,em,1099,en,1103,eo,1105,ep,1091,eq,1076,er,1114,es,1123,et,1147,eu,388,ev,123,ew,160,ex,1094,ey,276,ez,127,f,917,f0,836,f1,1081,f2,1095,f3,836,f4,1152,f5,1190,f6,1236,f7,836,f8,1131,f9,1231,fA,261,fB,260,fC,258,fD,132,fE,150,fF,181,fG,243,fH,167,fI,159,fJ,392,fK,256,fL,277,fM,179,fN,367,fO,272,fP,90,fQ,393,fR,263,fS,1156,fT,1160,fU,118,fV,1197,fW,37,fX,21,fY,52,fZ,78,f_,1250,fa,1241,fb,1167,fc,1165,fd,1168,fe,1202,ff,1230,fg,1247,fh,1100,fi,1101,fj,1106,fk,1107,fl,1161,fm,1074,fn,1077,fo,1093,fp,1119,fq,1122,fr,1128,fs,1148,ft,1149,fu,1227,fv,246,fw,168,fx,170,fy,176,fz,259,h,117,h0,39,h1,20,h2,1220,h3,1221,h4,1222,h5,1223,h6,1224,h7,1225,h8,1251,h9,1252,hA,875,hB,876,hC,983,hD,886,hE,887,hF,888,hG,1219,hH,891,hI,1214,hJ,892,hK,1185,hL,1198,hM,1217,hN,1056,hO,1130,hP,1189,hQ,836,hR,1062,hS,836,hT,1204,hU,1129,hV,1180,hW,1243,hX,1255,hY,1079,hZ,1171,h_,1234,ha,1253,hb,1254,hc,1092,hd,1120,he,1150,hf,1072,hg,1073,hh,1136,hi,834,hj,838,hk,839,hl,840,hm,841,hn,842,ho,847,hp,1178,hq,1211,hr,836,hs,1058,ht,1169,hu,1170,hv,1188,hw,1192,hx,1146,hy,1145,hz,1244,i,22,i0,965,i1,966,i2,967,i3,1132,i4,1249,i5,1086,i6,1139,i7,1140,i8,1141,i9,1199,iA,1115,iB,1116,iC,1117,iD,1118,iE,1125,iF,1126,iG,1127,iH,1135,iI,1061,iJ,1111,iK,1175,iL,156,iM,178,iN,158,iO,262,iP,369,iQ,97,iR,377,iS,366,iT,42,iU,94,iV,148,iW,143,iX,149,iY,144,iZ,391,i_,1142,ia,1200,ib,1201,ic,1203,id,1205,ie,1248,ig,836,ih,1191,ii,1051,ij,1063,ik,1064,il,1065,im,1066,io,1102,ip,1153,iq,1154,ir,1182,is,1183,it,1052,iu,1055,iv,1082,iw,1109,ix,1110,iy,1112,iz,1113,j,962,j0,141,j1,137,j2,124,j3,265,j4,266,j5,1090,j6,54,j7,154,j8,244,j9,147,jA,85,jB,34,jC,134,jD,53,jE,1196,jF,72,jG,126,jH,125,jI,375,jJ,375,jK,83,jL,81,jM,82,jN,119,jO,138,jP,240,jQ,73,jR,399,jS,80,jT,1226,jU,394,jV,89,jW,274,jX,1240,jY,87,jZ,91,j_,390,ja,171,jb,155,jc,247,jd,175,je,146,jf,157,jg,327,jh,387,ji,270,jj,286,jk,180,jl,269,jm,279,jn,278,jo,273,jp,271,jq,115,jr,114,js,184,jt,50,ju,35,jv,1157,jw,1158,jx,1159,jy,1162,jz,57,k,946,k0,38,k1,854,k2,855,k3,815,k4,877,k5,950,k6,836,k7,1220,k8,1221,k9,1222,kA,835,kB,834,kC,71,k_,395,ka,1223,kb,1224,kc,1225,kd,1251,ke,1252,kf,1253,kg,1254,kh,1138,ki,1092,kj,1120,kk,1150,kl,1072,km,1073,kn,1136,ko,161,kp,163,kq,162,kr,164,ks,166,kt,165,ku,169,kv,172,kw,174,kx,173,ky,177,kz,833,l,872,m,912,n,899,o,890,p,893,q,1071,r,241,t,1174,u,942,v,1002,w,883,x,836,y,921,z,960",
-      "instance": "A,1349,B,1291,C,1325,D,1355,E,1257,F,1330,G,1354,H,1300,I,1272,J,1367,K,1378,L,1381,M,1308,N,1279,O,1270,P,1271,R,1351,S,1374,T,1299,U,1304,V,1305,W,1275,X,1321,Y,1264,Z,1265,a0,1352,a1,1362,a2,1382,a3,1260,a4,1373,a5,1293,a6,1295,a7,1302,a8,1311,a9,1319,aA,1303,aB,1360,aC,1274,aD,1307,aE,1290,aF,1262,aG,1266,aH,1267,aI,1269,aJ,1328,aK,1331,aL,1333,aM,1334,aN,1335,aO,1336,aP,1337,aQ,1341,aR,1343,aS,1344,aT,1347,aU,1350,aV,1357,aW,1361,aX,1365,aY,1382,aZ,1384,a_,1341,aa,1320,ab,1288,ac,1289,ad,1315,ae,1268,af,1269,ag,1333,ah,1339,ai,1340,aj,1342,ak,1346,al,1348,am,1363,an,1364,ao,1366,ap,1371,aq,1280,ar,1294,au,1298,av,1318,aw,1284,az,1286,b0,1386,b1,1387,b2,1263,b3,1263,b4,1261,b5,1375,b6,1376,b7,1377,b8,1380,b9,1383,bA,1329,bB,1329,bC,1332,bD,1333,bE,1333,bF,1345,bG,1356,bH,1359,bI,1365,bJ,1368,bK,1368,bL,1369,bM,1369,bN,1370,bO,1371,bP,1384,bQ,1263,b_,1385,ba,836,bb,1296,bc,1297,bd,1301,be,1281,bf,1317,bg,1309,bh,1310,bi,1282,bj,1283,bk,1312,bl,1285,bm,1287,bn,1313,bo,1273,bp,1306,bq,1276,br,1277,bs,1278,bt,1314,bu,1316,bv,1322,bw,1323,bx,1324,by,1326,bz,1327,gA,1349,gG,1354,gK,1378,gN,1279,gR,1351,gS,1374,gX,1321,ga0,1352,ga1,1362,ga4,1373,ga9,1319,gaB,1360,gaK,1331,gaM,1334,gaN,1335,gaO,1336,gaP,1337,gaT,1347,gaV,1357,gaW,1361,gaa,1320,gai,1340,gak,1346,gal,1348,gam,1363,gan,1364,gb0,1386,gb1,1387,gbQ,1263,gb_,1385,gbl,1285,gbm,1287,gbx,1324,gby,1326,gl,1353,gn,1171,gp,1338,gt,1372,h,1383,i,1381,j,1292,k,1258,l,1353,m,1358,n,1171,p,1338,q,1259,sl,1353,t,1372,u,1379,v,1379"
+      "global": "A,1003,B,1166,C,181,D,888,E,1217,F,936,G,821,H,311,I,904,J,134,K,840,L,907,M,1222,N,947,O,1159,P,1069,Q,138,R,120,S,247,T,46,U,827,V,820,W,832,X,833,Y,860,Z,887,a,34,a0,941,a1,1146,a2,976,a3,1226,a4,119,a5,1044,a6,365,a7,104,a8,49,a9,47,aA,118,aB,39,aC,828,aD,836,aE,846,aF,847,aG,848,aH,849,aI,855,aJ,856,aK,877,aL,878,aM,880,aN,886,aO,889,aP,890,aQ,895,aR,900,aS,901,aT,909,aU,920,aV,921,aW,922,aX,925,aY,927,aZ,933,a_,896,aa,10,ab,841,ac,882,ad,891,ae,899,af,910,ag,94,ah,128,ai,1173,aj,1225,ak,831,al,820,am,905,an,919,ao,939,ap,953,aq,955,ar,957,as,987,at,1114,au,1059,av,1102,aw,278,ax,111,ay,82,az,54,b,1190,b0,320,b1,318,b2,971,b3,977,b4,981,b5,1004,b6,1005,b7,1006,b8,1007,b9,1008,bA,879,bB,45,bC,898,bD,912,bE,913,bF,914,bG,915,bH,916,bI,917,bJ,918,bK,923,bL,924,bM,93,bN,931,bO,932,bP,50,bQ,1144,bR,937,bS,319,bT,954,bU,956,bV,958,bW,1210,bX,969,bY,970,bZ,978,b_,940,ba,1016,bb,1020,bc,1034,bd,1085,be,1089,bf,1157,bg,1022,bh,1023,bi,1105,bj,1032,bk,1077,bl,1078,bm,246,bn,393,bo,819,bp,310,bq,820,br,839,bs,844,bt,845,bu,321,bv,850,bw,322,bx,864,by,871,bz,876,c,851,c0,980,c1,983,c2,985,c3,999,c4,1000,c5,1001,c6,1002,c7,1009,c8,1010,c9,1015,cA,908,cB,911,cC,928,cD,929,cE,1208,cF,938,cG,942,cH,945,cI,948,cJ,1215,cK,820,cL,959,cM,960,cN,961,cO,962,cP,963,cQ,964,cR,965,cS,966,cT,968,cU,972,cV,973,cW,974,cX,975,cY,982,cZ,984,c_,979,ca,1017,cb,1018,cc,1156,cd,1021,ce,140,cf,103,cg,1174,ch,829,ci,834,cj,835,ck,842,cl,843,cm,852,cn,853,co,1219,cp,861,cq,862,cr,863,cs,866,ct,866,cu,867,cv,883,cw,884,cx,892,cy,893,cz,897,d,943,d0,989,d1,990,d2,991,d3,992,d4,992,d5,992,d6,993,d7,994,d8,995,d9,996,dA,1033,dB,285,dC,1051,dD,1051,dE,1064,dF,1065,dG,1068,dH,798,dI,1118,dJ,1124,dK,1132,dL,1153,dM,11,dN,1186,dO,1186,dP,1186,dQ,768,dR,768,dS,1188,dT,1189,dU,1210,dV,1192,dW,77,dX,367,dY,1213,dZ,1213,d_,988,da,997,db,997,dc,998,dd,1043,de,1011,df,1012,dg,373,dh,1013,di,1014,dj,1014,dk,1014,dl,1014,dm,253,dn,1019,dp,131,dq,1024,dr,1025,ds,1026,dt,1027,du,1028,dv,1029,dw,1030,dx,1198,dy,1031,dz,1033,e,903,e0,818,e1,1152,e2,1236,e3,1193,e4,885,e5,820,e6,1056,e7,1196,e8,1143,e9,935,eA,38,eB,800,eC,1119,eD,826,eE,1235,eF,1038,eG,1041,eH,1070,eI,1115,eJ,1218,eK,1167,eL,1195,eM,1079,eN,1161,eO,1209,eP,1066,eQ,1212,eR,1219,eS,1230,eT,820,eU,1062,eV,1076,eW,820,eX,1133,eY,1170,eZ,1216,e_,41,ea,1061,eb,1164,ec,1037,ed,820,ee,1080,ef,1084,eg,1086,eh,1072,ei,1057,ej,1095,ek,1104,el,1128,em,385,en,121,eo,158,ep,1075,eq,274,er,125,es,1125,et,14,eu,62,ev,1175,ew,1,ex,1187,ey,15,ez,0,f,902,f0,1112,f1,1211,f2,1221,f3,1147,f4,1145,f5,1148,f6,1182,f7,1210,f8,1227,f9,1081,fA,157,fB,389,fC,254,fD,275,fE,177,fF,364,fG,270,fH,88,fI,390,fJ,261,fK,1136,fL,1140,fM,116,fN,31,fO,1177,fP,35,fQ,50,fR,76,fS,1214,fT,37,fU,18,fV,1200,fW,1201,fX,1202,fY,1203,fZ,1204,f_,820,fa,1082,fb,1087,fc,1088,fd,1141,fe,1055,ff,1058,fg,1074,fh,1100,fi,1103,fj,1109,fk,1129,fl,1130,fm,1207,fn,244,fo,166,fp,168,fq,174,fr,257,fs,259,ft,258,fu,256,fv,130,fw,148,fx,179,fy,241,fz,165,h,20,h0,1231,h1,1232,h2,1233,h3,1234,h4,1073,h5,1101,h6,1131,h7,1053,h8,1054,h9,1117,hA,1165,hB,1178,hC,1197,hD,1040,hE,1111,hF,1169,hG,1046,hH,820,hI,1184,hJ,1110,hK,1160,hL,1223,hM,1235,hN,1060,hO,1151,hP,1123,hQ,949,hR,950,hS,951,hT,952,hU,1113,hV,1229,hW,1067,hX,1120,hY,1121,hZ,1122,h_,1205,ha,822,hb,823,hc,824,hd,825,he,830,hf,1158,hg,1191,hh,820,hi,1042,hj,1149,hk,1150,hl,1168,hm,1172,hn,1127,ho,1126,hp,1224,hq,857,hr,858,hs,967,ht,868,hu,869,hv,870,hw,1199,hx,873,hy,1194,hz,874,i,946,i0,1180,i1,1181,i2,1183,i3,1185,i4,1228,i5,820,i6,1171,i7,1035,i8,1047,i9,1048,iA,1155,iB,154,iC,176,iD,156,iE,260,iF,366,iG,95,iH,374,iI,40,iJ,92,iK,146,iL,141,iM,147,iN,142,iO,388,iP,387,iQ,139,iR,135,iS,122,iT,263,iU,264,iV,1071,iW,52,iX,152,iY,242,iZ,145,i_,1179,ia,1049,ib,1050,ic,1083,id,1134,ie,1135,ig,1162,ih,1163,ii,1036,ij,1039,ik,1063,il,1090,im,1091,io,1093,ip,1094,iq,1096,ir,1097,is,1098,it,1099,iu,1106,iv,1107,iw,1108,ix,1116,iy,1045,iz,1092,j,930,j0,153,j1,245,j2,173,j3,144,j4,155,j5,325,j6,384,j7,268,j8,284,j9,178,jA,79,jB,80,jC,117,jD,136,jE,19,jF,238,jG,71,jH,396,jI,78,jJ,1206,jK,391,jL,87,jM,272,jN,1220,jO,85,jP,89,jQ,392,jR,36,jS,837,jT,838,jU,800,jV,859,jW,934,jX,820,jY,1200,jZ,1201,j_,169,ja,267,jb,277,jc,276,jd,271,je,269,jf,113,jg,112,jh,182,ji,48,jj,33,jk,1137,jl,1138,jm,1139,jn,1142,jo,55,jp,83,jq,32,jr,132,js,51,jt,1176,ju,70,jv,124,jw,123,jx,372,jy,372,jz,81,k,854,k0,1203,k1,1204,k2,1205,k3,1231,k4,1232,k5,1233,k6,1234,k7,1119,k8,1073,k9,1101,k_,1202,ka,1131,kb,1053,kc,1054,kd,1117,ke,159,kf,161,kg,160,kh,162,ki,164,kj,163,kk,167,kl,170,km,172,kn,171,ko,175,kp,818,kq,819,kr,69,l,115,m,894,n,881,o,1052,p,875,q,239,r,872,t,1154,u,926,v,986,w,865,x,820,y,906,z,944",
+      "instance": "A,1239,B,1334,C,1271,D,1305,E,1237,F,1309,G,1333,H,1280,I,1252,J,1346,K,1357,L,1360,M,1288,N,1259,O,1250,P,1251,R,1330,S,1353,T,1279,U,1284,V,1285,W,1301,X,1244,Y,1245,Z,1320,a0,1341,a1,1361,a2,1240,a3,1352,a4,1273,a5,1275,a6,1282,a7,1291,a8,1299,a9,1300,aA,1283,aB,1339,aC,1254,aD,1287,aE,1270,aF,1242,aG,1246,aH,1247,aI,1249,aJ,1307,aK,1310,aL,1312,aM,1313,aN,1314,aO,1315,aP,1316,aQ,1320,aR,1322,aS,1323,aT,1326,aU,1329,aV,1336,aW,1340,aX,1344,aY,1361,aZ,1363,a_,1331,aa,1268,ab,1269,ac,1255,ad,1295,ae,1248,af,1249,ag,1312,ah,1318,ai,1319,aj,1321,ak,1325,al,1327,am,1342,an,1343,ao,1345,ap,1350,aq,1260,ar,1274,au,1278,av,1298,aw,1264,az,1266,b0,1365,b1,1243,b2,1243,b3,1241,b4,1354,b5,1355,b6,1356,b7,1359,b8,1362,b9,820,bA,1311,bB,1312,bC,1312,bD,1324,bE,1335,bF,1338,bG,1344,bH,1347,bI,1347,bJ,1348,bK,1348,bL,1349,bM,1350,bN,1363,bO,1243,b_,1364,ba,1276,bb,1277,bc,1281,bd,1261,be,1297,bf,1289,bg,1290,bh,1262,bi,1263,bj,1292,bk,1265,bl,1267,bm,1293,bn,1253,bo,1286,bp,1256,bq,1257,br,1258,bs,1294,bt,1296,bu,1302,bv,1303,bw,1304,bx,1306,by,1308,bz,1308,gG,1333,gK,1357,gN,1259,gR,1330,gS,1353,gW,1301,ga0,1341,ga3,1352,ga8,1299,ga9,1300,gaB,1339,gaK,1310,gaM,1313,gaN,1314,gaO,1315,gaP,1316,gaT,1326,gaV,1336,gaW,1340,ga_,1331,gai,1319,gak,1325,gal,1327,gam,1342,gan,1343,gb0,1365,gbO,1243,gb_,1364,gbk,1265,gbl,1267,gbw,1304,gbx,1306,gl,1332,gn,1151,gp,1317,gq,1351,gv,1328,h,1362,i,1360,j,1272,k,1238,l,1332,m,1337,n,1151,p,1317,q,1351,sl,1332,t,1358,u,1358,v,1328"
     },
-    "frames": "2xHAqIesjDyB;oCAKAAyB;eAKCbG;kBACeDE;gEAIlBAE;KAGOFO;iGAaApiDAA8CgBCeANKqEuC,A,I;qMATrCpEAAmB0BDeAVWqEoC,A,AAUvC69CkC,A;6QGtIS+DIAsCwB2CyB,A;0FArBxB3CIAqBwB2CyB,A;oCA8gBb9GW;s5EE1jBL7tByC;QAEFujByC;sXEoTFvjB2C;QAEFujB2C;eAqrBwBvjBsB;8vBNj9Bb60BuB;uEA6BL1GG;oQAuJqBzJqC;6gBA8JlBgMiB;cAAAAa;0CAuBQ5CS;gJAYV4CiB;6FAqBLsDAARFzCiB,A;+FAkBWYW;+kBAknBoBhYoB;2KAgCnBAwB;gBASAAuB;8DAyCAnaqC;ovBAqHdAwC;oTA8NEAmR;gZA4MAAW;qfA0DyBAW;0WAkCJAW;eAOpBAkC;6BAIiBkboD;OAChBlbU;0DAOCy0BI;cAIgBz0BwC;2JASjBAU;0EAiCmBAW;sCAGtBAc;4JAsEKqvBQ;oCAEDFK;AACEAK;wKAyDRnvBAWx+D8BAgE,A;keXyoE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6B2wBuC;AACHoCmC;yEA4HtBjjDAUpiETCMA3B4Bm8Cc,A,M;qDVqlElBlsBiD;yCACK+xBW;sHAsJhB/xBY;4ECloFOwyBI;YACcjiDAAsE3BDAF1IA29CyB,kF,A;QEoE2B19CAAuEpB69CE,A;OAtEWoEI;uBAKKhiDAAzCJogDkB,AAAZ4BI,A;6CA+CMAI;YACkBjiDAAyD/BDAF1IA29CyB,kF,A;QEiF+B19CAA0DxB69CE,A;OAzDWoEI;uBAGKhiDAApDJogDkB,AAAZ4BS,A;4EA0EEjiDAA+BTDAF1IA29CyB,kF,A;QE2GS19CAAgCF69CE,A;sDAvBE39CAA2BTHAF/IA29CsB,A,0BE+IA39CkF,A;QA3BSGAA4BF29CE,A;+DAfoCoDqB;UAElC/gDAAYTHAF/IA29CsB,A,0BE+IA39CkF,A;QAZSGAAaF29CE,A;gEAMP99CAFtJA29CyB,6B;yJEkK2CuDoB;gLAsCjCZmB;0KAaFtgDAFrNR29CyB,mG;2DEmO2BuE4D;wTA+EXxhDc;ygBapRPIAA9FF0iDqB,A;2IA4OP7TADhBIjgBgD,A;WCgBJ+U0B;AAC+D2ea;AAA7DsBQ;oBACAAI;iBACmBtWQ;AAErBsWQ;w2CEojCuC9PiB;wiBNtoCdiIG;gBAOjB5BW;AAHFhEAAkKU2FQ,A;WAtJOzDO;AAFA0DG;gBAGf5BiB;AAD0CpFAAgKlC+GM,A;gBApFCxGAAzBsBuGG,A;oCA2BECG;uCA2JzBEG;sBAuJMlBmB;kEAiFPxFAA9ZwBuGG,A;mEAuabCG;sEAUAAG;sEAUAAG;sEAUW1GG;uDAc3BDAAhZM6GK,A;aAoZGtHAAxYHoHG,A;uBA0YQrHG;6EAgBHoBAAhZIJO,A;AAiZJGG;sEAUIGAAlYT+FG,A;uBAyYiChHG;6EAiB5BGQ;AACDyGQ;uBAOD1GAAxZH8GG,A;gFAoaI5GAA1ZJ2GG,A;sBA8ZULO;uIAmBNEkB;yBAGDII;mFAiBCJkB;0BAImBFO;AACEAS;AACtBMM;sFAyB0BhGsB;AASANK;iBASbDK;8CAWiBgGAA5XR3sBc,A;AA6XrB0rBM;AAIAJM;AAIADK;sHA4CF6BM;yDAaZjFK;sEAuBFEG;cAIO2IoB;oSAoFL7ImD;uBAQFiEe;uDAiBcUI;uBAENv6CQAtgBU65CoB,A;mEA+kBet4CAEziCtBwzCqB,A;aFyiCsBxzCAEziCtBwzCW,A;CF0iCKvzCgBAlFlBo0CiB,A;uCAsFcoFO;GAELyDoB;OAAwBzJO;wBAOMtzCO;AAA9BiyCG;gBAA8BjyCAAKrC82CY,A;SAS0BuEW;AADVjgB0B;iBAGXnPAAoCTAAAAAAAACM6qBG,A,A,W;SAnC6BqBoB;AAE/Bn4CG;AADOiyCG;gBACPjyCAAfA82CY,A;sDAuBW96CQA/oBoBm8Cc,A;mCAwpBtB/3CQAhpBS+3CgB,A;mBAmpBfn8CMA3pB4Bm8CkB,A;oBAgqBV75CMA1oBH65CoB,A;gEA0sBlB53CAAu6F6BmuC+B,A;6BAp6FzBiEG;qEAiBY0FAAlnCY7EAA0KhB2FQ,A,A;AAy8BQxGAA5iCeuGG,A;0KAwjCnB1GAAr/BJ6GG,A;IAs/BM5GiB;AAiBdoFU;sEAgBCr3CQAiCmB0yCAAliCZmGI,A,AAmiCMpGI,A;+DArBXgBC;AADPmDK;0CAwCA72CAAgzF6BmuC0B,A;mEAryFtBeC;AADPmHK;6BAKWjEAA7pCwBuGQ,A;kEAkqCC1FAA/jCxB2FK,A;eAgkC4B/GAAtjC5B+GsB,A;mEAikCChBc;gDAeNlEI;AADOjBAAplCFmGO,A;mDA8lCF5FG;iBAKVaG;8GAsBO2IoB;YACGxJG;iBAKVaG;wFA4BWHU;+DAaAAU;uCAYTvC0B;qJAwCctPuB;mBAiBT6Rc;AADSoEAA35ChB1FAAuEmCuGQ,A,AAvEP1FAA0KhB2FK,A,A;QAkvCQ/GAAxuCR+GS,A;MA0uCiBhBiB;AADzBlEI;kiDAyOmB8EQ;qBAGDIO;sCAYAjGAAr/CVmGM,A;AAs/CKpGG;qCAMG8FQ;AACFmHkB;AACEnHU;gEAOGIO;gBAELEI;+GAgBMNQ;qKAgBFIO;AACjB54CAA6zEwBmuCAAO/BpnCAAGaqrCAAx8HwBuGG,A,A,wCAq8HhB/1CAAgBd+5Ca,A,K,A;oDA30EY9JAAxhDCNO,A;AAyhDeXM;AACQgBM;AAGP4FW;AACOlGM;AAGPkGW;AACNnGM;AACPmGQ;wDAWVIQ;yDAaEAQ;iEAaFFM;uBAKEEe;AAIFEI;kGA6BA1GAAhuDwBuGG,A;wIAyuDd1FAAtoDT2FK,A;cAqpDanGAAhpDbmGG,A;cAkpDSxGAA1vDcuGG,A;uEAmwDV9GAAtpDb+GS,A;mBA2pDI3GAArsDJ6GI,A;GA8sDM5GG;4HAgBOJAArqDb8GM,A;AAsqDG7GG;eAUDCAAtqDIOG,A;gDA8qDFgOuB;yDA2LPnPAAHKgPG,S;uBAKPhPAALOgPG,I;oCAWDjGO;+DAKOxBI;AACPzDgB;oGAiBOkLM;wBA4BAjGM;aAeHoDS;AADPnDe;oBAGFrEyB;AACHyHW;gCASS7LG;cAGViFa;AAEa2GW;oBAETxHuB;AACHyHW;kCAKSlMG;cAGVgFgB;AAEuBzbAAj6DfieI,A;AAk6DKyEW;gCAGXnLAA3lE6BuGS,A;AA4lEdpHQ;AAKhBiMW;mBAyCHnHS;AACAQQ;qBAsGe0GW;AADPnDW;oBAGsBtJAAIpBuHAAzkEP3sBsB,A,AA0kEHorBM,AACANM,W;AANGhDAAnGAgKC,AAAOpDa,A;qBAgHKmDS;AAFNzNAAxDKjVAAhhEJieW,A,A;AAykEFsBW;oCAGL5GAAlHAgKC,AAAOpDa,A;0CAgIOhIAAhxEgBuGG,A;oEAwxEvBNAA1mEP3sBsB,A;AA2mEHorBM;AACAIK;CACAVM;4BAWe+GS;AAFN3NAA5FK/UAAlhEJieW,A,A;AA+mEFsBW;oCAGL5GAAxJAgKC,AAAOpDa,A;4CAsKOhIAAtzEgBuGQ,A;0DA2zEZ9GAA9sEX+GI,A;kEAotEa3FAA9tEb2FG,A;IA+tEiBxGAAl0EMuGc,A;AAo0Ed9GAAvtET+GI,A;gCA8tEAPAA7pEP3sBsB,A;AA8pEHorBM;AACAIK;CACAVM;4BAWe+GS;AAFN9NAA7IK5UAAphEJieW,A,A;AAkqEFsBW;oCAGL5GAA3MAgKC,AAAOpDa,A;wCAyNOhIG;0DAMV+CgB;qCAKGkDAAtsEP3sBsB,A;AAusEHorBM;AACAIK;CACAVM;0BAOe+GsB;AADPnDW;oBAMV1JAASY2HAA9tEP3sBsB,A,AA+tEHorBO,AACAIM,AACAVM,W;AAfGhDAAhPAgKC,AAAOpDa,A;8BAqQM5BQ;sCAEIIG;AACC/dAAluEXieI,A;kCA2uEMNQ;qCAGmBFO;AACZIwB;AAKPEK;AACK/dAArvEXieI,A;uCAgxEDnJAAjBO6IU,mB;AAmBD+EG;AADPnDW;oBAMVzJAAUY0HAAzyEP3sBsB,A,AA0yEHorBM,AACAIM,AACAGS,AACgBmBW,AAEdvBI,AAA6BqBK,AAE/B9BM,W;AArBGhDAA1TAgKC,AAAOpDa,A;yCAyWNhIAAz/E6BuGY,A;AA0/ErBnHAA36EFoHG,A;AA46EULG;AAChBhHkB;QAIKjCGApBPzUAAtzEQieuB,A,A;AA40EKyEG;AADPnDW;oBAMV7JAAUY8HAAn2EP3sBsB,A,AAo2EHorBO,AACAIM,AACAGM,AACAbM,W;AAjBGhDAApXAgKC,AAAOpDa,A;qBA2ZDvKoC;AAEM0NC;AADPnDW;oBAMVvJAAUYwHAA94EP3sBsB,A,AA+4EHorBO,AACAIM,AACAGM,AACAbM,W;AAjBGhDAA/ZAgKC,AAAOpDa,A;qBA8eD7KAArDbCiB,AADI3UO,AACJ2UAAM6CoDM,AAGP4FW,AACOlGM,AAGPkGW,AACNnGM,AACPmGsB,oF,AAjBtBvCY,A;AAyDgBsHG;AADPnDW;oBAMV3JAAUY4HAAj+EP3sBsB,A,AAk+EHorBO,AACAIM,AACAGM,AACAbM,W;AAjBGhDAAlfAgKC,AAAOpDa,A;uBAuhBD1KSAZT7UAAr+EUiewB,A,A;AAm/EKyEC;AADPnDW;sCAGL5GAA3hBAgKC,AAAOpDa,A;sDAgjBQ5BQ;kCAICIQ;AACXxGAArsFyBuGe,A;uEA+tFvBNAAjjFP3sBsB,A;AAkjFHorBO;AACAIM;AACAGK;CACAbM;4FA0KoBkIM;AACJSU;kBAGTlGkB;4LAcHsFW;cAIAAW;cAIAAO;MAES+BI;AAAkBpGG;AAAqB6DU;cAKhDQO;AAEEwBM;AAA2BOG;AAA3BPAA4YDpHU,A;cAvYD4FO;AAAsBrJM;AAAiBoLW;cAIvC/BO;AAAsBtJM;AAAkBqLW;eAIxC/BO;AAAsBlJM;AAAeiLW;cAIrC9BAAsFRDQ,AAAYPS,AACexFQ,A;iEA3EX8HG;AACR/BO;eAIcrEG;AAAqB6DU;AAC/B1RK;iBAMIiUG;AACR/BO;eAIcrEG;AAAqB6DU;AAC/B1RK;iBAMIiUG;AACR/BO;eAIcrEG;AAAqB6DU;AAC/B1RK;cAMJkSW;AACACAAqCRDQ,AAAYPS,AACexFQ,A;sCA9BnBgGAA6BRDQ,AAAYPS,AACexFQ,A;cA1BnB6CAAmMSlbAA2CEsYY,AAAmBuFI,MACtBsCI,AAAkBpGM,AACPvBY,A,AA5C3B4FU,AACAAW,A;eAjMQCAAqBRDQ,AAAYPS,AACexFQ,A;eAlBnB4CAAiMS9BAA4CEbY,AAAmBuFI,MACjBsCI,AAAkBpGM,AACZvBY,A,AA7C3B4FU,AACAAW,A;cA/LYjDAAwMKiEmB,AAMjBhBO,AAAmB5QkB,AACnB4QW,AACACAAnMADQ,AAAYPS,AACexFQ,A,M;wCANhBuFU;aACGuCI;AAAkBpGK;sDAWrBjBkB;uCAIXsFU;uEAaWtFkB;0FAIyCwDoB;kBAM7B9OmB;SAKjB2SM;AACApGO;AAFQGAAn9BCjIAA1mEsBuGW,A,AA4mEjBnHAA7hENoHG,A,UAgiEa3GAA5iEb6GG,A,AA+iEYuEI,+C;AAy8BxBkBO;AAEYlEkB;AAOZkEU;4BAMqB+BiB;AAEZvCQ;sBAGTQO;4BAE4BrEc;AAChB9HAAllGuBuGY,A;AAolG/B4FO;YAMIlSK;cAMJkSO;+BA+BKRa;AAnBYuC2B;uCAwBIvCU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BemB;AACbAK;UACc5EM;AACmB7BAAj5FlB3sBc,A;AAk5Ff0rBM;AAIAJM;AAIADK;AACpBwHO;2BAWAAO;OAIWzFY;kFA0CLiFc;UAERQO;AAAsBnJM;AAAgBkLY;iBAItC/BO;AAAsBvJM;AAAcsLY;0EAOnB7HgB;AAAmBuFI;MACtBsCI;AAAkBpGM;AACPvBY;4DAmBbmGK;8FAUMtGQ;+BAEAFI;sBAOAEQ;gCAGAFI;wBAOLlGAA9xGsBuGG,A;4BAgyGRnHAAjtGfoHE,A;IAktGYrHM;AACPiHQ;gBAEDIK;SAIEpHAAztGNoHM,A;AA0tGDxGAAzyGwBuGQ,A;wFAgzGbzGU;AACPsGQ;QAEDIK;qEA0DDzG8B;AACGoLW;YAET/I8B;AACFgJW;0GAsELrP0B;sBAEYiEAAz7GuBuGG,A;wCAg8GnCnyCAAihBE4rCG,A;0CA3gBewGE;AADH5GAA/zGF2Gc,A;YAo0GAvGAA18GuBuGsB,A;iCAq9G7B9GAAx2GM+GQ,A;0EAq3GN/GAAr3GM+GY,A;wBA+3GN3FAAz4GM2FY,A;qCAu5GR3FAAv5GQ2FY,A;qEAi7GR/GAAv6GQ+Ga,A;2FA+7GJnGAAp8GImGY,A;yBAu9GR/GAAl9GQ+GS,A;+FA0+GJnGAA/+GImGQ,A;+IA0gHI7GM;AACAAM;AACGyGgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAShB9GAA1gHQ8GM,A;AA4gHR9GAA5gHQ8GQ,A;sQAgjHM/FAA1jHN+FQ,A;AA2jHM/FAA3jHN+FU,A;aAgkHsBhHO;AACAAM;AAEQgBM;AAGAAM;AAGP4FW;AACAAQ;yBAKOlGM;AAGAAM;AAGPkGW;AACAAQ;wCAMAFI;YACbMgB;6BAOaNI;YACbMkB;6BAUfNM;YAEeMgB;YAMOvGM;AACAAM;AACPmGW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DAeIzGAAptHH6GM,A;AAqtHG7GAArtHH6GQ,A;WAmuHO1HAA1zDLgPG,I;2CA6zDCtHI;YAIMsEI;uBAEH5EQ;AACWhVoBAsNIoUa,AAAjBkHK,A;+BApNOhGK;wBAIT5GQ;gBAcFAW;AACAAQ;8BAyBIsGQ;2BAUAIO;AACAAU;6CAgDAlGM;AACAAM;AACA8FgB;AACAAQ;aAEF7FAAr0HFmGM,A;AAs0HEnGAAt0HFmGG,A;oCA00HMFO;AACAAU;iCASPxGAA76HwBuG+B,A;sCAi7HI1FAA90H3B2FK,A;eA+0H+B/GAAr0H/B+GI,A;uBAi1HiBzK+B;uBAUlBiEAAx8HwBuGG,A;qDA2/H1BiF4B;AACEpFQ;oBAEEMI;4CAQoBlBa;AAAjBkHI;grBQ7pIZ/NS;4BA2BRrlBU;wBAwGOASApCS2lBAAAA3lByB,A,a;uCAmDCivBE;sMA2DEjvBoB;AAAA6rBW;8HAiCP9WM;6IC9SIAM;0DAYVoXQ;2BAMJAsB;OAEgB5Ia;4CA8kBFwEkB;AACI1DI;oBAIAlK0D;uDAehB4QiB;qEAfgB5QK;+CAiCXr9BgB;uFAmJkB4qCqB;gCAGYnCG;AACxBsKM;sHAiCcIG;2CACDvDK;0CAIbmDM;mDAuFIGG;wLAkBTqDwB;wBAMgBnLe;AACFsCsB;AACZjGyB;mDAcIiGwB;iBAEVqBiB;AAGAZmB;uQGp7BQPU;iBAUqB1qBqB;qCAKrB0qBU;sFAoBkB1qBiB;6IA2D3BljBW;iBC8/EDkjBqB;OAAAAU;kpDEpnEmCAwC;kBAQ9BAuC;SE5faigBkBzBurBMjgBgC,A;UyBtrBe+UM;gBAAAAS;yDC0E5B/UkB;iFAoBNmiBG;gcCrCAniBWAwBQsqBAAAANoB,A,A;wGCMuChqBAdyrCjBklBoB,A;6zCDplCxBrLgB;ibAoIwBqQAAL9B8HIb/OwB2CuB,A,A;6SaqX7B30BiC;kDA+DYgxBgB;AAEDxEO;0BAGFAO;oBAGEAU;uFAsIoB4DmBFhkBc1CK,A;cEukBnCYkB;oEAKR4GAAtLgBrGwC,A;qYR3bX7CAQyLSgIAf4NXzCiB,A,A;QOnZAtHO;6zB2BqwBCgLmB;8EAwBcj1Ba;qBAGpBi1B6B;qBAMK9SG;2sBC9qBamOe;+DAGACoB;wDAQAC2B;qIC2rBFzE+H;ksBAAAAS;YAAAAI;gzBAyOT/rB0B;CAYGiyBqF;UAAAAuEAigBApYQ,kF;KAjgBAoYyD;OAAAA2C;yUAqPCjyBApBnEwBklBkB,A;uiCoB0MnBllBApB1MmBklB4B,A;kmBoBi1BvBqPmB;0CAOI5mBkC;iMAwCP3NiD;+GAeIAc;2GASXg1BArBzsDJvIO,A;+BqB6sDatD0B;+BAGInpBc;4CAHJmpBI;uIAqBGnpBc;AAAJg1BoB;2FAYL7SG;0LA4BQniBc;qBAEgBu0B2B;wDAS3BSArBrxDJvIO,A;+BqByxDa7D2B;+BAGI5oBc;wDAQJsoByB;wKAYkBiM8B;AACfv0Bc;AAAJg1BoB;uFAUiBT4B;AAGtBpSG;gNAeA0G0B;uFAQyB0LkB;wRAgDrBvDa;sFAeAAY;4PA0CEhxBwB;wCAuBNmiBG;yNAsCH8G0C;OAIY4FiC;uCAIA2Fa;mEAYFx0BApB9tCuBklB4B,A;oHoB8uCvBllBApB9uCuBklBsB,A;wdoBg0CDoD0B;mLAkBpBtoBc;AAAJg1Ba;oBAAAACrBnoEZvIY,A;+DqBgpEOtKG;6NA2EQgPAlCnhEOHa,A;YkCqhELAY;mOAsCDA+B;kEAYLAQ;sBAA4CAiB;2lBAufhD1SK;mDAtBgCqPAH75Fd3tBW,A;kRGm7FlBseS;4nBAu3BQiFe;qLAkQwCvjBApB9kGlBklBwB,A;m+GsBxwBrBllBAwB8nBSAA3ChmCvBAAAtB0BivBAAAAjvBiC,A,A,yB,A;iOoBsEtBgvBqCAIoBzLW,8P;OAJpByLAAUWzLoB,gB;ySCjHMGc;AAAT4LyC;AACU5LC;AAAT4L0C;AAEJ5LC;AAAT4L2C;AAYChMK;AADAIC;AADL4Lc;0EAwE0D4EoB;AACbCY;2BAGP7EO;AAAOAS;AAASAkB;WA2SnChsCAuBggDaogC4B,AAAT4LkC,A;mBvB//CnB3L8B;AACUDC;AAAV4LgC;AAEoB/rCAuBy5DSmgCG,AAAT4LgC,A;AvBx5DV5LC;AAAV4LsC;kCAE8BiFiB;AACvB7QoB;mBAIcngCAuBi5DQmgCG,AAAT4LgC,A;AvBh5DR5LC;AAAV4L0C;mCADO5LoB;gBAOoCyNAP5BzBHa,A;AO6BoBvtCAuBm2CCigCG,AAAT4LsC,A;AvBl2CpB5LC;AAAV4LuC;AACsB3rCAAwEpBDAuBs+K6BggCG,AAAT4LkD,A,A;AvB9iLtB3LwB;AAAsBhgCAAwEqB2rCQ,A;sBAtEpC5LiB;AAGFC+B;kBAOAA2B;gDAYP//BAA4BwDNAuBs7C5BogCG,AAAT4L+B,A,AvBr7CX5LC,AAAV4L+B,AACYzrCAuB4uCwB6/BG,AAAT4L2D,A,AvB1uCf5LC,AAAV4LoC,AACYxrCAuBw8CmB4/BG,AAAT4L6B,A,AvBv8CpB3L6C,AADFDiB,AAHFAiB,A;sCAlB0C4Le;AAErB0BY;gCAMbtNsB;AAESAiB;gCAiB2BwPAPhbrCMO,A;2gBSjDsB9Pc;AAAT4LkD;AACM5LC;AAAT4LqD;AACa5LC;AAAT4LmD;+BAOP3LyC;AACDA6B;8BAIF2LS;AAASAM;kBAKS5LyC;iCASHAmC;gCASCAG;AAAT4LiD;yBAKiB5LqC;AACRAC;AAAT4L0D;OAGiB5LqC;AACPAC;AAAT4LkD;0BASkB0BqB;OAII1NK;AAApCII;AAAP4LgB;+FAuB6C5LG;AAAX4LiD;AAAiCAO;+DAU7CAY;WACyBAQ;KAChC5LY;iICvGG4LS;AAASAM;kBAMN5LG;AAAT4L6C;2BAcN3L4B;mBAOkBDG;AAApB4LO;AAAOAoC;oWEX0BVmE;yBAkBAA8D;2CE8dfoCY;wBAEIxBqB;yCAEIpMAiBneSCK,A;wDfhC9BlgCc;iBAECAAgBLVmsCiB,AAAW7LiB,A;gJlEuUqB0OW;gBAqB5B5CgB;8hBGpMsBjCAgEuGuBttBiB,A;+BhEvGvBstBAgEuGuBttB2B,A;QhE8B/CwtB6C;saAiJOwEIA/TwB2Ca,A;gGAuc/BlH6B;yUAsJ4BgEe;gBAaFzxBmB;QAAAAU;4lBiDlrBfkxBa;AACHAY;w/BlB2DD6CiC;ofA6PEDiB;+Y7B5VqB9zBmB;8CAAAAa;8XAwKPAiB;4BAAAAoC;uPExIGAmB;OAAAAa;iNA4VAAmB;kDAAAAa;+pBE/QjBqpBkB;oEAkBFgII;0YAgNsDjImBAXpDCe,kB;OAWiBrpBqC;6CAKnBqxBI;2nBR41CqBL+B;gvBA85BC/Ea;AAAeAe;8CAOQAe;8BAOlCnCiC;AACAqIS;gK0BzjFXnyBmB;uDAAAAU;SAIqBmgBgB;YAAAAAAJrBngB0B,A;2EAWE4kBAA+PiB6CS,A;oFAhOEAiB;4FAKAAI;gGAUf1BGAgLNyBa,A;2OA/JLqJwCAQWrJI,sF;yLA0EaCI;oFA2BDznB+B;wfAwHlBAU;sBAAAAAA0BTAAAAAAO,A,A;6dd9UIg1BAG+dFvIAA2BuBmHQ,A,A;0BHtfnBoBAG2dJvIAA2BuBmHc,A,A;oBHhfnBoBO;AAIJAAGidAvIAA2BuBmHO,A,A;iDHreR9HU;+TAiCHgJ0B;kHAoDgBrKAAvIIqBO,AAAmBAK,A;AAuIFxGgC;yBAInBwGQ;+HC5FjBpDG;qBAAAA0B;AAAgCMU;AAAYZW;sFAmFlDpoBW;oCAgDO0zBG;QAAAAW;4BAQkBjEK;mNAuElBiEc;SAIItCAA5GEpIe,A;4EA+GVDuB;iRG2nBVzEmB;mEAuBAAmB;s0BNvxBOv0CiB;iBAAAAAA8Z0Bm8CqB,A;eAxZD/3CMAgaZ+3CqB,A;4aQ1bhBtEkB;yaAsKA5nBc;4KCjOQ6pBW;wDAEZpFM;kFAgBYoFW;qFAgIPsGW;oBACEzDY;AAA6BlHI;8CAgBzBkHK;iGAULuDU;gRA2IkBlbW;kGAqBA/UuC;QACPkiBwD;wDASOliB+B;QACPo0ByD;4GA2GbxKG;6CAQiBvFQ;AACL6DY;sBAQdprCgB;gFAQE8sCG;kGAiBiBvFQ;AACL6DY;iCAQdprCgB;8RA+IF+uCW;sCAMWnEe;0FAYXsDQApOoBhrBe,A;iGAkSpBljBmB;qGAwBAAmB;mkBA8EyBizCGA3nBlBrDS,AAAUJa,A;gCA6nBwB/GE;uBACDAQ;mBAEHvlBiB;0DAKiBkoBiB;AAC3BRmB;IACqBnCI;0CAWrBwEAAiGzBoLW,U;yNAjF6BrFC;IAAAAAAptBxBpDS,AAA+BtCO,A;mDAstBHpqBoB;2FAOIulBS;iBAElB2KAAruBd/FU,A;yDA0uBsB5EO;gDAGQvlBiB;iQCozBnC6vBU;oe8BlsDwB7vBkB;sBAAAAW;QAAAAa;6CA6QFstBAgB/CuBttBU,A;QhB+CvBstBAgB/CuBttB6B,A;sFhB0R5ByxBe;oTtBlafuDmB;AACAAAb0YJvIU,A;AazYIuIe;yPyBGe7BkB;6NxBCfjKG;sBACKmDS;gDAIMvFI;8DAMCoCa;AAAcmDE;AAAahMG;8BAMvC6IU;AAAiC/IAHtG9BngBU,A;AGsGiBqsBG;iBAAalMOHtG9BngBU,A;QGuGAAc;+BASHkpBS;CACFmDiB;oGA8BEnDS;WAAoBmDO;QAEjB1EyC;sCA+BHuBS;QAAoBmDS;6CAOVvFI;oCAEqBAM;4FAiClB6NgB;kDAMbzLS;QAAoBmDE;wJA6BnB1E6C;+BAC+BbK;8FA4BrBoCgB;yCASAAU;gCAEcjJA3B4YHjgBqB,QAAAAW,A;0d6B9mBboyBqE;wNAqBmB/RqB;oEAQdrgBc;AAAJg1Ba;mBAAAEAhB+XMrGoB,A;8FgB1WPxOQ;+FAUP2UAhB2VNvIAA2BuBmHQ,K,A;QgBlXkBzRG;kmBuByF1BniBc;+FAQRmiBG;yDCrDqB/Ga;UAAAAI;0IvBrHJpbAhBitCaklBiB,A;OgB9sCV6PAAyCfjQAAG8B9kBAhBkqCLklBoB,A,A,c;iCgBlsCtBlDAhBiuCR9Te,qB;oLgB7qCMsWiC;2XAqCAiEU;iVA6IXzoBkB;4BAAA+tBe;0fAmQ0B/tBoC;0lBActBk1BAjBjGcrGgB,A;iFiB0GRqGAjB1GQrGgB,A;ciB+GRqGAjB/GQrGgB,A;kBiBsHRqGAjBtHQrGkB,A;AiBuHRqGAjBvHQrGC,AAApBpCY,A;yMiBmJQyIAjBnJYrGO,A;6FiB+JhBqGAjB/JgBrGsB,A;oCiBwKb1MG;+oCzB7JiBrCK;84DQzdMqSc;oRqBiyCpBnEsB;uEAKFAwB;AAGCAyB;ueAuNenGMA4iDbsJAHxtFWH2B,A,AG4tFlB9Ra,mBAGF8VArB1mFFvIAA2BuBmHY,A,A,AqBglFrBrHOA/BY4EAHjsFQHY,A,AGmsFpBgEArB9kFFvIAA2BuBmHU,A,A,MqBqjFJoBArBhlFnBvIAA2BuBmHQ,A,A,cqBwjFrBoB4B,A,oBA4BAAArB/mFFvIAA2BuBmHa,A,A,cqBwlFrBoBArBnnFFvIAA2BuBmHU,A,A,A;qLqBsiCyC7SG;qCAA9D/gBG;mVA2dckfG;iBAEIiSAHnpDEHmC,A;qBGmqDyBAiB;uHA+mBVjSG;2PAgejCGmB;IACAoDa;+DAIAjDa;sBACA0BK;mBACA5Ba;0KAhsBeoP2C;AACU4CAH1jEPHc,A;AG2jElBgEArBt8DJvIS,A;AqBu8DqB8BQ;AAHFAoB;yNAm1CE5J2FAwBd3kBG,A;0BAxBc2kB2B;sjBAi3BA0LU;AAAclRiB;mGAc/BoJgC;aACAC6B;cACAHwB;aACAM+B;4OAcAJ+B;UACAC6B;uMAuDGxoBO;AADFqfW;2MA0Ee8RAH75IEHgC,A;wCG66IkBAiB;oZEtwIpChxBwB;27BC9hBSgxBY;mBAIDuDkB;oIAQWAG;iBACSAG;iKAgDdDM;YAAX1CArC8NA5xBW,A;iBqC9NWs0BW;yGA3BGpRI;EAAAAG;4rBCpDVoMS;AAASAM;2BAKb5LiD;AAEKAmC;iEAaZhnBA2BTA61B2D,A;kY3BoBkBjDc;gCAMERADxBHwCG,A;gBCuBwBhOK;AAAPGwB;QACdqLWDxBHwCmB,AACJMAW0JuB5xBkC,A,AX1Jbs0BgB,aAAAAa,A;AC2BDXO;aAAArEO;AAAOAmB;+EAKT5LC;AAAhB4LO;AAAOAiB;kOAkCQhsCAuBk0DWogCM,AAAT4L+B,A;AvBj0DnB3LiC;AACAAyC;AACA2LsB;AACU5LC;AAAV4L0B;AACA5Lc;SACAAc;4EAIqBpgCAuBwzDOogCM,AAAT4L+B,A;AvBvzDT5LC;AAAV4LuC;yEAGuBhsCAuBozDKogCM,AAAT4L+B,A;AvBnzDT5LC;AAAV4LoC;gFAYW3LgD;AAEbgQO;AAAShQC;AAAT2LqC;mBAgBchsCAuBqxDgBogCG,AAAT4L+B,A;AvBrxDqB5LC;AAAV4L6B;AAE5B5LiB;AACACqC;AACAAqC;AACUDC;AAAV4L2B;AAGA5LiB;AACAAc;yBAMA4LO;AAAOAS;AAASAsB;uGA0BS5LwB;AAAT4LiD;mCASJlyBAuBwFmBsmBG,AAAT4LmC,A;AvBxFW5LC;AAAV4LiC;AADvB5LiB;AAImBrmBAuB2/CcqmBG,AAAT4L2D,A;AvB5/CxB5LiB;AAIApgCAuB6tD0BogCG,AAAT4L+B,A;AvB5tDH5LC;AAAV4LiD;2BAFJ5LqB;GAMcyNAdzJIHO,A;mBc0JpB/QSlCiMwBjgBS,cAAAAmB,A;AkCjMxB+UM;WAAAAuB;AACc2OsB;AAGEpgCAuBmtDYogCG,AAAT4L+B,A;AvBltDL5LC;AAAV4L6I;4HAQOxrCAuBiuDoB4/BG,AAAT4L6B,A;AvBhuDlB3LsB;AAAqBxB4C;AAEfuBiB;AACEAiB;yBAKZ4LsB;AACA3LwC;0GAiBcqNQ;iJAYAtNgB;MAIhBuPM;AAEAMUAzFkB9PiB,UAEZ6LuB,AACA3L0C,A;AAuFN2PIAlCqC7HuD,qB;yFA4CAuFa;kOAiBrCiCS;4DASatP2B;qBAOAA0B;qBAOAA2B;qBAOAA6B;6DA/LC2LU;aAIUAS;AAASAe;AACenMsBAqYToRC,AAAAjF0B,A;AApY3B7LmB;AACOAI;2DAsKW6LU;iGAcAAO;gFAOhBAiB;eAMAAgB;AACF7LsB;oBAEoCCG;2CAEtBAI;AAAhB4LO;AAAOAiB;iGASO5LI;AAAhB4LO;AAAOAiB;AAAgBnNQ;+CAQjBmNqB;6CAMOAuB;aAEb2DY;oBAIa3DgB;8CAKaAQ;qBAQvB5LC;GADA4LkC;qBAMc5LC;AAAV4L+B;oEAMqBAsB;AAEHAW;QACQA2B;AAEcAc;AACpC7LuB;gBAMgB6LQ;gGAUzB7LkB;gCAwCFAkB;2DAQYCI;AAAhB4LO;AAAOAiB;UACD7LmB;wJE9aYCC;AAAV4LkC;cACc5LC;AAAV4L2B;2LAuDEAc;AACIxrCAqBq2DW4/BM,AAAT4L6J,A;ArBj2DP5LC;4CAIgCJK;AAAPGwB;YACnBngCAqBq0DOogCM,AAAT4L6C,A;YrBl0DN5LC;+HCzEL4LU;AACI3LqC;AACNAqC;AACcAI;AAApB2LO;AAAOAgD;AAEK3LsC;AACNAsC;AACcAI;AAApB2LO;AAAOA4C;q+Y3Cm2CQmD0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;kJ+B30BgC7DU;igBIM/B0BM;"
+    "frames": "2xHAqIegiDyB;oCAKAAyB;eAKCbG;kBACeDE;gEAIlBAE;KAGOFO;iGAaA9gDAA8CgBCeANKmEuC,A,I;qMATrClEAAmB0BDeAVWmEoC,A,AAUvCy8CkC,A;6QGtIS+DIAsCwB2CyB,A;oCA8gBb9GW;yuEE1jBLvtByC;QAEFijByC;oTG2+BoBjjBQ;ipBPj9Bbu0BuB;uEA6BL1GG;oQAuJqB1JqC;6gBA8JlBiMiB;cAAAAa;0CAuBQ5CS;gJAYV4CiB;6FAqBLsDAARFzCiB,A;+FAkBWYW;glBAknBoB9XoB;2KAgCnBAwB;gBASAAuB;8DAyCA/ZqC;qvBAqHdAwC;oTA8NEAmR;gZA4MAAW;sfA0DyBAW;0WAkCJAW;eAOpBAkC;6BAIiB8aoD;OAChB9aU;0DAOCm0BI;cAIgBn0BwC;2JASjBAU;0EAiCmBAW;sCAGtBAc;4JAsEK+uBQ;oCAEDFK;AACEAK;wKAyDR7uBAWx+D8BAgE,A;keXyoE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6BqwBuC;AACHoCmC;yEA4HtB7hDAU/gETCMA7C4B86Cc,A,M;qDVklElB3rBiD;yCACKyxBW;sHAsJhBzxBY;4ECloFOkyBI;YACc7gDAAsE3BDAF1IAu8CyB,kF,A;QEoE2Bt8CAAuEpBy8CE,A;OAtEWoEI;uBAKK5gDAAzCJg/CkB,AAAZ4BI,A;6CA+CMAI;YACkB7gDAAyD/BDAF1IAu8CyB,kF,A;QEiF+Bt8CAA0DxBy8CE,A;OAzDWoEI;uBAGK5gDAApDJg/CkB,AAAZ4BS,A;4EA0EE7gDAA+BTDAF1IAu8CyB,kF,A;QE2GSt8CAAgCFy8CE,A;sDAvBEv8CAA2BTHAF/IAu8CsB,A,0BE+IAv8CkF,A;QA3BSGAA4BFu8CE,A;+DAfoCoDqB;UAElC3/CAAYTHAF/IAu8CsB,A,0BE+IAv8CkF,A;QAZSGAAaFu8CE,A;gEAMP18CAFtJAu8CyB,6B;yJEkK2CuDoB;gLAsCjCZmB;0KAaFl/CAFrNRu8CyB,mG;2DEmO2BuE4D;wTA+EXpgDc;ygBapRPIAA9FFshDqB,A;2IA4OP5TADhBI5fgD,A;WCgBJ2U0B;AAC+Dyea;AAA7DuBQ;oBACAAI;iBACmBrWQ;AAErBqWQ;y7CEojCuChQiB;yiBNtoCdkIG;gBAOjB7BW;AAHFhEAAqKU4FQ,A;WAzJO1DO;AAFA2DG;gBAGf7BgB;AAD0CpFAAmKlCgHM,A;gBApFCzGAAzBsBwGG,A;oCA2BECG;uCA2JzBEG;sBAyKMnBmB;kEAiFPxFAAhbwBwGG,A;mEAybbCG;sEAUAAG;sEAUAAG;sEAUW3GG;uDAc3BDAAlaM8GK,A;aAsaGvHAA1ZHqHG,A;uBA4ZQtHG;6EAgBHoBAAlaIJO,A;AAmaJGG;sEAUIGAApZTgGG,A;uBA2ZiCjHG;6EAiB5BGQ;AACD0GQ;uBAOD3GAA1aH+GG,A;gFAsbI7GAA5aJ4GG,A;sBAgbULO;uIAmBNEkB;yBAGDII;mFAiBCJkB;0BAImBFO;AACEAS;AACtBMM;sFAyB0BjGsB;AASANK;iBASbDK;8CAWiBgGAA9YRpsBc,A;AA+YrBmrBM;AAIAJM;AAIADK;sHA4CF8BM;yDAaZlFK;sEAuBFEG;cAIO4IoB;oSAoFL9ImD;uBAQFiEe;uDAiBcWI;uBAENn5CQAtgBUw4CoB,A;mEA+kBej3CAE9jCtBmyCqB,A;aF8jCsBnyCAE9jCtBmyCW,A;CF+jCKlyCgBAlFlB+yCiB,A;uCAsFcqFO;GAELyDoB;OAAwB1JO;wBAOMjyCO;AAA9B4wCG;gBAA8B5wCAAKrCy1CY,A;SAS0BwEW;AADV9f0B;iBAGXhPAAoCTAAAAAAAACMsqBG,A,A,W;SAnC6BqBoB;AAE/B92CG;AADO4wCG;gBACP5wCAAfAy1CY,A;sDAuBWz5CQAjqBoB86Cc,A;mCA0qBtB12CQAlqBS02CgB,A;mBAqqBf96CMA7qB4B86CkB,A;oBAkrBVx4CMA1oBHw4CoB,A;gEA0sBlBv2CAAg7F6B+sC+B,A;6BA76FzBgEG;qEAiBY0FAAvoCY7EAA6KhB4FQ,A,A;AA29BQzGAA9jCewGG,A;0KA0kCnB3GAAvgCJ8GG,A;IAwgCM7GiB;AAiBdoFU;sEAgBCh2CQAiCmBqxCAApjCZoGI,A,AAqjCMrGI,A;+DArBXgBC;AADPmDK;0CAwCAx1CAAyzF6B+sC0B,A;mEA9yFtBeC;AADPkHK;6BAKWjEAA/qCwBwGQ,A;kEAorCC3FAAjlCxB4FK,A;eAklC4BhHAAxkC5BgHsB,A;mEAmlCCjBc;gDAeNlEI;AADOjBAAtmCFoGO,A;mDAgnCF7FG;iBAKVaG;8GAsBO4IoB;YACGzJG;iBAKVaG;wFA4BWHU;+DAaAAU;uCAYTvC0B;qJAwCcnPuB;mBAiBT0Rc;AADSoEAAh7ChB1FAA0EmCwGQ,A,AA1EP3FAA6KhB4FK,A,A;QAowCQhHAA1vCRgHS,A;MA4vCiBjBiB;AADzBlEI;kiDAyOmB+EQ;qBAGDIO;sCAYAlGAAvgDVoGM,A;AAwgDKrGG;qCAMG+FQ;AACFmHkB;AACEnHU;gEAOGIO;gBAELEI;+GAgBMNQ;qKAgBFIO;AACjBx3CAAs0EwB+sCAAO/BhmCAAGagqCAAn+HwBwGG,A,A,wCAg+HhB30CAAgBd24Ca,A,K,A;oDAp1EY/JAA1iDCNO,A;AA2iDeXM;AACQgBM;AAGP6FW;AACOnGM;AAGPmGW;AACNpGM;AACPoGQ;wDAWVIQ;yDAaEAQ;iEAaFFM;uBAKEEe;AAIFEI;kGA6BA3GAAlvDwBwGG,A;wIA2vDd3FAAxpDT4FK,A;cAuqDapGAAlqDboGG,A;cAoqDSzGAA5wDcwGG,A;uEAqxDV/GAAxqDbgHS,A;mBA6qDI5GAAvtDJ8GI,A;GAguDM7GG;4HAgBOJAAvrDb+GM,A;AAwrDG9GG;eAUDCAAxrDIOG,A;gDAgsDFiOuB;yDA2LPpPAAHKiPG,S;uBAKPjPAALOiPG,I;oCAWDjGO;+DAKOxBI;AACP1DgB;oGAiBOmLM;wBAqCAjGM;aAeHoDS;AADPnDe;oBAGFtEyB;AACH0HW;gCASS9LG;cAGViFa;AAEa4GW;oBAETzHuB;AACH0HW;kCAKSnMG;cAGVgFgB;AAEuBrbAA57Df8dI,A;AA67DKyEW;gCAGXpLAAtnE6BwGS,A;AAunEdrHQ;AAKhBkMW;mBAyCHpHS;AACAQQ;qBAsGe2GW;AADPnDW;oBAGsBvJAAIpBuHAApmEPpsBsB,A,AAqmEH6qBM,AACANM,W;AANGhDAAnGAiKC,AAAOpDa,A;qBAgHKmDS;AAFNzNAAxDK9UAA3iEJ8dW,A,A;AAomEFsBW;oCAGL7GAAlHAiKC,AAAOpDa,A;0CAgIOjIAA3yEgBwGG,A;oEAmzEvBPAAroEPpsBsB,A;AAsoEH6qBM;AACAIK;CACAVM;4BAWegHS;AAFN3NAA5FK5UAA7iEJ8dW,A,A;AA0oEFsBW;oCAGL7GAAxJAiKC,AAAOpDa,A;4CAsKOjIAAj1EgBwGQ,A;0DAs1EZ/GAAzuEXgHI,A;kEA+uEa5FAAzvEb4FG,A;IA0vEiBzGAA71EMwGc,A;AA+1Ed/GAAlvETgHI,A;gCAyvEARAAxrEPpsBsB,A;AAyrEH6qBM;AACAIK;CACAVM;4BAWegHS;AAFN9NAA7IKzUAA/iEJ8dW,A,A;AA6rEFsBW;oCAGL7GAA3MAiKC,AAAOpDa,A;wCAyNOjIG;0DAMV+Ce;qCAKGkDAAjuEPpsBsB,A;AAkuEH6qBM;AACAIK;CACAVM;0BAOegHsB;AADPnDW;oBAMV3JAASY2HAAzvEPpsBsB,A,AA0vEH6qBO,AACAIM,AACAVM,W;AAfGhDAAhPAiKC,AAAOpDa,A;8BAqQM5BQ;sCAEIIG;AACC5dAA7vEX8dI,A;kCAswEMNQ;qCAGmBFO;AACZIwB;AAKPEK;AACK5dAAhxEX8dI,A;uCA2yEDnJAAjBO6IU,mB;AAmBD+EG;AADPnDW;oBAMV1JAAUY0HAAp0EPpsBsB,A,AAq0EH6qBM,AACAIM,AACAGS,AACgBoBW,AAEdxBI,AAA6BsBK,AAE/B/BM,W;AArBGhDAA1TAiKC,AAAOpDa,A;yCAyWNjIAAphF6BwGY,A;AAqhFrBpHAAt8EFqHG,A;AAu8EULG;AAChBjHkB;QAIKhCGApBPtUAAj1EQ8duB,A,A;AAu2EKyEG;AADPnDW;oBAMV9JAAUY8HAA93EPpsBsB,A,AA+3EH6qBO,AACAIM,AACAGM,AACAbM,W;AAjBGhDAApXAiKC,AAAOpDa,A;qBA2ZDvKoC;AAEM0NC;AADPnDW;oBAMVxJAAUYwHAAz6EPpsBsB,A,AA06EH6qBO,AACAIM,AACAGM,AACAbM,W;AAjBGhDAA/ZAiKC,AAAOpDa,A;qBA8eD7KAArDbCiB,AADIxUO,AACJwUAAM6CmDM,AAGP6FW,AACOnGM,AAGPmGW,AACNpGM,AACPoGsB,oF,AAjBtBxCY,A;AAyDgBuHG;AADPnDW;oBAMV5JAAUY4HAA5/EPpsBsB,A,AA6/EH6qBO,AACAIM,AACAGM,AACAbM,W;AAjBGhDAAlfAiKC,AAAOpDa,A;uBAuhBD1KSAZT1UAAhgFU8dwB,A,A;AA8gFKyEC;AADPnDW;sCAGL7GAA3hBAiKC,AAAOpDa,A;sDAgjBQ5BQ;kCAICIQ;AACXzGAAhuFyBwGe,A;uEA0vFvBPAA5kFPpsBsB,A;AA6kFH6qBO;AACAIM;AACAGK;CACAbM;4FA0KoBmIM;AACJSU;kBAGTlGkB;4LAcHsFW;cAIAAW;cAIAAO;MAES+BI;AAAkBpGG;AAAqB6DU;cAKhDQO;AAEEwBM;AAA2BOG;AAA3BPAA4YDpHU,A;cAvYD4FO;AAAsBtJM;AAAiBqLW;cAIvC/BO;AAAsBvJM;AAAkBsLW;eAIxC/BO;AAAsBnJM;AAAekLW;cAIrC9BAAsFRDQ,AAAYPS,AACexFQ,A;iEA3EX8HG;AACR/BO;eAIcrEG;AAAqB6DU;AAC/BzRK;iBAMIgUG;AACR/BO;eAIcrEG;AAAqB6DU;AAC/BzRK;iBAMIgUG;AACR/BO;eAIcrEG;AAAqB6DU;AAC/BzRK;cAMJiSW;AACACAAqCRDQ,AAAYPS,AACexFQ,A;sCA9BnBgGAA6BRDQ,AAAYPS,AACexFQ,A;cA1BnB6CAAmMShbAA2CEoYY,AAAmBuFI,MACtBsCI,AAAkBpGM,AACPvBY,A,AA5C3B4FU,AACAAW,A;eAjMQCAAqBRDQ,AAAYPS,AACexFQ,A;eAlBnB4CAAiMS9BAA4CEbY,AAAmBuFI,MACjBsCI,AAAkBpGM,AACZvBY,A,AA7C3B4FU,AACAAW,A;cA/LYjDAAwMKiEmB,AAMjBhBO,AAAmB3QkB,AACnB2QW,AACACAAnMADQ,AAAYPS,AACexFQ,A,M;wCANhBuFU;aACGuCI;AAAkBpGK;sDAWrBjBkB;uCAIXsFU;uEAaWtFkB;0FAIyCwDoB;kBAM7B7OmB;SAKjB0SM;AACApGO;AAFQGAAn9BClIAAroEsBwGW,A,AAuoEjBpHAAxjENqHG,A,UA2jEa5GAAvkEb8GG,A,AA0kEYuEI,+C;AAy8BxBkBO;AAEYlEkB;AAOZkEU;4BAMqB+BiB;AAEZvCQ;sBAGTQO;4BAE4BrEc;AAChB/HAA7mGuBwGY,A;AA+mG/B4FO;YAMIjSK;cAMJiSO;+BA+BKRa;AAnBYuC2B;uCAwBIvCU;aAIbAU;cAIRQU;WAIJAU;YAKKRU;iBAGIAwB;AAC0BemB;AACbAK;UACc5EM;AACmB9BAA56FlBpsBc,A;AA66FfmrBM;AAIAJM;AAIADK;AACpByHO;2BAWAAO;OAIWzFY;kFA0CLiFc;UAERQO;AAAsBpJM;AAAgBmLY;iBAItC/BO;AAAsBxJM;AAAcuLY;0EAOnB7HgB;AAAmBuFI;MACtBsCI;AAAkBpGM;AACPvBY;4DAmBbmGK;8FAUMtGQ;+BAEAFI;sBAOAEQ;gCAGAFI;wBAOLnGAAzzGsBwGG,A;4BA2zGRpHAA5uGfqHE,A;IA6uGYtHM;AACPkHQ;gBAEDIK;SAIErHAApvGNqHM,A;AAqvGDzGAAp0GwBwGQ,A;wFA20Gb1GU;AACPuGQ;QAEDIK;qEA0DD1G8B;AACGqLW;YAEThJ8B;AACFiJW;0GAsELrP0B;sBAEYgEAAp9GuBwGG,A;wCA29GnC/wCAAihBEuqCG,A;0CA3gBeyGE;AADH7GAA11GF4Gc,A;YA+1GAxGAAr+GuBwGsB,A;iCAg/G7B/GAAn4GMgHQ,A;0EAg5GNhHAAh5GMgHY,A;wBA05GN5FAAp6GM4FY,A;qCAk7GR5FAAl7GQ4FY,A;qEA48GRhHAAl8GQgHa,A;2FA09GJpGAA/9GIoGY,A;yBAk/GRhHAA7+GQgHS,A;+FAqgHJpGAA1gHIoGQ,A;+IAqiHI9GM;AACAAM;AACG0GgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAShB/GAAriHQ+GM,A;AAuiHR/GAAviHQ+GQ,A;sQA2kHMhGAArlHNgGQ,A;AAslHMhGAAtlHNgGU,A;aA2lHsBjHO;AACAAM;AAEQgBM;AAGAAM;AAGP6FW;AACAAQ;yBAKOnGM;AAGAAM;AAGPmGW;AACAAQ;wCAMAFI;YACbMgB;6BAOaNI;YACbMkB;6BAUfNM;YAEeMgB;YAMOxGM;AACAAM;AACPoGW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DAeI1GAA/uHH8GM,A;AAgvHG9GAAhvHH8GQ,A;WA8vHO3HAAn0DLiPG,I;2CAs0DCtHI;YAIMsEI;uBAEH5EQ;AACW9UoBAyNIiUa,AAAjBmHK,A;+BAvNOhGK;wBAIT7GQ;gBAcFAW;AACAAQ;8BAyBIuGQ;2BAUAIO;AACAAU;6CAgDAnGM;AACAAM;AACA+FgB;AACAAQ;aAEF9FAAh2HFoGM,A;AAi2HEpGAAj2HFoGG,A;oCAq2HMFO;AACAAU;iCASPzGAAx8HwBwG+B,A;sCA48HI3FAAz2H3B4FK,A;eA02H+BhHAAh2H/BgHI,A;uBA42HiBzK+B;uBAUlBgEAAn+HwBwGG,A;qDAshI1BiF4B;AACEpFQ;oBAEEMI;4CAWoBnBa;AAAjBmHI;grBQ9rIZhOS;4BA2BR9kBU;wBAwGOASApCSolBAAAAplByB,A,a;uCAmDC2uBE;sMA2DE3uBoB;AAAAsrBW;8HAiCP3WM;6IC9SIAM;0DAYViXQ;2BAMJAsB;OAEgB3IY;4CA8kBFuEkB;AACIzDI;oBAIAhK0D;uDAehByQiB;qEAfgBzQK;+CAiCXn8BgB;uFAmJkBupCqB;gCAGYnCG;AACxBuKM;sHAiCcIG;2CACDxDK;0CAIboDM;mDAuFIGG;uLAkBTqDwB;wBAMgBpLe;AACFsCsB;AACZjGyB;mDAcIiGwB;iBAEVqBiB;AAGAZmB;uQGp7BQPU;iBAUqBnqBqB;qCAKrBmqBU;sFAoBkBnqBiB;6IA2D3BpiBW;iBC8/EDoiBqB;OAAAAU;gpDEpnEmCAwC;kBAQ9BAuC;SE5fa4fkBzBurBM5fgC,A;UyBtrBe2UM;gBAAAAS;yDC0E5B3UkB;iFAoBN8hBG;gcCrCA9hBWAwBQ+pBAAAANoB,A,A;wGCMuCzpBAdyrCjB2kBoB,A;6zCDplCxBlLgB;ibAoIwBkQAAL9B+HIb/OwB2CuB,A,A;6SaqX7Br0BiC;kDA+DY0wBgB;AAEDzEO;0BAGFAO;oBAGEAU;uFAsIoB6DmBFhkBc1CK,A;cEukBnCYkB;qEAIR6GAArLgBtGwC,A;qYT3bX9CASyLSiIAf4NXzCiB,A,A;QMnZAvHO;6zB4BqwBCkLmB;8EAwBc50Ba;qBAGpB40B6B;qBAMK9SG;2sBC9qBakOe;+DAGACoB;wDAQAC2B;qIC2rBF1E+H;ksBAAAAS;YAAAAI;gzBAyOTxrB0B;CAYG2xBqF;UAAAAuEAigBAlYQ,kF;KAjgBAkYyD;OAAAA2C;yUAqPC3xBApBnEwB2kBkB,A;uiCoB0MnB3kBApB1MmB2kB4B,A;mmBoBi1BvBsPmB;0CAOItmBiC;gMAwCP3NiD;+GAeIAc;2GASX20BArBzsDJzIO,A;mBqB6sDatDqC;+BAGI5oBc;4CAHJ4oBI;uIAqBG5oBc;AAAJ20BoB;2FAYL7SG;gMA4BQ9hBc;qBAEgBi0B2B;wDAS3BUArBrxDJzIO,A;mBqByxDa7DoC;+BAGIroBc;4CAQJ+nBqC;wKAYkBkM8B;AACfj0Bc;AAAJ20BoB;uFAUiBV4B;AAGtBnSG;kMAeAwGuC;uFAQyB2LkB;sRAgDrBvDa;sFAeAAY;4PA0CE1wBwB;wCAuBN8hBG;yNAsCH4GoC;OAIY6FiC;uCAIA2Fa;mEAYFl0BApB9tCuB2kB4B,A;oHoB8uCvB3kBApB9uCuB2kBsB,A;8coBg0CDoDyC;mLAkBpB/nBc;AAAJ20Ba;oBAAAACrBnoEZzIY,A;+DqBgpEOpKG;6NA2EQ+OAlCnhEOHa,A;YkCqhELAY;mOAsCDA+B;kEAYLAQ;sBAA4CAiB;0lBAsfhDxSK;mDAtBgCmPAH55FdrtBW,A;kRGk7FlBkeS;4nBA2oBQ+Ee;ukQEv2GCjjBAuB8nBSAA1ChmCvBAAAtB0B2uBAAAA3uBiC,A,A,yB,A;iOoBsEtB0uBqCAIoBzLW,8P;OAJpByLAAUWzLoB,gB;ySCjHMGc;AAAT4LyC;AACU5LC;AAAT4L0C;AAEJ5LC;AAAT4L2C;AAYChMK;AADAIC;AADL4Lc;0EAwE0D4EoB;AACbCY;2BAGP7EO;AAAOAS;AAASAkB;WA2SnC7qCAsBggDai/B4B,AAAT4LkC,A;mBtB//CnB3L8B;AACUDC;AAAV4LgC;AAEoB5qCAsBy5DSg/BG,AAAT4LgC,A;AtBx5DV5LC;AAAV4LsC;kCAE8BiFiB;AACvB7QoB;mBAIch/BAsBi5DQg/BG,AAAT4LgC,A;AtBh5DR5LC;AAAV4L0C;mCADO5LoB;gBAOoCyNAP5BzBHa,A;AO6BoBpsCAsBm2CC8+BG,AAAT4LsC,A;AtBl2CpB5LC;AAAV4LuC;AACsBxqCAAwEpBDAsBs+K6B6+BG,AAAT4LkD,A,A;AtB9iLtB3LwB;AAAsB7+BAAwEqBwqCQ,A;sBAtEpC5LiB;AAGFC+B;kBAOAA2B;gDAYP5+BAA4BwDNAsBs7C5Bi/BG,AAAT4L+B,A,AtBr7CX5LC,AAAV4L+B,AACYtqCAsB4uCwB0+BG,AAAT4L2D,A,AtB1uCf5LC,AAAV4LoC,AACYrqCAsBw8CmBy+BG,AAAT4L6B,A,AtBv8CpB3L6C,AADFDiB,AAHFAiB,A;sCAlB0C4Le;AAErB0BY;gCAMbtNsB;AAESAiB;gCAiB2BwPAPhbrCMO,A;2gBSjDsB9Pc;AAAT4LkD;AACM5LC;AAAT4LqD;AACa5LC;AAAT4LmD;+BAOP3LyC;AACDA6B;8BAIF2LS;AAASAM;kBAKS5LyC;iCASHAmC;gCASCAG;AAAT4LiD;yBAKiB5LqC;AACRAC;AAAT4L0D;OAGiB5LqC;AACPAC;AAAT4LkD;0BASkB0BqB;OAII1NK;AAApCII;AAAP4LgB;+FAuB6C5LG;AAAX4LiD;AAAiCAO;+DAU7CAY;WACyBAQ;KAChC5LY;iICvGG4LS;AAASAM;kBAMN5LG;AAAT4L6C;2BAcN3L4B;mBAOkBDG;AAApB4LO;AAAOAoC;oWEX0BVmE;yBAkBAA8D;2CE8dfoCY;wBAEIxBqB;yCAEIpMAgBneSCK,A;wDdhC9B/+Bc;iBAECAAeLVgrCiB,AAAW7LiB,A;gJjEuUqB0OW;gBAqB5B5CgB;6hBGpMsBjCA+DuGuBhtBiB,A;+B/DvGvBgtBA+DuGuBhtB2B,A;Q/D8B/CktB8C;saAiJOwEIA/TwB2Ca,A;gGAuc/BlH8B;yUAsJ4BgEe;gBAaFnxBmB;QAAAAU;2gBiDlrBf4wBa;AACHAY;y/BlB2DD6CiC;mfA6PEDiB;8Y7B5VqBxzBmB;8CAAAAa;oVAwKPAiB;4BAAAAoC;uPGxIGAmB;OAAAAa;wjBC6EjB8oBkB;oEAkBFiII;0YAgNsDlImBAXpDCe,kB;OAWiB9oBqC;6CAKnB+wBI;2nBR41CqBL+B;gvBA85BChFa;AAAeAe;8CAOQAe;8BAOlCnCiC;AACAsIS;gK0B1jFI7xBmB;wDAAAAW;iDAUbqkBAA+PiB6CS,A;oFAhOEAiB;4FAKAAI;gGAUf1BGAgLNyBa,A;2OA/JLsJwCAQWtJI,sF;yLA0EaCI;oFA2BDlnB+B;kYAwHlBAU;0BAAAAG;oNAyDAAU;0BAAAAG;qdd3WL20BAG+dFzIAA2BuBoHQ,A,A;0BHtfnBqBAG2dJzIAA2BuBoHc,A,A;oBHhfnBqBO;AAIJAAGidAzIAA2BuBoHO,A,A;iDHreR/HU;kNAyBYcAVSpBqFIAqBwB2CkB,A,A;6FUtBnBG4B;kHAoDgBtKAAvIIqBO,AAAmBAK,A;AAuIFxGgC;yBAInBwGQ;+HC5FjBpDG;qBAAAA0B;AAAgCMU;AAAYZW;sFAmFlD7nBW;oCAgDOozBG;QAAAAW;4BAQkBjEK;mNAuElBiEc;SAIItCAA5GErIe,A;4EA+GVDuB;glCHrIH33CiB;iBAAAAAAia0B86CqB,A;eA3ZD12CMAmaZ02CqB,A;4aQ7bhBtEkB;waAsKArnBc;2KCjOQspBW;wDAEZpFM;kFAgBYoFW;qFAgIPuGW;oBACE1DY;AAA6BlHI;8CAgBzBkHK;iGAULwDU;gRA2IkBhbW;kGAqBA3UuC;QACP6hBwD;wDASO7hB+B;QACP8zByD;4GA2GbzKG;6CAQiBtFQ;AACL4DY;sBAQd/pCgB;gFAQEyrCG;kGAiBiBtFQ;AACL4DY;iCAQd/pCgB;8RA+IF0tCW;sCAMWnEe;0FAYXsDQApOoBzqBc,A;gGAkSpBpiBmB;qGAwBAAmB;kkBA8EyB6xCGA3nBlBtDS,AAAUJa,A;gCA6nBwB/GE;uBACDAQ;mBAEHhlBiB;yDAKiB2nBiB;AAC3BRmB;IACqBnCI;0CAWrBwEAAiGzBsLW,U;yNAjF6BtFC;IAAAAAAptBxBrDS,AAA+BtCO,A;mDAstBH7pBoB;0FAOIglBS;iBAElB4KAAruBdhGU,A;yDA0uBsB5EO;gDAGQhlBiB;gQCozBnCuvBU;oe8BlsDwBvvBkB;sBAAAAW;QAAAAa;6CA6QFgtBAe/CuBhtBU,A;Qf+CvBgtBAe/CuBhtB6B,A;ef0R5BmxBe;oTtBlafwDmB;AACAAAb0YJzIU,A;AazYIyIe;yPwBGe9BkB;6NvBCflKG;sBACKmDS;gDAIMvFI;8DAMCoCa;AAAcmDE;AAAa9LG;8BAMvC2IU;AAAiC7IAHvGf9fU,A;AGuGE8rBG;kBAAahMOHvGf9fW,A;QGwGfAc;+BASH2oBS;CACFmDiB;oGA8BEnDS;WAAoBmDO;QAEjB1EyC;sCA+BHuBS;QAAoBmDS;6CAOVvFI;oCAEqBAM;4FAiClB8NgB;kDAMb1LS;QAAoBmDE;wJA6BnB1E6C;+BAC+BbK;8FA4BrBoCgB;yCASAAU;gCAEc/IA3B4YH5fqB,QAAAAW,A;0d6B9mBb8xBqE;wNAqBmB9RqB;oEAQdhgBc;AAAJ20Ba;mBAAAEAhB+XMtGoB,A;8FgB1WPvOQ;+FAUP2UAhB2VNzIAA2BuBoHQ,K,A;QgBlXkBxRG;kmBsByF1B9hBc;+FAQR8hBG;yDCrDqB9Ga;UAAAAI;0ItBrHJhbAhBitCa2kBiB,A;OgB9sCV+PAAyCfnQAAG8BvkBAhBkqCL2kBoB,A,A,c;iCgBlsCtBhDAhBiuCRzTe,qB;qLgB7qCM+ViC;6XAqCAiEU;mVA6IXloBkB;4BAAAytBe;0fAmQ0BztBoC;0lBActB60BAjBjGctGgB,A;iFiB0GRsGAjB1GQtGgB,A;ciB+GRsGAjB/GQtGgB,A;kBiBsHRsGAjBtHQtGkB,A;AiBuHRsGAjBvHQtGC,AAApBrCY,A;yMiBmJQ2IAjBnJYtGO,A;6FiB+JhBsGAjB/JgBtGsB,A;oCiBwKbzMG;+oC1B5JiBrCK;84DS1dMoSc;oRqBiyCpBnEsB;uEAKFAwB;AAGCAyB;ueAuNepGMA2iDbuJAHvtFWH2B,A,AG2tFlB7Ra,mBAGF8VArBzmFFzIAA2BuBoHY,A,A,AqB+kFrBtHOA/BY6EAHhsFQHY,A,AGksFpBiEArB7kFFzIAA2BuBoHU,A,A,MqBojFJqBArB/kFnBzIAA2BuBoHQ,A,A,cqBujFrBqB4B,A,oBA4BAAArB9mFFzIAA2BuBoHa,A,A,cqBulFrBqBArBlnFFzIAA2BuBoHU,A,A,A;qLqBsiCyC5SG;qCAA9D1gBG;mVA2dc6eG;iBAEIgSAHnpDEHmC,A;qBGmqDyBAiB;uHA+mBVhSG;2PA+djCGmB;IACAoDa;+DAIAjDa;sBACA0BK;mBACA5Ba;0KA/rBemPyC;AACU4CAH1jEPHc,A;AG2jElBiEArBt8DJzIS,A;AqBu8DqB+BY;AAHFAc;yNAsmCE7J0FAwBdpkBG,A;0BAxBcokB2B;qOAwpBA2LU;AAAcjRiB;mGAc/BkJgC;aACAC6B;cACAHwB;aACAM+B;4OAcAJ+B;UACAC6B;uMAuDGjoBO;AADFgfW;2MA0Ee6RAHv9HEHgC,A;wCGu+HkBAiB;oZEh0HpC1wBwB;27BC9hBS0wBY;mBAIDuDkB;oIAQWAG;iBACSAG;iKAgDdDM;YAAX1CArC8NAtxBW,A;iBqC9NWg0BW;yGA3BGpRI;EAAAAG;4rBCpDVoMS;AAASAM;2BAKb5LiD;AAEKAmC;iEAaZ1mBA0BTAu1B2D,A;kY1BoBkBjDc;gCAMERADxBHwCG,A;gBCuBwBhOK;AAAPGwB;QACdqLWDxBHwCmB,AACJMAW0JuBtxBkC,A,AX1Jbg0BgB,aAAAAa,A;AC2BDXO;aAAArEO;AAAOAmB;+EAKT5LC;AAAhB4LO;AAAOAiB;iOAkCQ7qCAsBk0DWi/BM,AAAT4L+B,A;AtBj0DnB3LiC;AACAAyC;AACA2LsB;AACU5LC;AAAV4L0B;AACA5Lc;SACAAc;4EAIqBj/BAsBwzDOi/BM,AAAT4L+B,A;AtBvzDT5LC;AAAV4LuC;yEAGuB7qCAsBozDKi/BM,AAAT4L+B,A;AtBnzDT5LC;AAAV4LoC;gFAYW3LgD;AAEbgQO;AAAShQC;AAAT2LqC;mBAgBc7qCAsBqxDgBi/BG,AAAT4L+B,A;AtBrxDqB5LC;AAAV4L6B;AAE5B5LiB;AACACqC;AACAAqC;AACUDC;AAAV4L2B;AAGA5LiB;AACAAc;yBAMA4LO;AAAOAS;AAASAsB;uGA0BS5LoB;AAAT4LiD;mCASJ5xBAsBwFmBgmBG,AAAT4LmC,A;AtBxFW5LC;AAAV4LiC;AADvB5LiB;AAImB/lBAsB2/Cc+lBG,AAAT4L2D,A;AtB5/CxB5LiB;AAIAj/BAsB6tD0Bi/BG,AAAT4L+B,A;AtB5tDH5LC;AAAV4LiD;2BAFJ5LqB;GAMcyNAdzJIHO,A;Ac0JpB9QAd+MK5fgB,A;Qc/ML4fI;GAAAAAd+MK5fI,A;Oc9MSojBe;AADdzOS;AAIgBxwBAsBmtDYi/BG,AAAT4L+B,A;AtBltDL5LC;AAAV4L6I;4HAQOrqCAsBiuDoBy+BG,AAAT4L6B,A;AtBhuDlB3LsB;AAAqBvB4C;AAEfsBiB;AACEAiB;yBAKZ4LsB;AACA3LwC;0GAiBcqNQ;2GAUiB+DAdxMTz0BU,A;IcwMSy0BK;KAAAAAdxMTz0Be,A;wBc0MRojBgB;MAIhBuPM;AAEAMUAzFkB9PiB,UAEZ6LuB,AACA3L0C,A;AAuFN2PIAlCqC9HuD,qB;yFA4CAwFa;kOAiBrCiCS;4DASatP2B;qBAOAA0B;qBAOAA2B;qBAOAA6B;6DA/LC2LU;aAIUAS;AAASAe;AACenMsBAqYToRC,AAAAjF0B,A;AApY3B7LmB;AACOAI;2DAsKW6LU;iGAcAAO;gFAOhBAiB;eAMAAgB;AACF7LsB;oBAEoCCG;2CAEtBAI;AAAhB4LO;AAAOAiB;iGASO5LI;AAAhB4LO;AAAOAiB;AAAgBlNQ;+CAQjBkNqB;6CAMOAuB;aAEb2DY;oBAIa3DgB;8CAKaAQ;qBAQvB5LC;GADA4LkC;qBAMc5LC;AAAV4L+B;oEAMqBAsB;AAEHAW;QACQA2B;AAEcAc;AACpC7LuB;gBAMgB6LQ;gGAUzB7LkB;gCAwCFAkB;2DAQYCI;AAAhB4LO;AAAOAiB;UACD7LmB;wJE9aYCC;AAAV4LkC;cACc5LC;AAAV4L2B;2LAuDEAc;AACIrqCAoBq2DWy+BM,AAAT4L6J,A;ApBj2DP5LC;4CAIgCJK;AAAPGwB;YACnBh/BAoBq0DOi/BM,AAAT4L6C,A;YpBl0DN5LC;8HCzEL4LU;AACI3LqC;AACNAqC;AACcAI;AAApB2LO;AAAOAgD;AAEK3LsC;AACNAsC;AACcAI;AAApB2LO;AAAOA4C;unZ3Cm2CQmD0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;kJ+B30BgC7DU;igBIM/B0BM;"
   }
 }
diff --git a/lib/resources/styles.css b/lib/resources/styles.css
index 919c454..be7cdce 100644
--- a/lib/resources/styles.css
+++ b/lib/resources/styles.css
@@ -1 +1 @@
-.light-theme{--main-bg-color: #fff;--main-header-color: #eeeeee;--main-sidebar-color: #727272;--main-text-color: #111111;--main-search-bar: #fff;--main-scrollbar-color: #CCC;--main-footer-background: #111111;--main-h-text: black;--main-hyperlinks-color: #0175C2;--main-search-background: transparent;--main-code-bg: #f8f8f8;--main-keyword-color: #333;--main-tag-color: #000080;--main-section-color: #900;--main-comment-color: #998;--main-var-color: #008080;--main-string-color: #d14;--main-number-filter: invert(0%);--main-icon-color: black;--alert-info: #e7f8ff;--alert-tip: #ecfaf7;--alert-important: #e2dbff;--alert-warning: #fcf8e3;--alert-error: #fde9ee}.dark-theme{--main-bg-color: #10161E;--main-header-color: #1C2834;--main-sidebar-color: #fff;--main-text-color: #fff;--main-search-bar: #454545;--main-scrollbar-color: #5f6368;--main-footer-background: #27323a;--main-hyperlinks-color: #00D2FA;--main-search-background: black;--main-code-bg: #10161E;--main-keyword-color: white;--main-tag-color: #00D2FA;--main-section-color: #FF2D64;--main-comment-color: #909CC3;--main-var-color: #55A09B;--main-string-color: #FF2D64;--main-number-filter: invert(100%);--main-icon-color: white;--alert-info: #043875;--alert-tip: #065517;--alert-important: #4a00b4;--alert-warning: #7b6909;--alert-error: #7a0c17}#theme{display:none}#theme-button{position:absolute;right:30px;height:24px}#theme-button .material-symbols-outlined{color:var(--main-icon-color);user-select:none;cursor:pointer}#theme-button .material-symbols-outlined:hover{color:var(--main-hyperlinks-color)}li .material-symbols-outlined,dt .material-symbols-outlined{font-size:1em;vertical-align:text-bottom}dt .material-symbols-outlined{text-indent:0}.light-theme #light-theme-button{display:none}.dark-theme #dark-theme-button{display:none}.dark-theme img[src$="#gh-light-mode-only"]{display:none}.light-theme img[src$="#gh-dark-mode-only"]{display:none}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}header{flex:0 0 50px;display:flex;flex-direction:row;align-items:center;padding-left:30px;padding-right:30px;background-color:var(--main-header-color)}header ol{list-style:none;margin:0;padding:0}header ol li{display:inline}header form{display:flex;flex:1;justify-content:flex-end}header#header-search-sidebar{height:50px;margin-bottom:25px}footer{flex:0 0 16px;text-align:center;padding:16px 20px}main{flex:1;display:flex;flex-direction:row;min-height:0}.sidebar-offcanvas-left{flex:0 1 230px;order:1;overflow-y:scroll;padding:20px 0 15px 30px;margin:5px 20px 0 0}::-webkit-scrollbar-button{display:none;height:13px;border-radius:0;background-color:#aaa}::-webkit-scrollbar-button:hover{background-color:#aaa}::-webkit-scrollbar-thumb{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar-thumb:hover{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar{width:8px}.main-content{flex:1;order:2;overflow-y:scroll;padding:10px 20px 0 20px}.sidebar-offcanvas-right{flex:0 1 12em;order:3;overflow-y:scroll;padding:20px 15px 15px 15px;margin-top:5px;margin-right:20px}body{-webkit-text-size-adjust:100%;overflow-x:hidden;font-family:Roboto,sans-serif;font-size:16px;line-height:1.42857143;color:var(--main-text-color);background-color:var(--main-bg-color)}nav.navbar{background-color:inherit;min-height:50px;border:0}@media(max-width: 840px){.hidden-xs{display:none !important}}@media(min-width: 841px){.hidden-l{display:none !important}}nav.navbar .row{padding-top:8px}nav .container{white-space:nowrap}header{background-color:var(--main-header-color);box-shadow:0 3px 5px rgba(0,0,0,.1)}.hljs-string,.hljs-doctag{color:var(--main-string-color)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:var(--main-var-color)}.hljs-comment,.hljs-quote{color:var(--main-comment-color);font-style:italic}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--main-section-color);font-weight:bold}.hljs-tag,.hljs-name,.hljs-attribute{color:var(--main-tag-color);font-weight:normal}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--main-keyword-color);font-weight:bold}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--main-text-color);background:var(--main-code-bg)}a{text-decoration:none}section{margin-bottom:36px}dl{margin:0}h1,h2,h3,h4,h5,h6{font-family:Roboto,sans-serif;font-weight:400;margin-top:1.5em;color:var(--main-text-color)}h1.title{overflow:hidden;text-overflow:ellipsis}h1{font-size:37px;margin-top:0;margin-bottom:.67em}h2{font-size:28px}h5{font-size:16px}p{margin-bottom:1em;margin-top:0}a{color:var(--main-hyperlinks-color)}a:hover{color:#13b9fd}pre code{white-space:pre;word-wrap:initial;font-size:100%}.fixed{white-space:pre}pre{border:1px solid #ddd;background-color:#eee;font-size:14px}code{font-family:"Roboto Mono",Menlo,monospace;color:inherit;padding:.2em .4em;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}@media(max-width: 840px){nav .container{width:100%}h1{font-size:24px}pre{margin:16px 0}}header h1{font-weight:400;margin-bottom:16px}header a,header p,header li{color:#0175c2}header a:hover{color:#0175c2}header h1 .kind{color:#555}dt{font-weight:normal}dd{color:var(--main-text-color);margin-bottom:1em;margin-left:0}dd.callable,dd.constant,dd.property{margin-bottom:24px}dd p{overflow-x:hidden;text-overflow:ellipsis;margin-bottom:0}dt.constant+dd p{margin-bottom:1em}section.summary dt,div.summary dt{margin-left:24px;text-indent:-24px}.dl-horizontal dd{margin-left:initial}dl.dl-horizontal dt{font-style:normal;text-align:left;color:#727272;margin-right:20px;width:initial}dt .name{font-weight:500}dl dt.callable .name{float:none;width:auto}.type-parameter{white-space:nowrap}.multi-line-signature .type-parameter .parameter{margin-left:0;display:unset}.parameter-list{display:table-cell;margin-left:10px;list-style-type:none;padding-inline-start:unset}.parameter-list.single-line{display:inline;margin-left:0}.parameter-list.single-line>li{display:inline}.parameter-list.single-line>li>.parameter{display:inline;margin-left:0;text-indent:0}.signature{color:var(--main-text-color)}.signature a{color:var(--main-hyperlinks-color)}.deprecated{text-decoration:line-through}.category.linked{font-weight:bold;opacity:1}.category.cp-0{background-color:#54b7c4}.category.cp-1{background-color:#54c47f}.category.cp-2{background-color:#c4c254}.category.cp-3{background-color:#c49f54}.category.cp-4{background-color:#c45465}.category.cp-5{background-color:#c454c4}.category a{color:#fff}.category{padding:2px 4px;font-size:12px;border-radius:4px;background-color:#999;text-transform:uppercase;color:#fff;opacity:.5}h1 .category{vertical-align:middle}.main-content.extension-page .from-extension{display:none}sup.muted{color:var(--main-sidebar-color);font-size:.6em}.from-extension>span{background-color:var(--alert-warning);font-style:italic;padding:2px}.feature{display:inline-block;background:var(--main-bg-color);border:1px solid var(--main-hyperlinks-color);border-radius:20px;color:var(--main-hyperlinks-color);font-size:12px;padding:1px 6px;margin:0 8px 0 0}a.feature:hover{border-color:#13b9fd}h1 .feature{vertical-align:middle;margin:0 -2px 0 0}.source-link{padding:18px 4px;font-size:18px;vertical-align:middle}@media(max-width: 840px){.source-link{padding:7px 2px;font-size:10px}}#external-links{float:right}.btn-group{position:relative;display:inline-flex;vertical-align:middle}footer{color:#fff;background-color:var(--main-footer-background);width:100%}footer p{margin:0}footer .no-break{white-space:nowrap}footer .container{padding-left:0;padding-right:0}footer a,footer a:hover{color:#fff}.markdown.desc{margin-bottom:1em;max-width:700px}.markdown h1{font-size:24px;margin-bottom:8px}.markdown h2{font-size:20px;margin-top:24px;margin-bottom:8px}.markdown h3{font-size:18px;margin-bottom:8px;color:var(--main-text-color)}.markdown h4{font-size:16px;margin-bottom:0}.markdown li p{margin:0}table{margin-bottom:1em}table,th,td{border:1px solid #d3d3d3;border-collapse:collapse}th,td{padding:8px}.gt-separated{list-style:none;padding:0;margin:0}.gt-separated li{display:inline-block}.gt-separated li:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23DDDDDD' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");background-position:center;content:" ";margin:0 6px 0 4px;padding:0 3px 0 0}.gt-separated.dark li:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23727272' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>")}.gt-separated li:first-child:before{background-image:none;content:"";margin:0;padding:0}.multi-line-signature{font-size:17px;color:#727272}.multi-line-signature .parameter{margin-left:60px;display:block;text-indent:-36px}.breadcrumbs{padding:0;margin:8px 0 8px 0;white-space:nowrap;line-height:1}@media screen and (min-width: 840px){nav ol.breadcrumbs{float:left}}@media screen and (max-width: 840px){.breadcrumbs{margin:0 0 24px 0;overflow-x:hidden}}.breadcrumbs .gt-separated .dark .hidden-xs li+li:before{color:var(--main-h-text)}ol.breadcrumbs li a{color:var(--main-hyperlinks-color)}.self-crumb{color:var(--main-h-text)}.self-name{color:#555;display:none}.annotation-list{list-style:none;padding:0;display:inline}.comma-separated{list-style:none;padding:0;display:inline}.comma-separated li{display:inline}.comma-separated li:after{content:", "}.comma-separated li:last-child:after{content:""}.container>section:first-child{border:0}.constructor-modifier{font-style:italic}section.multi-line-signature div.parameters,div.multi-line-signature div.parameters{margin-left:24px}.sidebar ol{list-style:none;line-height:22px;margin-top:0;margin-bottom:0;padding:0 0 15px 0}.sidebar h5 a,.sidebar h5 a:hover{color:var(--main-sidebar-color)}.sidebar h5,.sidebar ol li{text-overflow:ellipsis;overflow:hidden;padding:3px 0 3px 3px}.sidebar h5{color:var(--main-sidebar-color);font-size:18px;margin:0 0 22px 0;padding-top:0}.sidebar ol li.section-title{font-size:18px;font-weight:normal;text-transform:uppercase;padding-top:25px}.sidebar ol li.section-subtitle a{color:inherit}.sidebar ol li.section-subtitle{font-weight:400;text-transform:uppercase}.sidebar ol li.section-subitem{margin-left:12px}.sidebar ol li:first-child{padding-top:3px;margin-top:0}button{padding:0}#sidenav-left-toggle{display:none;vertical-align:text-bottom;padding:0;color:var(--main-icon-color);user-select:none;cursor:pointer}#sidenav-left-toggle:hover{color:var(--main-hyperlinks-color)}@media screen and (max-width: 840px){#sidenav-left-toggle{display:inline;width:24px;height:24px;border:none;margin-right:24px;margin-left:24px;font-size:24px}#overlay-under-drawer.active{opacity:.4;height:100%;z-index:1999;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000;display:block}.sidebar-offcanvas-left{left:-100%;position:fixed;transition:all .25s ease-out;z-index:2000;top:0;width:280px;height:90%;background-color:var(--main-bg-color);overflow-y:scroll;padding:10px;margin:10px 10px;box-shadow:5px 5px 5px 5px #444}ol#sidebar-nav{font-size:18px;white-space:pre-line}.sidebar-offcanvas-left.active{left:0}.self-name{display:inline-block;color:var(--main-hyperlinks-color)}}.sidebar-offcanvas-left h5{margin-bottom:10px}.sidebar-offcanvas-left h5:last-of-type{border:0;margin-bottom:25px}@media screen and (max-width: 992px){.sidebar-offcanvas-right{display:none}}#overlay-under-drawer{display:none}.form-control{border-radius:0;border:0}@media screen and (max-width: 840px){form.search{display:none}}.typeahead{width:200px;padding:2px 7px 1px 7px;line-height:20px;outline:none}.tt-wrapper{position:relative;display:inline-block}.tt-input{position:relative;vertical-align:top}.navbar-right .tt-menu{right:0;left:inherit !important;width:540px;max-height:280px;overflow-y:scroll}.navbar-right{padding-right:60px}.tt-menu{position:absolute;top:100%;left:0;z-index:100;font-size:14px;margin:0;background-color:var(--main-bg-color);border:1px solid var(--main-header-color);box-shadow:0 5px 10px rgba(0,0,0,.2)}.typeahead{padding:17px 17px 17px 50px;width:422px;height:20px;font-size:13px;background-image:url("./search.svg");background-repeat:no-repeat;background-position:4%;outline:0;background-size:20px;filter:var(--main-number-filter)}.search-summary{margin-bottom:10px}a.tt-container{font-size:16px;color:var(--main-hyperlinks-color)}.enter-search-message{position:sticky;top:0;background-color:#aaa;padding:0;font-size:14px;margin:0;clear:both;text-align:center;color:#000}.tt-suggestion:hover{cursor:pointer;color:#fff;background-color:#0097cf}.tt-suggestion:hover .search-from-lib{color:#ddd}.tt-suggestion.tt-cursor{color:#fff;background-color:#0097cf}.tt-suggestion.tt-cursor .search-from-lib{color:#ddd}.tt-suggestion p{margin:0}.tt-container{font-size:14px;margin-bottom:0;margin-top:15px}.tt-container-text{color:var(--main-text-color)}.tt-search-results .tt-container{margin-top:5px;margin-bottom:5px}.tt-search-results .tt-container-text{display:none}.tt-search-results .tt-suggestion{color:var(--main-text-color);margin-top:5px;overflow:hidden;padding-left:10px;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.tt-search-results .tt-suggestion-title{font-size:14px;padding-right:5px}.tt-search-results .tt-suggestion-container{color:var(--main-keyword-color);font-size:14px;font-style:italic;padding-right:5px}.tt-search-results .one-line-description{color:var(--main-keyword-color);display:inline;margin-left:0}.tt-search-results .one-line-description::before{content:open-quote}.tt-search-results .one-line-description::after{content:close-quote}#dartdoc-main-content .tt-suggestion{color:var(--main-text-color);margin-top:5px;margin-bottom:10px;border-style:solid;border-color:#d3d3d3;border-width:.5px}#dartdoc-main-content .tt-suggestion-title{display:block;font-weight:500;margin:4px 10px 0}#dartdoc-main-content .one-line-description{display:block;margin:2px 10px 3px}#dartdoc-main-content .tt-suggestion-container{display:none}@media screen and (max-width: 840px){.typeahead{padding:17px 17px 17px 33px;width:240px;height:17px;border:1px solid #f5f5f5;background-position:3%;margin:10px 10px 10px 9px}header{padding-left:0}}@media screen and (max-width: 320px){#sidenav-left-toggle{margin-right:10px;margin-left:20px}.self-name{margin-right:10px}}::placeholder{filter:brightness(0.85)}.search-body{border:1px solid #7f7f7f;max-width:400px;box-shadow:3px 3px 5px rgba(0,0,0,.1)}section#setter,div#setter{border-top:1px solid #ddd;padding-top:36px}li.inherited a{opacity:.65;font-style:italic}#instance-methods dt.inherited .name,#instance-properties dt.inherited .name,#operators dt.inherited .name{font-weight:400;font-style:italic}#instance-methods dt.inherited .signature,#instance-properties dt.inherited .signature,#operators dt.inherited .signature{font-weight:400}@media print{.subnav,.sidebar{display:none}a[href]:after{content:"" !important}}.markdown-alert{margin-top:1rem;margin-bottom:1rem;padding:1.25rem}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert-title{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-weight:bold;-webkit-font-smoothing:antialiased}.markdown-alert-title:before{font:24px/1 "Material Symbols Outlined"}.markdown-alert.markdown-alert-note{background-color:var(--alert-info)}.markdown-alert-note .markdown-alert-title:before{content:"info"}.markdown-alert.markdown-alert-tip{background-color:var(--alert-tip)}.markdown-alert-tip .markdown-alert-title:before{content:"lightbulb"}.markdown-alert.markdown-alert-important{background-color:var(--alert-important)}.markdown-alert-important .markdown-alert-title:before{content:"feedback"}.markdown-alert.markdown-alert-warning{background-color:var(--alert-warning)}.markdown-alert-warning .markdown-alert-title:before{content:"warning"}.markdown-alert.markdown-alert-caution{background-color:var(--alert-error)}.markdown-alert-caution .markdown-alert-title:before{content:"report"}
+.light-theme{--main-bg-color: #fff;--main-header-color: #eeeeee;--main-sidebar-color: #727272;--main-text-color: #111111;--main-search-bar: #fff;--main-scrollbar-color: #CCC;--main-footer-background: #111111;--main-h-text: black;--main-hyperlinks-color: #0175C2;--main-search-background: transparent;--main-code-bg: #f8f8f8;--main-keyword-color: #333;--main-tag-color: #000080;--main-section-color: #900;--main-comment-color: #998;--main-var-color: #008080;--main-string-color: #d14;--main-number-filter: invert(0%);--main-icon-color: black;--alert-info: #e7f8ff;--alert-tip: #ecfaf7;--alert-important: #e2dbff;--alert-warning: #fcf8e3;--alert-error: #fde9ee}.dark-theme{--main-bg-color: #10161E;--main-header-color: #1C2834;--main-sidebar-color: #fff;--main-text-color: #fff;--main-search-bar: #454545;--main-scrollbar-color: #5f6368;--main-footer-background: #27323a;--main-hyperlinks-color: #00D2FA;--main-search-background: black;--main-code-bg: #10161E;--main-keyword-color: white;--main-tag-color: #00D2FA;--main-section-color: #FF2D64;--main-comment-color: #909CC3;--main-var-color: #55A09B;--main-string-color: #FF2D64;--main-number-filter: invert(100%);--main-icon-color: white;--alert-info: #043875;--alert-tip: #065517;--alert-important: #4a00b4;--alert-warning: #7b6909;--alert-error: #7a0c17}#theme{display:none}#theme-button{position:absolute;right:30px;height:24px}#theme-button .material-symbols-outlined{color:var(--main-icon-color);user-select:none;cursor:pointer}#theme-button .material-symbols-outlined:hover{color:var(--main-hyperlinks-color)}li .material-symbols-outlined,dt .material-symbols-outlined{font-size:1em;vertical-align:text-bottom}dt .material-symbols-outlined{text-indent:0}.light-theme #light-theme-button{display:none}.dark-theme #dark-theme-button{display:none}.dark-theme img[src$="#gh-light-mode-only"]{display:none}.light-theme img[src$="#gh-dark-mode-only"]{display:none}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}body{-webkit-text-size-adjust:100%;overflow-x:hidden;font-family:Roboto,sans-serif;font-size:16px;line-height:1.42857143;color:var(--main-text-color);background-color:var(--main-bg-color)}main{flex:1;display:flex;flex-direction:row;min-height:0}.gt-separated{list-style:none;padding:0;margin:0}.gt-separated li{display:inline-block}.gt-separated li:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23DDDDDD' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");background-position:center;content:" ";margin:0 6px 0 4px;padding:0 3px 0 0}.gt-separated.dark li:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23727272' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>")}.gt-separated li:first-child:before{background-image:none;content:"";margin:0;padding:0}.breadcrumbs{padding:0;margin:8px 0 8px 0;white-space:nowrap;line-height:1}@media screen and (min-width: 840px){nav ol.breadcrumbs{float:left}}@media screen and (max-width: 840px){.breadcrumbs{margin:0 0 24px 0;overflow-x:hidden}}.breadcrumbs .gt-separated .dark .hidden-xs li+li:before{color:var(--main-h-text)}ol.breadcrumbs li a{color:var(--main-hyperlinks-color)}.self-crumb{color:var(--main-h-text)}.self-name{color:#555;display:none}pre code{white-space:pre;word-wrap:initial;font-size:100%}pre{border:1px solid #ddd;background-color:#eee;font-size:14px}@media(max-width: 840px){pre{margin:16px 0}}code{font-family:"Roboto Mono",Menlo,monospace;color:inherit;padding:.2em .4em;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.hljs-string,.hljs-doctag{color:var(--main-string-color)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:var(--main-var-color)}.hljs-comment,.hljs-quote{color:var(--main-comment-color);font-style:italic}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--main-section-color);font-weight:bold}.hljs-tag,.hljs-name,.hljs-attribute{color:var(--main-tag-color);font-weight:normal}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--main-keyword-color);font-weight:bold}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--main-text-color);background:var(--main-code-bg)}.main-content{flex:1;order:2;overflow-y:scroll;padding:10px 20px 0 20px}a{text-decoration:none}section{margin-bottom:36px}dl{margin:0}header{background-color:var(--main-header-color);box-shadow:0 3px 5px rgba(0,0,0,.1)}h1,h2,h3,h4,h5,h6{font-family:Roboto,sans-serif;font-weight:400;margin-top:1.5em;color:var(--main-text-color)}h1.title{overflow:hidden;text-overflow:ellipsis}h1{font-size:37px;margin-top:0;margin-bottom:.67em}@media(max-width: 840px){h1{font-size:24px}}h2{font-size:28px}h5{font-size:16px}p{margin-bottom:1em;margin-top:0}a{color:var(--main-hyperlinks-color)}a:hover{color:#13b9fd}.fixed{white-space:pre}header a,header p,header li{color:#0175c2}header a:hover{color:#0175c2}header h1 .kind{color:#555}header h1{font-weight:400;margin-bottom:16px}dt{font-weight:normal}dd{color:var(--main-text-color);margin-bottom:1em;margin-left:0}dd.callable,dd.constant,dd.property{margin-bottom:24px}dd p{overflow-x:hidden;text-overflow:ellipsis;margin-bottom:0}table{margin-bottom:1em}table,th,td{border:1px solid #d3d3d3;border-collapse:collapse}th,td{padding:8px}.category.linked{font-weight:bold;opacity:1}.category.cp-0{background-color:#54b7c4}.category.cp-1{background-color:#54c47f}.category.cp-2{background-color:#c4c254}.category.cp-3{background-color:#c49f54}.category.cp-4{background-color:#c45465}.category.cp-5{background-color:#c454c4}.category a{color:#fff}.category{padding:2px 4px;font-size:12px;border-radius:4px;background-color:#999;text-transform:uppercase;color:#fff;opacity:.5}h1 .category{vertical-align:middle}.feature{display:inline-block;background:var(--main-bg-color);border:1px solid var(--main-hyperlinks-color);border-radius:20px;color:var(--main-hyperlinks-color);font-size:12px;padding:1px 6px;margin:0 8px 0 0}a.feature:hover{border-color:#13b9fd}h1 .feature{vertical-align:middle;margin:0 -2px 0 0}.markdown.desc{margin-bottom:1em;max-width:700px}.markdown h1{font-size:24px;margin-bottom:8px}.markdown h2{font-size:20px;margin-top:24px;margin-bottom:8px}.markdown h3{font-size:18px;margin-bottom:8px;color:var(--main-text-color)}.markdown h4{font-size:16px;margin-bottom:0}.markdown li p{margin:0}section#setter,div#setter{border-top:1px solid #ddd;padding-top:36px}li.inherited a{opacity:.65;font-style:italic}dt.constant+dd p{margin-bottom:1em}section.summary dt,div.summary dt{margin-left:24px;text-indent:-24px}.dl-horizontal dd{margin-left:initial}dl.dl-horizontal dt{font-style:normal;text-align:left;color:#727272;margin-right:20px;width:initial}dt .name{font-weight:500}dl dt.callable .name{float:none;width:auto}.main-content.extension-page .from-extension{display:none}sup.muted{color:var(--main-sidebar-color);font-size:.6em}.from-extension>span{background-color:var(--alert-warning);font-style:italic;padding:2px}.btn-group{position:relative;display:inline-flex;vertical-align:middle}.source-link{padding:18px 4px;font-size:18px;vertical-align:middle}@media(max-width: 840px){.source-link{padding:7px 2px;font-size:10px}}#external-links{float:right}@media(max-width: 840px){.hidden-xs{display:none !important}}@media(min-width: 841px){.hidden-l{display:none !important}}.type-parameter{white-space:nowrap}.multi-line-signature .type-parameter .parameter{margin-left:0;display:unset}.parameter-list{display:table-cell;margin-left:10px;list-style-type:none;padding-inline-start:unset}.parameter-list.single-line{display:inline;margin-left:0}.parameter-list.single-line>li{display:inline}.parameter-list.single-line>li>.parameter{display:inline;margin-left:0;text-indent:0}.signature{color:var(--main-text-color)}.signature a{color:var(--main-hyperlinks-color)}.deprecated{text-decoration:line-through}.multi-line-signature{font-size:17px;color:#727272}.multi-line-signature .parameter{margin-left:60px;display:block;text-indent:-36px}.annotation-list{list-style:none;padding:0;display:inline}.comma-separated{list-style:none;padding:0;display:inline}.comma-separated li{display:inline}.comma-separated li:after{content:", "}.comma-separated li:last-child:after{content:""}.container>section:first-child{border:0}.constructor-modifier{font-style:italic}section.multi-line-signature div.parameters,div.multi-line-signature div.parameters{margin-left:24px}#instance-methods dt.inherited .name,#instance-properties dt.inherited .name,#operators dt.inherited .name{font-weight:400;font-style:italic}#instance-methods dt.inherited .signature,#instance-properties dt.inherited .signature,#operators dt.inherited .signature{font-weight:400}footer{flex:0 0 16px;text-align:center;padding:16px 20px}footer{color:#fff;background-color:var(--main-footer-background);width:100%}footer p{margin:0}footer .no-break{white-space:nowrap}footer .container{padding-left:0;padding-right:0}footer a,footer a:hover{color:#fff}.markdown-alert{margin-top:1rem;margin-bottom:1rem;padding:1.25rem}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert-title{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-weight:bold;-webkit-font-smoothing:antialiased}.markdown-alert-title:before{font:24px/1 "Material Symbols Outlined"}.markdown-alert.markdown-alert-note{background-color:var(--alert-info)}.markdown-alert-note .markdown-alert-title:before{content:"info"}.markdown-alert.markdown-alert-tip{background-color:var(--alert-tip)}.markdown-alert-tip .markdown-alert-title:before{content:"lightbulb"}.markdown-alert.markdown-alert-important{background-color:var(--alert-important)}.markdown-alert-important .markdown-alert-title:before{content:"feedback"}.markdown-alert.markdown-alert-warning{background-color:var(--alert-warning)}.markdown-alert-warning .markdown-alert-title:before{content:"warning"}.markdown-alert.markdown-alert-caution{background-color:var(--alert-error)}.markdown-alert-caution .markdown-alert-title:before{content:"report"}header{flex:0 0 50px;display:flex;flex-direction:row;align-items:center;padding-left:30px;padding-right:30px;background-color:var(--main-header-color)}header ol{list-style:none;margin:0;padding:0}header ol li{display:inline}header form{display:flex;flex:1;justify-content:flex-end}header#header-search-sidebar{height:50px;margin-bottom:25px}nav.navbar{background-color:inherit;min-height:50px;border:0}nav.navbar .row{padding-top:8px}nav .container{white-space:nowrap}@media(max-width: 840px){nav .container{width:100%}}@media print{.subnav,.sidebar{display:none}a[href]:after{content:"" !important}}.form-control{border-radius:0;border:0}@media screen and (max-width: 840px){form.search{display:none}}.typeahead{width:200px;padding:2px 7px 1px 7px;line-height:20px;outline:none}.tt-wrapper{position:relative;display:inline-block}.tt-input{position:relative;vertical-align:top}.navbar-right .tt-menu{right:0;left:inherit !important;width:540px;max-height:280px;overflow-y:scroll}.navbar-right{padding-right:60px}.tt-menu{position:absolute;top:100%;left:0;z-index:100;font-size:14px;margin:0;background-color:var(--main-bg-color);border:1px solid var(--main-header-color);box-shadow:0 5px 10px rgba(0,0,0,.2)}.typeahead{padding:17px 17px 17px 50px;width:422px;height:20px;font-size:13px;background-image:url("./search.svg");background-repeat:no-repeat;background-position:4%;outline:0;background-size:20px;filter:var(--main-number-filter)}.search-summary{margin-bottom:10px}a.tt-container{font-size:16px;color:var(--main-hyperlinks-color)}.enter-search-message{position:sticky;top:0;background-color:#aaa;padding:0;font-size:14px;margin:0;clear:both;text-align:center;color:#000}.tt-suggestion:hover{cursor:pointer;color:#fff;background-color:#0097cf}.tt-suggestion:hover .search-from-lib{color:#ddd}.tt-suggestion.tt-cursor{color:#fff;background-color:#0097cf}.tt-suggestion.tt-cursor .search-from-lib{color:#ddd}.tt-suggestion p{margin:0}.tt-container{font-size:14px;margin-bottom:0;margin-top:15px}.tt-container-text{color:var(--main-text-color)}.tt-search-results .tt-container{margin-top:5px;margin-bottom:5px}.tt-search-results .tt-container-text{display:none}.tt-search-results .tt-suggestion{color:var(--main-text-color);margin-top:5px;overflow:hidden;padding-left:10px;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.tt-search-results .tt-suggestion-title{font-size:14px;padding-right:5px}.tt-search-results .tt-suggestion-container{color:var(--main-keyword-color);font-size:14px;font-style:italic;padding-right:5px}.tt-search-results .one-line-description{color:var(--main-keyword-color);display:inline;margin-left:0}.tt-search-results .one-line-description::before{content:open-quote}.tt-search-results .one-line-description::after{content:close-quote}#dartdoc-main-content .tt-suggestion{color:var(--main-text-color);margin-top:5px;margin-bottom:10px;border-style:solid;border-color:#d3d3d3;border-width:.5px}#dartdoc-main-content .tt-suggestion-title{display:block;font-weight:500;margin:4px 10px 0}#dartdoc-main-content .one-line-description{display:block;margin:2px 10px 3px}#dartdoc-main-content .tt-suggestion-container{display:none}@media screen and (max-width: 840px){.typeahead{padding:17px 17px 17px 33px;width:240px;height:17px;border:1px solid #f5f5f5;background-position:3%;margin:10px 10px 10px 9px}header{padding-left:0}}::placeholder{filter:brightness(0.85)}.search-body{border:1px solid #7f7f7f;max-width:400px;box-shadow:3px 3px 5px rgba(0,0,0,.1)}.sidebar ol{list-style:none;line-height:22px;margin-top:0;margin-bottom:0;padding:0 0 15px 0}.sidebar h5 a,.sidebar h5 a:hover{color:var(--main-sidebar-color)}.sidebar h5,.sidebar ol li{text-overflow:ellipsis;overflow:hidden;padding:3px 0 3px 3px}.sidebar h5{color:var(--main-sidebar-color);font-size:18px;margin:0 0 22px 0;padding-top:0}.sidebar ol li.section-title{font-size:18px;font-weight:normal;text-transform:uppercase;padding-top:25px}.sidebar ol li.section-subtitle a{color:inherit}.sidebar ol li.section-subtitle{font-weight:400;text-transform:uppercase}.sidebar ol li.section-subitem{margin-left:12px}.sidebar ol li:first-child{padding-top:3px;margin-top:0}button{padding:0}#sidenav-left-toggle{display:none;vertical-align:text-bottom;padding:0;color:var(--main-icon-color);user-select:none;cursor:pointer}#sidenav-left-toggle:hover{color:var(--main-hyperlinks-color)}@media screen and (max-width: 840px){#sidenav-left-toggle{display:inline;width:24px;height:24px;border:none;margin-right:24px;margin-left:24px;font-size:24px}#overlay-under-drawer.active{opacity:.4;height:100%;z-index:1999;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000;display:block}.sidebar-offcanvas-left{left:-100%;position:fixed;transition:all .25s ease-out;z-index:2000;top:0;width:280px;height:90%;background-color:var(--main-bg-color);overflow-y:scroll;padding:10px;margin:10px 10px;box-shadow:5px 5px 5px 5px #444}ol#sidebar-nav{font-size:18px;white-space:pre-line}.sidebar-offcanvas-left.active{left:0}.self-name{display:inline-block;color:var(--main-hyperlinks-color)}}.sidebar-offcanvas-left h5{margin-bottom:10px}.sidebar-offcanvas-left h5:last-of-type{border:0;margin-bottom:25px}@media screen and (max-width: 992px){.sidebar-offcanvas-right{display:none}}#overlay-under-drawer{display:none}@media screen and (max-width: 320px){#sidenav-left-toggle{margin-right:10px;margin-left:20px}.self-name{margin-right:10px}}.sidebar-offcanvas-left{flex:0 1 230px;order:1;overflow-y:scroll;padding:20px 0 15px 30px;margin:5px 20px 0 0}.sidebar-offcanvas-right{flex:0 1 12em;order:3;overflow-y:scroll;padding:20px 15px 15px 15px;margin-top:5px;margin-right:20px}::-webkit-scrollbar-button{display:none;height:13px;border-radius:0;background-color:#aaa}::-webkit-scrollbar-button:hover{background-color:#aaa}::-webkit-scrollbar-thumb{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar-thumb:hover{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar{width:8px}
diff --git a/lib/src/dartdoc_options.dart b/lib/src/dartdoc_options.dart
index 93605a5..e6852a8 100644
--- a/lib/src/dartdoc_options.dart
+++ b/lib/src/dartdoc_options.dart
@@ -194,7 +194,7 @@
   /// If non-null, the basename of the configuration file the value came from.
   String? definingFile;
 
-  /// A [pathLib.Context] variable initialized with 'canonicalDirectoryPath'.
+  /// A [p.Context] variable initialized with 'canonicalDirectoryPath'.
   p.Context pathContext;
 
   /// Build a _OptionValueWithContext.
@@ -795,8 +795,8 @@
     return __valueAtFromFiles[key];
   }
 
-  /// Searches all dartdoc_options files through parent directories, starting at
-  /// [dir], for the option and returns one once found.
+  /// Searches all dartdoc options files through parent directories, starting at
+  /// [folder], for the option and returns one once found.
   _OptionValueWithContext<T>? _valueAtFromFilesFirstFound(Folder folder) {
     _OptionValueWithContext<T>? value;
     for (var dir in folder.withAncestors) {
@@ -975,8 +975,8 @@
         'missing path: "$missingPath"');
   }
 
-  /// Generates an _OptionValueWithContext using the value of the argument from
-  /// the [argParser] and the working directory from [_directoryCurrent].
+  /// Generates an [_OptionValueWithContext] using the value of the argument
+  /// from the [_argResults] and the working directory from [_directoryCurrent].
   ///
   /// Throws [UnsupportedError] if [T] is not a supported type.
   _OptionValueWithContext<T>? _valueAtFromArgsWithContext() {
diff --git a/lib/src/generator/html_generator.dart b/lib/src/generator/html_generator.dart
index 4db154a..a3a2623 100644
--- a/lib/src/generator/html_generator.dart
+++ b/lib/src/generator/html_generator.dart
@@ -16,7 +16,7 @@
 
 /// Creates a [Generator] with an [HtmlGeneratorBackend] backend.
 ///
-/// [forceRuntimeTemplates] should only be given [true] during tests.
+/// [forceRuntimeTemplates] should only be given `true` during tests.
 Future<Generator> initHtmlGenerator(
   DartdocGeneratorOptionContext context, {
   required FileWriter writer,
diff --git a/lib/src/generator/templates.aot_renderers_for_html.dart b/lib/src/generator/templates.aot_renderers_for_html.dart
index 0b370f4..5ac70d1 100644
--- a/lib/src/generator/templates.aot_renderers_for_html.dart
+++ b/lib/src/generator/templates.aot_renderers_for_html.dart
@@ -259,7 +259,8 @@
   buffer.write(_renderClass_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      __renderCategory_partial_container_3_partial_categorization_0(context1));
+    __renderCategory_partial_container_3_partial_categorization_0(context1),
+  );
   buffer.write('''</h1></div>''');
   buffer.writeln();
   var context2 = context0.clazz;
@@ -436,7 +437,8 @@
   buffer.write(_renderEnum_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      __renderCategory_partial_container_3_partial_categorization_0(context1));
+    __renderCategory_partial_container_3_partial_categorization_0(context1),
+  );
   buffer.writeln();
   buffer.write('''      </h1>
     </div>''');
@@ -472,8 +474,9 @@
     var context3 = context2.publicEnumValues;
     for (var context4 in context3) {
       buffer.write('\n            ');
-      buffer.write(__renderClass_partial_static_constants_16_partial_constant_0(
-          context4));
+      buffer.write(
+        __renderClass_partial_static_constants_16_partial_constant_0(context4),
+      );
     }
     buffer.writeln();
     buffer.write('''        </dl>
@@ -576,7 +579,8 @@
   buffer.write(_renderExtension_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      __renderCategory_partial_container_3_partial_categorization_0(context1));
+    __renderCategory_partial_container_3_partial_categorization_0(context1),
+  );
   buffer.write('''</h1></div>''');
   buffer.writeln();
   var context2 = context0.extension;
@@ -636,7 +640,8 @@
 }
 
 String renderExtensionType<T extends ExtensionType>(
-    ExtensionTypeTemplateData<T> context0) {
+  ExtensionTypeTemplateData<T> context0,
+) {
   final buffer = StringBuffer();
   buffer.write(_renderExtensionType_partial_head_0(context0));
   buffer.writeln();
@@ -662,7 +667,8 @@
   buffer.write(_renderExtensionType_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      __renderCategory_partial_container_3_partial_categorization_0(context1));
+    __renderCategory_partial_container_3_partial_categorization_0(context1),
+  );
   buffer.write('''</h1></div>''');
   buffer.writeln();
   var context2 = context0.extensionType;
@@ -769,7 +775,8 @@
   buffer.write(_renderFunction_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      __renderCategory_partial_callable_8_partial_categorization_0(context1));
+    __renderCategory_partial_callable_8_partial_categorization_0(context1),
+  );
   buffer.write('''</h1></div>''');
   buffer.writeln();
   var context2 = context0.function;
@@ -779,7 +786,8 @@
   buffer.write(_renderFunction_partial_callable_multiline_4(context2));
   buffer.write('\n        ');
   buffer.write(
-      __renderCategory_partial_callable_8_partial_attributes_1(context2));
+    __renderCategory_partial_callable_8_partial_attributes_1(context2),
+  );
   buffer.writeln();
   buffer.write('''    </section>
     ''');
@@ -864,11 +872,12 @@
         buffer.writeEscaped(context10.name);
         buffer.writeln();
         buffer.write(
-            '''                  <span class="material-symbols-outlined">open_in_new</span>
+          '''                  <span class="material-symbols-outlined">open_in_new</span>
                 </a>
               </span>
             </dt>
-            <dd>''');
+            <dd>''',
+        );
         buffer.writeEscaped(context10.docs);
         buffer.write('''</dd>''');
       }
@@ -936,7 +945,8 @@
   buffer.write(_renderLibrary_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      __renderCategory_partial_library_2_partial_categorization_0(context1));
+    __renderCategory_partial_library_2_partial_categorization_0(context1),
+  );
   buffer.writeln();
   buffer.write('''      </h1>
     </div>''');
@@ -1000,9 +1010,10 @@
   if (context15.hasPublicExtensionTypes) {
     buffer.writeln();
     buffer.write(
-        '''    <section class="summary offset-anchor" id="extension-types">
+      '''    <section class="summary offset-anchor" id="extension-types">
       <h2>Extension Types</h2>
-      <dl>''');
+      <dl>''',
+    );
     var context16 = context15.library;
     var context17 = context16.publicExtensionTypesSorted;
     for (var context18 in context17) {
@@ -1210,8 +1221,10 @@
   buffer.write(_renderMethod_partial_callable_multiline_3(context2));
   buffer.write('\n      ');
   buffer.write(
-      ___renderClass_partial_instance_methods_12_partial_callable_0_partial_attributes_1(
-          context2));
+    ___renderClass_partial_instance_methods_12_partial_callable_0_partial_attributes_1(
+      context2,
+    ),
+  );
   buffer.writeln();
   buffer.write('''    </section>
     ''');
@@ -1279,7 +1292,8 @@
   buffer.write(_renderMixin_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      __renderCategory_partial_container_3_partial_categorization_0(context1));
+    __renderCategory_partial_container_3_partial_categorization_0(context1),
+  );
   buffer.write('''</h1></div>''');
   buffer.writeln();
   var context2 = context0.mixin;
@@ -1405,8 +1419,10 @@
     buffer.write(_renderProperty_partial_name_summary_4(context2));
     buffer.write('\n        ');
     buffer.write(
-        ___renderClass_partial_instance_fields_11_partial_property_0_partial_attributes_1(
-            context2));
+      ___renderClass_partial_instance_fields_11_partial_property_0_partial_attributes_1(
+        context2,
+      ),
+    );
     buffer.writeln();
     buffer.write('''      </section>
       ''');
@@ -1490,7 +1506,8 @@
 }
 
 String renderSidebarForContainer<T extends Documentable>(
-    TemplateDataWithContainer<T> context0) {
+  TemplateDataWithContainer<T> context0,
+) {
   final buffer = StringBuffer();
   buffer.write('''<ol>''');
   var context1 = context0.container;
@@ -1547,8 +1564,8 @@
       for (var context7 in context6) {
         buffer.write('\n          ');
         buffer.write(
-            _renderSidebarForContainer_partial_container_sidebar_item_0(
-                context7));
+          _renderSidebarForContainer_partial_container_sidebar_item_0(context7),
+        );
       }
     }
     buffer.writeln();
@@ -1565,8 +1582,8 @@
       for (var context9 in context8) {
         buffer.write('\n          ');
         buffer.write(
-            _renderSidebarForContainer_partial_container_sidebar_item_1(
-                context9));
+          _renderSidebarForContainer_partial_container_sidebar_item_1(context9),
+        );
       }
     }
     buffer.writeln();
@@ -1583,8 +1600,10 @@
       for (var context11 in context10) {
         buffer.write('\n          ');
         buffer.write(
-            _renderSidebarForContainer_partial_container_sidebar_item_1(
-                context11));
+          _renderSidebarForContainer_partial_container_sidebar_item_1(
+            context11,
+          ),
+        );
       }
     }
   }
@@ -1682,7 +1701,8 @@
 }
 
 String renderSidebarForLibrary<T extends Documentable>(
-    TemplateDataWithLibrary<T> context0) {
+  TemplateDataWithLibrary<T> context0,
+) {
   final buffer = StringBuffer();
   buffer.write('''<ol>''');
   var context1 = context0.library;
@@ -1857,7 +1877,8 @@
   buffer.write(_renderTopLevelProperty_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      __renderCategory_partial_constant_6_partial_categorization_0(context1));
+    __renderCategory_partial_constant_6_partial_categorization_0(context1),
+  );
   buffer.write('''</h1></div>
 ''');
   if (!context1.hasGetterOrSetter) {
@@ -1871,7 +1892,8 @@
     buffer.write(_renderTopLevelProperty_partial_name_summary_5(context1));
     buffer.write('\n          ');
     buffer.write(
-        __renderCategory_partial_constant_6_partial_attributes_1(context1));
+      __renderCategory_partial_constant_6_partial_attributes_1(context1),
+    );
     buffer.writeln();
     buffer.write('''        </section>
         ''');
@@ -1936,8 +1958,10 @@
   buffer.write(_renderTypedef_partial_feature_set_2(context1));
   buffer.write(' ');
   buffer.write(
-      ___renderCategory_partial_typedef_10_partial_type_2_partial_categorization_0(
-          context1));
+    ___renderCategory_partial_typedef_10_partial_type_2_partial_categorization_0(
+      context1,
+    ),
+  );
   buffer.write('''</h1></div>''');
   buffer.writeln();
   buffer.write('''    <section class="multi-line-signature">''');
@@ -1983,8 +2007,10 @@
     <section class="multi-line-signature">
       ''');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_annotations_0(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_annotations_0(
+        context1,
+      ),
+    );
     buffer.writeln();
     buffer.write('''      <span class="returntype">''');
     buffer.write(context1.modelType.returnType.linkedName);
@@ -1992,22 +2018,30 @@
       get
       ''');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_name_summary_1(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_name_summary_1(
+        context1,
+      ),
+    );
     buffer.write('\n      ');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_attributes_2(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_attributes_2(
+        context1,
+      ),
+    );
     buffer.writeln();
     buffer.write('''    </section>
     ''');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_documentation_3(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_documentation_3(
+        context1,
+      ),
+    );
     buffer.write('\n    ');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_source_code_4(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_source_code_4(
+        context1,
+      ),
+    );
     buffer.writeln();
     buffer.write('''  </section>''');
   }
@@ -2025,8 +2059,10 @@
     <section class="multi-line-signature">
       ''');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_annotations_0(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_annotations_0(
+        context1,
+      ),
+    );
     buffer.writeln();
     buffer.write('''      set
       <span class="name ''');
@@ -2041,18 +2077,24 @@
     buffer.write(''')</span>
       ''');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_attributes_2(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_attributes_2(
+        context1,
+      ),
+    );
     buffer.writeln();
     buffer.write('''    </section>
     ''');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_documentation_3(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_documentation_3(
+        context1,
+      ),
+    );
     buffer.write('\n    ');
     buffer.write(
-        __renderTopLevelProperty_partial_accessor_getter_9_partial_source_code_4(
-            context1));
+      __renderTopLevelProperty_partial_accessor_getter_9_partial_source_code_4(
+        context1,
+      ),
+    );
     buffer.writeln();
     buffer.write('''  </section>''');
   }
@@ -2206,12 +2248,14 @@
       if (context2.isConst) {
         buffer.writeln();
         buffer.write(
-            '''            <div class="constructor-modifier features">const</div>''');
+          '''            <div class="constructor-modifier features">const</div>''',
+        );
       }
       if (context2.isFactory) {
         buffer.writeln();
         buffer.write(
-            '''            <div class="constructor-modifier features">factory</div>''');
+          '''            <div class="constructor-modifier features">factory</div>''',
+        );
       }
       buffer.writeln();
       buffer.write('''        </dd>''');
@@ -2345,9 +2389,10 @@
   if (context0.useBaseHref) {
     var context2 = context0.htmlBase;
     buffer.writeln();
-    buffer
-        .write('''  <!-- required because all the links are pseudo-absolute -->
-  <base href="''');
+    buffer.write(
+      '''  <!-- required because all the links are pseudo-absolute -->
+  <base href="''',
+    );
     buffer.write(context0.htmlBase);
     buffer.write('''">''');
   }
@@ -2466,8 +2511,9 @@
     var context1 = context0.availableInstanceFieldsSorted;
     for (var context2 in context1) {
       buffer.write('\n        ');
-      buffer.write(__renderClass_partial_instance_fields_11_partial_property_0(
-          context2));
+      buffer.write(
+        __renderClass_partial_instance_fields_11_partial_property_0(context2),
+      );
     }
     buffer.writeln();
     buffer.write('''    </dl>
@@ -2494,8 +2540,9 @@
     var context1 = context0.availableInstanceMethodsSorted;
     for (var context2 in context1) {
       buffer.write('\n        ');
-      buffer.write(__renderClass_partial_instance_methods_12_partial_callable_0(
-          context2));
+      buffer.write(
+        __renderClass_partial_instance_methods_12_partial_callable_0(context2),
+      );
     }
     buffer.writeln();
     buffer.write('''    </dl>
@@ -2521,8 +2568,9 @@
     var context1 = context0.availableInstanceOperatorsSorted;
     for (var context2 in context1) {
       buffer.write('\n        ');
-      buffer.write(__renderClass_partial_instance_methods_12_partial_callable_0(
-          context2));
+      buffer.write(
+        __renderClass_partial_instance_methods_12_partial_callable_0(context2),
+      );
     }
     buffer.writeln();
     buffer.write('''    </dl>
@@ -2623,9 +2671,10 @@
         buffer.writeEscaped(context11.name);
         buffer.writeln();
         buffer.write(
-            '''            <span class="material-symbols-outlined">open_in_new</span>
+          '''            <span class="material-symbols-outlined">open_in_new</span>
           </a>
-        </li>''');
+        </li>''',
+        );
       }
       var context12 = context9.publicLibrariesSorted;
       for (var context13 in context12) {
@@ -2646,13 +2695,14 @@
 String _deduplicated__search_sidebar(TemplateDataBase context0) {
   final buffer = StringBuffer();
   buffer.write(
-      '''<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
+    '''<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
 <header id="header-search-sidebar" class="hidden-l">
   <form class="search-sidebar" role="search">
     <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
   </form>
 </header>
-<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">''');
+<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">''',
+  );
   var context1 = context0.navLinks;
   for (var context2 in context1) {
     buffer.writeln();
@@ -2718,10 +2768,12 @@
   if (context0.hasSourceHref) {
     buffer.writeln();
     buffer.write(
-        '''  <div id="external-links" class="btn-group"><a title="View source code" class="source-link" href="''');
+      '''  <div id="external-links" class="btn-group"><a title="View source code" class="source-link" href="''',
+    );
     buffer.write(context0.sourceHref);
     buffer.write(
-        '''"><span class="material-symbols-outlined">description</span></a></div>''');
+      '''"><span class="material-symbols-outlined">description</span></a></div>''',
+    );
   }
   buffer.writeln();
 
@@ -2739,8 +2791,9 @@
     var context1 = context0.publicConstantFieldsSorted;
     for (var context2 in context1) {
       buffer.write('\n        ');
-      buffer.write(__renderClass_partial_static_constants_16_partial_constant_0(
-          context2));
+      buffer.write(
+        __renderClass_partial_static_constants_16_partial_constant_0(context2),
+      );
     }
     buffer.writeln();
     buffer.write('''    </dl>
@@ -2754,15 +2807,17 @@
   final buffer = StringBuffer();
   if (context0.hasPublicStaticMethods) {
     buffer.writeln();
-    buffer
-        .write('''  <section class="summary offset-anchor" id="static-methods">
+    buffer.write(
+      '''  <section class="summary offset-anchor" id="static-methods">
     <h2>Static Methods</h2>
-    <dl class="callables">''');
+    <dl class="callables">''',
+    );
     var context1 = context0.publicStaticMethodsSorted;
     for (var context2 in context1) {
       buffer.write('\n        ');
-      buffer.write(__renderClass_partial_instance_methods_12_partial_callable_0(
-          context2));
+      buffer.write(
+        __renderClass_partial_instance_methods_12_partial_callable_0(context2),
+      );
     }
     buffer.writeln();
     buffer.write('''    </dl>
@@ -2777,14 +2832,16 @@
   if (context0.hasPublicVariableStaticFields) {
     buffer.writeln();
     buffer.write(
-        '''  <section class="summary offset-anchor" id="static-properties">
+      '''  <section class="summary offset-anchor" id="static-properties">
     <h2>Static Properties</h2>
-    <dl class="properties">''');
+    <dl class="properties">''',
+    );
     var context1 = context0.publicVariableStaticFieldsSorted;
     for (var context2 in context1) {
       buffer.write('\n        ');
-      buffer.write(__renderClass_partial_instance_fields_11_partial_property_0(
-          context2));
+      buffer.write(
+        __renderClass_partial_instance_fields_11_partial_property_0(context2),
+      );
     }
     buffer.writeln();
     buffer.write('''    </dl>
@@ -2851,7 +2908,8 @@
   </span>
   ''');
   buffer.write(
-      __renderCategory_partial_callable_8_partial_categorization_0(context2));
+    __renderCategory_partial_callable_8_partial_categorization_0(context2),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd''');
@@ -2875,7 +2933,8 @@
   buffer.write(context2.oneLineDoc);
   buffer.write('\n  ');
   buffer.write(
-      __renderCategory_partial_callable_8_partial_attributes_1(context2));
+    __renderCategory_partial_callable_8_partial_attributes_1(context2),
+  );
   buffer.writeln();
   buffer.write('''</dd>
 ''');
@@ -2900,7 +2959,8 @@
   buffer.write(context2.linkedGenericParameters);
   buffer.write('''</span> ''');
   buffer.write(
-      __renderCategory_partial_container_3_partial_categorization_0(context2));
+    __renderCategory_partial_container_3_partial_categorization_0(context2),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd>
@@ -2932,7 +2992,8 @@
   buffer.write(context2.extendedElement.linkedName);
   buffer.write('\n  ');
   buffer.write(
-      __renderCategory_partial_container_3_partial_categorization_0(context2));
+    __renderCategory_partial_container_3_partial_categorization_0(context2),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd>
@@ -2960,7 +3021,8 @@
   buffer.write(context2.linkedName);
   buffer.write('''</span> ''');
   buffer.write(
-      __renderCategory_partial_library_2_partial_categorization_0(context2));
+    __renderCategory_partial_library_2_partial_categorization_0(context2),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd>''');
@@ -2996,7 +3058,8 @@
   buffer.write('''</span>
   ''');
   buffer.write(
-      __renderCategory_partial_constant_6_partial_categorization_0(context2));
+    __renderCategory_partial_constant_6_partial_categorization_0(context2),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd''');
@@ -3020,7 +3083,8 @@
   buffer.write(context2.oneLineDoc);
   buffer.write('\n  ');
   buffer.write(
-      __renderCategory_partial_constant_6_partial_attributes_1(context2));
+    __renderCategory_partial_constant_6_partial_attributes_1(context2),
+  );
   buffer.writeln();
   buffer.write('''</dd>
 ''');
@@ -3029,11 +3093,12 @@
 }
 
 String _renderCategory_partial_search_sidebar_12(
-        CategoryTemplateData context0) =>
-    _deduplicated__search_sidebar(context0);
+  CategoryTemplateData context0,
+) => _deduplicated__search_sidebar(context0);
 
 String _renderCategory_partial_sidebar_for_category_14(
-    CategoryTemplateData context0) {
+  CategoryTemplateData context0,
+) {
   final buffer = StringBuffer();
   buffer.write('''<ol>''');
   var context1 = context0.self;
@@ -3245,7 +3310,8 @@
     </span>
     ''');
     buffer.write(
-        __renderCategory_partial_typedef_10_partial_categorization_0(context3));
+      __renderCategory_partial_typedef_10_partial_categorization_0(context3),
+    );
     buffer.writeln();
     buffer.write('''  </dt>
   <dd''');
@@ -3257,7 +3323,8 @@
     buffer.write(context3.oneLineDoc);
     buffer.write('\n    ');
     buffer.write(
-        __renderCategory_partial_typedef_10_partial_attributes_1(context3));
+      __renderCategory_partial_typedef_10_partial_attributes_1(context3),
+    );
     buffer.writeln();
     buffer.write('''  </dd>''');
   }
@@ -3361,8 +3428,8 @@
     _deduplicated__head(context0);
 
 String _renderConstructor_partial_search_sidebar_6(
-        ConstructorTemplateData context0) =>
-    _deduplicated__search_sidebar(context0);
+  ConstructorTemplateData context0,
+) => _deduplicated__search_sidebar(context0);
 
 String _renderConstructor_partial_source_code_5(Constructor context1) =>
     _deduplicated__source_code(context1);
@@ -3455,15 +3522,15 @@
     _deduplicated__search_sidebar(context0);
 
 String _renderExtensionType_partial_available_extensions_6(
-        ExtensionType context1) =>
-    _deduplicated__available_extensions(context1);
+  ExtensionType context1,
+) => _deduplicated__available_extensions(context1);
 
 String _renderExtensionType_partial_constructors_8(ExtensionType context1) =>
     _deduplicated__constructors(context1);
 
 String _renderExtensionType_partial_container_annotations_7(
-        ExtensionType context1) =>
-    _deduplicated__container_annotations(context1);
+  ExtensionType context1,
+) => _deduplicated__container_annotations(context1);
 
 String _renderExtensionType_partial_documentation_4(ExtensionType context1) =>
     _deduplicated__documentation(context1);
@@ -3472,44 +3539,44 @@
     _deduplicated__feature_set(context1);
 
 String _renderExtensionType_partial_footer_16<T extends ExtensionType>(
-        ExtensionTypeTemplateData<T> context0) =>
-    _deduplicated__footer(context0);
+  ExtensionTypeTemplateData<T> context0,
+) => _deduplicated__footer(context0);
 
 String _renderExtensionType_partial_head_0<T extends ExtensionType>(
-        ExtensionTypeTemplateData<T> context0) =>
-    _deduplicated__head(context0);
+  ExtensionTypeTemplateData<T> context0,
+) => _deduplicated__head(context0);
 
 String _renderExtensionType_partial_instance_fields_9(ExtensionType context1) =>
     _deduplicated__instance_fields(context1);
 
 String _renderExtensionType_partial_instance_methods_10(
-        ExtensionType context1) =>
-    _deduplicated__instance_methods(context1);
+  ExtensionType context1,
+) => _deduplicated__instance_methods(context1);
 
 String _renderExtensionType_partial_instance_operators_11(
-        ExtensionType context1) =>
-    _deduplicated__instance_operators(context1);
+  ExtensionType context1,
+) => _deduplicated__instance_operators(context1);
 
 String _renderExtensionType_partial_interfaces_5(ExtensionType context1) =>
     _deduplicated__interfaces(context1);
 
 String _renderExtensionType_partial_search_sidebar_15<T extends ExtensionType>(
-        ExtensionTypeTemplateData<T> context0) =>
-    _deduplicated__search_sidebar(context0);
+  ExtensionTypeTemplateData<T> context0,
+) => _deduplicated__search_sidebar(context0);
 
 String _renderExtensionType_partial_source_link_1(ExtensionType context1) =>
     _deduplicated__source_link(context1);
 
 String _renderExtensionType_partial_static_constants_14(
-        ExtensionType context1) =>
-    _deduplicated__static_constants(context1);
+  ExtensionType context1,
+) => _deduplicated__static_constants(context1);
 
 String _renderExtensionType_partial_static_methods_13(ExtensionType context1) =>
     _deduplicated__static_methods(context1);
 
 String _renderExtensionType_partial_static_properties_12(
-        ExtensionType context1) =>
-    _deduplicated__static_properties(context1);
+  ExtensionType context1,
+) => _deduplicated__static_properties(context1);
 
 String _renderExtension_partial_container_annotations_5(Extension context1) =>
     _deduplicated__container_annotations(context1);
@@ -3521,12 +3588,12 @@
     _deduplicated__feature_set(context1);
 
 String _renderExtension_partial_footer_13<T extends Extension>(
-        ExtensionTemplateData<T> context0) =>
-    _deduplicated__footer(context0);
+  ExtensionTemplateData<T> context0,
+) => _deduplicated__footer(context0);
 
 String _renderExtension_partial_head_0<T extends Extension>(
-        ExtensionTemplateData<T> context0) =>
-    _deduplicated__head(context0);
+  ExtensionTemplateData<T> context0,
+) => _deduplicated__head(context0);
 
 String _renderExtension_partial_instance_fields_6(Extension context1) =>
     _deduplicated__instance_fields(context1);
@@ -3538,8 +3605,8 @@
     _deduplicated__instance_operators(context1);
 
 String _renderExtension_partial_search_sidebar_12<T extends Extension>(
-        ExtensionTemplateData<T> context0) =>
-    _deduplicated__search_sidebar(context0);
+  ExtensionTemplateData<T> context0,
+) => _deduplicated__search_sidebar(context0);
 
 String _renderExtension_partial_source_link_1(Extension context1) =>
     _deduplicated__source_link(context1);
@@ -3556,16 +3623,20 @@
 String _renderFunction_partial_callable_multiline_4(ModelFunction context1) {
   final buffer = StringBuffer();
   buffer.write(
-      __renderFunction_partial_callable_multiline_4_partial_annotations_0(
-          context1));
+    __renderFunction_partial_callable_multiline_4_partial_annotations_0(
+      context1,
+    ),
+  );
   buffer.writeln();
   buffer.write('''<span class="returntype">''');
   buffer.write(context1.modelType.returnType.linkedName);
   buffer.write('''</span>
 ''');
   buffer.write(
-      __renderFunction_partial_callable_multiline_4_partial_name_summary_1(
-          context1));
+    __renderFunction_partial_callable_multiline_4_partial_name_summary_1(
+      context1,
+    ),
+  );
   buffer.write(context1.genericParameters);
   buffer.write('''(<wbr>''');
   if (context1.hasParameters) {
@@ -3590,8 +3661,8 @@
     _deduplicated__head(context0);
 
 String _renderFunction_partial_search_sidebar_8(
-        FunctionTemplateData context0) =>
-    _deduplicated__search_sidebar(context0);
+  FunctionTemplateData context0,
+) => _deduplicated__search_sidebar(context0);
 
 String _renderFunction_partial_source_code_7(ModelFunction context1) =>
     _deduplicated__source_code(context1);
@@ -3618,7 +3689,8 @@
   buffer.write(context3.linkedName);
   buffer.write('''</span> ''');
   buffer.write(
-      __renderCategory_partial_container_3_partial_categorization_0(context3));
+    __renderCategory_partial_container_3_partial_categorization_0(context3),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd>
@@ -3652,16 +3724,18 @@
 String _renderMethod_partial_callable_multiline_3(Method context1) {
   final buffer = StringBuffer();
   buffer.write(
-      __renderMethod_partial_callable_multiline_3_partial_annotations_0(
-          context1));
+    __renderMethod_partial_callable_multiline_3_partial_annotations_0(context1),
+  );
   buffer.writeln();
   buffer.write('''<span class="returntype">''');
   buffer.write(context1.modelType.returnType.linkedName);
   buffer.write('''</span>
 ''');
   buffer.write(
-      __renderMethod_partial_callable_multiline_3_partial_name_summary_1(
-          context1));
+    __renderMethod_partial_callable_multiline_3_partial_name_summary_1(
+      context1,
+    ),
+  );
   buffer.write(context1.genericParameters);
   buffer.write('''(<wbr>''');
   if (context1.hasParameters) {
@@ -3767,8 +3841,8 @@
     _deduplicated__name_summary(context1);
 
 String _renderProperty_partial_search_sidebar_10(
-        PropertyTemplateData context0) =>
-    _deduplicated__search_sidebar(context0);
+  PropertyTemplateData context0,
+) => _deduplicated__search_sidebar(context0);
 
 String _renderProperty_partial_source_code_7(Field context1) =>
     _deduplicated__source_code(context1);
@@ -3777,7 +3851,8 @@
     _deduplicated__source_link(context1);
 
 String _renderSidebarForContainer_partial_container_sidebar_item_0(
-    Field context2) {
+  Field context2,
+) {
   final buffer = StringBuffer();
   buffer.writeln();
   buffer.write('''
@@ -3804,7 +3879,8 @@
 }
 
 String _renderSidebarForContainer_partial_container_sidebar_item_1(
-    Method context2) {
+  Method context2,
+) {
   final buffer = StringBuffer();
   buffer.writeln();
   buffer.write('''
@@ -3831,48 +3907,48 @@
 }
 
 String _renderTopLevelProperty_partial_accessor_getter_9(
-        TopLevelVariable context1) =>
-    _deduplicated__accessor_getter(context1);
+  TopLevelVariable context1,
+) => _deduplicated__accessor_getter(context1);
 
 String _renderTopLevelProperty_partial_accessor_setter_10(
-        TopLevelVariable context1) =>
-    _deduplicated__accessor_setter(context1);
+  TopLevelVariable context1,
+) => _deduplicated__accessor_setter(context1);
 
 String _renderTopLevelProperty_partial_annotations_4(
-        TopLevelVariable context1) =>
-    _deduplicated__annotations(context1);
+  TopLevelVariable context1,
+) => _deduplicated__annotations(context1);
 
 String _renderTopLevelProperty_partial_documentation_7(
-        TopLevelVariable context1) =>
-    _deduplicated__documentation(context1);
+  TopLevelVariable context1,
+) => _deduplicated__documentation(context1);
 
 String _renderTopLevelProperty_partial_feature_set_2(
-        TopLevelVariable context1) =>
-    _deduplicated__feature_set(context1);
+  TopLevelVariable context1,
+) => _deduplicated__feature_set(context1);
 
 String _renderTopLevelProperty_partial_footer_12(
-        TopLevelPropertyTemplateData context0) =>
-    _deduplicated__footer(context0);
+  TopLevelPropertyTemplateData context0,
+) => _deduplicated__footer(context0);
 
 String _renderTopLevelProperty_partial_head_0(
-        TopLevelPropertyTemplateData context0) =>
-    _deduplicated__head(context0);
+  TopLevelPropertyTemplateData context0,
+) => _deduplicated__head(context0);
 
 String _renderTopLevelProperty_partial_name_summary_5(
-        TopLevelVariable context1) =>
-    _deduplicated__name_summary(context1);
+  TopLevelVariable context1,
+) => _deduplicated__name_summary(context1);
 
 String _renderTopLevelProperty_partial_search_sidebar_11(
-        TopLevelPropertyTemplateData context0) =>
-    _deduplicated__search_sidebar(context0);
+  TopLevelPropertyTemplateData context0,
+) => _deduplicated__search_sidebar(context0);
 
 String _renderTopLevelProperty_partial_source_code_8(
-        TopLevelVariable context1) =>
-    _deduplicated__source_code(context1);
+  TopLevelVariable context1,
+) => _deduplicated__source_code(context1);
 
 String _renderTopLevelProperty_partial_source_link_1(
-        TopLevelVariable context1) =>
-    _deduplicated__source_link(context1);
+  TopLevelVariable context1,
+) => _deduplicated__source_link(context1);
 
 String _renderTypedef_partial_documentation_5(Typedef context1) =>
     _deduplicated__documentation(context1);
@@ -3933,8 +4009,10 @@
   if (!context1.isCallable) {
     buffer.write('\n  ');
     buffer.write(
-        __renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0(
-            context1));
+      __renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0(
+        context1,
+      ),
+    );
   }
   buffer.writeln();
 
@@ -3942,36 +4020,36 @@
 }
 
 String __renderCategory_partial_callable_8_partial_attributes_1(
-        ModelFunctionTyped context2) =>
-    _deduplicated__attributes(context2);
+  ModelFunctionTyped context2,
+) => _deduplicated__attributes(context2);
 
 String __renderCategory_partial_callable_8_partial_categorization_0(
-        ModelFunctionTyped context2) =>
-    _deduplicated__categorization(context2);
+  ModelFunctionTyped context2,
+) => _deduplicated__categorization(context2);
 
 String __renderCategory_partial_constant_6_partial_attributes_1(
-        TopLevelVariable context2) =>
-    _deduplicated__attributes(context2);
+  TopLevelVariable context2,
+) => _deduplicated__attributes(context2);
 
 String __renderCategory_partial_constant_6_partial_categorization_0(
-        TopLevelVariable context2) =>
-    _deduplicated__categorization(context2);
+  TopLevelVariable context2,
+) => _deduplicated__categorization(context2);
 
 String __renderCategory_partial_container_3_partial_categorization_0(
-        Container context2) =>
-    _deduplicated__categorization(context2);
+  Container context2,
+) => _deduplicated__categorization(context2);
 
 String __renderCategory_partial_library_2_partial_categorization_0(
-        Library context2) =>
-    _deduplicated__categorization(context2);
+  Library context2,
+) => _deduplicated__categorization(context2);
 
 String __renderCategory_partial_typedef_10_partial_attributes_1(
-        FunctionTypedef context3) =>
-    _deduplicated__attributes(context3);
+  FunctionTypedef context3,
+) => _deduplicated__attributes(context3);
 
 String __renderCategory_partial_typedef_10_partial_categorization_0(
-        FunctionTypedef context3) =>
-    _deduplicated__categorization(context3);
+  FunctionTypedef context3,
+) => _deduplicated__categorization(context3);
 
 String __renderCategory_partial_typedef_10_partial_type_2(Typedef context2) {
   final buffer = StringBuffer();
@@ -3997,8 +4075,10 @@
   buffer.write('''  </span>
   ''');
   buffer.write(
-      ___renderCategory_partial_typedef_10_partial_type_2_partial_categorization_0(
-          context2));
+    ___renderCategory_partial_typedef_10_partial_type_2_partial_categorization_0(
+      context2,
+    ),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd''');
@@ -4010,8 +4090,10 @@
   buffer.write(context2.oneLineDoc);
   buffer.write('\n  ');
   buffer.write(
-      ___renderCategory_partial_typedef_10_partial_type_2_partial_attributes_1(
-          context2));
+    ___renderCategory_partial_typedef_10_partial_type_2_partial_attributes_1(
+      context2,
+    ),
+  );
   buffer.writeln();
   buffer.write('''</dd>
 ''');
@@ -4020,7 +4102,8 @@
 }
 
 String __renderClass_partial_instance_fields_11_partial_property_0(
-    Field context2) {
+  Field context2,
+) {
   final buffer = StringBuffer();
   buffer.write('''<dt id="''');
   buffer.writeEscaped(context2.htmlId);
@@ -4039,8 +4122,10 @@
   buffer.write('''</span>
   ''');
   buffer.write(
-      ___renderClass_partial_instance_fields_11_partial_property_0_partial_categorization_0(
-          context2));
+    ___renderClass_partial_instance_fields_11_partial_property_0_partial_categorization_0(
+      context2,
+    ),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd''');
@@ -4064,8 +4149,10 @@
   buffer.write(context2.oneLineDoc);
   buffer.write('\n  ');
   buffer.write(
-      ___renderClass_partial_instance_fields_11_partial_property_0_partial_attributes_1(
-          context2));
+    ___renderClass_partial_instance_fields_11_partial_property_0_partial_attributes_1(
+      context2,
+    ),
+  );
   buffer.writeln();
   buffer.write('''</dd>
 ''');
@@ -4074,7 +4161,8 @@
 }
 
 String __renderClass_partial_instance_methods_12_partial_callable_0(
-    Method context2) {
+  Method context2,
+) {
   final buffer = StringBuffer();
   buffer.write('''<dt id="''');
   buffer.writeEscaped(context2.htmlId);
@@ -4100,8 +4188,10 @@
   </span>
   ''');
   buffer.write(
-      ___renderClass_partial_instance_methods_12_partial_callable_0_partial_categorization_0(
-          context2));
+    ___renderClass_partial_instance_methods_12_partial_callable_0_partial_categorization_0(
+      context2,
+    ),
+  );
   buffer.writeln();
   buffer.write('''</dt>
 <dd''');
@@ -4125,8 +4215,10 @@
   buffer.write(context2.oneLineDoc);
   buffer.write('\n  ');
   buffer.write(
-      ___renderClass_partial_instance_methods_12_partial_callable_0_partial_attributes_1(
-          context2));
+    ___renderClass_partial_instance_methods_12_partial_callable_0_partial_attributes_1(
+      context2,
+    ),
+  );
   buffer.writeln();
   buffer.write('''</dd>
 ''');
@@ -4135,65 +4227,66 @@
 }
 
 String __renderClass_partial_static_constants_16_partial_constant_0(
-        Field context2) =>
-    _deduplicated__constant(context2);
+  Field context2,
+) => _deduplicated__constant(context2);
 
 String __renderFunction_partial_callable_multiline_4_partial_annotations_0(
-        ModelFunction context1) =>
-    _deduplicated__annotations(context1);
+  ModelFunction context1,
+) => _deduplicated__annotations(context1);
 
 String __renderFunction_partial_callable_multiline_4_partial_name_summary_1(
-        ModelFunction context1) =>
-    _deduplicated__name_summary(context1);
+  ModelFunction context1,
+) => _deduplicated__name_summary(context1);
 
 String __renderMethod_partial_callable_multiline_3_partial_annotations_0(
-        Method context1) =>
-    _deduplicated__annotations(context1);
+  Method context1,
+) => _deduplicated__annotations(context1);
 
 String __renderMethod_partial_callable_multiline_3_partial_name_summary_1(
-        Method context1) =>
-    _deduplicated__name_summary(context1);
+  Method context1,
+) => _deduplicated__name_summary(context1);
 
 String __renderProperty_partial_accessor_getter_8_partial_annotations_0(
-        ContainerAccessor context2) =>
-    _deduplicated__annotations(context2);
+  ContainerAccessor context2,
+) => _deduplicated__annotations(context2);
 
 String __renderProperty_partial_accessor_getter_8_partial_attributes_2(
-        ContainerAccessor context2) =>
-    _deduplicated__attributes(context2);
+  ContainerAccessor context2,
+) => _deduplicated__attributes(context2);
 
 String __renderProperty_partial_accessor_getter_8_partial_documentation_3(
-        ContainerAccessor context2) =>
-    _deduplicated__documentation(context2);
+  ContainerAccessor context2,
+) => _deduplicated__documentation(context2);
 
 String __renderProperty_partial_accessor_getter_8_partial_source_code_4(
-        ContainerAccessor context2) =>
-    _deduplicated__source_code(context2);
+  ContainerAccessor context2,
+) => _deduplicated__source_code(context2);
 
 String __renderTopLevelProperty_partial_accessor_getter_9_partial_annotations_0(
-        Accessor context2) =>
-    _deduplicated__annotations(context2);
+  Accessor context2,
+) => _deduplicated__annotations(context2);
 
 String __renderTopLevelProperty_partial_accessor_getter_9_partial_attributes_2(
-        Accessor context2) =>
-    _deduplicated__attributes(context2);
+  Accessor context2,
+) => _deduplicated__attributes(context2);
 
 String
-    __renderTopLevelProperty_partial_accessor_getter_9_partial_documentation_3(
-            Accessor context2) =>
-        _deduplicated__documentation(context2);
+__renderTopLevelProperty_partial_accessor_getter_9_partial_documentation_3(
+  Accessor context2,
+) => _deduplicated__documentation(context2);
 
 String
-    __renderTopLevelProperty_partial_accessor_getter_9_partial_name_summary_1(
-            Accessor context2) =>
-        _deduplicated__name_summary(context2);
+__renderTopLevelProperty_partial_accessor_getter_9_partial_name_summary_1(
+  Accessor context2,
+) => _deduplicated__name_summary(context2);
 
 String __renderTopLevelProperty_partial_accessor_getter_9_partial_source_code_4(
-        Accessor context2) =>
-    _deduplicated__source_code(context2);
+  Accessor context2,
+) => _deduplicated__source_code(context2);
 
 String __renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0(
-    Typedef context1) {
+  Typedef context1,
+) {
   final buffer = StringBuffer();
   if (context1.hasAnnotations) {
     buffer.writeln();
@@ -4212,8 +4305,10 @@
   }
   buffer.writeln();
   buffer.write(
-      ___renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0_partial_name_summary_0(
-          context1));
+    ___renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0_partial_name_summary_0(
+      context1,
+    ),
+  );
   buffer.write(context1.genericParameters);
   buffer.write(''' = ''');
   buffer.write(context1.modelType.linkedName);
@@ -4224,38 +4319,38 @@
 }
 
 String ___renderCategory_partial_typedef_10_partial_type_2_partial_attributes_1(
-        Typedef context2) =>
-    _deduplicated__attributes(context2);
+  Typedef context2,
+) => _deduplicated__attributes(context2);
 
 String
-    ___renderCategory_partial_typedef_10_partial_type_2_partial_categorization_0(
-            Typedef context2) =>
-        _deduplicated__categorization(context2);
+___renderCategory_partial_typedef_10_partial_type_2_partial_categorization_0(
+  Typedef context2,
+) => _deduplicated__categorization(context2);
 
 String
-    ___renderClass_partial_instance_fields_11_partial_property_0_partial_attributes_1(
-            Field context2) =>
-        _deduplicated__attributes(context2);
+___renderClass_partial_instance_fields_11_partial_property_0_partial_attributes_1(
+  Field context2,
+) => _deduplicated__attributes(context2);
 
 String
-    ___renderClass_partial_instance_fields_11_partial_property_0_partial_categorization_0(
-            Field context2) =>
-        _deduplicated__categorization(context2);
+___renderClass_partial_instance_fields_11_partial_property_0_partial_categorization_0(
+  Field context2,
+) => _deduplicated__categorization(context2);
 
 String
-    ___renderClass_partial_instance_methods_12_partial_callable_0_partial_attributes_1(
-            Method context2) =>
-        _deduplicated__attributes(context2);
+___renderClass_partial_instance_methods_12_partial_callable_0_partial_attributes_1(
+  Method context2,
+) => _deduplicated__attributes(context2);
 
 String
-    ___renderClass_partial_instance_methods_12_partial_callable_0_partial_categorization_0(
-            Method context2) =>
-        _deduplicated__categorization(context2);
+___renderClass_partial_instance_methods_12_partial_callable_0_partial_categorization_0(
+  Method context2,
+) => _deduplicated__categorization(context2);
 
 String
-    ___renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0_partial_name_summary_0(
-            Typedef context1) =>
-        _deduplicated__name_summary(context1);
+___renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0_partial_name_summary_0(
+  Typedef context1,
+) => _deduplicated__name_summary(context1);
 
 extension on StringBuffer {
   void writeEscaped(String? value) {
diff --git a/lib/src/generator/templates.dart b/lib/src/generator/templates.dart
index 20a2ea8..4fcd71b 100644
--- a/lib/src/generator/templates.dart
+++ b/lib/src/generator/templates.dart
@@ -115,7 +115,7 @@
   /// Creates a [Templates] instance either from the default set of templates,
   /// or a custom set if the 'templatesDir' Dartdoc option is used.
   ///
-  /// [forceRuntimeTemplates] should only be given [true] during tests.
+  /// [forceRuntimeTemplates] should only be given `true` during tests.
   static Future<Templates> fromContext(DartdocGeneratorOptionContext context,
       {bool forceRuntimeTemplates = false}) async {
     var templatesDir = context.templatesDir;
diff --git a/lib/src/generator/templates.runtime_renderers.dart b/lib/src/generator/templates.runtime_renderers.dart
index 59258c3..40cbbc5 100644
--- a/lib/src/generator/templates.runtime_renderers.dart
+++ b/lib/src/generator/templates.runtime_renderers.dart
@@ -20,9 +20,13 @@
 import 'package:dartdoc/src/warnings.dart';
 import 'templates.dart';
 
-void _render_Accessor(Accessor context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Accessor(
+  Accessor context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Accessor(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -31,353 +35,590 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Accessor>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'characterLocation': Property(
-                  getValue: (CT_ c) => c.characterLocation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CharacterLocation'),
-                  isNullValue: (CT_ c) => c.characterLocation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.characterLocation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CharacterLocation']!);
-                  },
-                ),
-                'definingCombo': Property(
-                  getValue: (CT_ c) => c.definingCombo,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty = _Renderer_GetterSetterCombo.propertyMap()
-                        .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as GetterSetterCombo,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.definingCombo, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['GetterSetterCombo']!);
-                  },
-                ),
-                'documentationComment': Property(
-                  getValue: (CT_ c) => c.documentationComment,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.documentationComment, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PropertyAccessorElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['PropertyAccessorElement']!);
-                  },
-                ),
-                'enclosingCombo': Property(
-                  getValue: (CT_ c) => c.enclosingCombo,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty = _Renderer_GetterSetterCombo.propertyMap()
-                        .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as GetterSetterCombo,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.enclosingCombo, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['GetterSetterCombo']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'filePath': Property(
-                  getValue: (CT_ c) => c.filePath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.filePath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasDocumentationComment': Property(
-                  getValue: (CT_ c) => c.hasDocumentationComment,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDocumentationComment,
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isCanonical': Property(
-                  getValue: (CT_ c) => c.isCanonical,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCanonical,
-                ),
-                'isGetter': Property(
-                  getValue: (CT_ c) => c.isGetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isGetter,
-                ),
-                'isSetter': Property(
-                  getValue: (CT_ c) => c.isSetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSetter,
-                ),
-                'isSynthetic': Property(
-                  getValue: (CT_ c) => c.isSynthetic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSynthetic,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Callable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Callable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Callable(c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'originalMember': Property(
-                  getValue: (CT_ c) => c.originalMember,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'ExecutableMember'),
-                  isNullValue: (CT_ c) => c.originalMember == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.originalMember, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['ExecutableMember']!);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'sourceCode': Property(
-                  getValue: (CT_ c) => c.sourceCode,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sourceCode, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Accessor(Accessor context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'characterLocation': Property(
+                getValue: (CT_ c) => c.characterLocation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CharacterLocation',
+                        ),
+
+                isNullValue: (CT_ c) => c.characterLocation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.characterLocation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CharacterLocation']!,
+                  );
+                },
+              ),
+              'definingCombo': Property(
+                getValue: (CT_ c) => c.definingCombo,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_GetterSetterCombo.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as GetterSetterCombo,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.definingCombo,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['GetterSetterCombo']!,
+                  );
+                },
+              ),
+              'documentationComment': Property(
+                getValue: (CT_ c) => c.documentationComment,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentationComment,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PropertyAccessorElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PropertyAccessorElement']!,
+                  );
+                },
+              ),
+              'enclosingCombo': Property(
+                getValue: (CT_ c) => c.enclosingCombo,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_GetterSetterCombo.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as GetterSetterCombo,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.enclosingCombo,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['GetterSetterCombo']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'filePath': Property(
+                getValue: (CT_ c) => c.filePath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.filePath, ast, r.template, sink, parent: r);
+                },
+              ),
+              'hasDocumentationComment': Property(
+                getValue: (CT_ c) => c.hasDocumentationComment,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDocumentationComment,
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isCanonical': Property(
+                getValue: (CT_ c) => c.isCanonical,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCanonical,
+              ),
+              'isGetter': Property(
+                getValue: (CT_ c) => c.isGetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isGetter,
+              ),
+              'isSetter': Property(
+                getValue: (CT_ c) => c.isSetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSetter,
+              ),
+              'isSynthetic': Property(
+                getValue: (CT_ c) => c.isSynthetic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSynthetic,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Callable.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Callable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Callable(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'originalMember': Property(
+                getValue: (CT_ c) => c.originalMember,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ExecutableMember',
+                        ),
+
+                isNullValue: (CT_ c) => c.originalMember == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.originalMember,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ExecutableMember']!,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'sourceCode': Property(
+                getValue: (CT_ c) => c.sourceCode,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sourceCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Accessor(
+    Accessor context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Accessor>? getProperty(String key) {
@@ -389,9 +630,13 @@
   }
 }
 
-void _render_Annotation(Annotation context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Annotation(
+  Annotation context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Annotation(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -400,100 +645,165 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Annotation>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Attribute.propertyMap<CT_>(),
-                'cssClassName': Property(
-                  getValue: (CT_ c) => c.cssClassName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.cssClassName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hashCode': Property(
-                  getValue: (CT_ c) => c.hashCode,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.hashCode, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-                'isPublic': Property(
-                  getValue: (CT_ c) => c.isPublic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublic,
-                ),
-                'linkedName': Property(
-                  getValue: (CT_ c) => c.linkedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedNameWithParameters': Property(
-                  getValue: (CT_ c) => c.linkedNameWithParameters,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.linkedNameWithParameters, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Attribute.propertyMap<CT_>(),
+              'cssClassName': Property(
+                getValue: (CT_ c) => c.cssClassName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Annotation(Annotation context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.cssClassName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hashCode': Property(
+                getValue: (CT_ c) => c.hashCode,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.hashCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+              'isPublic': Property(
+                getValue: (CT_ c) => c.isPublic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublic,
+              ),
+              'linkedName': Property(
+                getValue: (CT_ c) => c.linkedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'linkedNameWithParameters': Property(
+                getValue: (CT_ c) => c.linkedNameWithParameters,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedNameWithParameters,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Annotation(
+    Annotation context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Annotation>? getProperty(String key) {
@@ -509,93 +819,157 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Attribute>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                'cssClassName': Property(
-                  getValue: (CT_ c) => c.cssClassName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.cssClassName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedName': Property(
-                  getValue: (CT_ c) => c.linkedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedNameWithParameters': Property(
-                  getValue: (CT_ c) => c.linkedNameWithParameters,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.linkedNameWithParameters, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sortGroup': Property(
-                  getValue: (CT_ c) => c.sortGroup,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.sortGroup, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              'cssClassName': Property(
+                getValue: (CT_ c) => c.cssClassName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Attribute(Attribute context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.cssClassName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'linkedName': Property(
+                getValue: (CT_ c) => c.linkedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'linkedNameWithParameters': Property(
+                getValue: (CT_ c) => c.linkedNameWithParameters,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedNameWithParameters,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sortGroup': Property(
+                getValue: (CT_ c) => c.sortGroup,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.sortGroup,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Attribute(
+    Attribute context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Attribute>? getProperty(String key) {
@@ -607,9 +981,13 @@
   }
 }
 
-void _render_Callable(Callable context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Callable(
+  Callable context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Callable(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -618,82 +996,143 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Callable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'linkedName': Property(
-                  getValue: (CT_ c) => c.linkedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'parameters': Property(
-                  getValue: (CT_ c) => c.parameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Parameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.parameters.map((e) =>
-                        _render_Parameter(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'returnType': Property(
-                  getValue: (CT_ c) => c.returnType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ElementType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ElementType(c.returnType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'type': Property(
-                  getValue: (CT_ c) => c.type,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'FunctionType'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.type, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['FunctionType']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'linkedName': Property(
+                getValue: (CT_ c) => c.linkedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Callable(Callable context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'parameters': Property(
+                getValue: (CT_ c) => c.parameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Parameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.parameters.map(
+                    (e) =>
+                        _render_Parameter(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'returnType': Property(
+                getValue: (CT_ c) => c.returnType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ElementType(
+                    c.returnType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'type': Property(
+                getValue: (CT_ c) => c.type,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'FunctionType',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.type,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['FunctionType']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Callable(
+    Callable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Callable>? getProperty(String key) {
@@ -709,25 +1148,39 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends CanonicalFor>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'canonicalFor': Property(
-                  getValue: (CT_ c) => c.canonicalFor,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Set<String>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.canonicalFor.map((e) =>
-                        _render_String(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'canonicalFor': Property(
+                getValue: (CT_ c) => c.canonicalFor,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Set<String>',
+                        ),
 
-  _Renderer_CanonicalFor(CanonicalFor context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.canonicalFor.map(
+                    (e) => _render_String(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_CanonicalFor(
+    CanonicalFor context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<CanonicalFor>? getProperty(String key) {
@@ -743,72 +1196,120 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Categorization>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'categoryNames': Property(
-                  getValue: (CT_ c) => c.categoryNames,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<String>'),
-                  isNullValue: (CT_ c) => c.categoryNames == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.categoryNames, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['List']!);
-                  },
-                ),
-                'displayedCategories': Property(
-                  getValue: (CT_ c) => c.displayedCategories,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Category>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.displayedCategories.map((e) =>
-                        _render_Category(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'hasCategorization': Property(
-                  getValue: (CT_ c) => c.hasCategorization,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasCategorization,
-                ),
-                'hasCategoryNames': Property(
-                  getValue: (CT_ c) => c.hasCategoryNames,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasCategoryNames,
-                ),
-                'hasSubCategoryNames': Property(
-                  getValue: (CT_ c) => c.hasSubCategoryNames,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasSubCategoryNames,
-                ),
-                'subCategoryNames': Property(
-                  getValue: (CT_ c) => c.subCategoryNames,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<String>'),
-                  isNullValue: (CT_ c) => c.subCategoryNames == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.subCategoryNames, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['List']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'categoryNames': Property(
+                getValue: (CT_ c) => c.categoryNames,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<String>',
+                        ),
 
-  _Renderer_Categorization(Categorization context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.categoryNames == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.categoryNames,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['List']!,
+                  );
+                },
+              ),
+              'displayedCategories': Property(
+                getValue: (CT_ c) => c.displayedCategories,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Category>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.displayedCategories.map(
+                    (e) =>
+                        _render_Category(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'hasCategorization': Property(
+                getValue: (CT_ c) => c.hasCategorization,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasCategorization,
+              ),
+              'hasCategoryNames': Property(
+                getValue: (CT_ c) => c.hasCategoryNames,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasCategoryNames,
+              ),
+              'hasSubCategoryNames': Property(
+                getValue: (CT_ c) => c.hasSubCategoryNames,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasSubCategoryNames,
+              ),
+              'subCategoryNames': Property(
+                getValue: (CT_ c) => c.subCategoryNames,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<String>',
+                        ),
+
+                isNullValue: (CT_ c) => c.subCategoryNames == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.subCategoryNames,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['List']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Categorization(
+    Categorization context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Categorization>? getProperty(String key) {
@@ -820,9 +1321,13 @@
   }
 }
 
-void _render_Category(Category context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Category(
+  Category context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Category(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -831,530 +1336,939 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Category>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                ..._Renderer_Nameable.propertyMap<CT_>(),
-                ..._Renderer_Warnable.propertyMap<CT_>(),
-                ..._Renderer_CommentReferable.propertyMap<CT_>(),
-                ..._Renderer_Locatable.propertyMap<CT_>(),
-                ..._Renderer_MarkdownFileDocumentation.propertyMap<CT_>(),
-                ..._Renderer_LibraryContainer.propertyMap<CT_>(),
-                ..._Renderer_TopLevelContainer.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.aboveSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'categoryIndex': Property(
-                  getValue: (CT_ c) => c.categoryIndex,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.categoryIndex, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-                'categoryLabel': Property(
-                  getValue: (CT_ c) => c.categoryLabel,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.categoryLabel, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'classes': Property(
-                  getValue: (CT_ c) => c.classes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Class>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.classes.map((e) =>
-                        _render_Class(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'config': Property(
-                  getValue: (CT_ c) => c.config,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'DartdocOptionContext'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.config, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DartdocOptionContext']!);
-                  },
-                ),
-                'constants': Property(
-                  getValue: (CT_ c) => c.constants,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TopLevelVariable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.constants.map((e) => _render_TopLevelVariable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'containerOrder': Property(
-                  getValue: (CT_ c) => c.containerOrder,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<String>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.containerOrder.map((e) =>
-                        _render_String(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'documentationFile': Property(
-                  getValue: (CT_ c) => c.documentationFile,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'File'),
-                  isNullValue: (CT_ c) => c.documentationFile == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.documentationFile, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['File']!);
-                  },
-                ),
-                'documentationFrom': Property(
-                  getValue: (CT_ c) => c.documentationFrom,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Locatable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.documentationFrom.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Locatable']!));
-                  },
-                ),
-                'documentedWhere': Property(
-                  getValue: (CT_ c) => c.documentedWhere,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'DocumentLocation'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.documentedWhere, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DocumentLocation']!);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Element'),
-                  isNullValue: (CT_ c) => c.element == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Element']!);
-                  },
-                ),
-                'enclosingName': Property(
-                  getValue: (CT_ c) => c.enclosingName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.enclosingName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'enums': Property(
-                  getValue: (CT_ c) => c.enums,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Enum>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.enums.map((e) =>
-                        _render_Enum(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'exceptions': Property(
-                  getValue: (CT_ c) => c.exceptions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Class>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.exceptions.map((e) =>
-                        _render_Class(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'extensionTypes': Property(
-                  getValue: (CT_ c) => c.extensionTypes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ExtensionType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.extensionTypes.map((e) => _render_ExtensionType(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'extensions': Property(
-                  getValue: (CT_ c) => c.extensions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Extension>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.extensions.map((e) =>
-                        _render_Extension(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'externalItems': Property(
-                  getValue: (CT_ c) => c.externalItems,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<ExternalItem>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.externalItems.map((e) => _render_ExternalItem(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'filePath': Property(
-                  getValue: (CT_ c) => c.filePath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.filePath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'functions': Property(
-                  getValue: (CT_ c) => c.functions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelFunction>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.functions.map((e) => _render_ModelFunction(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isCanonical': Property(
-                  getValue: (CT_ c) => c.isCanonical,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCanonical,
-                ),
-                'isDocumented': Property(
-                  getValue: (CT_ c) => c.isDocumented,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isDocumented,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'linkedName': Property(
-                  getValue: (CT_ c) => c.linkedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'mixins': Property(
-                  getValue: (CT_ c) => c.mixins,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Mixin>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.mixins.map((e) =>
-                        _render_Mixin(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'package': Property(
-                  getValue: (CT_ c) => c.package,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Package.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Package,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Package(c.package, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'packageGraph': Property(
-                  getValue: (CT_ c) => c.packageGraph,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageGraph'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageGraph, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageGraph']!);
-                  },
-                ),
-                'properties': Property(
-                  getValue: (CT_ c) => c.properties,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TopLevelVariable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.properties.map((e) => _render_TopLevelVariable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'sortKey': Property(
-                  getValue: (CT_ c) => c.sortKey,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sortKey, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'typedefs': Property(
-                  getValue: (CT_ c) => c.typedefs,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Typedef>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typedefs.map((e) =>
-                        _render_Typedef(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              ..._Renderer_Nameable.propertyMap<CT_>(),
+              ..._Renderer_Warnable.propertyMap<CT_>(),
+              ..._Renderer_CommentReferable.propertyMap<CT_>(),
+              ..._Renderer_Locatable.propertyMap<CT_>(),
+              ..._Renderer_MarkdownFileDocumentation.propertyMap<CT_>(),
+              ..._Renderer_LibraryContainer.propertyMap<CT_>(),
+              ..._Renderer_TopLevelContainer.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Category(Category context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.aboveSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'categoryIndex': Property(
+                getValue: (CT_ c) => c.categoryIndex,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.categoryIndex,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+              'categoryLabel': Property(
+                getValue: (CT_ c) => c.categoryLabel,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.categoryLabel,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'classes': Property(
+                getValue: (CT_ c) => c.classes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Class>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.classes.map(
+                    (e) => _render_Class(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'config': Property(
+                getValue: (CT_ c) => c.config,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DartdocOptionContext',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.config,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DartdocOptionContext']!,
+                  );
+                },
+              ),
+              'constants': Property(
+                getValue: (CT_ c) => c.constants,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TopLevelVariable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.constants.map(
+                    (e) => _render_TopLevelVariable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'containerOrder': Property(
+                getValue: (CT_ c) => c.containerOrder,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<String>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.containerOrder.map(
+                    (e) => _render_String(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'documentationFile': Property(
+                getValue: (CT_ c) => c.documentationFile,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'File'),
+
+                isNullValue: (CT_ c) => c.documentationFile == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.documentationFile,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['File']!,
+                  );
+                },
+              ),
+              'documentationFrom': Property(
+                getValue: (CT_ c) => c.documentationFrom,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Locatable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.documentationFrom.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Locatable']!,
+                    ),
+                  );
+                },
+              ),
+              'documentedWhere': Property(
+                getValue: (CT_ c) => c.documentedWhere,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DocumentLocation',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.documentedWhere,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DocumentLocation']!,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Element'),
+
+                isNullValue: (CT_ c) => c.element == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Element']!,
+                  );
+                },
+              ),
+              'enclosingName': Property(
+                getValue: (CT_ c) => c.enclosingName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.enclosingName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'enums': Property(
+                getValue: (CT_ c) => c.enums,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Enum>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.enums.map(
+                    (e) => _render_Enum(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'exceptions': Property(
+                getValue: (CT_ c) => c.exceptions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Class>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.exceptions.map(
+                    (e) => _render_Class(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'extensionTypes': Property(
+                getValue: (CT_ c) => c.extensionTypes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ExtensionType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.extensionTypes.map(
+                    (e) => _render_ExtensionType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'extensions': Property(
+                getValue: (CT_ c) => c.extensions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Extension>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.extensions.map(
+                    (e) =>
+                        _render_Extension(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'externalItems': Property(
+                getValue: (CT_ c) => c.externalItems,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<ExternalItem>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.externalItems.map(
+                    (e) => _render_ExternalItem(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'filePath': Property(
+                getValue: (CT_ c) => c.filePath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.filePath, ast, r.template, sink, parent: r);
+                },
+              ),
+              'functions': Property(
+                getValue: (CT_ c) => c.functions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelFunction>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.functions.map(
+                    (e) => _render_ModelFunction(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isCanonical': Property(
+                getValue: (CT_ c) => c.isCanonical,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCanonical,
+              ),
+              'isDocumented': Property(
+                getValue: (CT_ c) => c.isDocumented,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isDocumented,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'linkedName': Property(
+                getValue: (CT_ c) => c.linkedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'mixins': Property(
+                getValue: (CT_ c) => c.mixins,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Mixin>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.mixins.map(
+                    (e) => _render_Mixin(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'package': Property(
+                getValue: (CT_ c) => c.package,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Package.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Package,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Package(c.package, ast, r.template, sink, parent: r);
+                },
+              ),
+              'packageGraph': Property(
+                getValue: (CT_ c) => c.packageGraph,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageGraph',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageGraph,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageGraph']!,
+                  );
+                },
+              ),
+              'properties': Property(
+                getValue: (CT_ c) => c.properties,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TopLevelVariable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.properties.map(
+                    (e) => _render_TopLevelVariable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'sortKey': Property(
+                getValue: (CT_ c) => c.sortKey,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.sortKey, ast, r.template, sink, parent: r);
+                },
+              ),
+              'typedefs': Property(
+                getValue: (CT_ c) => c.typedefs,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Typedef>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typedefs.map(
+                    (e) => _render_Typedef(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Category(
+    Category context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Category>? getProperty(String key) {
@@ -1372,150 +2286,247 @@
   return buffer.toString();
 }
 
-void _render_CategoryTemplateData(CategoryTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_CategoryTemplateData(context, parent, template, sink);
+void _render_CategoryTemplateData(
+  CategoryTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_CategoryTemplateData(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_CategoryTemplateData
     extends RendererBase<CategoryTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends CategoryTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends CategoryTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<Category, CT_>(),
-                ..._Renderer_OneDirectoryDown.propertyMap<Category, CT_>(),
-                'category': Property(
-                  getValue: (CT_ c) => c.category,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Category.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Category,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Category(c.category, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Category.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Category,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Category(c.self, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<Category, CT_>(),
+              ..._Renderer_OneDirectoryDown.propertyMap<Category, CT_>(),
+              'category': Property(
+                getValue: (CT_ c) => c.category,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Category.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Category,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_CategoryTemplateData(CategoryTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Category(
+                    c.category,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Category.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Category,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Category(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_CategoryTemplateData(
+    CategoryTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<CategoryTemplateData>? getProperty(String key) {
@@ -1528,8 +2539,12 @@
 }
 
 void _render_Class(
-    Class context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  Class context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Class(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -1538,182 +2553,291 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Class>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_InheritingContainer.propertyMap<CT_>(),
-                ..._Renderer_Constructable.propertyMap<CT_>(),
-                ..._Renderer_MixedInTypes.propertyMap<CT_>(),
-                'allModelElements': Property(
-                  getValue: (CT_ c) => c.allModelElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelElement>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allModelElements.map((e) => _render_ModelElement(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'ClassElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['ClassElement']!);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'inheritanceChain': Property(
-                  getValue: (CT_ c) => c.inheritanceChain,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<InheritingContainer>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.inheritanceChain.map((e) =>
-                        _render_InheritingContainer(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'isAbstract': Property(
-                  getValue: (CT_ c) => c.isAbstract,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isAbstract,
-                ),
-                'isBase': Property(
-                  getValue: (CT_ c) => c.isBase,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isBase,
-                ),
-                'isErrorOrException': Property(
-                  getValue: (CT_ c) => c.isErrorOrException,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isErrorOrException,
-                ),
-                'isFinal': Property(
-                  getValue: (CT_ c) => c.isFinal,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isFinal,
-                ),
-                'isImplementableInterface': Property(
-                  getValue: (CT_ c) => c.isImplementableInterface,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isImplementableInterface,
-                ),
-                'isMixinClass': Property(
-                  getValue: (CT_ c) => c.isMixinClass,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isMixinClass,
-                ),
-                'isSealed': Property(
-                  getValue: (CT_ c) => c.isSealed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSealed,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'relationshipsClass': Property(
-                  getValue: (CT_ c) => c.relationshipsClass,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.relationshipsClass, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sidebarPath': Property(
-                  getValue: (CT_ c) => c.sidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_InheritingContainer.propertyMap<CT_>(),
+              ..._Renderer_Constructable.propertyMap<CT_>(),
+              ..._Renderer_MixedInTypes.propertyMap<CT_>(),
+              'allModelElements': Property(
+                getValue: (CT_ c) => c.allModelElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelElement>',
+                        ),
 
-  _Renderer_Class(Class context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allModelElements.map(
+                    (e) => _render_ModelElement(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ClassElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ClassElement']!,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'inheritanceChain': Property(
+                getValue: (CT_ c) => c.inheritanceChain,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<InheritingContainer>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.inheritanceChain.map(
+                    (e) => _render_InheritingContainer(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'isAbstract': Property(
+                getValue: (CT_ c) => c.isAbstract,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isAbstract,
+              ),
+              'isBase': Property(
+                getValue: (CT_ c) => c.isBase,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isBase,
+              ),
+              'isErrorOrException': Property(
+                getValue: (CT_ c) => c.isErrorOrException,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isErrorOrException,
+              ),
+              'isFinal': Property(
+                getValue: (CT_ c) => c.isFinal,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isFinal,
+              ),
+              'isImplementableInterface': Property(
+                getValue: (CT_ c) => c.isImplementableInterface,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isImplementableInterface,
+              ),
+              'isMixinClass': Property(
+                getValue: (CT_ c) => c.isMixinClass,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isMixinClass,
+              ),
+              'isSealed': Property(
+                getValue: (CT_ c) => c.isSealed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSealed,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'relationshipsClass': Property(
+                getValue: (CT_ c) => c.relationshipsClass,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.relationshipsClass,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sidebarPath': Property(
+                getValue: (CT_ c) => c.sidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Class(
+    Class context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Class>? getProperty(String key) {
@@ -1731,48 +2855,70 @@
   return buffer.toString();
 }
 
-void _render_ClassTemplateData(ClassTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_ClassTemplateData(
+  ClassTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_ClassTemplateData(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_ClassTemplateData extends RendererBase<ClassTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends ClassTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends ClassTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_InheritingContainerTemplateData.propertyMap<Class,
-                    CT_>(),
-                'clazz': Property(
-                  getValue: (CT_ c) => c.clazz,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Class.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Class,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Class(c.clazz, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_InheritingContainerTemplateData.propertyMap<
+                Class,
+                CT_
+              >(),
+              'clazz': Property(
+                getValue: (CT_ c) => c.clazz,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Class.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Class,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_ClassTemplateData(ClassTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Class(c.clazz, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ClassTemplateData(
+    ClassTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ClassTemplateData>? getProperty(String key) {
@@ -1786,135 +2932,231 @@
 
 class _Renderer_CommentReferable extends RendererBase<CommentReferable> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends CommentReferable>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends CommentReferable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.library == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceGrandparentOverrides': Property(
-                  getValue: (CT_ c) => c.referenceGrandparentOverrides,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  isNullValue: (CT_ c) =>
-                      c.referenceGrandparentOverrides == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(
-                        c.referenceGrandparentOverrides, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Iterable']!);
-                  },
-                ),
-                'referenceName': Property(
-                  getValue: (CT_ c) => c.referenceName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.referenceName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'scope': Property(
-                  getValue: (CT_ c) => c.scope,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Scope'),
-                  isNullValue: (CT_ c) => c.scope == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.scope, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Scope']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_CommentReferable(CommentReferable context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.library == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceGrandparentOverrides': Property(
+                getValue: (CT_ c) => c.referenceGrandparentOverrides,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => c.referenceGrandparentOverrides == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceGrandparentOverrides,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Iterable']!,
+                  );
+                },
+              ),
+              'referenceName': Property(
+                getValue: (CT_ c) => c.referenceName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.referenceName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'scope': Property(
+                getValue: (CT_ c) => c.scope,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Scope'),
+
+                isNullValue: (CT_ c) => c.scope == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.scope,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Scope']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_CommentReferable(
+    CommentReferable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<CommentReferable>? getProperty(String key) {
@@ -1930,46 +3172,80 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Constructable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'constructors': Property(
-                  getValue: (CT_ c) => c.constructors,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Constructor>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.constructors.map((e) => _render_Constructor(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'hasPublicConstructors': Property(
-                  getValue: (CT_ c) => c.hasPublicConstructors,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicConstructors,
-                ),
-                'publicConstructorsSorted': Property(
-                  getValue: (CT_ c) => c.publicConstructorsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Constructor>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicConstructorsSorted.map((e) =>
-                        _render_Constructor(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'constructors': Property(
+                getValue: (CT_ c) => c.constructors,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Constructor>',
+                        ),
 
-  _Renderer_Constructable(Constructable context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.constructors.map(
+                    (e) => _render_Constructor(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'hasPublicConstructors': Property(
+                getValue: (CT_ c) => c.hasPublicConstructors,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicConstructors,
+              ),
+              'publicConstructorsSorted': Property(
+                getValue: (CT_ c) => c.publicConstructorsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Constructor>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicConstructorsSorted.map(
+                    (e) => _render_Constructor(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Constructable(
+    Constructable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Constructable>? getProperty(String key) {
@@ -1981,9 +3257,13 @@
   }
 }
 
-void _render_Constructor(Constructor context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Constructor(
+  Constructor context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Constructor(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -1992,329 +3272,556 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Constructor>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_ContainerMember.propertyMap<CT_>(),
-                ..._Renderer_TypeParameters.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'characterLocation': Property(
-                  getValue: (CT_ c) => c.characterLocation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CharacterLocation'),
-                  isNullValue: (CT_ c) => c.characterLocation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.characterLocation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CharacterLocation']!);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'ConstructorElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['ConstructorElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullKind': Property(
-                  getValue: (CT_ c) => c.fullKind,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullKind, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullyQualifiedName': Property(
-                  getValue: (CT_ c) => c.fullyQualifiedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullyQualifiedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'isConst': Property(
-                  getValue: (CT_ c) => c.isConst,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isConst,
-                ),
-                'isFactory': Property(
-                  getValue: (CT_ c) => c.isFactory,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isFactory,
-                ),
-                'isPublic': Property(
-                  getValue: (CT_ c) => c.isPublic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublic,
-                ),
-                'isUnnamedConstructor': Property(
-                  getValue: (CT_ c) => c.isUnnamedConstructor,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isUnnamedConstructor,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Callable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Callable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Callable(c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'nameWithGenerics': Property(
-                  getValue: (CT_ c) => c.nameWithGenerics,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.nameWithGenerics, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceName': Property(
-                  getValue: (CT_ c) => c.referenceName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.referenceName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'shortName': Property(
-                  getValue: (CT_ c) => c.shortName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.shortName == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.shortName!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'typeParameters': Property(
-                  getValue: (CT_ c) => c.typeParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TypeParameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeParameters.map((e) => _render_TypeParameter(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_ContainerMember.propertyMap<CT_>(),
+              ..._Renderer_TypeParameters.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Constructor(Constructor context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'characterLocation': Property(
+                getValue: (CT_ c) => c.characterLocation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CharacterLocation',
+                        ),
+
+                isNullValue: (CT_ c) => c.characterLocation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.characterLocation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CharacterLocation']!,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ConstructorElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ConstructorElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fullKind': Property(
+                getValue: (CT_ c) => c.fullKind,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fullKind, ast, r.template, sink, parent: r);
+                },
+              ),
+              'fullyQualifiedName': Property(
+                getValue: (CT_ c) => c.fullyQualifiedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.fullyQualifiedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'isConst': Property(
+                getValue: (CT_ c) => c.isConst,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isConst,
+              ),
+              'isFactory': Property(
+                getValue: (CT_ c) => c.isFactory,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isFactory,
+              ),
+              'isPublic': Property(
+                getValue: (CT_ c) => c.isPublic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublic,
+              ),
+              'isUnnamedConstructor': Property(
+                getValue: (CT_ c) => c.isUnnamedConstructor,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isUnnamedConstructor,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Callable.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Callable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Callable(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'nameWithGenerics': Property(
+                getValue: (CT_ c) => c.nameWithGenerics,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nameWithGenerics,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceName': Property(
+                getValue: (CT_ c) => c.referenceName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.referenceName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'shortName': Property(
+                getValue: (CT_ c) => c.shortName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.shortName == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.shortName!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'typeParameters': Property(
+                getValue: (CT_ c) => c.typeParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TypeParameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeParameters.map(
+                    (e) => _render_TypeParameter(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Constructor(
+    Constructor context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Constructor>? getProperty(String key) {
@@ -2332,230 +3839,375 @@
   return buffer.toString();
 }
 
-void _render_ConstructorTemplateData(ConstructorTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_ConstructorTemplateData(context, parent, template, sink);
+void _render_ConstructorTemplateData(
+  ConstructorTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_ConstructorTemplateData(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_ConstructorTemplateData
     extends RendererBase<ConstructorTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends ConstructorTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends ConstructorTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<Constructor, CT_>(),
-                ..._Renderer_TwoDirectoriesDown.propertyMap<Constructor, CT_>(),
-                'constructable': Property(
-                  getValue: (CT_ c) => c.constructable,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Constructable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Constructable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.constructable, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['Constructable']!);
-                  },
-                ),
-                'constructor': Property(
-                  getValue: (CT_ c) => c.constructor,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Constructor.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Constructor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Constructor(c.constructor, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'container': Property(
-                  getValue: (CT_ c) => c.container,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.container, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'navLinksWithGenerics': Property(
-                  getValue: (CT_ c) => c.navLinksWithGenerics,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Container>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinksWithGenerics.map((e) =>
-                        _render_Container(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Constructor.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Constructor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Constructor(c.self, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<Constructor, CT_>(),
+              ..._Renderer_TwoDirectoriesDown.propertyMap<Constructor, CT_>(),
+              'constructable': Property(
+                getValue: (CT_ c) => c.constructable,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Constructable.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Constructable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_ConstructorTemplateData(ConstructorTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.constructable,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Constructable']!,
+                  );
+                },
+              ),
+              'constructor': Property(
+                getValue: (CT_ c) => c.constructor,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Constructor.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Constructor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Constructor(
+                    c.constructor,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'container': Property(
+                getValue: (CT_ c) => c.container,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.container,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'navLinksWithGenerics': Property(
+                getValue: (CT_ c) => c.navLinksWithGenerics,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Container>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinksWithGenerics.map(
+                    (e) =>
+                        _render_Container(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Constructor.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Constructor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Constructor(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ConstructorTemplateData(
+    ConstructorTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ConstructorTemplateData>? getProperty(String key) {
@@ -2567,9 +4219,13 @@
   }
 }
 
-void _render_Container(Container context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Container(
+  Container context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Container(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -2578,578 +4234,948 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Container>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_Categorization.propertyMap<CT_>(),
-                ..._Renderer_TypeParameters.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'allCanonicalModelElements': Property(
-                  getValue: (CT_ c) => c.allCanonicalModelElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelElement>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allCanonicalModelElements.map((e) =>
-                        _render_ModelElement(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'allModelElements': Property(
-                  getValue: (CT_ c) => c.allModelElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<ModelElement>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allModelElements.map((e) => _render_ModelElement(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'availableInstanceFieldsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceFieldsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceFieldsSorted.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'availableInstanceMethodsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceMethodsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceMethodsSorted.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'availableInstanceOperatorsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceOperatorsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Operator>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceOperatorsSorted.map((e) =>
-                        _render_Operator(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'constantFields': Property(
-                  getValue: (CT_ c) => c.constantFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.constantFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'declaredFields': Property(
-                  getValue: (CT_ c) => c.declaredFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.declaredFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'declaredMethods': Property(
-                  getValue: (CT_ c) => c.declaredMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.declaredMethods.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'declaredOperators': Property(
-                  getValue: (CT_ c) => c.declaredOperators,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Operator>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.declaredOperators.map((e) =>
-                        _render_Operator(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasAvailableInstanceFields': Property(
-                  getValue: (CT_ c) => c.hasAvailableInstanceFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasAvailableInstanceFields,
-                ),
-                'hasAvailableInstanceMethods': Property(
-                  getValue: (CT_ c) => c.hasAvailableInstanceMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasAvailableInstanceMethods,
-                ),
-                'hasAvailableInstanceOperators': Property(
-                  getValue: (CT_ c) => c.hasAvailableInstanceOperators,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasAvailableInstanceOperators,
-                ),
-                'hasInstanceFields': Property(
-                  getValue: (CT_ c) => c.hasInstanceFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasInstanceFields,
-                ),
-                'hasParameters': Property(
-                  getValue: (CT_ c) => c.hasParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasParameters,
-                ),
-                'hasPublicConstantFields': Property(
-                  getValue: (CT_ c) => c.hasPublicConstantFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicConstantFields,
-                ),
-                'hasPublicConstructors': Property(
-                  getValue: (CT_ c) => c.hasPublicConstructors,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicConstructors,
-                ),
-                'hasPublicEnumValues': Property(
-                  getValue: (CT_ c) => c.hasPublicEnumValues,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicEnumValues,
-                ),
-                'hasPublicStaticFields': Property(
-                  getValue: (CT_ c) => c.hasPublicStaticFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicStaticFields,
-                ),
-                'hasPublicStaticMethods': Property(
-                  getValue: (CT_ c) => c.hasPublicStaticMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicStaticMethods,
-                ),
-                'hasPublicVariableStaticFields': Property(
-                  getValue: (CT_ c) => c.hasPublicVariableStaticFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicVariableStaticFields,
-                ),
-                'instanceAccessors': Property(
-                  getValue: (CT_ c) => c.instanceAccessors,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Accessor>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.instanceAccessors.map((e) =>
-                        _render_Accessor(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'instanceFields': Property(
-                  getValue: (CT_ c) => c.instanceFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.instanceFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'instanceMethods': Property(
-                  getValue: (CT_ c) => c.instanceMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.instanceMethods.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'instanceOperators': Property(
-                  getValue: (CT_ c) => c.instanceOperators,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Operator>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.instanceOperators.map((e) =>
-                        _render_Operator(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'isDartCoreObject': Property(
-                  getValue: (CT_ c) => c.isDartCoreObject,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isDartCoreObject,
-                ),
-                'isEnum': Property(
-                  getValue: (CT_ c) => c.isEnum,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isEnum,
-                ),
-                'isExtension': Property(
-                  getValue: (CT_ c) => c.isExtension,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isExtension,
-                ),
-                'isInterface': Property(
-                  getValue: (CT_ c) => c.isInterface,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInterface,
-                ),
-                'isMixin': Property(
-                  getValue: (CT_ c) => c.isMixin,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isMixin,
-                ),
-                'publicConstantFieldsSorted': Property(
-                  getValue: (CT_ c) => c.publicConstantFieldsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicConstantFieldsSorted.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicConstructorsSorted': Property(
-                  getValue: (CT_ c) => c.publicConstructorsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Constructor>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicConstructorsSorted.map((e) =>
-                        _render_Constructor(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'publicEnumValues': Property(
-                  getValue: (CT_ c) => c.publicEnumValues,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicEnumValues.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicInheritedInstanceFields': Property(
-                  getValue: (CT_ c) => c.publicInheritedInstanceFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.publicInheritedInstanceFields,
-                ),
-                'publicInheritedInstanceMethods': Property(
-                  getValue: (CT_ c) => c.publicInheritedInstanceMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.publicInheritedInstanceMethods,
-                ),
-                'publicInheritedInstanceOperators': Property(
-                  getValue: (CT_ c) => c.publicInheritedInstanceOperators,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.publicInheritedInstanceOperators,
-                ),
-                'publicStaticFieldsSorted': Property(
-                  getValue: (CT_ c) => c.publicStaticFieldsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicStaticFieldsSorted.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicStaticMethodsSorted': Property(
-                  getValue: (CT_ c) => c.publicStaticMethodsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicStaticMethodsSorted.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicVariableStaticFieldsSorted': Property(
-                  getValue: (CT_ c) => c.publicVariableStaticFieldsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicVariableStaticFieldsSorted.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'relationshipsClass': Property(
-                  getValue: (CT_ c) => c.relationshipsClass,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.relationshipsClass, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'scope': Property(
-                  getValue: (CT_ c) => c.scope,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Scope'),
-                  isNullValue: (CT_ c) => c.scope == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.scope, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Scope']!);
-                  },
-                ),
-                'sidebarPath': Property(
-                  getValue: (CT_ c) => c.sidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'staticAccessors': Property(
-                  getValue: (CT_ c) => c.staticAccessors,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Accessor>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.staticAccessors.map((e) =>
-                        _render_Accessor(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'staticFields': Property(
-                  getValue: (CT_ c) => c.staticFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.staticFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'staticMethods': Property(
-                  getValue: (CT_ c) => c.staticMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.staticMethods.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'variableStaticFields': Property(
-                  getValue: (CT_ c) => c.variableStaticFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.variableStaticFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_Categorization.propertyMap<CT_>(),
+              ..._Renderer_TypeParameters.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Container(Container context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'allCanonicalModelElements': Property(
+                getValue: (CT_ c) => c.allCanonicalModelElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelElement>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allCanonicalModelElements.map(
+                    (e) => _render_ModelElement(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'allModelElements': Property(
+                getValue: (CT_ c) => c.allModelElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<ModelElement>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allModelElements.map(
+                    (e) => _render_ModelElement(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'availableInstanceFieldsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceFieldsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceFieldsSorted.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'availableInstanceMethodsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceMethodsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceMethodsSorted.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'availableInstanceOperatorsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceOperatorsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Operator>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceOperatorsSorted.map(
+                    (e) =>
+                        _render_Operator(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'constantFields': Property(
+                getValue: (CT_ c) => c.constantFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.constantFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'declaredFields': Property(
+                getValue: (CT_ c) => c.declaredFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.declaredFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'declaredMethods': Property(
+                getValue: (CT_ c) => c.declaredMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.declaredMethods.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'declaredOperators': Property(
+                getValue: (CT_ c) => c.declaredOperators,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Operator>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.declaredOperators.map(
+                    (e) =>
+                        _render_Operator(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasAvailableInstanceFields': Property(
+                getValue: (CT_ c) => c.hasAvailableInstanceFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasAvailableInstanceFields,
+              ),
+              'hasAvailableInstanceMethods': Property(
+                getValue: (CT_ c) => c.hasAvailableInstanceMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasAvailableInstanceMethods,
+              ),
+              'hasAvailableInstanceOperators': Property(
+                getValue: (CT_ c) => c.hasAvailableInstanceOperators,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasAvailableInstanceOperators,
+              ),
+              'hasInstanceFields': Property(
+                getValue: (CT_ c) => c.hasInstanceFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasInstanceFields,
+              ),
+              'hasParameters': Property(
+                getValue: (CT_ c) => c.hasParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasParameters,
+              ),
+              'hasPublicConstantFields': Property(
+                getValue: (CT_ c) => c.hasPublicConstantFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicConstantFields,
+              ),
+              'hasPublicConstructors': Property(
+                getValue: (CT_ c) => c.hasPublicConstructors,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicConstructors,
+              ),
+              'hasPublicEnumValues': Property(
+                getValue: (CT_ c) => c.hasPublicEnumValues,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicEnumValues,
+              ),
+              'hasPublicStaticFields': Property(
+                getValue: (CT_ c) => c.hasPublicStaticFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicStaticFields,
+              ),
+              'hasPublicStaticMethods': Property(
+                getValue: (CT_ c) => c.hasPublicStaticMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicStaticMethods,
+              ),
+              'hasPublicVariableStaticFields': Property(
+                getValue: (CT_ c) => c.hasPublicVariableStaticFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicVariableStaticFields,
+              ),
+              'instanceAccessors': Property(
+                getValue: (CT_ c) => c.instanceAccessors,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Accessor>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.instanceAccessors.map(
+                    (e) =>
+                        _render_Accessor(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'instanceFields': Property(
+                getValue: (CT_ c) => c.instanceFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.instanceFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'instanceMethods': Property(
+                getValue: (CT_ c) => c.instanceMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.instanceMethods.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'instanceOperators': Property(
+                getValue: (CT_ c) => c.instanceOperators,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Operator>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.instanceOperators.map(
+                    (e) =>
+                        _render_Operator(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'isDartCoreObject': Property(
+                getValue: (CT_ c) => c.isDartCoreObject,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isDartCoreObject,
+              ),
+              'isEnum': Property(
+                getValue: (CT_ c) => c.isEnum,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isEnum,
+              ),
+              'isExtension': Property(
+                getValue: (CT_ c) => c.isExtension,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isExtension,
+              ),
+              'isInterface': Property(
+                getValue: (CT_ c) => c.isInterface,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInterface,
+              ),
+              'isMixin': Property(
+                getValue: (CT_ c) => c.isMixin,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isMixin,
+              ),
+              'publicConstantFieldsSorted': Property(
+                getValue: (CT_ c) => c.publicConstantFieldsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicConstantFieldsSorted.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicConstructorsSorted': Property(
+                getValue: (CT_ c) => c.publicConstructorsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Constructor>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicConstructorsSorted.map(
+                    (e) => _render_Constructor(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicEnumValues': Property(
+                getValue: (CT_ c) => c.publicEnumValues,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicEnumValues.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicInheritedInstanceFields': Property(
+                getValue: (CT_ c) => c.publicInheritedInstanceFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.publicInheritedInstanceFields,
+              ),
+              'publicInheritedInstanceMethods': Property(
+                getValue: (CT_ c) => c.publicInheritedInstanceMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.publicInheritedInstanceMethods,
+              ),
+              'publicInheritedInstanceOperators': Property(
+                getValue: (CT_ c) => c.publicInheritedInstanceOperators,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.publicInheritedInstanceOperators,
+              ),
+              'publicStaticFieldsSorted': Property(
+                getValue: (CT_ c) => c.publicStaticFieldsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicStaticFieldsSorted.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicStaticMethodsSorted': Property(
+                getValue: (CT_ c) => c.publicStaticMethodsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicStaticMethodsSorted.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicVariableStaticFieldsSorted': Property(
+                getValue: (CT_ c) => c.publicVariableStaticFieldsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicVariableStaticFieldsSorted.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'relationshipsClass': Property(
+                getValue: (CT_ c) => c.relationshipsClass,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.relationshipsClass,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'scope': Property(
+                getValue: (CT_ c) => c.scope,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Scope'),
+
+                isNullValue: (CT_ c) => c.scope == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.scope,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Scope']!,
+                  );
+                },
+              ),
+              'sidebarPath': Property(
+                getValue: (CT_ c) => c.sidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'staticAccessors': Property(
+                getValue: (CT_ c) => c.staticAccessors,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Accessor>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.staticAccessors.map(
+                    (e) =>
+                        _render_Accessor(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'staticFields': Property(
+                getValue: (CT_ c) => c.staticFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.staticFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'staticMethods': Property(
+                getValue: (CT_ c) => c.staticMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.staticMethods.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'variableStaticFields': Property(
+                getValue: (CT_ c) => c.variableStaticFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.variableStaticFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Container(
+    Container context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Container>? getProperty(String key) {
@@ -3161,101 +5187,156 @@
   }
 }
 
-void _render_ContainerAccessor(ContainerAccessor context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_ContainerAccessor(
+  ContainerAccessor context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_ContainerAccessor(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_ContainerAccessor extends RendererBase<ContainerAccessor> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends ContainerAccessor>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends ContainerAccessor>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Accessor.propertyMap<CT_>(),
-                ..._Renderer_ContainerMember.propertyMap<CT_>(),
-                ..._Renderer_Inheritable.propertyMap<CT_>(),
-                'characterLocation': Property(
-                  getValue: (CT_ c) => c.characterLocation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CharacterLocation'),
-                  isNullValue: (CT_ c) => c.characterLocation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.characterLocation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CharacterLocation']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'isCovariant': Property(
-                  getValue: (CT_ c) => c.isCovariant,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCovariant,
-                ),
-                'isInherited': Property(
-                  getValue: (CT_ c) => c.isInherited,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInherited,
-                ),
-                'overriddenElement': Property(
-                  getValue: (CT_ c) => c.overriddenElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty = _Renderer_ContainerAccessor.propertyMap()
-                        .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ContainerAccessor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.overriddenElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ContainerAccessor(
-                        c.overriddenElement!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Accessor.propertyMap<CT_>(),
+              ..._Renderer_ContainerMember.propertyMap<CT_>(),
+              ..._Renderer_Inheritable.propertyMap<CT_>(),
+              'characterLocation': Property(
+                getValue: (CT_ c) => c.characterLocation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CharacterLocation',
+                        ),
 
-  _Renderer_ContainerAccessor(ContainerAccessor context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.characterLocation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.characterLocation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CharacterLocation']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'isCovariant': Property(
+                getValue: (CT_ c) => c.isCovariant,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCovariant,
+              ),
+              'isInherited': Property(
+                getValue: (CT_ c) => c.isInherited,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInherited,
+              ),
+              'overriddenElement': Property(
+                getValue: (CT_ c) => c.overriddenElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ContainerAccessor.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ContainerAccessor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.overriddenElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ContainerAccessor(
+                    c.overriddenElement!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ContainerAccessor(
+    ContainerAccessor context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ContainerAccessor>? getProperty(String key) {
@@ -3269,127 +5350,208 @@
 
 class _Renderer_ContainerMember extends RendererBase<ContainerMember> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends ContainerMember>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends ContainerMember>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'attributes': Property(
-                  getValue: (CT_ c) => c.attributes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Set<Attribute>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.attributes.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Attribute']!));
-                  },
-                ),
-                'canonicalEnclosingContainer': Property(
-                  getValue: (CT_ c) => c.canonicalEnclosingContainer,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.canonicalEnclosingContainer == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(
-                        c.canonicalEnclosingContainer!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'filePath': Property(
-                  getValue: (CT_ c) => c.filePath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.filePath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'isExtended': Property(
-                  getValue: (CT_ c) => c.isExtended,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isExtended,
-                ),
-                'referenceGrandparentOverrides': Property(
-                  getValue: (CT_ c) => c.referenceGrandparentOverrides,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Library>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceGrandparentOverrides.map((e) =>
-                        _render_Library(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Container>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) =>
-                        _render_Container(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'attributes': Property(
+                getValue: (CT_ c) => c.attributes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Set<Attribute>',
+                        ),
 
-  _Renderer_ContainerMember(ContainerMember context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.attributes.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Attribute']!,
+                    ),
+                  );
+                },
+              ),
+              'canonicalEnclosingContainer': Property(
+                getValue: (CT_ c) => c.canonicalEnclosingContainer,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.canonicalEnclosingContainer == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.canonicalEnclosingContainer!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'filePath': Property(
+                getValue: (CT_ c) => c.filePath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.filePath, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isExtended': Property(
+                getValue: (CT_ c) => c.isExtended,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isExtended,
+              ),
+              'referenceGrandparentOverrides': Property(
+                getValue: (CT_ c) => c.referenceGrandparentOverrides,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Library>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceGrandparentOverrides.map(
+                    (e) => _render_Library(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Container>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) =>
+                        _render_Container(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ContainerMember(
+    ContainerMember context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ContainerMember>? getProperty(String key) {
@@ -3401,153 +5563,261 @@
   }
 }
 
-void _render_DefinedElementType(DefinedElementType context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_DefinedElementType(
+  DefinedElementType context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_DefinedElementType(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_DefinedElementType extends RendererBase<DefinedElementType> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends DefinedElementType>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends DefinedElementType>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ElementType.propertyMap<CT_>(),
-                'fullyQualifiedName': Property(
-                  getValue: (CT_ c) => c.fullyQualifiedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullyQualifiedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'isPublic': Property(
-                  getValue: (CT_ c) => c.isPublic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublic,
-                ),
-                'modelElement': Property(
-                  getValue: (CT_ c) => c.modelElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(c.modelElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceGrandparentOverrides': Property(
-                  getValue: (CT_ c) => c.referenceGrandparentOverrides,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  isNullValue: (CT_ c) =>
-                      c.referenceGrandparentOverrides == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(
-                        c.referenceGrandparentOverrides, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Iterable']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'typeArguments': Property(
-                  getValue: (CT_ c) => c.typeArguments,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<ElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeArguments.map((e) => _render_ElementType(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ElementType.propertyMap<CT_>(),
+              'fullyQualifiedName': Property(
+                getValue: (CT_ c) => c.fullyQualifiedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_DefinedElementType(DefinedElementType context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.fullyQualifiedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'isPublic': Property(
+                getValue: (CT_ c) => c.isPublic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublic,
+              ),
+              'modelElement': Property(
+                getValue: (CT_ c) => c.modelElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.modelElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceGrandparentOverrides': Property(
+                getValue: (CT_ c) => c.referenceGrandparentOverrides,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => c.referenceGrandparentOverrides == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceGrandparentOverrides,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Iterable']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'typeArguments': Property(
+                getValue: (CT_ c) => c.typeArguments,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<ElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeArguments.map(
+                    (e) => _render_ElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_DefinedElementType(
+    DefinedElementType context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<DefinedElementType>? getProperty(String key) {
@@ -3559,9 +5829,13 @@
   }
 }
 
-void _render_Documentable(Documentable context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Documentable(
+  Documentable context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Documentable(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -3570,221 +5844,370 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Documentable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                ..._Renderer_Nameable.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.aboveSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'config': Property(
-                  getValue: (CT_ c) => c.config,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'DartdocOptionContext'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.config, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DartdocOptionContext']!);
-                  },
-                ),
-                'documentation': Property(
-                  getValue: (CT_ c) => c.documentation,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.documentation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentation!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationAsHtml': Property(
-                  getValue: (CT_ c) => c.documentationAsHtml,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentationAsHtml, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasDocumentation': Property(
-                  getValue: (CT_ c) => c.hasDocumentation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDocumentation,
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isDocumented': Property(
-                  getValue: (CT_ c) => c.isDocumented,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isDocumented,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'oneLineDoc': Property(
-                  getValue: (CT_ c) => c.oneLineDoc,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.oneLineDoc, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'package': Property(
-                  getValue: (CT_ c) => c.package,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Package.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Package,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Package(c.package, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'packageGraph': Property(
-                  getValue: (CT_ c) => c.packageGraph,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageGraph'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageGraph, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageGraph']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              ..._Renderer_Nameable.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Documentable(Documentable context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.aboveSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'config': Property(
+                getValue: (CT_ c) => c.config,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DartdocOptionContext',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.config,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DartdocOptionContext']!,
+                  );
+                },
+              ),
+              'documentation': Property(
+                getValue: (CT_ c) => c.documentation,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.documentation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentation!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationAsHtml': Property(
+                getValue: (CT_ c) => c.documentationAsHtml,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentationAsHtml,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasDocumentation': Property(
+                getValue: (CT_ c) => c.hasDocumentation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDocumentation,
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isDocumented': Property(
+                getValue: (CT_ c) => c.isDocumented,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isDocumented,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'oneLineDoc': Property(
+                getValue: (CT_ c) => c.oneLineDoc,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.oneLineDoc,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'package': Property(
+                getValue: (CT_ c) => c.package,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Package.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Package,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Package(c.package, ast, r.template, sink, parent: r);
+                },
+              ),
+              'packageGraph': Property(
+                getValue: (CT_ c) => c.packageGraph,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageGraph',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageGraph,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageGraph']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Documentable(
+    Documentable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Documentable>? getProperty(String key) {
@@ -3799,178 +6222,301 @@
 class _Renderer_DocumentationComment
     extends RendererBase<DocumentationComment> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends DocumentationComment>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends DocumentationComment>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'documentationAsHtml': Property(
-                  getValue: (CT_ c) => c.documentationAsHtml,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentationAsHtml, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationComment': Property(
-                  getValue: (CT_ c) => c.documentationComment,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.documentationComment, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationFrom': Property(
-                  getValue: (CT_ c) => c.documentationFrom,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<DocumentationComment>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.documentationFrom.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DocumentationComment']!));
-                  },
-                ),
-                'documentationLocal': Property(
-                  getValue: (CT_ c) => c.documentationLocal,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentationLocal, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Element'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Element']!);
-                  },
-                ),
-                'elementDocumentation': Property(
-                  getValue: (CT_ c) => c.elementDocumentation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Documentation'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.elementDocumentation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['Documentation']!);
-                  },
-                ),
-                'hasDocumentationComment': Property(
-                  getValue: (CT_ c) => c.hasDocumentationComment,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDocumentationComment,
-                ),
-                'hasNodoc': Property(
-                  getValue: (CT_ c) => c.hasNodoc,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasNodoc,
-                ),
-                'needsPrecache': Property(
-                  getValue: (CT_ c) => c.needsPrecache,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.needsPrecache,
-                ),
-                'pathContext': Property(
-                  getValue: (CT_ c) => c.pathContext,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Context'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.pathContext, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Context']!);
-                  },
-                ),
-                'sourceFileName': Property(
-                  getValue: (CT_ c) => c.sourceFileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.sourceFileName == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sourceFileName!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'documentationAsHtml': Property(
+                getValue: (CT_ c) => c.documentationAsHtml,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_DocumentationComment(DocumentationComment context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentationAsHtml,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationComment': Property(
+                getValue: (CT_ c) => c.documentationComment,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentationComment,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationFrom': Property(
+                getValue: (CT_ c) => c.documentationFrom,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<DocumentationComment>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.documentationFrom.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['DocumentationComment']!,
+                    ),
+                  );
+                },
+              ),
+              'documentationLocal': Property(
+                getValue: (CT_ c) => c.documentationLocal,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentationLocal,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Element'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Element']!,
+                  );
+                },
+              ),
+              'elementDocumentation': Property(
+                getValue: (CT_ c) => c.elementDocumentation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Documentation',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.elementDocumentation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Documentation']!,
+                  );
+                },
+              ),
+              'hasDocumentationComment': Property(
+                getValue: (CT_ c) => c.hasDocumentationComment,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDocumentationComment,
+              ),
+              'hasNodoc': Property(
+                getValue: (CT_ c) => c.hasNodoc,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasNodoc,
+              ),
+              'needsPrecache': Property(
+                getValue: (CT_ c) => c.needsPrecache,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.needsPrecache,
+              ),
+              'pathContext': Property(
+                getValue: (CT_ c) => c.pathContext,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Context'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.pathContext,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Context']!,
+                  );
+                },
+              ),
+              'sourceFileName': Property(
+                getValue: (CT_ c) => c.sourceFileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.sourceFileName == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sourceFileName!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_DocumentationComment(
+    DocumentationComment context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<DocumentationComment>? getProperty(String key) {
@@ -3982,9 +6528,13 @@
   }
 }
 
-void _render_ElementType(ElementType context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_ElementType(
+  ElementType context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_ElementType(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -3993,216 +6543,372 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends ElementType>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                ..._Renderer_CommentReferable.propertyMap<CT_>(),
-                ..._Renderer_Nameable.propertyMap<CT_>(),
-                'breadcrumbName': Property(
-                  getValue: (CT_ c) => c.breadcrumbName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.breadcrumbName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'displayName': Property(
-                  getValue: (CT_ c) => c.displayName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.displayName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'isTypedef': Property(
-                  getValue: (CT_ c) => c.isTypedef,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isTypedef,
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedName': Property(
-                  getValue: (CT_ c) => c.linkedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'nameWithGenerics': Property(
-                  getValue: (CT_ c) => c.nameWithGenerics,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.nameWithGenerics, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'nameWithGenericsPlain': Property(
-                  getValue: (CT_ c) => c.nameWithGenericsPlain,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.nameWithGenericsPlain, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'nullabilitySuffix': Property(
-                  getValue: (CT_ c) => c.nullabilitySuffix,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.nullabilitySuffix, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'packageGraph': Property(
-                  getValue: (CT_ c) => c.packageGraph,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageGraph'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageGraph, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageGraph']!);
-                  },
-                ),
-                'type': Property(
-                  getValue: (CT_ c) => c.type,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'DartType'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.type, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['DartType']!);
-                  },
-                ),
-                'typeArguments': Property(
-                  getValue: (CT_ c) => c.typeArguments,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<ElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeArguments.map((e) => _render_ElementType(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              ..._Renderer_CommentReferable.propertyMap<CT_>(),
+              ..._Renderer_Nameable.propertyMap<CT_>(),
+              'breadcrumbName': Property(
+                getValue: (CT_ c) => c.breadcrumbName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_ElementType(ElementType context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.breadcrumbName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'displayName': Property(
+                getValue: (CT_ c) => c.displayName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.displayName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'isTypedef': Property(
+                getValue: (CT_ c) => c.isTypedef,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isTypedef,
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'linkedName': Property(
+                getValue: (CT_ c) => c.linkedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'nameWithGenerics': Property(
+                getValue: (CT_ c) => c.nameWithGenerics,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nameWithGenerics,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'nameWithGenericsPlain': Property(
+                getValue: (CT_ c) => c.nameWithGenericsPlain,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nameWithGenericsPlain,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'nullabilitySuffix': Property(
+                getValue: (CT_ c) => c.nullabilitySuffix,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nullabilitySuffix,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'packageGraph': Property(
+                getValue: (CT_ c) => c.packageGraph,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageGraph',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageGraph,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageGraph']!,
+                  );
+                },
+              ),
+              'type': Property(
+                getValue: (CT_ c) => c.type,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DartType',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.type,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DartType']!,
+                  );
+                },
+              ),
+              'typeArguments': Property(
+                getValue: (CT_ c) => c.typeArguments,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<ElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeArguments.map(
+                    (e) => _render_ElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ElementType(
+    ElementType context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ElementType>? getProperty(String key) {
@@ -4215,8 +6921,12 @@
 }
 
 void _render_Enum(
-    Enum context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  Enum context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Enum(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -4225,199 +6935,325 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Enum>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_InheritingContainer.propertyMap<CT_>(),
-                ..._Renderer_Constructable.propertyMap<CT_>(),
-                ..._Renderer_MixedInTypes.propertyMap<CT_>(),
-                'allModelElements': Property(
-                  getValue: (CT_ c) => c.allModelElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelElement>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allModelElements.map((e) => _render_ModelElement(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'constantFields': Property(
-                  getValue: (CT_ c) => c.constantFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.constantFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'EnumElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['EnumElement']!);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasPublicEnumValues': Property(
-                  getValue: (CT_ c) => c.hasPublicEnumValues,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicEnumValues,
-                ),
-                'inheritanceChain': Property(
-                  getValue: (CT_ c) => c.inheritanceChain,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<InheritingContainer>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.inheritanceChain.map((e) =>
-                        _render_InheritingContainer(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'isAbstract': Property(
-                  getValue: (CT_ c) => c.isAbstract,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isAbstract,
-                ),
-                'isBase': Property(
-                  getValue: (CT_ c) => c.isBase,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isBase,
-                ),
-                'isImplementableInterface': Property(
-                  getValue: (CT_ c) => c.isImplementableInterface,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isImplementableInterface,
-                ),
-                'isMixinClass': Property(
-                  getValue: (CT_ c) => c.isMixinClass,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isMixinClass,
-                ),
-                'isSealed': Property(
-                  getValue: (CT_ c) => c.isSealed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSealed,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'publicEnumValues': Property(
-                  getValue: (CT_ c) => c.publicEnumValues,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicEnumValues.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'relationshipsClass': Property(
-                  getValue: (CT_ c) => c.relationshipsClass,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.relationshipsClass, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sidebarPath': Property(
-                  getValue: (CT_ c) => c.sidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_InheritingContainer.propertyMap<CT_>(),
+              ..._Renderer_Constructable.propertyMap<CT_>(),
+              ..._Renderer_MixedInTypes.propertyMap<CT_>(),
+              'allModelElements': Property(
+                getValue: (CT_ c) => c.allModelElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelElement>',
+                        ),
 
-  _Renderer_Enum(Enum context, RendererBase<Object>? parent, Template template,
-      StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allModelElements.map(
+                    (e) => _render_ModelElement(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'constantFields': Property(
+                getValue: (CT_ c) => c.constantFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.constantFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'EnumElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['EnumElement']!,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'hasPublicEnumValues': Property(
+                getValue: (CT_ c) => c.hasPublicEnumValues,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicEnumValues,
+              ),
+              'inheritanceChain': Property(
+                getValue: (CT_ c) => c.inheritanceChain,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<InheritingContainer>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.inheritanceChain.map(
+                    (e) => _render_InheritingContainer(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'isAbstract': Property(
+                getValue: (CT_ c) => c.isAbstract,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isAbstract,
+              ),
+              'isBase': Property(
+                getValue: (CT_ c) => c.isBase,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isBase,
+              ),
+              'isImplementableInterface': Property(
+                getValue: (CT_ c) => c.isImplementableInterface,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isImplementableInterface,
+              ),
+              'isMixinClass': Property(
+                getValue: (CT_ c) => c.isMixinClass,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isMixinClass,
+              ),
+              'isSealed': Property(
+                getValue: (CT_ c) => c.isSealed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSealed,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'publicEnumValues': Property(
+                getValue: (CT_ c) => c.publicEnumValues,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicEnumValues.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'relationshipsClass': Property(
+                getValue: (CT_ c) => c.relationshipsClass,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.relationshipsClass,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sidebarPath': Property(
+                getValue: (CT_ c) => c.sidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Enum(
+    Enum context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Enum>? getProperty(String key) {
@@ -4435,9 +7271,13 @@
   return buffer.toString();
 }
 
-void _render_EnumTemplateData(EnumTemplateData context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_EnumTemplateData(
+  EnumTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_EnumTemplateData(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -4445,59 +7285,88 @@
 class _Renderer_EnumTemplateData extends RendererBase<EnumTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>>
-      propertyMap<CT_ extends EnumTemplateData>() =>
-          _propertyMapCache.putIfAbsent(
-              CT_,
-              () => {
-                    ..._Renderer_InheritingContainerTemplateData.propertyMap<
-                        Enum, CT_>(),
-                    'eNum': Property(
-                      getValue: (CT_ c) => c.eNum,
-                      renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) {
-                        if (remainingNames.isEmpty) {
-                          return self.getValue(c).toString();
-                        }
-                        var name = remainingNames.first;
-                        var nextProperty =
-                            _Renderer_Enum.propertyMap().getValue(name);
-                        return nextProperty.renderVariable(
-                            self.getValue(c) as Enum,
-                            nextProperty,
-                            [...remainingNames.skip(1)]);
-                      },
-                      isNullValue: (CT_ c) => false,
-                      renderValue: (CT_ c, RendererBase<CT_> r,
-                          List<MustachioNode> ast, StringSink sink) {
-                        _render_Enum(c.eNum, ast, r.template, sink, parent: r);
-                      },
-                    ),
-                    'self': Property(
-                      getValue: (CT_ c) => c.self,
-                      renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) {
-                        if (remainingNames.isEmpty) {
-                          return self.getValue(c).toString();
-                        }
-                        var name = remainingNames.first;
-                        var nextProperty =
-                            _Renderer_Enum.propertyMap().getValue(name);
-                        return nextProperty.renderVariable(
-                            self.getValue(c) as Enum,
-                            nextProperty,
-                            [...remainingNames.skip(1)]);
-                      },
-                      isNullValue: (CT_ c) => false,
-                      renderValue: (CT_ c, RendererBase<CT_> r,
-                          List<MustachioNode> ast, StringSink sink) {
-                        _render_Enum(c.self, ast, r.template, sink, parent: r);
-                      },
-                    ),
-                  }) as Map<String, Property<CT_>>;
+  propertyMap<CT_ extends EnumTemplateData>() =>
+      _propertyMapCache.putIfAbsent(
+            CT_,
+            () => {
+              ..._Renderer_InheritingContainerTemplateData.propertyMap<
+                Enum,
+                CT_
+              >(),
+              'eNum': Property(
+                getValue: (CT_ c) => c.eNum,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Enum.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Enum,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_EnumTemplateData(EnumTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Enum(c.eNum, ast, r.template, sink, parent: r);
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Enum.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Enum,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Enum(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_EnumTemplateData(
+    EnumTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<EnumTemplateData>? getProperty(String key) {
@@ -4509,9 +7378,13 @@
   }
 }
 
-void _render_Extension(Extension context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Extension(
+  Extension context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Extension(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -4520,268 +7393,471 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Extension>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Container.propertyMap<CT_>(),
-                'allModelElements': Property(
-                  getValue: (CT_ c) => c.allModelElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelElement>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allModelElements.map((e) => _render_ModelElement(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'alwaysApplies': Property(
-                  getValue: (CT_ c) => c.alwaysApplies,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.alwaysApplies,
-                ),
-                'availableInstanceFieldsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceFieldsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceFieldsSorted.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'availableInstanceMethodsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceMethodsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceMethodsSorted.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'availableInstanceOperatorsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceOperatorsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Operator>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceOperatorsSorted.map((e) =>
-                        _render_Operator(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'declaredFields': Property(
-                  getValue: (CT_ c) => c.declaredFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.declaredFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'declaredMethods': Property(
-                  getValue: (CT_ c) => c.declaredMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.declaredMethods.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'ExtensionElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['ExtensionElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'extendedElement': Property(
-                  getValue: (CT_ c) => c.extendedElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ElementType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ElementType(
-                        c.extendedElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'instanceMethods': Property(
-                  getValue: (CT_ c) => c.instanceMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.instanceMethods.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'relationshipsClass': Property(
-                  getValue: (CT_ c) => c.relationshipsClass,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.relationshipsClass, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sidebarPath': Property(
-                  getValue: (CT_ c) => c.sidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'typeParameters': Property(
-                  getValue: (CT_ c) => c.typeParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TypeParameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeParameters.map((e) => _render_TypeParameter(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Container.propertyMap<CT_>(),
+              'allModelElements': Property(
+                getValue: (CT_ c) => c.allModelElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelElement>',
+                        ),
 
-  _Renderer_Extension(Extension context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allModelElements.map(
+                    (e) => _render_ModelElement(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'alwaysApplies': Property(
+                getValue: (CT_ c) => c.alwaysApplies,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.alwaysApplies,
+              ),
+              'availableInstanceFieldsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceFieldsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceFieldsSorted.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'availableInstanceMethodsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceMethodsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceMethodsSorted.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'availableInstanceOperatorsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceOperatorsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Operator>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceOperatorsSorted.map(
+                    (e) =>
+                        _render_Operator(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'declaredFields': Property(
+                getValue: (CT_ c) => c.declaredFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.declaredFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'declaredMethods': Property(
+                getValue: (CT_ c) => c.declaredMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.declaredMethods.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ExtensionElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ExtensionElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'extendedElement': Property(
+                getValue: (CT_ c) => c.extendedElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ElementType(
+                    c.extendedElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'instanceMethods': Property(
+                getValue: (CT_ c) => c.instanceMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.instanceMethods.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'relationshipsClass': Property(
+                getValue: (CT_ c) => c.relationshipsClass,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.relationshipsClass,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sidebarPath': Property(
+                getValue: (CT_ c) => c.sidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'typeParameters': Property(
+                getValue: (CT_ c) => c.typeParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TypeParameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeParameters.map(
+                    (e) => _render_TypeParameter(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Extension(
+    Extension context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Extension>? getProperty(String key) {
@@ -4794,203 +7870,325 @@
 }
 
 String renderExtension<T extends Extension>(
-    ExtensionTemplateData<T> context, Template template) {
+  ExtensionTemplateData<T> context,
+  Template template,
+) {
   var buffer = StringBuffer();
   _render_ExtensionTemplateData(context, template.ast, template, buffer);
   return buffer.toString();
 }
 
 void _render_ExtensionTemplateData<T extends Extension>(
-    ExtensionTemplateData<T> context,
-    List<MustachioNode> ast,
-    Template template,
-    StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_ExtensionTemplateData(context, parent, template, sink);
+  ExtensionTemplateData<T> context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_ExtensionTemplateData(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_ExtensionTemplateData<T extends Extension>
     extends RendererBase<ExtensionTemplateData<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<T extends Extension,
-          CT_ extends ExtensionTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<T extends Extension, CT_ extends ExtensionTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<T, CT_>(),
-                ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(),
-                'container': Property(
-                  getValue: (CT_ c) => c.container,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.container, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'extension': Property(
-                  getValue: (CT_ c) => c.extension,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Extension.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Extension,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Extension(c.extension, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Extension.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Extension,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Extension(c.self, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<T, CT_>(),
+              ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(),
+              'container': Property(
+                getValue: (CT_ c) => c.container,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_ExtensionTemplateData(ExtensionTemplateData<T> context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.container,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'extension': Property(
+                getValue: (CT_ c) => c.extension,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Extension.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Extension,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Extension(
+                    c.extension,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Extension.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Extension,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Extension(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ExtensionTemplateData(
+    ExtensionTemplateData<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ExtensionTemplateData<T>>? getProperty(String key) {
@@ -5002,9 +8200,13 @@
   }
 }
 
-void _render_ExtensionType(ExtensionType context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_ExtensionType(
+  ExtensionType context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_ExtensionType(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -5013,238 +8215,398 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends ExtensionType>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_InheritingContainer.propertyMap<CT_>(),
-                ..._Renderer_Constructable.propertyMap<CT_>(),
-                'allModelElements': Property(
-                  getValue: (CT_ c) => c.allModelElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelElement>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allModelElements.map((e) => _render_ModelElement(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'declaredFields': Property(
-                  getValue: (CT_ c) => c.declaredFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.declaredFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'ExtensionTypeElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['ExtensionTypeElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'inheritanceChain': Property(
-                  getValue: (CT_ c) => c.inheritanceChain,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<InheritingContainer>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.inheritanceChain.map((e) =>
-                        _render_InheritingContainer(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'isAbstract': Property(
-                  getValue: (CT_ c) => c.isAbstract,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isAbstract,
-                ),
-                'isBase': Property(
-                  getValue: (CT_ c) => c.isBase,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isBase,
-                ),
-                'isImplementableInterface': Property(
-                  getValue: (CT_ c) => c.isImplementableInterface,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isImplementableInterface,
-                ),
-                'isMixinClass': Property(
-                  getValue: (CT_ c) => c.isMixinClass,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isMixinClass,
-                ),
-                'isSealed': Property(
-                  getValue: (CT_ c) => c.isSealed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSealed,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'relationshipsClass': Property(
-                  getValue: (CT_ c) => c.relationshipsClass,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.relationshipsClass, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'representationType': Property(
-                  getValue: (CT_ c) => c.representationType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ElementType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ElementType(
-                        c.representationType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sidebarPath': Property(
-                  getValue: (CT_ c) => c.sidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_InheritingContainer.propertyMap<CT_>(),
+              ..._Renderer_Constructable.propertyMap<CT_>(),
+              'allModelElements': Property(
+                getValue: (CT_ c) => c.allModelElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelElement>',
+                        ),
 
-  _Renderer_ExtensionType(ExtensionType context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allModelElements.map(
+                    (e) => _render_ModelElement(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'declaredFields': Property(
+                getValue: (CT_ c) => c.declaredFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.declaredFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ExtensionTypeElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ExtensionTypeElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'inheritanceChain': Property(
+                getValue: (CT_ c) => c.inheritanceChain,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<InheritingContainer>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.inheritanceChain.map(
+                    (e) => _render_InheritingContainer(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'isAbstract': Property(
+                getValue: (CT_ c) => c.isAbstract,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isAbstract,
+              ),
+              'isBase': Property(
+                getValue: (CT_ c) => c.isBase,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isBase,
+              ),
+              'isImplementableInterface': Property(
+                getValue: (CT_ c) => c.isImplementableInterface,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isImplementableInterface,
+              ),
+              'isMixinClass': Property(
+                getValue: (CT_ c) => c.isMixinClass,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isMixinClass,
+              ),
+              'isSealed': Property(
+                getValue: (CT_ c) => c.isSealed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSealed,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'relationshipsClass': Property(
+                getValue: (CT_ c) => c.relationshipsClass,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.relationshipsClass,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'representationType': Property(
+                getValue: (CT_ c) => c.representationType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ElementType(
+                    c.representationType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sidebarPath': Property(
+                getValue: (CT_ c) => c.sidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ExtensionType(
+    ExtensionType context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ExtensionType>? getProperty(String key) {
@@ -5257,205 +8619,331 @@
 }
 
 String renderExtensionType<T extends ExtensionType>(
-    ExtensionTypeTemplateData<T> context, Template template) {
+  ExtensionTypeTemplateData<T> context,
+  Template template,
+) {
   var buffer = StringBuffer();
   _render_ExtensionTypeTemplateData(context, template.ast, template, buffer);
   return buffer.toString();
 }
 
 void _render_ExtensionTypeTemplateData<T extends ExtensionType>(
-    ExtensionTypeTemplateData<T> context,
-    List<MustachioNode> ast,
-    Template template,
-    StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_ExtensionTypeTemplateData(context, parent, template, sink);
+  ExtensionTypeTemplateData<T> context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_ExtensionTypeTemplateData(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_ExtensionTypeTemplateData<T extends ExtensionType>
     extends RendererBase<ExtensionTypeTemplateData<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<T extends ExtensionType,
-          CT_ extends ExtensionTypeTemplateData>() =>
+  static Map<String, Property<CT_>> propertyMap<
+    T extends ExtensionType,
+    CT_ extends ExtensionTypeTemplateData
+  >() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<T, CT_>(),
-                ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(),
-                'container': Property(
-                  getValue: (CT_ c) => c.container,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.container, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'extensionType': Property(
-                  getValue: (CT_ c) => c.extensionType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ExtensionType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ExtensionType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ExtensionType(
-                        c.extensionType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ExtensionType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ExtensionType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ExtensionType(c.self, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<T, CT_>(),
+              ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(),
+              'container': Property(
+                getValue: (CT_ c) => c.container,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_ExtensionTypeTemplateData(ExtensionTypeTemplateData<T> context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.container,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'extensionType': Property(
+                getValue: (CT_ c) => c.extensionType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ExtensionType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ExtensionType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ExtensionType(
+                    c.extensionType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ExtensionType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ExtensionType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ExtensionType(
+                    c.self,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ExtensionTypeTemplateData(
+    ExtensionTypeTemplateData<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ExtensionTypeTemplateData<T>>? getProperty(String key) {
@@ -5467,9 +8955,13 @@
   }
 }
 
-void _render_ExternalItem(ExternalItem context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_ExternalItem(
+  ExternalItem context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_ExternalItem(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -5478,77 +8970,115 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends ExternalItem>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                'docs': Property(
-                  getValue: (CT_ c) => c.docs,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.docs, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'url': Property(
-                  getValue: (CT_ c) => c.url,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.url, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              'docs': Property(
+                getValue: (CT_ c) => c.docs,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_ExternalItem(ExternalItem context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.docs, ast, r.template, sink, parent: r);
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'url': Property(
+                getValue: (CT_ c) => c.url,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.url, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ExternalItem(
+    ExternalItem context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ExternalItem>? getProperty(String key) {
@@ -5564,68 +9094,113 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends FeatureSet>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'displayedLanguageFeatures': Property(
-                  getValue: (CT_ c) => c.displayedLanguageFeatures,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<LanguageFeature>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.displayedLanguageFeatures.map((e) =>
-                        _render_LanguageFeature(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'hasFeatureSet': Property(
-                  getValue: (CT_ c) => c.hasFeatureSet,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasFeatureSet,
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'packageGraph': Property(
-                  getValue: (CT_ c) => c.packageGraph,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageGraph'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageGraph, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageGraph']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'displayedLanguageFeatures': Property(
+                getValue: (CT_ c) => c.displayedLanguageFeatures,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<LanguageFeature>',
+                        ),
 
-  _Renderer_FeatureSet(FeatureSet context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.displayedLanguageFeatures.map(
+                    (e) => _render_LanguageFeature(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'hasFeatureSet': Property(
+                getValue: (CT_ c) => c.hasFeatureSet,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasFeatureSet,
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'packageGraph': Property(
+                getValue: (CT_ c) => c.packageGraph,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageGraph',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageGraph,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageGraph']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_FeatureSet(
+    FeatureSet context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<FeatureSet>? getProperty(String key) {
@@ -5638,8 +9213,12 @@
 }
 
 void _render_Field(
-    Field context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  Field context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Field(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -5648,368 +9227,594 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Field>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_GetterSetterCombo.propertyMap<CT_>(),
-                ..._Renderer_ContainerMember.propertyMap<CT_>(),
-                ..._Renderer_Inheritable.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'attributes': Property(
-                  getValue: (CT_ c) => c.attributes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Set<Attribute>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.attributes.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Attribute']!));
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentation': Property(
-                  getValue: (CT_ c) => c.documentation,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentation, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'FieldElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['FieldElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'enclosingExtension': Property(
-                  getValue: (CT_ c) => c.enclosingExtension,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Extension.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Extension,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Extension(
-                        c.enclosingExtension, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullkind': Property(
-                  getValue: (CT_ c) => c.fullkind,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullkind, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'getter': Property(
-                  getValue: (CT_ c) => c.getter,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty = _Renderer_ContainerAccessor.propertyMap()
-                        .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ContainerAccessor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.getter == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ContainerAccessor(c.getter!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isConst': Property(
-                  getValue: (CT_ c) => c.isConst,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isConst,
-                ),
-                'isCovariant': Property(
-                  getValue: (CT_ c) => c.isCovariant,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCovariant,
-                ),
-                'isFinal': Property(
-                  getValue: (CT_ c) => c.isFinal,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isFinal,
-                ),
-                'isInherited': Property(
-                  getValue: (CT_ c) => c.isInherited,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInherited,
-                ),
-                'isLate': Property(
-                  getValue: (CT_ c) => c.isLate,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isLate,
-                ),
-                'isProvidedByExtension': Property(
-                  getValue: (CT_ c) => c.isProvidedByExtension,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isProvidedByExtension,
-                ),
-                'isStatic': Property(
-                  getValue: (CT_ c) => c.isStatic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isStatic,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'overriddenElement': Property(
-                  getValue: (CT_ c) => c.overriddenElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Inheritable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Inheritable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.overriddenElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.overriddenElement, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Inheritable']!);
-                  },
-                ),
-                'setter': Property(
-                  getValue: (CT_ c) => c.setter,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty = _Renderer_ContainerAccessor.propertyMap()
-                        .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ContainerAccessor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.setter == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ContainerAccessor(c.setter!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sourceCode': Property(
-                  getValue: (CT_ c) => c.sourceCode,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sourceCode, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_GetterSetterCombo.propertyMap<CT_>(),
+              ..._Renderer_ContainerMember.propertyMap<CT_>(),
+              ..._Renderer_Inheritable.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Field(Field context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'attributes': Property(
+                getValue: (CT_ c) => c.attributes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Set<Attribute>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.attributes.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Attribute']!,
+                    ),
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentation': Property(
+                getValue: (CT_ c) => c.documentation,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'FieldElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['FieldElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'enclosingExtension': Property(
+                getValue: (CT_ c) => c.enclosingExtension,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Extension.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Extension,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Extension(
+                    c.enclosingExtension,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'fullkind': Property(
+                getValue: (CT_ c) => c.fullkind,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fullkind, ast, r.template, sink, parent: r);
+                },
+              ),
+              'getter': Property(
+                getValue: (CT_ c) => c.getter,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ContainerAccessor.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ContainerAccessor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.getter == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ContainerAccessor(
+                    c.getter!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isConst': Property(
+                getValue: (CT_ c) => c.isConst,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isConst,
+              ),
+              'isCovariant': Property(
+                getValue: (CT_ c) => c.isCovariant,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCovariant,
+              ),
+              'isFinal': Property(
+                getValue: (CT_ c) => c.isFinal,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isFinal,
+              ),
+              'isInherited': Property(
+                getValue: (CT_ c) => c.isInherited,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInherited,
+              ),
+              'isLate': Property(
+                getValue: (CT_ c) => c.isLate,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isLate,
+              ),
+              'isProvidedByExtension': Property(
+                getValue: (CT_ c) => c.isProvidedByExtension,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isProvidedByExtension,
+              ),
+              'isStatic': Property(
+                getValue: (CT_ c) => c.isStatic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isStatic,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'overriddenElement': Property(
+                getValue: (CT_ c) => c.overriddenElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Inheritable.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Inheritable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.overriddenElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.overriddenElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Inheritable']!,
+                  );
+                },
+              ),
+              'setter': Property(
+                getValue: (CT_ c) => c.setter,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ContainerAccessor.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ContainerAccessor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.setter == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ContainerAccessor(
+                    c.setter!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sourceCode': Property(
+                getValue: (CT_ c) => c.sourceCode,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sourceCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Field(
+    Field context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Field>? getProperty(String key) {
@@ -6027,173 +9832,283 @@
   return buffer.toString();
 }
 
-void _render_FunctionTemplateData(FunctionTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_FunctionTemplateData(context, parent, template, sink);
+void _render_FunctionTemplateData(
+  FunctionTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_FunctionTemplateData(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_FunctionTemplateData
     extends RendererBase<FunctionTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends FunctionTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends FunctionTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<ModelFunction, CT_>(),
-                ..._Renderer_OneDirectoryDown.propertyMap<ModelFunction, CT_>(),
-                'function': Property(
-                  getValue: (CT_ c) => c.function,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelFunction.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelFunction,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelFunction(c.function, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelFunction.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelFunction,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelFunction(c.self, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<ModelFunction, CT_>(),
+              ..._Renderer_OneDirectoryDown.propertyMap<ModelFunction, CT_>(),
+              'function': Property(
+                getValue: (CT_ c) => c.function,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelFunction.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelFunction,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_FunctionTemplateData(FunctionTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelFunction(
+                    c.function,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelFunction.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelFunction,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelFunction(
+                    c.self,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_FunctionTemplateData(
+    FunctionTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<FunctionTemplateData>? getProperty(String key) {
@@ -6205,61 +10120,101 @@
   }
 }
 
-void _render_FunctionTypedef(FunctionTypedef context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_FunctionTypedef(
+  FunctionTypedef context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_FunctionTypedef(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_FunctionTypedef extends RendererBase<FunctionTypedef> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends FunctionTypedef>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends FunctionTypedef>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Typedef.propertyMap<CT_>(),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Callable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Callable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Callable(c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Typedef.propertyMap<CT_>(),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Callable.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Callable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_FunctionTypedef(FunctionTypedef context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Callable(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_FunctionTypedef(
+    FunctionTypedef context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<FunctionTypedef>? getProperty(String key) {
@@ -6273,515 +10228,785 @@
 
 class _Renderer_GetterSetterCombo extends RendererBase<GetterSetterCombo> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends GetterSetterCombo>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends GetterSetterCombo>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'allAccessors': Property(
-                  getValue: (CT_ c) => c.allAccessors,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Accessor>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allAccessors.map((e) =>
-                        _render_Accessor(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'annotations': Property(
-                  getValue: (CT_ c) => c.annotations,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Annotation>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.annotations.map((e) => _render_Annotation(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'arrow': Property(
-                  getValue: (CT_ c) => c.arrow,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.arrow, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'characterLocation': Property(
-                  getValue: (CT_ c) => c.characterLocation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CharacterLocation'),
-                  isNullValue: (CT_ c) => c.characterLocation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.characterLocation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CharacterLocation']!);
-                  },
-                ),
-                'constantValue': Property(
-                  getValue: (CT_ c) => c.constantValue,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.constantValue, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'constantValueBase': Property(
-                  getValue: (CT_ c) => c.constantValueBase,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.constantValueBase, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'constantValueTruncated': Property(
-                  getValue: (CT_ c) => c.constantValueTruncated,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.constantValueTruncated, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationComment': Property(
-                  getValue: (CT_ c) => c.documentationComment,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.documentationComment, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationFrom': Property(
-                  getValue: (CT_ c) => c.documentationFrom,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<DocumentationComment>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.documentationFrom.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DocumentationComment']!));
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'getter': Property(
-                  getValue: (CT_ c) => c.getter,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Accessor.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Accessor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.getter == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Accessor(c.getter!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'getterSetterBothAvailable': Property(
-                  getValue: (CT_ c) => c.getterSetterBothAvailable,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.getterSetterBothAvailable,
-                ),
-                'hasAccessorsWithDocs': Property(
-                  getValue: (CT_ c) => c.hasAccessorsWithDocs,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasAccessorsWithDocs,
-                ),
-                'hasConstantValueForDisplay': Property(
-                  getValue: (CT_ c) => c.hasConstantValueForDisplay,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasConstantValueForDisplay,
-                ),
-                'hasDocumentationComment': Property(
-                  getValue: (CT_ c) => c.hasDocumentationComment,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDocumentationComment,
-                ),
-                'hasExplicitGetter': Property(
-                  getValue: (CT_ c) => c.hasExplicitGetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasExplicitGetter,
-                ),
-                'hasExplicitSetter': Property(
-                  getValue: (CT_ c) => c.hasExplicitSetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasExplicitSetter,
-                ),
-                'hasGetter': Property(
-                  getValue: (CT_ c) => c.hasGetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasGetter,
-                ),
-                'hasGetterOrSetter': Property(
-                  getValue: (CT_ c) => c.hasGetterOrSetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasGetterOrSetter,
-                ),
-                'hasParameters': Property(
-                  getValue: (CT_ c) => c.hasParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasParameters,
-                ),
-                'hasPublicGetter': Property(
-                  getValue: (CT_ c) => c.hasPublicGetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicGetter,
-                ),
-                'hasPublicGetterNoSetter': Property(
-                  getValue: (CT_ c) => c.hasPublicGetterNoSetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicGetterNoSetter,
-                ),
-                'hasPublicSetter': Property(
-                  getValue: (CT_ c) => c.hasPublicSetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicSetter,
-                ),
-                'hasSetter': Property(
-                  getValue: (CT_ c) => c.hasSetter,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasSetter,
-                ),
-                'isCallable': Property(
-                  getValue: (CT_ c) => c.isCallable,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCallable,
-                ),
-                'isInherited': Property(
-                  getValue: (CT_ c) => c.isInherited,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInherited,
-                ),
-                'isPublic': Property(
-                  getValue: (CT_ c) => c.isPublic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublic,
-                ),
-                'linkedParamsNoMetadata': Property(
-                  getValue: (CT_ c) => c.linkedParamsNoMetadata,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.linkedParamsNoMetadata == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.linkedParamsNoMetadata!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ElementType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ElementType(c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'oneLineDoc': Property(
-                  getValue: (CT_ c) => c.oneLineDoc,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.oneLineDoc, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'parameters': Property(
-                  getValue: (CT_ c) => c.parameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Parameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.parameters.map((e) =>
-                        _render_Parameter(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'readOnly': Property(
-                  getValue: (CT_ c) => c.readOnly,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.readOnly,
-                ),
-                'readWrite': Property(
-                  getValue: (CT_ c) => c.readWrite,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.readWrite,
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'setter': Property(
-                  getValue: (CT_ c) => c.setter,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Accessor.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Accessor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.setter == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Accessor(c.setter!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'writeOnly': Property(
-                  getValue: (CT_ c) => c.writeOnly,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.writeOnly,
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'allAccessors': Property(
+                getValue: (CT_ c) => c.allAccessors,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Accessor>',
+                        ),
 
-  _Renderer_GetterSetterCombo(GetterSetterCombo context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allAccessors.map(
+                    (e) =>
+                        _render_Accessor(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'annotations': Property(
+                getValue: (CT_ c) => c.annotations,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Annotation>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.annotations.map(
+                    (e) =>
+                        _render_Annotation(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'arrow': Property(
+                getValue: (CT_ c) => c.arrow,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.arrow, ast, r.template, sink, parent: r);
+                },
+              ),
+              'characterLocation': Property(
+                getValue: (CT_ c) => c.characterLocation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CharacterLocation',
+                        ),
+
+                isNullValue: (CT_ c) => c.characterLocation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.characterLocation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CharacterLocation']!,
+                  );
+                },
+              ),
+              'constantValue': Property(
+                getValue: (CT_ c) => c.constantValue,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.constantValue,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'constantValueBase': Property(
+                getValue: (CT_ c) => c.constantValueBase,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.constantValueBase,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'constantValueTruncated': Property(
+                getValue: (CT_ c) => c.constantValueTruncated,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.constantValueTruncated,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationComment': Property(
+                getValue: (CT_ c) => c.documentationComment,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentationComment,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationFrom': Property(
+                getValue: (CT_ c) => c.documentationFrom,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<DocumentationComment>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.documentationFrom.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['DocumentationComment']!,
+                    ),
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'getter': Property(
+                getValue: (CT_ c) => c.getter,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Accessor.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Accessor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.getter == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Accessor(c.getter!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'getterSetterBothAvailable': Property(
+                getValue: (CT_ c) => c.getterSetterBothAvailable,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.getterSetterBothAvailable,
+              ),
+              'hasAccessorsWithDocs': Property(
+                getValue: (CT_ c) => c.hasAccessorsWithDocs,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasAccessorsWithDocs,
+              ),
+              'hasConstantValueForDisplay': Property(
+                getValue: (CT_ c) => c.hasConstantValueForDisplay,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasConstantValueForDisplay,
+              ),
+              'hasDocumentationComment': Property(
+                getValue: (CT_ c) => c.hasDocumentationComment,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDocumentationComment,
+              ),
+              'hasExplicitGetter': Property(
+                getValue: (CT_ c) => c.hasExplicitGetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasExplicitGetter,
+              ),
+              'hasExplicitSetter': Property(
+                getValue: (CT_ c) => c.hasExplicitSetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasExplicitSetter,
+              ),
+              'hasGetter': Property(
+                getValue: (CT_ c) => c.hasGetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasGetter,
+              ),
+              'hasGetterOrSetter': Property(
+                getValue: (CT_ c) => c.hasGetterOrSetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasGetterOrSetter,
+              ),
+              'hasParameters': Property(
+                getValue: (CT_ c) => c.hasParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasParameters,
+              ),
+              'hasPublicGetter': Property(
+                getValue: (CT_ c) => c.hasPublicGetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicGetter,
+              ),
+              'hasPublicGetterNoSetter': Property(
+                getValue: (CT_ c) => c.hasPublicGetterNoSetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicGetterNoSetter,
+              ),
+              'hasPublicSetter': Property(
+                getValue: (CT_ c) => c.hasPublicSetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicSetter,
+              ),
+              'hasSetter': Property(
+                getValue: (CT_ c) => c.hasSetter,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasSetter,
+              ),
+              'isCallable': Property(
+                getValue: (CT_ c) => c.isCallable,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCallable,
+              ),
+              'isInherited': Property(
+                getValue: (CT_ c) => c.isInherited,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInherited,
+              ),
+              'isPublic': Property(
+                getValue: (CT_ c) => c.isPublic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublic,
+              ),
+              'linkedParamsNoMetadata': Property(
+                getValue: (CT_ c) => c.linkedParamsNoMetadata,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.linkedParamsNoMetadata == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedParamsNoMetadata!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ElementType(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'oneLineDoc': Property(
+                getValue: (CT_ c) => c.oneLineDoc,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.oneLineDoc,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'parameters': Property(
+                getValue: (CT_ c) => c.parameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Parameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.parameters.map(
+                    (e) =>
+                        _render_Parameter(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'readOnly': Property(
+                getValue: (CT_ c) => c.readOnly,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.readOnly,
+              ),
+              'readWrite': Property(
+                getValue: (CT_ c) => c.readWrite,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.readWrite,
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'setter': Property(
+                getValue: (CT_ c) => c.setter,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Accessor.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Accessor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.setter == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Accessor(c.setter!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'writeOnly': Property(
+                getValue: (CT_ c) => c.writeOnly,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.writeOnly,
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_GetterSetterCombo(
+    GetterSetterCombo context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<GetterSetterCombo>? getProperty(String key) {
@@ -6797,79 +11022,126 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends HasNoPage>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.aboveSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'filePath': Property(
-                  getValue: (CT_ c) => c.filePath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.filePath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_HasNoPage(HasNoPage context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.aboveSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'filePath': Property(
+                getValue: (CT_ c) => c.filePath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.filePath, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_HasNoPage(
+    HasNoPage context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<HasNoPage>? getProperty(String key) {
@@ -6885,126 +11157,207 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Inheritable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'attributes': Property(
-                  getValue: (CT_ c) => c.attributes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Set<Attribute>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.attributes.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Attribute']!));
-                  },
-                ),
-                'canonicalLibrary': Property(
-                  getValue: (CT_ c) => c.canonicalLibrary,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.canonicalLibrary == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.canonicalLibrary!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'canonicalModelElement': Property(
-                  getValue: (CT_ c) => c.canonicalModelElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.canonicalModelElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.canonicalModelElement!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'isCovariant': Property(
-                  getValue: (CT_ c) => c.isCovariant,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCovariant,
-                ),
-                'isInherited': Property(
-                  getValue: (CT_ c) => c.isInherited,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInherited,
-                ),
-                'isOverride': Property(
-                  getValue: (CT_ c) => c.isOverride,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isOverride,
-                ),
-                'overriddenDepth': Property(
-                  getValue: (CT_ c) => c.overriddenDepth,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.overriddenDepth, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-                'overriddenElement': Property(
-                  getValue: (CT_ c) => c.overriddenElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Inheritable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Inheritable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.overriddenElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.overriddenElement, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Inheritable']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'attributes': Property(
+                getValue: (CT_ c) => c.attributes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Set<Attribute>',
+                        ),
 
-  _Renderer_Inheritable(Inheritable context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.attributes.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Attribute']!,
+                    ),
+                  );
+                },
+              ),
+              'canonicalLibrary': Property(
+                getValue: (CT_ c) => c.canonicalLibrary,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.canonicalLibrary == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.canonicalLibrary!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'canonicalModelElement': Property(
+                getValue: (CT_ c) => c.canonicalModelElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.canonicalModelElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.canonicalModelElement!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'isCovariant': Property(
+                getValue: (CT_ c) => c.isCovariant,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCovariant,
+              ),
+              'isInherited': Property(
+                getValue: (CT_ c) => c.isInherited,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInherited,
+              ),
+              'isOverride': Property(
+                getValue: (CT_ c) => c.isOverride,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isOverride,
+              ),
+              'overriddenDepth': Property(
+                getValue: (CT_ c) => c.overriddenDepth,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.overriddenDepth,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+              'overriddenElement': Property(
+                getValue: (CT_ c) => c.overriddenElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Inheritable.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Inheritable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.overriddenElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.overriddenElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Inheritable']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Inheritable(
+    Inheritable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Inheritable>? getProperty(String key) {
@@ -7016,561 +11369,939 @@
   }
 }
 
-void _render_InheritingContainer(InheritingContainer context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_InheritingContainer(
+  InheritingContainer context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_InheritingContainer(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_InheritingContainer extends RendererBase<InheritingContainer> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends InheritingContainer>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends InheritingContainer>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Container.propertyMap<CT_>(),
-                'allFields': Property(
-                  getValue: (CT_ c) => c.allFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'allModelElements': Property(
-                  getValue: (CT_ c) => c.allModelElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelElement>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allModelElements.map((e) => _render_ModelElement(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'availableInstanceFieldsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceFieldsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceFieldsSorted.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'availableInstanceMethodsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceMethodsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceMethodsSorted.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'availableInstanceOperatorsSorted': Property(
-                  getValue: (CT_ c) => c.availableInstanceOperatorsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Operator>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.availableInstanceOperatorsSorted.map((e) =>
-                        _render_Operator(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'constantFields': Property(
-                  getValue: (CT_ c) => c.constantFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.constantFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'containerModifiers': Property(
-                  getValue: (CT_ c) => c.containerModifiers,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ContainerModifier>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.containerModifiers.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['ContainerModifier']!));
-                  },
-                ),
-                'declaredFields': Property(
-                  getValue: (CT_ c) => c.declaredFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.declaredFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'declaredMethods': Property(
-                  getValue: (CT_ c) => c.declaredMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.declaredMethods.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'definingContainer': Property(
-                  getValue: (CT_ c) => c.definingContainer,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_InheritingContainer.propertyMap()
-                            .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as InheritingContainer,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_InheritingContainer(
-                        c.definingContainer, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'displayedLanguageFeatures': Property(
-                  getValue: (CT_ c) => c.displayedLanguageFeatures,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<LanguageFeature>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.displayedLanguageFeatures.map((e) =>
-                        _render_LanguageFeature(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'InterfaceElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['InterfaceElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullkind': Property(
-                  getValue: (CT_ c) => c.fullkind,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullkind, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasModifiers': Property(
-                  getValue: (CT_ c) => c.hasModifiers,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasModifiers,
-                ),
-                'hasPotentiallyApplicableExtensions': Property(
-                  getValue: (CT_ c) => c.hasPotentiallyApplicableExtensions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPotentiallyApplicableExtensions,
-                ),
-                'hasPublicImplementers': Property(
-                  getValue: (CT_ c) => c.hasPublicImplementers,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicImplementers,
-                ),
-                'hasPublicInterfaces': Property(
-                  getValue: (CT_ c) => c.hasPublicInterfaces,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicInterfaces,
-                ),
-                'hasPublicSuperChainReversed': Property(
-                  getValue: (CT_ c) => c.hasPublicSuperChainReversed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicSuperChainReversed,
-                ),
-                'inheritanceChain': Property(
-                  getValue: (CT_ c) => c.inheritanceChain,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<InheritingContainer>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.inheritanceChain.map((e) =>
-                        _render_InheritingContainer(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'inheritedMethods': Property(
-                  getValue: (CT_ c) => c.inheritedMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.inheritedMethods.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'inheritedOperators': Property(
-                  getValue: (CT_ c) => c.inheritedOperators,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Operator>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.inheritedOperators.map((e) =>
-                        _render_Operator(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'instanceFields': Property(
-                  getValue: (CT_ c) => c.instanceFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Field>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.instanceFields.map((e) =>
-                        _render_Field(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'instanceMethods': Property(
-                  getValue: (CT_ c) => c.instanceMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Method>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.instanceMethods.map((e) =>
-                        _render_Method(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'instanceOperators': Property(
-                  getValue: (CT_ c) => c.instanceOperators,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Operator>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.instanceOperators.map((e) =>
-                        _render_Operator(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'interfaceElements': Property(
-                  getValue: (CT_ c) => c.interfaceElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<InheritingContainer>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.interfaceElements.map((e) =>
-                        _render_InheritingContainer(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'isAbstract': Property(
-                  getValue: (CT_ c) => c.isAbstract,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isAbstract,
-                ),
-                'isBase': Property(
-                  getValue: (CT_ c) => c.isBase,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isBase,
-                ),
-                'isCanonical': Property(
-                  getValue: (CT_ c) => c.isCanonical,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCanonical,
-                ),
-                'isFinal': Property(
-                  getValue: (CT_ c) => c.isFinal,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isFinal,
-                ),
-                'isImplementableInterface': Property(
-                  getValue: (CT_ c) => c.isImplementableInterface,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isImplementableInterface,
-                ),
-                'isMixinClass': Property(
-                  getValue: (CT_ c) => c.isMixinClass,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isMixinClass,
-                ),
-                'isSealed': Property(
-                  getValue: (CT_ c) => c.isSealed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSealed,
-                ),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_DefinedElementType.propertyMap()
-                            .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as DefinedElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_DefinedElementType(
-                        c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'potentiallyApplicableExtensionsSorted': Property(
-                  getValue: (CT_ c) => c.potentiallyApplicableExtensionsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Extension>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.potentiallyApplicableExtensionsSorted.map((e) =>
-                        _render_Extension(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicImplementersSorted': Property(
-                  getValue: (CT_ c) => c.publicImplementersSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<InheritingContainer>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicImplementersSorted.map((e) =>
-                        _render_InheritingContainer(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'publicInheritedInstanceFields': Property(
-                  getValue: (CT_ c) => c.publicInheritedInstanceFields,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.publicInheritedInstanceFields,
-                ),
-                'publicInheritedInstanceMethods': Property(
-                  getValue: (CT_ c) => c.publicInheritedInstanceMethods,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.publicInheritedInstanceMethods,
-                ),
-                'publicInheritedInstanceOperators': Property(
-                  getValue: (CT_ c) => c.publicInheritedInstanceOperators,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.publicInheritedInstanceOperators,
-                ),
-                'publicInterfaceElements': Property(
-                  getValue: (CT_ c) => c.publicInterfaceElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<InheritingContainer>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicInterfaceElements.map((e) =>
-                        _render_InheritingContainer(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'publicInterfaces': Property(
-                  getValue: (CT_ c) => c.publicInterfaces,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<DefinedElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicInterfaces.map((e) =>
-                        _render_DefinedElementType(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'publicSuperChainReversed': Property(
-                  getValue: (CT_ c) => c.publicSuperChainReversed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<DefinedElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicSuperChainReversed.map((e) =>
-                        _render_DefinedElementType(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'superChain': Property(
-                  getValue: (CT_ c) => c.superChain,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<DefinedElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.superChain.map((e) => _render_DefinedElementType(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'supertype': Property(
-                  getValue: (CT_ c) => c.supertype,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_DefinedElementType.propertyMap()
-                            .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as DefinedElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.supertype == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_DefinedElementType(
-                        c.supertype!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'typeParameters': Property(
-                  getValue: (CT_ c) => c.typeParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TypeParameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeParameters.map((e) => _render_TypeParameter(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Container.propertyMap<CT_>(),
+              'allFields': Property(
+                getValue: (CT_ c) => c.allFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
 
-  _Renderer_InheritingContainer(InheritingContainer context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'allModelElements': Property(
+                getValue: (CT_ c) => c.allModelElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelElement>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allModelElements.map(
+                    (e) => _render_ModelElement(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'availableInstanceFieldsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceFieldsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceFieldsSorted.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'availableInstanceMethodsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceMethodsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceMethodsSorted.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'availableInstanceOperatorsSorted': Property(
+                getValue: (CT_ c) => c.availableInstanceOperatorsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Operator>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.availableInstanceOperatorsSorted.map(
+                    (e) =>
+                        _render_Operator(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'constantFields': Property(
+                getValue: (CT_ c) => c.constantFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.constantFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'containerModifiers': Property(
+                getValue: (CT_ c) => c.containerModifiers,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ContainerModifier>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.containerModifiers.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['ContainerModifier']!,
+                    ),
+                  );
+                },
+              ),
+              'declaredFields': Property(
+                getValue: (CT_ c) => c.declaredFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.declaredFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'declaredMethods': Property(
+                getValue: (CT_ c) => c.declaredMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.declaredMethods.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'definingContainer': Property(
+                getValue: (CT_ c) => c.definingContainer,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_InheritingContainer.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as InheritingContainer,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_InheritingContainer(
+                    c.definingContainer,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'displayedLanguageFeatures': Property(
+                getValue: (CT_ c) => c.displayedLanguageFeatures,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<LanguageFeature>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.displayedLanguageFeatures.map(
+                    (e) => _render_LanguageFeature(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'InterfaceElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['InterfaceElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fullkind': Property(
+                getValue: (CT_ c) => c.fullkind,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fullkind, ast, r.template, sink, parent: r);
+                },
+              ),
+              'hasModifiers': Property(
+                getValue: (CT_ c) => c.hasModifiers,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasModifiers,
+              ),
+              'hasPotentiallyApplicableExtensions': Property(
+                getValue: (CT_ c) => c.hasPotentiallyApplicableExtensions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPotentiallyApplicableExtensions,
+              ),
+              'hasPublicImplementers': Property(
+                getValue: (CT_ c) => c.hasPublicImplementers,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicImplementers,
+              ),
+              'hasPublicInterfaces': Property(
+                getValue: (CT_ c) => c.hasPublicInterfaces,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicInterfaces,
+              ),
+              'hasPublicSuperChainReversed': Property(
+                getValue: (CT_ c) => c.hasPublicSuperChainReversed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicSuperChainReversed,
+              ),
+              'inheritanceChain': Property(
+                getValue: (CT_ c) => c.inheritanceChain,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<InheritingContainer>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.inheritanceChain.map(
+                    (e) => _render_InheritingContainer(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'inheritedMethods': Property(
+                getValue: (CT_ c) => c.inheritedMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.inheritedMethods.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'inheritedOperators': Property(
+                getValue: (CT_ c) => c.inheritedOperators,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Operator>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.inheritedOperators.map(
+                    (e) =>
+                        _render_Operator(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'instanceFields': Property(
+                getValue: (CT_ c) => c.instanceFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Field>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.instanceFields.map(
+                    (e) => _render_Field(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'instanceMethods': Property(
+                getValue: (CT_ c) => c.instanceMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Method>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.instanceMethods.map(
+                    (e) => _render_Method(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'instanceOperators': Property(
+                getValue: (CT_ c) => c.instanceOperators,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Operator>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.instanceOperators.map(
+                    (e) =>
+                        _render_Operator(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'interfaceElements': Property(
+                getValue: (CT_ c) => c.interfaceElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<InheritingContainer>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.interfaceElements.map(
+                    (e) => _render_InheritingContainer(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'isAbstract': Property(
+                getValue: (CT_ c) => c.isAbstract,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isAbstract,
+              ),
+              'isBase': Property(
+                getValue: (CT_ c) => c.isBase,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isBase,
+              ),
+              'isCanonical': Property(
+                getValue: (CT_ c) => c.isCanonical,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCanonical,
+              ),
+              'isFinal': Property(
+                getValue: (CT_ c) => c.isFinal,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isFinal,
+              ),
+              'isImplementableInterface': Property(
+                getValue: (CT_ c) => c.isImplementableInterface,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isImplementableInterface,
+              ),
+              'isMixinClass': Property(
+                getValue: (CT_ c) => c.isMixinClass,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isMixinClass,
+              ),
+              'isSealed': Property(
+                getValue: (CT_ c) => c.isSealed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSealed,
+              ),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_DefinedElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as DefinedElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_DefinedElementType(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'potentiallyApplicableExtensionsSorted': Property(
+                getValue: (CT_ c) => c.potentiallyApplicableExtensionsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Extension>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.potentiallyApplicableExtensionsSorted.map(
+                    (e) =>
+                        _render_Extension(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicImplementersSorted': Property(
+                getValue: (CT_ c) => c.publicImplementersSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<InheritingContainer>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicImplementersSorted.map(
+                    (e) => _render_InheritingContainer(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicInheritedInstanceFields': Property(
+                getValue: (CT_ c) => c.publicInheritedInstanceFields,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.publicInheritedInstanceFields,
+              ),
+              'publicInheritedInstanceMethods': Property(
+                getValue: (CT_ c) => c.publicInheritedInstanceMethods,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.publicInheritedInstanceMethods,
+              ),
+              'publicInheritedInstanceOperators': Property(
+                getValue: (CT_ c) => c.publicInheritedInstanceOperators,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.publicInheritedInstanceOperators,
+              ),
+              'publicInterfaceElements': Property(
+                getValue: (CT_ c) => c.publicInterfaceElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<InheritingContainer>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicInterfaceElements.map(
+                    (e) => _render_InheritingContainer(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicInterfaces': Property(
+                getValue: (CT_ c) => c.publicInterfaces,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<DefinedElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicInterfaces.map(
+                    (e) => _render_DefinedElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicSuperChainReversed': Property(
+                getValue: (CT_ c) => c.publicSuperChainReversed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<DefinedElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicSuperChainReversed.map(
+                    (e) => _render_DefinedElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'superChain': Property(
+                getValue: (CT_ c) => c.superChain,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<DefinedElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.superChain.map(
+                    (e) => _render_DefinedElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'supertype': Property(
+                getValue: (CT_ c) => c.supertype,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_DefinedElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as DefinedElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.supertype == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_DefinedElementType(
+                    c.supertype!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'typeParameters': Property(
+                getValue: (CT_ c) => c.typeParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TypeParameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeParameters.map(
+                    (e) => _render_TypeParameter(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_InheritingContainer(
+    InheritingContainer context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<InheritingContainer>? getProperty(String key) {
@@ -7585,189 +12316,304 @@
 class _Renderer_InheritingContainerTemplateData<T extends InheritingContainer>
     extends RendererBase<InheritingContainerTemplateData<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<T extends InheritingContainer,
-          CT_ extends InheritingContainerTemplateData>() =>
+  static Map<String, Property<CT_>> propertyMap<
+    T extends InheritingContainer,
+    CT_ extends InheritingContainerTemplateData
+  >() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<T, CT_>(),
-                ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(),
-                'clazz': Property(
-                  getValue: (CT_ c) => c.clazz,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_InheritingContainer.propertyMap()
-                            .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as InheritingContainer,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_InheritingContainer(c.clazz, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'container': Property(
-                  getValue: (CT_ c) => c.container,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.container, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_InheritingContainer.propertyMap()
-                            .getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as InheritingContainer,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_InheritingContainer(c.self, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<T, CT_>(),
+              ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(),
+              'clazz': Property(
+                getValue: (CT_ c) => c.clazz,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_InheritingContainer.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as InheritingContainer,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_InheritingContainer(
+                    c.clazz,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'container': Property(
+                getValue: (CT_ c) => c.container,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.container,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_InheritingContainer.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as InheritingContainer,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_InheritingContainer(
+                    c.self,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
 
   _Renderer_InheritingContainerTemplateData(
-      InheritingContainerTemplateData<T> context,
-      RendererBase<Object>? parent,
-      Template template,
-      StringSink sink)
-      : super(context, parent, template, sink);
+    InheritingContainerTemplateData<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<InheritingContainerTemplateData<T>>? getProperty(String key) {
@@ -7779,113 +12625,181 @@
   }
 }
 
-void _render_LanguageFeature(LanguageFeature context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_LanguageFeature(
+  LanguageFeature context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_LanguageFeature(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends LanguageFeature>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends LanguageFeature>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                'featureDescription': Property(
-                  getValue: (CT_ c) => c.featureDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.featureDescription == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.featureDescription!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'featureLabel': Property(
-                  getValue: (CT_ c) => c.featureLabel,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.featureLabel, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'featureUrl': Property(
-                  getValue: (CT_ c) => c.featureUrl,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.featureUrl == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.featureUrl!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              'featureDescription': Property(
+                getValue: (CT_ c) => c.featureDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_LanguageFeature(LanguageFeature context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.featureDescription == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.featureDescription!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'featureLabel': Property(
+                getValue: (CT_ c) => c.featureLabel,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.featureLabel,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'featureUrl': Property(
+                getValue: (CT_ c) => c.featureUrl,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.featureUrl == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.featureUrl!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_LanguageFeature(
+    LanguageFeature context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<LanguageFeature>? getProperty(String key) {
@@ -7897,9 +12811,13 @@
   }
 }
 
-void _render_Library(Library context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Library(
+  Library context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Library(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -7908,622 +12826,1072 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Library>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_Categorization.propertyMap<CT_>(),
-                ..._Renderer_TopLevelContainer.propertyMap<CT_>(),
-                ..._Renderer_CanonicalFor.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.aboveSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'allModelElements': Property(
-                  getValue: (CT_ c) => c.allModelElements,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelElement>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allModelElements.map((e) => _render_ModelElement(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'breadcrumbName': Property(
-                  getValue: (CT_ c) => c.breadcrumbName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.breadcrumbName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'characterLocation': Property(
-                  getValue: (CT_ c) => c.characterLocation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CharacterLocation'),
-                  isNullValue: (CT_ c) => c.characterLocation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.characterLocation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CharacterLocation']!);
-                  },
-                ),
-                'classes': Property(
-                  getValue: (CT_ c) => c.classes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Class>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.classes.map((e) =>
-                        _render_Class(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'classesAndExceptions': Property(
-                  getValue: (CT_ c) => c.classesAndExceptions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Class>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.classesAndExceptions.map((e) =>
-                        _render_Class(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'compilationUnitElement': Property(
-                  getValue: (CT_ c) => c.compilationUnitElement,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CompilationUnitElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(
-                        c.compilationUnitElement, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CompilationUnitElement']!);
-                  },
-                ),
-                'constants': Property(
-                  getValue: (CT_ c) => c.constants,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<TopLevelVariable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.constants.map((e) => _render_TopLevelVariable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'dirName': Property(
-                  getValue: (CT_ c) => c.dirName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.dirName, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'displayName': Property(
-                  getValue: (CT_ c) => c.displayName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.displayName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'LibraryElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['LibraryElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.enclosingElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.enclosingElement!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'enums': Property(
-                  getValue: (CT_ c) => c.enums,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Enum>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.enums.map((e) =>
-                        _render_Enum(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'exceptions': Property(
-                  getValue: (CT_ c) => c.exceptions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Class>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.exceptions.map((e) =>
-                        _render_Class(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'extensionTypes': Property(
-                  getValue: (CT_ c) => c.extensionTypes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ExtensionType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.extensionTypes.map((e) => _render_ExtensionType(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'extensions': Property(
-                  getValue: (CT_ c) => c.extensions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Extension>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.extensions.map((e) =>
-                        _render_Extension(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'filePath': Property(
-                  getValue: (CT_ c) => c.filePath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.filePath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'functions': Property(
-                  getValue: (CT_ c) => c.functions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelFunction>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.functions.map((e) => _render_ModelFunction(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isAnonymous': Property(
-                  getValue: (CT_ c) => c.isAnonymous,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isAnonymous,
-                ),
-                'isInSdk': Property(
-                  getValue: (CT_ c) => c.isInSdk,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInSdk,
-                ),
-                'isPublic': Property(
-                  getValue: (CT_ c) => c.isPublic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublic,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'mixins': Property(
-                  getValue: (CT_ c) => c.mixins,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Mixin>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.mixins.map((e) =>
-                        _render_Mixin(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'package': Property(
-                  getValue: (CT_ c) => c.package,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Package.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Package,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Package(c.package, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'packageMeta': Property(
-                  getValue: (CT_ c) => c.packageMeta,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageMeta'),
-                  isNullValue: (CT_ c) => c.packageMeta == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageMeta, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageMeta']!);
-                  },
-                ),
-                'packageName': Property(
-                  getValue: (CT_ c) => c.packageName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.packageName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'properties': Property(
-                  getValue: (CT_ c) => c.properties,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TopLevelVariable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.properties.map((e) => _render_TopLevelVariable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'redirectingPath': Property(
-                  getValue: (CT_ c) => c.redirectingPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.redirectingPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'scope': Property(
-                  getValue: (CT_ c) => c.scope,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Scope'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.scope, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Scope']!);
-                  },
-                ),
-                'sidebarPath': Property(
-                  getValue: (CT_ c) => c.sidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'typedefs': Property(
-                  getValue: (CT_ c) => c.typedefs,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Typedef>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typedefs.map((e) =>
-                        _render_Typedef(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_Categorization.propertyMap<CT_>(),
+              ..._Renderer_TopLevelContainer.propertyMap<CT_>(),
+              ..._Renderer_CanonicalFor.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Library(Library context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.aboveSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'allModelElements': Property(
+                getValue: (CT_ c) => c.allModelElements,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelElement>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allModelElements.map(
+                    (e) => _render_ModelElement(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'breadcrumbName': Property(
+                getValue: (CT_ c) => c.breadcrumbName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.breadcrumbName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'characterLocation': Property(
+                getValue: (CT_ c) => c.characterLocation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CharacterLocation',
+                        ),
+
+                isNullValue: (CT_ c) => c.characterLocation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.characterLocation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CharacterLocation']!,
+                  );
+                },
+              ),
+              'classes': Property(
+                getValue: (CT_ c) => c.classes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Class>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.classes.map(
+                    (e) => _render_Class(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'classesAndExceptions': Property(
+                getValue: (CT_ c) => c.classesAndExceptions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Class>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.classesAndExceptions.map(
+                    (e) => _render_Class(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'compilationUnitElement': Property(
+                getValue: (CT_ c) => c.compilationUnitElement,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CompilationUnitElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.compilationUnitElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CompilationUnitElement']!,
+                  );
+                },
+              ),
+              'constants': Property(
+                getValue: (CT_ c) => c.constants,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<TopLevelVariable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.constants.map(
+                    (e) => _render_TopLevelVariable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'dirName': Property(
+                getValue: (CT_ c) => c.dirName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.dirName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'displayName': Property(
+                getValue: (CT_ c) => c.displayName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.displayName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'LibraryElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['LibraryElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.enclosingElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.enclosingElement!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'enums': Property(
+                getValue: (CT_ c) => c.enums,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Enum>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.enums.map(
+                    (e) => _render_Enum(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'exceptions': Property(
+                getValue: (CT_ c) => c.exceptions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Class>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.exceptions.map(
+                    (e) => _render_Class(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'extensionTypes': Property(
+                getValue: (CT_ c) => c.extensionTypes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ExtensionType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.extensionTypes.map(
+                    (e) => _render_ExtensionType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'extensions': Property(
+                getValue: (CT_ c) => c.extensions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Extension>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.extensions.map(
+                    (e) =>
+                        _render_Extension(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'filePath': Property(
+                getValue: (CT_ c) => c.filePath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.filePath, ast, r.template, sink, parent: r);
+                },
+              ),
+              'functions': Property(
+                getValue: (CT_ c) => c.functions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelFunction>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.functions.map(
+                    (e) => _render_ModelFunction(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isAnonymous': Property(
+                getValue: (CT_ c) => c.isAnonymous,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isAnonymous,
+              ),
+              'isInSdk': Property(
+                getValue: (CT_ c) => c.isInSdk,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInSdk,
+              ),
+              'isPublic': Property(
+                getValue: (CT_ c) => c.isPublic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublic,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'mixins': Property(
+                getValue: (CT_ c) => c.mixins,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Mixin>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.mixins.map(
+                    (e) => _render_Mixin(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'package': Property(
+                getValue: (CT_ c) => c.package,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Package.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Package,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Package(c.package, ast, r.template, sink, parent: r);
+                },
+              ),
+              'packageMeta': Property(
+                getValue: (CT_ c) => c.packageMeta,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageMeta',
+                        ),
+
+                isNullValue: (CT_ c) => c.packageMeta == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageMeta,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageMeta']!,
+                  );
+                },
+              ),
+              'packageName': Property(
+                getValue: (CT_ c) => c.packageName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.packageName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'properties': Property(
+                getValue: (CT_ c) => c.properties,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TopLevelVariable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.properties.map(
+                    (e) => _render_TopLevelVariable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'redirectingPath': Property(
+                getValue: (CT_ c) => c.redirectingPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.redirectingPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'scope': Property(
+                getValue: (CT_ c) => c.scope,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Scope'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.scope,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Scope']!,
+                  );
+                },
+              ),
+              'sidebarPath': Property(
+                getValue: (CT_ c) => c.sidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'typedefs': Property(
+                getValue: (CT_ c) => c.typedefs,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Typedef>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typedefs.map(
+                    (e) => _render_Typedef(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Library(
+    Library context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Library>? getProperty(String key) {
@@ -8537,110 +13905,171 @@
 
 class _Renderer_LibraryContainer extends RendererBase<LibraryContainer> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends LibraryContainer>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends LibraryContainer>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                'containerOrder': Property(
-                  getValue: (CT_ c) => c.containerOrder,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<String>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.containerOrder.map((e) =>
-                        _render_String(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'enclosingName': Property(
-                  getValue: (CT_ c) => c.enclosingName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.enclosingName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasPublicLibraries': Property(
-                  getValue: (CT_ c) => c.hasPublicLibraries,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicLibraries,
-                ),
-                'isSdk': Property(
-                  getValue: (CT_ c) => c.isSdk,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSdk,
-                ),
-                'libraries': Property(
-                  getValue: (CT_ c) => c.libraries,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Library>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.libraries.map((e) =>
-                        _render_Library(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicLibrariesSorted': Property(
-                  getValue: (CT_ c) => c.publicLibrariesSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Library>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicLibrariesSorted.map((e) =>
-                        _render_Library(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'sortKey': Property(
-                  getValue: (CT_ c) => c.sortKey,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sortKey, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              'containerOrder': Property(
+                getValue: (CT_ c) => c.containerOrder,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<String>',
+                        ),
 
-  _Renderer_LibraryContainer(LibraryContainer context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.containerOrder.map(
+                    (e) => _render_String(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'enclosingName': Property(
+                getValue: (CT_ c) => c.enclosingName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.enclosingName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasPublicLibraries': Property(
+                getValue: (CT_ c) => c.hasPublicLibraries,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicLibraries,
+              ),
+              'isSdk': Property(
+                getValue: (CT_ c) => c.isSdk,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSdk,
+              ),
+              'libraries': Property(
+                getValue: (CT_ c) => c.libraries,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Library>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.libraries.map(
+                    (e) => _render_Library(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicLibrariesSorted': Property(
+                getValue: (CT_ c) => c.publicLibrariesSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Library>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicLibrariesSorted.map(
+                    (e) => _render_Library(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'sortKey': Property(
+                getValue: (CT_ c) => c.sortKey,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.sortKey, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_LibraryContainer(
+    LibraryContainer context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<LibraryContainer>? getProperty(String key) {
@@ -8658,148 +14087,235 @@
   return buffer.toString();
 }
 
-void _render_LibraryTemplateData(LibraryTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_LibraryTemplateData(
+  LibraryTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_LibraryTemplateData(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_LibraryTemplateData extends RendererBase<LibraryTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends LibraryTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends LibraryTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<Library, CT_>(),
-                ..._Renderer_OneDirectoryDown.propertyMap<Library, CT_>(),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.self, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<Library, CT_>(),
+              ..._Renderer_OneDirectoryDown.propertyMap<Library, CT_>(),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_LibraryTemplateData(LibraryTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_LibraryTemplateData(
+    LibraryTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<LibraryTemplateData>? getProperty(String key) {
@@ -8821,105 +14337,164 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Locatable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'documentationFrom': Property(
-                  getValue: (CT_ c) => c.documentationFrom,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Locatable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.documentationFrom.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Locatable']!));
-                  },
-                ),
-                'documentationIsLocal': Property(
-                  getValue: (CT_ c) => c.documentationIsLocal,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.documentationIsLocal,
-                ),
-                'fullyQualifiedName': Property(
-                  getValue: (CT_ c) => c.fullyQualifiedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullyQualifiedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isCanonical': Property(
-                  getValue: (CT_ c) => c.isCanonical,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCanonical,
-                ),
-                'location': Property(
-                  getValue: (CT_ c) => c.location,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.location, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'documentationFrom': Property(
+                getValue: (CT_ c) => c.documentationFrom,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Locatable>',
+                        ),
 
-  _Renderer_Locatable(Locatable context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.documentationFrom.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Locatable']!,
+                    ),
+                  );
+                },
+              ),
+              'documentationIsLocal': Property(
+                getValue: (CT_ c) => c.documentationIsLocal,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.documentationIsLocal,
+              ),
+              'fullyQualifiedName': Property(
+                getValue: (CT_ c) => c.fullyQualifiedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.fullyQualifiedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isCanonical': Property(
+                getValue: (CT_ c) => c.isCanonical,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCanonical,
+              ),
+              'location': Property(
+                getValue: (CT_ c) => c.location,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.location, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Locatable(
+    Locatable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Locatable>? getProperty(String key) {
@@ -8934,144 +14509,235 @@
 class _Renderer_MarkdownFileDocumentation
     extends RendererBase<MarkdownFileDocumentation> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends MarkdownFileDocumentation>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends MarkdownFileDocumentation>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'documentation': Property(
-                  getValue: (CT_ c) => c.documentation,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentation, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationAsHtml': Property(
-                  getValue: (CT_ c) => c.documentationAsHtml,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentationAsHtml, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationFile': Property(
-                  getValue: (CT_ c) => c.documentationFile,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'File'),
-                  isNullValue: (CT_ c) => c.documentationFile == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.documentationFile, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['File']!);
-                  },
-                ),
-                'documentedWhere': Property(
-                  getValue: (CT_ c) => c.documentedWhere,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'DocumentLocation'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.documentedWhere, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DocumentLocation']!);
-                  },
-                ),
-                'hasDocumentation': Property(
-                  getValue: (CT_ c) => c.hasDocumentation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDocumentation,
-                ),
-                'isDocumented': Property(
-                  getValue: (CT_ c) => c.isDocumented,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isDocumented,
-                ),
-                'location': Property(
-                  getValue: (CT_ c) => c.location,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.location, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'oneLineDoc': Property(
-                  getValue: (CT_ c) => c.oneLineDoc,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.oneLineDoc, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'documentation': Property(
+                getValue: (CT_ c) => c.documentation,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_MarkdownFileDocumentation(MarkdownFileDocumentation context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationAsHtml': Property(
+                getValue: (CT_ c) => c.documentationAsHtml,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentationAsHtml,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationFile': Property(
+                getValue: (CT_ c) => c.documentationFile,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'File'),
+
+                isNullValue: (CT_ c) => c.documentationFile == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.documentationFile,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['File']!,
+                  );
+                },
+              ),
+              'documentedWhere': Property(
+                getValue: (CT_ c) => c.documentedWhere,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DocumentLocation',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.documentedWhere,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DocumentLocation']!,
+                  );
+                },
+              ),
+              'hasDocumentation': Property(
+                getValue: (CT_ c) => c.hasDocumentation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDocumentation,
+              ),
+              'isDocumented': Property(
+                getValue: (CT_ c) => c.isDocumented,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isDocumented,
+              ),
+              'location': Property(
+                getValue: (CT_ c) => c.location,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.location, ast, r.template, sink, parent: r);
+                },
+              ),
+              'oneLineDoc': Property(
+                getValue: (CT_ c) => c.oneLineDoc,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.oneLineDoc,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_MarkdownFileDocumentation(
+    MarkdownFileDocumentation context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<MarkdownFileDocumentation>? getProperty(String key) {
@@ -9084,8 +14750,12 @@
 }
 
 void _render_Method(
-    Method context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  Method context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Method(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -9094,321 +14764,545 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Method>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_ContainerMember.propertyMap<CT_>(),
-                ..._Renderer_Inheritable.propertyMap<CT_>(),
-                ..._Renderer_TypeParameters.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'attributes': Property(
-                  getValue: (CT_ c) => c.attributes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Set<Attribute>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.attributes.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Attribute']!));
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'characterLocation': Property(
-                  getValue: (CT_ c) => c.characterLocation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CharacterLocation'),
-                  isNullValue: (CT_ c) => c.characterLocation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.characterLocation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CharacterLocation']!);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'MethodElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['MethodElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'enclosingExtension': Property(
-                  getValue: (CT_ c) => c.enclosingExtension,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Extension.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Extension,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Extension(
-                        c.enclosingExtension, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullkind': Property(
-                  getValue: (CT_ c) => c.fullkind,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullkind, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isCovariant': Property(
-                  getValue: (CT_ c) => c.isCovariant,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCovariant,
-                ),
-                'isInherited': Property(
-                  getValue: (CT_ c) => c.isInherited,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInherited,
-                ),
-                'isOperator': Property(
-                  getValue: (CT_ c) => c.isOperator,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isOperator,
-                ),
-                'isProvidedByExtension': Property(
-                  getValue: (CT_ c) => c.isProvidedByExtension,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isProvidedByExtension,
-                ),
-                'isStatic': Property(
-                  getValue: (CT_ c) => c.isStatic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isStatic,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Callable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Callable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Callable(c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'originalMember': Property(
-                  getValue: (CT_ c) => c.originalMember,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'ExecutableMember'),
-                  isNullValue: (CT_ c) => c.originalMember == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.originalMember, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['ExecutableMember']!);
-                  },
-                ),
-                'overriddenElement': Property(
-                  getValue: (CT_ c) => c.overriddenElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Method.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Method,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.overriddenElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Method(c.overriddenElement!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'typeParameters': Property(
-                  getValue: (CT_ c) => c.typeParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TypeParameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeParameters.map((e) => _render_TypeParameter(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_ContainerMember.propertyMap<CT_>(),
+              ..._Renderer_Inheritable.propertyMap<CT_>(),
+              ..._Renderer_TypeParameters.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Method(Method context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'attributes': Property(
+                getValue: (CT_ c) => c.attributes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Set<Attribute>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.attributes.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Attribute']!,
+                    ),
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'characterLocation': Property(
+                getValue: (CT_ c) => c.characterLocation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CharacterLocation',
+                        ),
+
+                isNullValue: (CT_ c) => c.characterLocation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.characterLocation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CharacterLocation']!,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'MethodElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['MethodElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'enclosingExtension': Property(
+                getValue: (CT_ c) => c.enclosingExtension,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Extension.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Extension,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Extension(
+                    c.enclosingExtension,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fullkind': Property(
+                getValue: (CT_ c) => c.fullkind,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fullkind, ast, r.template, sink, parent: r);
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isCovariant': Property(
+                getValue: (CT_ c) => c.isCovariant,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCovariant,
+              ),
+              'isInherited': Property(
+                getValue: (CT_ c) => c.isInherited,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInherited,
+              ),
+              'isOperator': Property(
+                getValue: (CT_ c) => c.isOperator,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isOperator,
+              ),
+              'isProvidedByExtension': Property(
+                getValue: (CT_ c) => c.isProvidedByExtension,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isProvidedByExtension,
+              ),
+              'isStatic': Property(
+                getValue: (CT_ c) => c.isStatic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isStatic,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Callable.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Callable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Callable(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'originalMember': Property(
+                getValue: (CT_ c) => c.originalMember,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ExecutableMember',
+                        ),
+
+                isNullValue: (CT_ c) => c.originalMember == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.originalMember,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ExecutableMember']!,
+                  );
+                },
+              ),
+              'overriddenElement': Property(
+                getValue: (CT_ c) => c.overriddenElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Method.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Method,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.overriddenElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Method(
+                    c.overriddenElement!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'typeParameters': Property(
+                getValue: (CT_ c) => c.typeParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TypeParameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeParameters.map(
+                    (e) => _render_TypeParameter(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Method(
+    Method context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Method>? getProperty(String key) {
@@ -9426,203 +15320,327 @@
   return buffer.toString();
 }
 
-void _render_MethodTemplateData(MethodTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_MethodTemplateData(
+  MethodTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_MethodTemplateData(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_MethodTemplateData extends RendererBase<MethodTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends MethodTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends MethodTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<Method, CT_>(),
-                ..._Renderer_TwoDirectoriesDown.propertyMap<Method, CT_>(),
-                'container': Property(
-                  getValue: (CT_ c) => c.container,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.container, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'method': Property(
-                  getValue: (CT_ c) => c.method,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Method.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Method,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Method(c.method, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'navLinksWithGenerics': Property(
-                  getValue: (CT_ c) => c.navLinksWithGenerics,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Container>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinksWithGenerics.map((e) =>
-                        _render_Container(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Method.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Method,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Method(c.self, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<Method, CT_>(),
+              ..._Renderer_TwoDirectoriesDown.propertyMap<Method, CT_>(),
+              'container': Property(
+                getValue: (CT_ c) => c.container,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_MethodTemplateData(MethodTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.container,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'method': Property(
+                getValue: (CT_ c) => c.method,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Method.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Method,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Method(c.method, ast, r.template, sink, parent: r);
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'navLinksWithGenerics': Property(
+                getValue: (CT_ c) => c.navLinksWithGenerics,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Container>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinksWithGenerics.map(
+                    (e) =>
+                        _render_Container(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Method.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Method,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Method(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_MethodTemplateData(
+    MethodTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<MethodTemplateData>? getProperty(String key) {
@@ -9638,53 +15656,88 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends MixedInTypes>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'hasModifiers': Property(
-                  getValue: (CT_ c) => c.hasModifiers,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasModifiers,
-                ),
-                'hasPublicMixedInTypes': Property(
-                  getValue: (CT_ c) => c.hasPublicMixedInTypes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicMixedInTypes,
-                ),
-                'mixedInTypes': Property(
-                  getValue: (CT_ c) => c.mixedInTypes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<DefinedElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.mixedInTypes.map((e) => _render_DefinedElementType(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'publicMixedInTypes': Property(
-                  getValue: (CT_ c) => c.publicMixedInTypes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<DefinedElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicMixedInTypes.map((e) =>
-                        _render_DefinedElementType(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'hasModifiers': Property(
+                getValue: (CT_ c) => c.hasModifiers,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
 
-  _Renderer_MixedInTypes(MixedInTypes context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                getBool: (CT_ c) => c.hasModifiers,
+              ),
+              'hasPublicMixedInTypes': Property(
+                getValue: (CT_ c) => c.hasPublicMixedInTypes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicMixedInTypes,
+              ),
+              'mixedInTypes': Property(
+                getValue: (CT_ c) => c.mixedInTypes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<DefinedElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.mixedInTypes.map(
+                    (e) => _render_DefinedElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicMixedInTypes': Property(
+                getValue: (CT_ c) => c.publicMixedInTypes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<DefinedElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicMixedInTypes.map(
+                    (e) => _render_DefinedElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_MixedInTypes(
+    MixedInTypes context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<MixedInTypes>? getProperty(String key) {
@@ -9697,8 +15750,12 @@
 }
 
 void _render_Mixin(
-    Mixin context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  Mixin context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Mixin(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -9707,202 +15764,324 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Mixin>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_InheritingContainer.propertyMap<CT_>(),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'MixinElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['MixinElement']!);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasModifiers': Property(
-                  getValue: (CT_ c) => c.hasModifiers,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasModifiers,
-                ),
-                'hasPublicSuperclassConstraints': Property(
-                  getValue: (CT_ c) => c.hasPublicSuperclassConstraints,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicSuperclassConstraints,
-                ),
-                'inheritanceChain': Property(
-                  getValue: (CT_ c) => c.inheritanceChain,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<InheritingContainer>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.inheritanceChain.map((e) =>
-                        _render_InheritingContainer(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'isAbstract': Property(
-                  getValue: (CT_ c) => c.isAbstract,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isAbstract,
-                ),
-                'isBase': Property(
-                  getValue: (CT_ c) => c.isBase,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isBase,
-                ),
-                'isFinal': Property(
-                  getValue: (CT_ c) => c.isFinal,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isFinal,
-                ),
-                'isImplementableInterface': Property(
-                  getValue: (CT_ c) => c.isImplementableInterface,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isImplementableInterface,
-                ),
-                'isMixinClass': Property(
-                  getValue: (CT_ c) => c.isMixinClass,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isMixinClass,
-                ),
-                'isSealed': Property(
-                  getValue: (CT_ c) => c.isSealed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSealed,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'publicSuperclassConstraints': Property(
-                  getValue: (CT_ c) => c.publicSuperclassConstraints,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames,
-                          'Iterable<ParameterizedElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicSuperclassConstraints.map((e) =>
-                        _render_ParameterizedElementType(
-                            e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'relationshipsClass': Property(
-                  getValue: (CT_ c) => c.relationshipsClass,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.relationshipsClass, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sidebarPath': Property(
-                  getValue: (CT_ c) => c.sidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'superclassConstraints': Property(
-                  getValue: (CT_ c) => c.superclassConstraints,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ParameterizedElementType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.superclassConstraints.map((e) =>
-                        _render_ParameterizedElementType(
-                            e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_InheritingContainer.propertyMap<CT_>(),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'MixinElement',
+                        ),
 
-  _Renderer_Mixin(Mixin context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['MixinElement']!,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'hasModifiers': Property(
+                getValue: (CT_ c) => c.hasModifiers,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasModifiers,
+              ),
+              'hasPublicSuperclassConstraints': Property(
+                getValue: (CT_ c) => c.hasPublicSuperclassConstraints,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicSuperclassConstraints,
+              ),
+              'inheritanceChain': Property(
+                getValue: (CT_ c) => c.inheritanceChain,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<InheritingContainer>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.inheritanceChain.map(
+                    (e) => _render_InheritingContainer(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'isAbstract': Property(
+                getValue: (CT_ c) => c.isAbstract,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isAbstract,
+              ),
+              'isBase': Property(
+                getValue: (CT_ c) => c.isBase,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isBase,
+              ),
+              'isFinal': Property(
+                getValue: (CT_ c) => c.isFinal,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isFinal,
+              ),
+              'isImplementableInterface': Property(
+                getValue: (CT_ c) => c.isImplementableInterface,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isImplementableInterface,
+              ),
+              'isMixinClass': Property(
+                getValue: (CT_ c) => c.isMixinClass,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isMixinClass,
+              ),
+              'isSealed': Property(
+                getValue: (CT_ c) => c.isSealed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSealed,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'publicSuperclassConstraints': Property(
+                getValue: (CT_ c) => c.publicSuperclassConstraints,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<ParameterizedElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicSuperclassConstraints.map(
+                    (e) => _render_ParameterizedElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'relationshipsClass': Property(
+                getValue: (CT_ c) => c.relationshipsClass,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.relationshipsClass,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sidebarPath': Property(
+                getValue: (CT_ c) => c.sidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'superclassConstraints': Property(
+                getValue: (CT_ c) => c.superclassConstraints,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ParameterizedElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.superclassConstraints.map(
+                    (e) => _render_ParameterizedElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Mixin(
+    Mixin context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Mixin>? getProperty(String key) {
@@ -9920,69 +16099,102 @@
   return buffer.toString();
 }
 
-void _render_MixinTemplateData(MixinTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_MixinTemplateData(
+  MixinTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_MixinTemplateData(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_MixinTemplateData extends RendererBase<MixinTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends MixinTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends MixinTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_InheritingContainerTemplateData.propertyMap<Mixin,
-                    CT_>(),
-                'mixin': Property(
-                  getValue: (CT_ c) => c.mixin,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Mixin.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Mixin,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Mixin(c.mixin, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Mixin.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Mixin,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Mixin(c.self, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_InheritingContainerTemplateData.propertyMap<
+                Mixin,
+                CT_
+              >(),
+              'mixin': Property(
+                getValue: (CT_ c) => c.mixin,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Mixin.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Mixin,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_MixinTemplateData(MixinTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Mixin(c.mixin, ast, r.template, sink, parent: r);
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Mixin.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Mixin,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Mixin(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_MixinTemplateData(
+    MixinTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<MixinTemplateData>? getProperty(String key) {
@@ -9994,9 +16206,13 @@
   }
 }
 
-void _render_ModelElement(ModelElement context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_ModelElement(
+  ModelElement context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_ModelElement(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -10005,850 +16221,1384 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends ModelElement>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                ..._Renderer_CommentReferable.propertyMap<CT_>(),
-                ..._Renderer_Warnable.propertyMap<CT_>(),
-                ..._Renderer_Locatable.propertyMap<CT_>(),
-                ..._Renderer_Nameable.propertyMap<CT_>(),
-                ..._Renderer_SourceCode.propertyMap<CT_>(),
-                ..._Renderer_FeatureSet.propertyMap<CT_>(),
-                ..._Renderer_DocumentationComment.propertyMap<CT_>(),
-                'annotations': Property(
-                  getValue: (CT_ c) => c.annotations,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Annotation>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.annotations.map((e) => _render_Annotation(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'attributes': Property(
-                  getValue: (CT_ c) => c.attributes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Set<Attribute>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.attributes.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Attribute']!));
-                  },
-                ),
-                'attributesAsString': Property(
-                  getValue: (CT_ c) => c.attributesAsString,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.attributesAsString, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'canonicalLibrary': Property(
-                  getValue: (CT_ c) => c.canonicalLibrary,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.canonicalLibrary == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.canonicalLibrary!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'canonicalLibraryOrThrow': Property(
-                  getValue: (CT_ c) => c.canonicalLibraryOrThrow,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(
-                        c.canonicalLibraryOrThrow, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'canonicalModelElement': Property(
-                  getValue: (CT_ c) => c.canonicalModelElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.canonicalModelElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.canonicalModelElement!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'characterLocation': Property(
-                  getValue: (CT_ c) => c.characterLocation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CharacterLocation'),
-                  isNullValue: (CT_ c) => c.characterLocation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.characterLocation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CharacterLocation']!);
-                  },
-                ),
-                'compilationUnitElement': Property(
-                  getValue: (CT_ c) => c.compilationUnitElement,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CompilationUnitElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(
-                        c.compilationUnitElement, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CompilationUnitElement']!);
-                  },
-                ),
-                'config': Property(
-                  getValue: (CT_ c) => c.config,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'DartdocOptionContext'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.config, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DartdocOptionContext']!);
-                  },
-                ),
-                'displayedCategories': Property(
-                  getValue: (CT_ c) => c.displayedCategories,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Category?>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.displayedCategories.map((e) =>
-                        _render_Category(e!, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'documentation': Property(
-                  getValue: (CT_ c) => c.documentation,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentation, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Element'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Element']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.enclosingElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.enclosingElement!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'filePath': Property(
-                  getValue: (CT_ c) => c.filePath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.filePath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullyQualifiedName': Property(
-                  getValue: (CT_ c) => c.fullyQualifiedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullyQualifiedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasAnnotations': Property(
-                  getValue: (CT_ c) => c.hasAnnotations,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasAnnotations,
-                ),
-                'hasAttributes': Property(
-                  getValue: (CT_ c) => c.hasAttributes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasAttributes,
-                ),
-                'hasCategoryNames': Property(
-                  getValue: (CT_ c) => c.hasCategoryNames,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasCategoryNames,
-                ),
-                'hasDocumentation': Property(
-                  getValue: (CT_ c) => c.hasDocumentation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDocumentation,
-                ),
-                'hasParameters': Property(
-                  getValue: (CT_ c) => c.hasParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasParameters,
-                ),
-                'hasSourceHref': Property(
-                  getValue: (CT_ c) => c.hasSourceHref,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasSourceHref,
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'htmlId': Property(
-                  getValue: (CT_ c) => c.htmlId,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.htmlId, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isCallable': Property(
-                  getValue: (CT_ c) => c.isCallable,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCallable,
-                ),
-                'isCanonical': Property(
-                  getValue: (CT_ c) => c.isCanonical,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCanonical,
-                ),
-                'isConst': Property(
-                  getValue: (CT_ c) => c.isConst,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isConst,
-                ),
-                'isDeprecated': Property(
-                  getValue: (CT_ c) => c.isDeprecated,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isDeprecated,
-                ),
-                'isDocumented': Property(
-                  getValue: (CT_ c) => c.isDocumented,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isDocumented,
-                ),
-                'isEnumValue': Property(
-                  getValue: (CT_ c) => c.isEnumValue,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isEnumValue,
-                ),
-                'isFinal': Property(
-                  getValue: (CT_ c) => c.isFinal,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isFinal,
-                ),
-                'isLate': Property(
-                  getValue: (CT_ c) => c.isLate,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isLate,
-                ),
-                'isPublic': Property(
-                  getValue: (CT_ c) => c.isPublic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublic,
-                ),
-                'isPublicAndPackageDocumented': Property(
-                  getValue: (CT_ c) => c.isPublicAndPackageDocumented,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublicAndPackageDocumented,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedName': Property(
-                  getValue: (CT_ c) => c.linkedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedObjectType': Property(
-                  getValue: (CT_ c) => c.linkedObjectType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedObjectType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedParams': Property(
-                  getValue: (CT_ c) => c.linkedParams,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedParams, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedParamsLines': Property(
-                  getValue: (CT_ c) => c.linkedParamsLines,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedParamsLines, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'linkedParamsNoMetadata': Property(
-                  getValue: (CT_ c) => c.linkedParamsNoMetadata,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.linkedParamsNoMetadata == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.linkedParamsNoMetadata!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'location': Property(
-                  getValue: (CT_ c) => c.location,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.location, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'modelNode': Property(
-                  getValue: (CT_ c) => c.modelNode,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'ModelNode'),
-                  isNullValue: (CT_ c) => c.modelNode == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.modelNode, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['ModelNode']!);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'oneLineDoc': Property(
-                  getValue: (CT_ c) => c.oneLineDoc,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.oneLineDoc, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'originalMember': Property(
-                  getValue: (CT_ c) => c.originalMember,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Member'),
-                  isNullValue: (CT_ c) => c.originalMember == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.originalMember, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Member']!);
-                  },
-                ),
-                'package': Property(
-                  getValue: (CT_ c) => c.package,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Package.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Package,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Package(c.package, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'packageGraph': Property(
-                  getValue: (CT_ c) => c.packageGraph,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageGraph'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageGraph, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageGraph']!);
-                  },
-                ),
-                'parameters': Property(
-                  getValue: (CT_ c) => c.parameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Parameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.parameters.map((e) =>
-                        _render_Parameter(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'pathContext': Property(
-                  getValue: (CT_ c) => c.pathContext,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Context'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.pathContext, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Context']!);
-                  },
-                ),
-                'qualifiedName': Property(
-                  getValue: (CT_ c) => c.qualifiedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.qualifiedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sourceCode': Property(
-                  getValue: (CT_ c) => c.sourceCode,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sourceCode, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sourceFileName': Property(
-                  getValue: (CT_ c) => c.sourceFileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sourceFileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'sourceHref': Property(
-                  getValue: (CT_ c) => c.sourceHref,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sourceHref, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              ..._Renderer_CommentReferable.propertyMap<CT_>(),
+              ..._Renderer_Warnable.propertyMap<CT_>(),
+              ..._Renderer_Locatable.propertyMap<CT_>(),
+              ..._Renderer_Nameable.propertyMap<CT_>(),
+              ..._Renderer_SourceCode.propertyMap<CT_>(),
+              ..._Renderer_FeatureSet.propertyMap<CT_>(),
+              ..._Renderer_DocumentationComment.propertyMap<CT_>(),
+              'annotations': Property(
+                getValue: (CT_ c) => c.annotations,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Annotation>',
+                        ),
 
-  _Renderer_ModelElement(ModelElement context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.annotations.map(
+                    (e) =>
+                        _render_Annotation(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'attributes': Property(
+                getValue: (CT_ c) => c.attributes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Set<Attribute>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.attributes.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Attribute']!,
+                    ),
+                  );
+                },
+              ),
+              'attributesAsString': Property(
+                getValue: (CT_ c) => c.attributesAsString,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.attributesAsString,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'canonicalLibrary': Property(
+                getValue: (CT_ c) => c.canonicalLibrary,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.canonicalLibrary == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.canonicalLibrary!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'canonicalLibraryOrThrow': Property(
+                getValue: (CT_ c) => c.canonicalLibraryOrThrow,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.canonicalLibraryOrThrow,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'canonicalModelElement': Property(
+                getValue: (CT_ c) => c.canonicalModelElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.canonicalModelElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.canonicalModelElement!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'characterLocation': Property(
+                getValue: (CT_ c) => c.characterLocation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CharacterLocation',
+                        ),
+
+                isNullValue: (CT_ c) => c.characterLocation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.characterLocation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CharacterLocation']!,
+                  );
+                },
+              ),
+              'compilationUnitElement': Property(
+                getValue: (CT_ c) => c.compilationUnitElement,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CompilationUnitElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.compilationUnitElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CompilationUnitElement']!,
+                  );
+                },
+              ),
+              'config': Property(
+                getValue: (CT_ c) => c.config,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DartdocOptionContext',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.config,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DartdocOptionContext']!,
+                  );
+                },
+              ),
+              'displayedCategories': Property(
+                getValue: (CT_ c) => c.displayedCategories,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Category?>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.displayedCategories.map(
+                    (e) =>
+                        _render_Category(e!, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'documentation': Property(
+                getValue: (CT_ c) => c.documentation,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Element'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Element']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.enclosingElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.enclosingElement!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'filePath': Property(
+                getValue: (CT_ c) => c.filePath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.filePath, ast, r.template, sink, parent: r);
+                },
+              ),
+              'fullyQualifiedName': Property(
+                getValue: (CT_ c) => c.fullyQualifiedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.fullyQualifiedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasAnnotations': Property(
+                getValue: (CT_ c) => c.hasAnnotations,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasAnnotations,
+              ),
+              'hasAttributes': Property(
+                getValue: (CT_ c) => c.hasAttributes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasAttributes,
+              ),
+              'hasCategoryNames': Property(
+                getValue: (CT_ c) => c.hasCategoryNames,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasCategoryNames,
+              ),
+              'hasDocumentation': Property(
+                getValue: (CT_ c) => c.hasDocumentation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDocumentation,
+              ),
+              'hasParameters': Property(
+                getValue: (CT_ c) => c.hasParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasParameters,
+              ),
+              'hasSourceHref': Property(
+                getValue: (CT_ c) => c.hasSourceHref,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasSourceHref,
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'htmlId': Property(
+                getValue: (CT_ c) => c.htmlId,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.htmlId, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isCallable': Property(
+                getValue: (CT_ c) => c.isCallable,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCallable,
+              ),
+              'isCanonical': Property(
+                getValue: (CT_ c) => c.isCanonical,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCanonical,
+              ),
+              'isConst': Property(
+                getValue: (CT_ c) => c.isConst,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isConst,
+              ),
+              'isDeprecated': Property(
+                getValue: (CT_ c) => c.isDeprecated,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isDeprecated,
+              ),
+              'isDocumented': Property(
+                getValue: (CT_ c) => c.isDocumented,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isDocumented,
+              ),
+              'isEnumValue': Property(
+                getValue: (CT_ c) => c.isEnumValue,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isEnumValue,
+              ),
+              'isFinal': Property(
+                getValue: (CT_ c) => c.isFinal,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isFinal,
+              ),
+              'isLate': Property(
+                getValue: (CT_ c) => c.isLate,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isLate,
+              ),
+              'isPublic': Property(
+                getValue: (CT_ c) => c.isPublic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublic,
+              ),
+              'isPublicAndPackageDocumented': Property(
+                getValue: (CT_ c) => c.isPublicAndPackageDocumented,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublicAndPackageDocumented,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'linkedName': Property(
+                getValue: (CT_ c) => c.linkedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'linkedObjectType': Property(
+                getValue: (CT_ c) => c.linkedObjectType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedObjectType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'linkedParams': Property(
+                getValue: (CT_ c) => c.linkedParams,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedParams,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'linkedParamsLines': Property(
+                getValue: (CT_ c) => c.linkedParamsLines,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedParamsLines,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'linkedParamsNoMetadata': Property(
+                getValue: (CT_ c) => c.linkedParamsNoMetadata,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.linkedParamsNoMetadata == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedParamsNoMetadata!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'location': Property(
+                getValue: (CT_ c) => c.location,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.location, ast, r.template, sink, parent: r);
+                },
+              ),
+              'modelNode': Property(
+                getValue: (CT_ c) => c.modelNode,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ModelNode',
+                        ),
+
+                isNullValue: (CT_ c) => c.modelNode == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.modelNode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ModelNode']!,
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'oneLineDoc': Property(
+                getValue: (CT_ c) => c.oneLineDoc,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.oneLineDoc,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'originalMember': Property(
+                getValue: (CT_ c) => c.originalMember,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Member'),
+
+                isNullValue: (CT_ c) => c.originalMember == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.originalMember,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Member']!,
+                  );
+                },
+              ),
+              'package': Property(
+                getValue: (CT_ c) => c.package,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Package.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Package,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Package(c.package, ast, r.template, sink, parent: r);
+                },
+              ),
+              'packageGraph': Property(
+                getValue: (CT_ c) => c.packageGraph,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageGraph',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageGraph,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageGraph']!,
+                  );
+                },
+              ),
+              'parameters': Property(
+                getValue: (CT_ c) => c.parameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Parameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.parameters.map(
+                    (e) =>
+                        _render_Parameter(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'pathContext': Property(
+                getValue: (CT_ c) => c.pathContext,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Context'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.pathContext,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Context']!,
+                  );
+                },
+              ),
+              'qualifiedName': Property(
+                getValue: (CT_ c) => c.qualifiedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.qualifiedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sourceCode': Property(
+                getValue: (CT_ c) => c.sourceCode,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sourceCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sourceFileName': Property(
+                getValue: (CT_ c) => c.sourceFileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sourceFileName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'sourceHref': Property(
+                getValue: (CT_ c) => c.sourceHref,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sourceHref,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ModelElement(
+    ModelElement context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ModelElement>? getProperty(String key) {
@@ -10860,9 +17610,13 @@
   }
 }
 
-void _render_ModelFunction(ModelFunction context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_ModelFunction(
+  ModelFunction context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_ModelFunction(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -10871,64 +17625,96 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends ModelFunction>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelFunctionTyped.propertyMap<CT_>(),
-                ..._Renderer_Categorization.propertyMap<CT_>(),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'FunctionElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['FunctionElement']!);
-                  },
-                ),
-                'isAsynchronous': Property(
-                  getValue: (CT_ c) => c.isAsynchronous,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isAsynchronous,
-                ),
-                'isStatic': Property(
-                  getValue: (CT_ c) => c.isStatic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isStatic,
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelFunctionTyped.propertyMap<CT_>(),
+              ..._Renderer_Categorization.propertyMap<CT_>(),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'FunctionElement',
+                        ),
 
-  _Renderer_ModelFunction(ModelFunction context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['FunctionElement']!,
+                  );
+                },
+              ),
+              'isAsynchronous': Property(
+                getValue: (CT_ c) => c.isAsynchronous,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isAsynchronous,
+              ),
+              'isStatic': Property(
+                getValue: (CT_ c) => c.isStatic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isStatic,
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ModelFunction(
+    ModelFunction context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ModelFunction>? getProperty(String key) {
@@ -10940,261 +17726,441 @@
   }
 }
 
-void _render_ModelFunctionTyped(ModelFunctionTyped context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_ModelFunctionTyped(
+  ModelFunctionTyped context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_ModelFunctionTyped(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_ModelFunctionTyped extends RendererBase<ModelFunctionTyped> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends ModelFunctionTyped>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends ModelFunctionTyped>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_TypeParameters.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'FunctionTypedElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['FunctionTypedElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'enclosingExtension': Property(
-                  getValue: (CT_ c) => c.enclosingExtension,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Extension.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Extension,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Extension(
-                        c.enclosingExtension, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isInherited': Property(
-                  getValue: (CT_ c) => c.isInherited,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInherited,
-                ),
-                'isProvidedByExtension': Property(
-                  getValue: (CT_ c) => c.isProvidedByExtension,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isProvidedByExtension,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Callable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Callable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Callable(c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'typeParameters': Property(
-                  getValue: (CT_ c) => c.typeParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TypeParameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeParameters.map((e) => _render_TypeParameter(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_TypeParameters.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_ModelFunctionTyped(ModelFunctionTyped context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'FunctionTypedElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['FunctionTypedElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'enclosingExtension': Property(
+                getValue: (CT_ c) => c.enclosingExtension,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Extension.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Extension,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Extension(
+                    c.enclosingExtension,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isInherited': Property(
+                getValue: (CT_ c) => c.isInherited,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInherited,
+              ),
+              'isProvidedByExtension': Property(
+                getValue: (CT_ c) => c.isProvidedByExtension,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isProvidedByExtension,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Callable.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Callable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Callable(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'typeParameters': Property(
+                getValue: (CT_ c) => c.typeParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TypeParameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeParameters.map(
+                    (e) => _render_TypeParameter(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ModelFunctionTyped(
+    ModelFunctionTyped context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ModelFunctionTyped>? getProperty(String key) {
@@ -11210,120 +18176,200 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Nameable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'breadcrumbName': Property(
-                  getValue: (CT_ c) => c.breadcrumbName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.breadcrumbName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'displayName': Property(
-                  getValue: (CT_ c) => c.displayName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.displayName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullyQualifiedName': Property(
-                  getValue: (CT_ c) => c.fullyQualifiedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullyQualifiedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'isPublic': Property(
-                  getValue: (CT_ c) => c.isPublic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublic,
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'packageGraph': Property(
-                  getValue: (CT_ c) => c.packageGraph,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageGraph'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageGraph, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageGraph']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'breadcrumbName': Property(
+                getValue: (CT_ c) => c.breadcrumbName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Nameable(Nameable context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.breadcrumbName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'displayName': Property(
+                getValue: (CT_ c) => c.displayName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.displayName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fullyQualifiedName': Property(
+                getValue: (CT_ c) => c.fullyQualifiedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.fullyQualifiedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'isPublic': Property(
+                getValue: (CT_ c) => c.isPublic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublic,
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'packageGraph': Property(
+                getValue: (CT_ c) => c.packageGraph,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageGraph',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageGraph,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageGraph']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Nameable(
+    Nameable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Nameable>? getProperty(String key) {
@@ -11339,25 +18385,42 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Object>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'hashCode': Property(
-                  getValue: (CT_ c) => c.hashCode,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.hashCode, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'hashCode': Property(
+                getValue: (CT_ c) => c.hashCode,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
 
-  _Renderer_Object(Object context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.hashCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Object(
+    Object context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Object>? getProperty(String key) {
@@ -11373,37 +18436,52 @@
     extends RendererBase<OneDirectoryDown<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>>
-      propertyMap<T extends Documentable, CT_ extends OneDirectoryDown>() =>
-          _propertyMapCache.putIfAbsent(
-              CT_,
-              () => {
-                    'htmlBase': Property(
-                      getValue: (CT_ c) => c.htmlBase,
-                      renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) {
-                        if (remainingNames.isEmpty) {
-                          return self.getValue(c).toString();
-                        }
-                        var name = remainingNames.first;
-                        var nextProperty =
-                            _Renderer_String.propertyMap().getValue(name);
-                        return nextProperty.renderVariable(
-                            self.getValue(c) as String,
-                            nextProperty,
-                            [...remainingNames.skip(1)]);
-                      },
-                      isNullValue: (CT_ c) => false,
-                      renderValue: (CT_ c, RendererBase<CT_> r,
-                          List<MustachioNode> ast, StringSink sink) {
-                        _render_String(c.htmlBase, ast, r.template, sink,
-                            parent: r);
-                      },
-                    ),
-                  }) as Map<String, Property<CT_>>;
+  propertyMap<T extends Documentable, CT_ extends OneDirectoryDown>() =>
+      _propertyMapCache.putIfAbsent(
+            CT_,
+            () => {
+              'htmlBase': Property(
+                getValue: (CT_ c) => c.htmlBase,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_OneDirectoryDown(OneDirectoryDown<T> context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.htmlBase, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_OneDirectoryDown(
+    OneDirectoryDown<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<OneDirectoryDown<T>>? getProperty(String key) {
@@ -11415,9 +18493,13 @@
   }
 }
 
-void _render_Operator(Operator context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Operator(
+  Operator context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Operator(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -11426,108 +18508,167 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Operator>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Method.propertyMap<CT_>(),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullyQualifiedName': Property(
-                  getValue: (CT_ c) => c.fullyQualifiedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullyQualifiedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'isOperator': Property(
-                  getValue: (CT_ c) => c.isOperator,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isOperator,
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'referenceName': Property(
-                  getValue: (CT_ c) => c.referenceName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.referenceName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Method.propertyMap<CT_>(),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Operator(Operator context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'fullyQualifiedName': Property(
+                getValue: (CT_ c) => c.fullyQualifiedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.fullyQualifiedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'isOperator': Property(
+                getValue: (CT_ c) => c.isOperator,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isOperator,
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'referenceName': Property(
+                getValue: (CT_ c) => c.referenceName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.referenceName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Operator(
+    Operator context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Operator>? getProperty(String key) {
@@ -11539,9 +18680,13 @@
   }
 }
 
-void _render_Package(Package context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Package(
+  Package context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Package(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -11550,698 +18695,1171 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Package>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_LibraryContainer.propertyMap<CT_>(),
-                ..._Renderer_Nameable.propertyMap<CT_>(),
-                ..._Renderer_Locatable.propertyMap<CT_>(),
-                ..._Renderer_Warnable.propertyMap<CT_>(),
-                ..._Renderer_CommentReferable.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.aboveSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'allLibraries': Property(
-                  getValue: (CT_ c) => c.allLibraries,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Set<Library>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.allLibraries.map((e) =>
-                        _render_Library(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'baseHref': Property(
-                  getValue: (CT_ c) => c.baseHref,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.baseHref, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'categories': Property(
-                  getValue: (CT_ c) => c.categories,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Category>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.categories.map((e) =>
-                        _render_Category(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'categoriesWithPublicLibraries': Property(
-                  getValue: (CT_ c) => c.categoriesWithPublicLibraries,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Category>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.categoriesWithPublicLibraries.map((e) =>
-                        _render_Category(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'config': Property(
-                  getValue: (CT_ c) => c.config,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'DartdocOptionContext'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.config, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DartdocOptionContext']!);
-                  },
-                ),
-                'containerOrder': Property(
-                  getValue: (CT_ c) => c.containerOrder,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<String>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.containerOrder.map((e) =>
-                        _render_String(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'defaultCategory': Property(
-                  getValue: (CT_ c) => c.defaultCategory,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Category.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Category,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Category(c.defaultCategory, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentation': Property(
-                  getValue: (CT_ c) => c.documentation,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.documentation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentation!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationAsHtml': Property(
-                  getValue: (CT_ c) => c.documentationAsHtml,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentationAsHtml, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentationFrom': Property(
-                  getValue: (CT_ c) => c.documentationFrom,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Locatable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.documentationFrom.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Locatable']!));
-                  },
-                ),
-                'documentedCategoriesSorted': Property(
-                  getValue: (CT_ c) => c.documentedCategoriesSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Category>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.documentedCategoriesSorted.map((e) =>
-                        _render_Category(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'documentedWhere': Property(
-                  getValue: (CT_ c) => c.documentedWhere,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'DocumentLocation'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.documentedWhere, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['DocumentLocation']!);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Element'),
-                  isNullValue: (CT_ c) => c.element == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Element']!);
-                  },
-                ),
-                'enclosingName': Property(
-                  getValue: (CT_ c) => c.enclosingName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.enclosingName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'filePath': Property(
-                  getValue: (CT_ c) => c.filePath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.filePath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fullyQualifiedName': Property(
-                  getValue: (CT_ c) => c.fullyQualifiedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fullyQualifiedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasCategories': Property(
-                  getValue: (CT_ c) => c.hasCategories,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasCategories,
-                ),
-                'hasDocumentation': Property(
-                  getValue: (CT_ c) => c.hasDocumentation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDocumentation,
-                ),
-                'hasDocumentedCategories': Property(
-                  getValue: (CT_ c) => c.hasDocumentedCategories,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDocumentedCategories,
-                ),
-                'hasHomepage': Property(
-                  getValue: (CT_ c) => c.hasHomepage,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasHomepage,
-                ),
-                'homepage': Property(
-                  getValue: (CT_ c) => c.homepage,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.homepage, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isCanonical': Property(
-                  getValue: (CT_ c) => c.isCanonical,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCanonical,
-                ),
-                'isDocumented': Property(
-                  getValue: (CT_ c) => c.isDocumented,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isDocumented,
-                ),
-                'isFirstPackage': Property(
-                  getValue: (CT_ c) => c.isFirstPackage,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isFirstPackage,
-                ),
-                'isLocal': Property(
-                  getValue: (CT_ c) => c.isLocal,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isLocal,
-                ),
-                'isPublic': Property(
-                  getValue: (CT_ c) => c.isPublic,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isPublic,
-                ),
-                'isSdk': Property(
-                  getValue: (CT_ c) => c.isSdk,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isSdk,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'location': Property(
-                  getValue: (CT_ c) => c.location,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.location, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'nameToCategory': Property(
-                  getValue: (CT_ c) => c.nameToCategory,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String?, Category>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.nameToCategory, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'oneLineDoc': Property(
-                  getValue: (CT_ c) => c.oneLineDoc,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.oneLineDoc, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'package': Property(
-                  getValue: (CT_ c) => c.package,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Package.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Package,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Package(c.package, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'packageGraph': Property(
-                  getValue: (CT_ c) => c.packageGraph,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageGraph'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageGraph, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageGraph']!);
-                  },
-                ),
-                'packageMeta': Property(
-                  getValue: (CT_ c) => c.packageMeta,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'PackageMeta'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.packageMeta, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['PackageMeta']!);
-                  },
-                ),
-                'packagePath': Property(
-                  getValue: (CT_ c) => c.packagePath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.packagePath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceName': Property(
-                  getValue: (CT_ c) => c.referenceName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.referenceName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'toolInvocationIndex': Property(
-                  getValue: (CT_ c) => c.toolInvocationIndex,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.toolInvocationIndex, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-                'usedAnimationIdsByHref': Property(
-                  getValue: (CT_ c) => c.usedAnimationIdsByHref,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String?, Set<String>>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(
-                        c.usedAnimationIdsByHref, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'version': Property(
-                  getValue: (CT_ c) => c.version,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.version, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_LibraryContainer.propertyMap<CT_>(),
+              ..._Renderer_Nameable.propertyMap<CT_>(),
+              ..._Renderer_Locatable.propertyMap<CT_>(),
+              ..._Renderer_Warnable.propertyMap<CT_>(),
+              ..._Renderer_CommentReferable.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Package(Package context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.aboveSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'allLibraries': Property(
+                getValue: (CT_ c) => c.allLibraries,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Set<Library>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.allLibraries.map(
+                    (e) => _render_Library(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'baseHref': Property(
+                getValue: (CT_ c) => c.baseHref,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.baseHref, ast, r.template, sink, parent: r);
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'categories': Property(
+                getValue: (CT_ c) => c.categories,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Category>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.categories.map(
+                    (e) =>
+                        _render_Category(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'categoriesWithPublicLibraries': Property(
+                getValue: (CT_ c) => c.categoriesWithPublicLibraries,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Category>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.categoriesWithPublicLibraries.map(
+                    (e) =>
+                        _render_Category(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'config': Property(
+                getValue: (CT_ c) => c.config,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DartdocOptionContext',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.config,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DartdocOptionContext']!,
+                  );
+                },
+              ),
+              'containerOrder': Property(
+                getValue: (CT_ c) => c.containerOrder,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<String>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.containerOrder.map(
+                    (e) => _render_String(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'defaultCategory': Property(
+                getValue: (CT_ c) => c.defaultCategory,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Category.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Category,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Category(
+                    c.defaultCategory,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentation': Property(
+                getValue: (CT_ c) => c.documentation,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.documentation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentation!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationAsHtml': Property(
+                getValue: (CT_ c) => c.documentationAsHtml,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentationAsHtml,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentationFrom': Property(
+                getValue: (CT_ c) => c.documentationFrom,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Locatable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.documentationFrom.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Locatable']!,
+                    ),
+                  );
+                },
+              ),
+              'documentedCategoriesSorted': Property(
+                getValue: (CT_ c) => c.documentedCategoriesSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Category>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.documentedCategoriesSorted.map(
+                    (e) =>
+                        _render_Category(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'documentedWhere': Property(
+                getValue: (CT_ c) => c.documentedWhere,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DocumentLocation',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.documentedWhere,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DocumentLocation']!,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Element'),
+
+                isNullValue: (CT_ c) => c.element == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Element']!,
+                  );
+                },
+              ),
+              'enclosingName': Property(
+                getValue: (CT_ c) => c.enclosingName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.enclosingName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'filePath': Property(
+                getValue: (CT_ c) => c.filePath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.filePath, ast, r.template, sink, parent: r);
+                },
+              ),
+              'fullyQualifiedName': Property(
+                getValue: (CT_ c) => c.fullyQualifiedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.fullyQualifiedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasCategories': Property(
+                getValue: (CT_ c) => c.hasCategories,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasCategories,
+              ),
+              'hasDocumentation': Property(
+                getValue: (CT_ c) => c.hasDocumentation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDocumentation,
+              ),
+              'hasDocumentedCategories': Property(
+                getValue: (CT_ c) => c.hasDocumentedCategories,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDocumentedCategories,
+              ),
+              'hasHomepage': Property(
+                getValue: (CT_ c) => c.hasHomepage,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasHomepage,
+              ),
+              'homepage': Property(
+                getValue: (CT_ c) => c.homepage,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.homepage, ast, r.template, sink, parent: r);
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isCanonical': Property(
+                getValue: (CT_ c) => c.isCanonical,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCanonical,
+              ),
+              'isDocumented': Property(
+                getValue: (CT_ c) => c.isDocumented,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isDocumented,
+              ),
+              'isFirstPackage': Property(
+                getValue: (CT_ c) => c.isFirstPackage,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isFirstPackage,
+              ),
+              'isLocal': Property(
+                getValue: (CT_ c) => c.isLocal,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isLocal,
+              ),
+              'isPublic': Property(
+                getValue: (CT_ c) => c.isPublic,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isPublic,
+              ),
+              'isSdk': Property(
+                getValue: (CT_ c) => c.isSdk,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isSdk,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'location': Property(
+                getValue: (CT_ c) => c.location,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.location, ast, r.template, sink, parent: r);
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'nameToCategory': Property(
+                getValue: (CT_ c) => c.nameToCategory,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String?, Category>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.nameToCategory,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'oneLineDoc': Property(
+                getValue: (CT_ c) => c.oneLineDoc,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.oneLineDoc,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'package': Property(
+                getValue: (CT_ c) => c.package,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Package.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Package,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Package(c.package, ast, r.template, sink, parent: r);
+                },
+              ),
+              'packageGraph': Property(
+                getValue: (CT_ c) => c.packageGraph,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageGraph',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageGraph,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageGraph']!,
+                  );
+                },
+              ),
+              'packageMeta': Property(
+                getValue: (CT_ c) => c.packageMeta,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'PackageMeta',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.packageMeta,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['PackageMeta']!,
+                  );
+                },
+              ),
+              'packagePath': Property(
+                getValue: (CT_ c) => c.packagePath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.packagePath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceName': Property(
+                getValue: (CT_ c) => c.referenceName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.referenceName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'toolInvocationIndex': Property(
+                getValue: (CT_ c) => c.toolInvocationIndex,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.toolInvocationIndex,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+              'usedAnimationIdsByHref': Property(
+                getValue: (CT_ c) => c.usedAnimationIdsByHref,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String?, Set<String>>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.usedAnimationIdsByHref,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'version': Property(
+                getValue: (CT_ c) => c.version,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.version, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Package(
+    Package context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Package>? getProperty(String key) {
@@ -12259,227 +19877,346 @@
   return buffer.toString();
 }
 
-void _render_PackageTemplateData(PackageTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_PackageTemplateData(
+  PackageTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_PackageTemplateData(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_PackageTemplateData extends RendererBase<PackageTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends PackageTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends PackageTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<Package, CT_>(),
-                'bareHref': Property(
-                  getValue: (CT_ c) => c.bareHref,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.bareHref, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasHomepage': Property(
-                  getValue: (CT_ c) => c.hasHomepage,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasHomepage,
-                ),
-                'homepage': Property(
-                  getValue: (CT_ c) => c.homepage,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.homepage, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'htmlBase': Property(
-                  getValue: (CT_ c) => c.htmlBase,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.htmlBase, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'includeVersion': Property(
-                  getValue: (CT_ c) => c.includeVersion,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.includeVersion,
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'package': Property(
-                  getValue: (CT_ c) => c.package,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Package.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Package,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Package(c.package, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Package.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Package,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Package(c.self, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<Package, CT_>(),
+              'bareHref': Property(
+                getValue: (CT_ c) => c.bareHref,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_PackageTemplateData(PackageTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.bareHref, ast, r.template, sink, parent: r);
+                },
+              ),
+              'hasHomepage': Property(
+                getValue: (CT_ c) => c.hasHomepage,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasHomepage,
+              ),
+              'homepage': Property(
+                getValue: (CT_ c) => c.homepage,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.homepage, ast, r.template, sink, parent: r);
+                },
+              ),
+              'htmlBase': Property(
+                getValue: (CT_ c) => c.htmlBase,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.htmlBase, ast, r.template, sink, parent: r);
+                },
+              ),
+              'includeVersion': Property(
+                getValue: (CT_ c) => c.includeVersion,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.includeVersion,
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'package': Property(
+                getValue: (CT_ c) => c.package,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Package.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Package,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Package(c.package, ast, r.template, sink, parent: r);
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Package.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Package,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Package(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_PackageTemplateData(
+    PackageTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<PackageTemplateData>? getProperty(String key) {
@@ -12503,9 +20240,13 @@
   return buffer.toString();
 }
 
-void _render_Parameter(Parameter context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Parameter(
+  Parameter context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Parameter(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -12514,245 +20255,404 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Parameter>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_HasNoPage.propertyMap<CT_>(),
-                'defaultValue': Property(
-                  getValue: (CT_ c) => c.defaultValue,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.defaultValue == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.defaultValue!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'ParameterElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['ParameterElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.enclosingElement == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.enclosingElement!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasDefaultValue': Property(
-                  getValue: (CT_ c) => c.hasDefaultValue,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasDefaultValue,
-                ),
-                'hashCode': Property(
-                  getValue: (CT_ c) => c.hashCode,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.hashCode, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'htmlId': Property(
-                  getValue: (CT_ c) => c.htmlId,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.htmlId, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isCovariant': Property(
-                  getValue: (CT_ c) => c.isCovariant,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isCovariant,
-                ),
-                'isNamed': Property(
-                  getValue: (CT_ c) => c.isNamed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isNamed,
-                ),
-                'isOptionalPositional': Property(
-                  getValue: (CT_ c) => c.isOptionalPositional,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isOptionalPositional,
-                ),
-                'isRequiredNamed': Property(
-                  getValue: (CT_ c) => c.isRequiredNamed,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isRequiredNamed,
-                ),
-                'isRequiredPositional': Property(
-                  getValue: (CT_ c) => c.isRequiredPositional,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isRequiredPositional,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ElementType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ElementType(c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'originalMember': Property(
-                  getValue: (CT_ c) => c.originalMember,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'ParameterMember'),
-                  isNullValue: (CT_ c) => c.originalMember == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.originalMember, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['ParameterMember']!);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_HasNoPage.propertyMap<CT_>(),
+              'defaultValue': Property(
+                getValue: (CT_ c) => c.defaultValue,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Parameter(Parameter context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.defaultValue == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.defaultValue!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ParameterElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ParameterElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.enclosingElement == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.enclosingElement!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasDefaultValue': Property(
+                getValue: (CT_ c) => c.hasDefaultValue,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasDefaultValue,
+              ),
+              'hashCode': Property(
+                getValue: (CT_ c) => c.hashCode,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.hashCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'htmlId': Property(
+                getValue: (CT_ c) => c.htmlId,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.htmlId, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isCovariant': Property(
+                getValue: (CT_ c) => c.isCovariant,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isCovariant,
+              ),
+              'isNamed': Property(
+                getValue: (CT_ c) => c.isNamed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isNamed,
+              ),
+              'isOptionalPositional': Property(
+                getValue: (CT_ c) => c.isOptionalPositional,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isOptionalPositional,
+              ),
+              'isRequiredNamed': Property(
+                getValue: (CT_ c) => c.isRequiredNamed,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isRequiredNamed,
+              ),
+              'isRequiredPositional': Property(
+                getValue: (CT_ c) => c.isRequiredPositional,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isRequiredPositional,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ElementType(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'originalMember': Property(
+                getValue: (CT_ c) => c.originalMember,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ParameterMember',
+                        ),
+
+                isNullValue: (CT_ c) => c.originalMember == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.originalMember,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ParameterMember']!,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Parameter(
+    Parameter context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Parameter>? getProperty(String key) {
@@ -12764,11 +20664,19 @@
   }
 }
 
-void _render_ParameterizedElementType(ParameterizedElementType context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_ParameterizedElementType(context, parent, template, sink);
+void _render_ParameterizedElementType(
+  ParameterizedElementType context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_ParameterizedElementType(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
@@ -12776,44 +20684,77 @@
     extends RendererBase<ParameterizedElementType> {
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>>
-      propertyMap<CT_ extends ParameterizedElementType>() =>
-          _propertyMapCache.putIfAbsent(
-              CT_,
-              () => {
-                    ..._Renderer_DefinedElementType.propertyMap<CT_>(),
-                    ..._Renderer_Rendered.propertyMap<CT_>(),
-                    'type': Property(
-                      getValue: (CT_ c) => c.type,
-                      renderVariable: (CT_ c, Property<CT_> self,
-                              List<String> remainingNames) =>
-                          self.renderSimpleVariable(
-                              c, remainingNames, 'ParameterizedType'),
-                      isNullValue: (CT_ c) => false,
-                      renderValue: (CT_ c, RendererBase<CT_> r,
-                          List<MustachioNode> ast, StringSink sink) {
-                        renderSimple(c.type, ast, r.template, sink,
-                            parent: r,
-                            getters: _invisibleGetters['ParameterizedType']!);
-                      },
-                    ),
-                    'typeArguments': Property(
-                      getValue: (CT_ c) => c.typeArguments,
-                      renderVariable: (CT_ c, Property<CT_> self,
-                              List<String> remainingNames) =>
-                          self.renderSimpleVariable(
-                              c, remainingNames, 'List<ElementType>'),
-                      renderIterable: (CT_ c, RendererBase<CT_> r,
-                          List<MustachioNode> ast, StringSink sink) {
-                        return c.typeArguments.map((e) => _render_ElementType(
-                            e, ast, r.template, sink,
-                            parent: r));
-                      },
-                    ),
-                  }) as Map<String, Property<CT_>>;
+  propertyMap<CT_ extends ParameterizedElementType>() =>
+      _propertyMapCache.putIfAbsent(
+            CT_,
+            () => {
+              ..._Renderer_DefinedElementType.propertyMap<CT_>(),
+              ..._Renderer_Rendered.propertyMap<CT_>(),
+              'type': Property(
+                getValue: (CT_ c) => c.type,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ParameterizedType',
+                        ),
 
-  _Renderer_ParameterizedElementType(ParameterizedElementType context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.type,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ParameterizedType']!,
+                  );
+                },
+              ),
+              'typeArguments': Property(
+                getValue: (CT_ c) => c.typeArguments,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ElementType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeArguments.map(
+                    (e) => _render_ElementType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_ParameterizedElementType(
+    ParameterizedElementType context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<ParameterizedElementType>? getProperty(String key) {
@@ -12831,205 +20772,333 @@
   return buffer.toString();
 }
 
-void _render_PropertyTemplateData(PropertyTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_PropertyTemplateData(context, parent, template, sink);
+void _render_PropertyTemplateData(
+  PropertyTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_PropertyTemplateData(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_PropertyTemplateData
     extends RendererBase<PropertyTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends PropertyTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends PropertyTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<Field, CT_>(),
-                ..._Renderer_TwoDirectoriesDown.propertyMap<Field, CT_>(),
-                'container': Property(
-                  getValue: (CT_ c) => c.container,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.container, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'navLinksWithGenerics': Property(
-                  getValue: (CT_ c) => c.navLinksWithGenerics,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Container>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinksWithGenerics.map((e) =>
-                        _render_Container(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'property': Property(
-                  getValue: (CT_ c) => c.property,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Field.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Field,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Field(c.property, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Field.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Field,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Field(c.self, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<Field, CT_>(),
+              ..._Renderer_TwoDirectoriesDown.propertyMap<Field, CT_>(),
+              'container': Property(
+                getValue: (CT_ c) => c.container,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_PropertyTemplateData(PropertyTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.container,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'navLinksWithGenerics': Property(
+                getValue: (CT_ c) => c.navLinksWithGenerics,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Container>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinksWithGenerics.map(
+                    (e) =>
+                        _render_Container(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'property': Property(
+                getValue: (CT_ c) => c.property,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Field.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Field,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Field(c.property, ast, r.template, sink, parent: r);
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Field.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Field,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Field(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_PropertyTemplateData(
+    PropertyTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<PropertyTemplateData>? getProperty(String key) {
@@ -13045,80 +21114,132 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Rendered>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'linkedName': Property(
-                  getValue: (CT_ c) => c.linkedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'nameWithGenerics': Property(
-                  getValue: (CT_ c) => c.nameWithGenerics,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.nameWithGenerics, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'nameWithGenericsPlain': Property(
-                  getValue: (CT_ c) => c.nameWithGenericsPlain,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.nameWithGenericsPlain, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'linkedName': Property(
+                getValue: (CT_ c) => c.linkedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Rendered(Rendered context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'nameWithGenerics': Property(
+                getValue: (CT_ c) => c.nameWithGenerics,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nameWithGenerics,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'nameWithGenericsPlain': Property(
+                getValue: (CT_ c) => c.nameWithGenericsPlain,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nameWithGenericsPlain,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Rendered(
+    Rendered context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Rendered>? getProperty(String key) {
@@ -13134,102 +21255,176 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends SourceCode>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'characterLocation': Property(
-                  getValue: (CT_ c) => c.characterLocation,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'CharacterLocation'),
-                  isNullValue: (CT_ c) => c.characterLocation == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.characterLocation, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CharacterLocation']!);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Element'),
-                  isNullValue: (CT_ c) => c.element == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Element']!);
-                  },
-                ),
-                'hasSourceCode': Property(
-                  getValue: (CT_ c) => c.hasSourceCode,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasSourceCode,
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.library == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'modelNode': Property(
-                  getValue: (CT_ c) => c.modelNode,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'ModelNode'),
-                  isNullValue: (CT_ c) => c.modelNode == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.modelNode, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['ModelNode']!);
-                  },
-                ),
-                'sourceCode': Property(
-                  getValue: (CT_ c) => c.sourceCode,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.sourceCode, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'characterLocation': Property(
+                getValue: (CT_ c) => c.characterLocation,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'CharacterLocation',
+                        ),
 
-  _Renderer_SourceCode(SourceCode context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.characterLocation == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.characterLocation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['CharacterLocation']!,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Element'),
+
+                isNullValue: (CT_ c) => c.element == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Element']!,
+                  );
+                },
+              ),
+              'hasSourceCode': Property(
+                getValue: (CT_ c) => c.hasSourceCode,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasSourceCode,
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.library == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'modelNode': Property(
+                getValue: (CT_ c) => c.modelNode,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'ModelNode',
+                        ),
+
+                isNullValue: (CT_ c) => c.modelNode == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.modelNode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['ModelNode']!,
+                  );
+                },
+              ),
+              'sourceCode': Property(
+                getValue: (CT_ c) => c.sourceCode,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.sourceCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_SourceCode(
+    SourceCode context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<SourceCode>? getProperty(String key) {
@@ -13242,8 +21437,12 @@
 }
 
 void _render_String(
-    String context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  String context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_String(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -13252,76 +21451,135 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends String>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                'codeUnits': Property(
-                  getValue: (CT_ c) => c.codeUnits,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'List<int>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.codeUnits.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!));
-                  },
-                ),
-                'hashCode': Property(
-                  getValue: (CT_ c) => c.hashCode,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.hashCode, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-                'isEmpty': Property(
-                  getValue: (CT_ c) => c.isEmpty,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isEmpty,
-                ),
-                'isNotEmpty': Property(
-                  getValue: (CT_ c) => c.isNotEmpty,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isNotEmpty,
-                ),
-                'length': Property(
-                  getValue: (CT_ c) => c.length,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.length, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-                'runes': Property(
-                  getValue: (CT_ c) => c.runes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Runes'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.runes.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              'codeUnits': Property(
+                getValue: (CT_ c) => c.codeUnits,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<int>',
+                        ),
 
-  _Renderer_String(String context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.codeUnits.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['int']!,
+                    ),
+                  );
+                },
+              ),
+              'hashCode': Property(
+                getValue: (CT_ c) => c.hashCode,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.hashCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+              'isEmpty': Property(
+                getValue: (CT_ c) => c.isEmpty,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isEmpty,
+              ),
+              'isNotEmpty': Property(
+                getValue: (CT_ c) => c.isNotEmpty,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isNotEmpty,
+              ),
+              'length': Property(
+                getValue: (CT_ c) => c.length,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.length,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+              'runes': Property(
+                getValue: (CT_ c) => c.runes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Runes'),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.runes.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['int']!,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_String(
+    String context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<String>? getProperty(String key) {
@@ -13336,83 +21594,135 @@
 class _Renderer_TemplateData<T extends Documentable>
     extends RendererBase<TemplateData<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<T extends Documentable,
-          CT_ extends TemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<T extends Documentable, CT_ extends TemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateDataBase.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.aboveSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Documentable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Documentable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Documentable(c.self, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateDataBase.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TemplateData(TemplateData<T> context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.aboveSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Documentable.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Documentable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Documentable(
+                    c.self,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TemplateData(
+    TemplateData<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TemplateData<T>>? getProperty(String key) {
@@ -13426,432 +21736,698 @@
 
 class _Renderer_TemplateDataBase extends RendererBase<TemplateDataBase> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends TemplateDataBase>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends TemplateDataBase>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                'bareHref': Property(
-                  getValue: (CT_ c) => c.bareHref,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.bareHref, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'customFooter': Property(
-                  getValue: (CT_ c) => c.customFooter,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.customFooter, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'customHeader': Property(
-                  getValue: (CT_ c) => c.customHeader,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.customHeader, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'customInnerFooter': Property(
-                  getValue: (CT_ c) => c.customInnerFooter,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.customInnerFooter, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'defaultPackage': Property(
-                  getValue: (CT_ c) => c.defaultPackage,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Package.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Package,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Package(c.defaultPackage, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasFooterVersion': Property(
-                  getValue: (CT_ c) => c.hasFooterVersion,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasFooterVersion,
-                ),
-                'hasHomepage': Property(
-                  getValue: (CT_ c) => c.hasHomepage,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasHomepage,
-                ),
-                'homepage': Property(
-                  getValue: (CT_ c) => c.homepage,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.homepage == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.homepage!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'htmlBase': Property(
-                  getValue: (CT_ c) => c.htmlBase,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.htmlBase, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'htmlOptions': Property(
-                  getValue: (CT_ c) => c.htmlOptions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'TemplateOptions'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.htmlOptions, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['TemplateOptions']!);
-                  },
-                ),
-                'includeVersion': Property(
-                  getValue: (CT_ c) => c.includeVersion,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.includeVersion,
-                ),
-                'isParentExtension': Property(
-                  getValue: (CT_ c) => c.isParentExtension,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isParentExtension,
-                ),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'localPackages': Property(
-                  getValue: (CT_ c) => c.localPackages,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Package>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.localPackages.map((e) =>
-                        _render_Package(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'navLinksWithGenerics': Property(
-                  getValue: (CT_ c) => c.navLinksWithGenerics,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Container>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinksWithGenerics.map((e) =>
-                        _render_Container(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'parent': Property(
-                  getValue: (CT_ c) => c.parent,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Documentable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Documentable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.parent == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Documentable(c.parent!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'parentAsExtension': Property(
-                  getValue: (CT_ c) => c.parentAsExtension,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Extension.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Extension,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Extension(
-                        c.parentAsExtension, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'relCanonicalPrefix': Property(
-                  getValue: (CT_ c) => c.relCanonicalPrefix,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.relCanonicalPrefix == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.relCanonicalPrefix!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Documentable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Documentable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Documentable(c.self, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'useBaseHref': Property(
-                  getValue: (CT_ c) => c.useBaseHref,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.useBaseHref,
-                ),
-                'version': Property(
-                  getValue: (CT_ c) => c.version,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.version, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              'bareHref': Property(
+                getValue: (CT_ c) => c.bareHref,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TemplateDataBase(TemplateDataBase context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.bareHref, ast, r.template, sink, parent: r);
+                },
+              ),
+              'customFooter': Property(
+                getValue: (CT_ c) => c.customFooter,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.customFooter,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'customHeader': Property(
+                getValue: (CT_ c) => c.customHeader,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.customHeader,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'customInnerFooter': Property(
+                getValue: (CT_ c) => c.customInnerFooter,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.customInnerFooter,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'defaultPackage': Property(
+                getValue: (CT_ c) => c.defaultPackage,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Package.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Package,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Package(
+                    c.defaultPackage,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasFooterVersion': Property(
+                getValue: (CT_ c) => c.hasFooterVersion,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasFooterVersion,
+              ),
+              'hasHomepage': Property(
+                getValue: (CT_ c) => c.hasHomepage,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasHomepage,
+              ),
+              'homepage': Property(
+                getValue: (CT_ c) => c.homepage,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.homepage == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.homepage!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'htmlBase': Property(
+                getValue: (CT_ c) => c.htmlBase,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.htmlBase, ast, r.template, sink, parent: r);
+                },
+              ),
+              'htmlOptions': Property(
+                getValue: (CT_ c) => c.htmlOptions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'TemplateOptions',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.htmlOptions,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['TemplateOptions']!,
+                  );
+                },
+              ),
+              'includeVersion': Property(
+                getValue: (CT_ c) => c.includeVersion,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.includeVersion,
+              ),
+              'isParentExtension': Property(
+                getValue: (CT_ c) => c.isParentExtension,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isParentExtension,
+              ),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'localPackages': Property(
+                getValue: (CT_ c) => c.localPackages,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Package>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.localPackages.map(
+                    (e) => _render_Package(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'navLinksWithGenerics': Property(
+                getValue: (CT_ c) => c.navLinksWithGenerics,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Container>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinksWithGenerics.map(
+                    (e) =>
+                        _render_Container(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'parent': Property(
+                getValue: (CT_ c) => c.parent,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Documentable.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Documentable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.parent == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Documentable(
+                    c.parent!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'parentAsExtension': Property(
+                getValue: (CT_ c) => c.parentAsExtension,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Extension.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Extension,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Extension(
+                    c.parentAsExtension,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'relCanonicalPrefix': Property(
+                getValue: (CT_ c) => c.relCanonicalPrefix,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.relCanonicalPrefix == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.relCanonicalPrefix!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Documentable.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Documentable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Documentable(
+                    c.self,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+              'useBaseHref': Property(
+                getValue: (CT_ c) => c.useBaseHref,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.useBaseHref,
+              ),
+              'version': Property(
+                getValue: (CT_ c) => c.version,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.version, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TemplateDataBase(
+    TemplateDataBase context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TemplateDataBase>? getProperty(String key) {
@@ -13864,59 +22440,89 @@
 }
 
 String renderSidebarForContainer<T extends Documentable>(
-    TemplateDataWithContainer<T> context, Template template) {
+  TemplateDataWithContainer<T> context,
+  Template template,
+) {
   var buffer = StringBuffer();
   _render_TemplateDataWithContainer(context, template.ast, template, buffer);
   return buffer.toString();
 }
 
 void _render_TemplateDataWithContainer<T extends Documentable>(
-    TemplateDataWithContainer<T> context,
-    List<MustachioNode> ast,
-    Template template,
-    StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_TemplateDataWithContainer(context, parent, template, sink);
+  TemplateDataWithContainer<T> context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_TemplateDataWithContainer(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_TemplateDataWithContainer<T extends Documentable>
     extends RendererBase<TemplateDataWithContainer<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<T extends Documentable,
-          CT_ extends TemplateDataWithContainer>() =>
+  static Map<String, Property<CT_>> propertyMap<
+    T extends Documentable,
+    CT_ extends TemplateDataWithContainer
+  >() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                'container': Property(
-                  getValue: (CT_ c) => c.container,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Container.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Container,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Container(c.container, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              'container': Property(
+                getValue: (CT_ c) => c.container,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Container.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Container,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TemplateDataWithContainer(TemplateDataWithContainer<T> context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Container(
+                    c.container,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TemplateDataWithContainer(
+    TemplateDataWithContainer<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TemplateDataWithContainer<T>>? getProperty(String key) {
@@ -13929,59 +22535,81 @@
 }
 
 String renderSidebarForLibrary<T extends Documentable>(
-    TemplateDataWithLibrary<T> context, Template template) {
+  TemplateDataWithLibrary<T> context,
+  Template template,
+) {
   var buffer = StringBuffer();
   _render_TemplateDataWithLibrary(context, template.ast, template, buffer);
   return buffer.toString();
 }
 
 void _render_TemplateDataWithLibrary<T extends Documentable>(
-    TemplateDataWithLibrary<T> context,
-    List<MustachioNode> ast,
-    Template template,
-    StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_TemplateDataWithLibrary(context, parent, template, sink);
+  TemplateDataWithLibrary<T> context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_TemplateDataWithLibrary(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_TemplateDataWithLibrary<T extends Documentable>
     extends RendererBase<TemplateDataWithLibrary<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<T extends Documentable,
-          CT_ extends TemplateDataWithLibrary>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<T extends Documentable, CT_ extends TemplateDataWithLibrary>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_Object.propertyMap<CT_>(),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_Object.propertyMap<CT_>(),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TemplateDataWithLibrary(TemplateDataWithLibrary<T> context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TemplateDataWithLibrary(
+    TemplateDataWithLibrary<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TemplateDataWithLibrary<T>>? getProperty(String key) {
@@ -13995,334 +22623,572 @@
 
 class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends TopLevelContainer>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends TopLevelContainer>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'classes': Property(
-                  getValue: (CT_ c) => c.classes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Class>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.classes.map((e) =>
-                        _render_Class(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'constants': Property(
-                  getValue: (CT_ c) => c.constants,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<TopLevelVariable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.constants.map((e) => _render_TopLevelVariable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'enums': Property(
-                  getValue: (CT_ c) => c.enums,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Enum>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.enums.map((e) =>
-                        _render_Enum(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'exceptions': Property(
-                  getValue: (CT_ c) => c.exceptions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Class>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.exceptions.map((e) =>
-                        _render_Class(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'extensionTypes': Property(
-                  getValue: (CT_ c) => c.extensionTypes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<ExtensionType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.extensionTypes.map((e) => _render_ExtensionType(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'extensions': Property(
-                  getValue: (CT_ c) => c.extensions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Extension>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.extensions.map((e) =>
-                        _render_Extension(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'functions': Property(
-                  getValue: (CT_ c) => c.functions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<ModelFunction>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.functions.map((e) => _render_ModelFunction(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'hasPublicClasses': Property(
-                  getValue: (CT_ c) => c.hasPublicClasses,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicClasses,
-                ),
-                'hasPublicConstants': Property(
-                  getValue: (CT_ c) => c.hasPublicConstants,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicConstants,
-                ),
-                'hasPublicEnums': Property(
-                  getValue: (CT_ c) => c.hasPublicEnums,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicEnums,
-                ),
-                'hasPublicExceptions': Property(
-                  getValue: (CT_ c) => c.hasPublicExceptions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicExceptions,
-                ),
-                'hasPublicExtensionTypes': Property(
-                  getValue: (CT_ c) => c.hasPublicExtensionTypes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicExtensionTypes,
-                ),
-                'hasPublicExtensions': Property(
-                  getValue: (CT_ c) => c.hasPublicExtensions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicExtensions,
-                ),
-                'hasPublicFunctions': Property(
-                  getValue: (CT_ c) => c.hasPublicFunctions,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicFunctions,
-                ),
-                'hasPublicMixins': Property(
-                  getValue: (CT_ c) => c.hasPublicMixins,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicMixins,
-                ),
-                'hasPublicProperties': Property(
-                  getValue: (CT_ c) => c.hasPublicProperties,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicProperties,
-                ),
-                'hasPublicTypedefs': Property(
-                  getValue: (CT_ c) => c.hasPublicTypedefs,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasPublicTypedefs,
-                ),
-                'mixins': Property(
-                  getValue: (CT_ c) => c.mixins,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Mixin>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.mixins.map((e) =>
-                        _render_Mixin(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'properties': Property(
-                  getValue: (CT_ c) => c.properties,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<TopLevelVariable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.properties.map((e) => _render_TopLevelVariable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'publicClassesSorted': Property(
-                  getValue: (CT_ c) => c.publicClassesSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Container>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicClassesSorted.map((e) =>
-                        _render_Container(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicConstantsSorted': Property(
-                  getValue: (CT_ c) => c.publicConstantsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TopLevelVariable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicConstantsSorted.map((e) =>
-                        _render_TopLevelVariable(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'publicEnumsSorted': Property(
-                  getValue: (CT_ c) => c.publicEnumsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Enum>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicEnumsSorted.map((e) =>
-                        _render_Enum(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicExceptionsSorted': Property(
-                  getValue: (CT_ c) => c.publicExceptionsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Class>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicExceptionsSorted.map((e) =>
-                        _render_Class(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicExtensionTypesSorted': Property(
-                  getValue: (CT_ c) => c.publicExtensionTypesSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ExtensionType>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicExtensionTypesSorted.map((e) =>
-                        _render_ExtensionType(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'publicExtensionsSorted': Property(
-                  getValue: (CT_ c) => c.publicExtensionsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Extension>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicExtensionsSorted.map((e) =>
-                        _render_Extension(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicFunctionsSorted': Property(
-                  getValue: (CT_ c) => c.publicFunctionsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<ModelFunctionTyped>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicFunctionsSorted.map((e) =>
-                        _render_ModelFunctionTyped(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'publicMixinsSorted': Property(
-                  getValue: (CT_ c) => c.publicMixinsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Mixin>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicMixinsSorted.map((e) =>
-                        _render_Mixin(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'publicPropertiesSorted': Property(
-                  getValue: (CT_ c) => c.publicPropertiesSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TopLevelVariable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicPropertiesSorted.map((e) =>
-                        _render_TopLevelVariable(e, ast, r.template, sink,
-                            parent: r));
-                  },
-                ),
-                'publicTypedefsSorted': Property(
-                  getValue: (CT_ c) => c.publicTypedefsSorted,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Typedef>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.publicTypedefsSorted.map((e) =>
-                        _render_Typedef(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-                'typedefs': Property(
-                  getValue: (CT_ c) => c.typedefs,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<Typedef>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typedefs.map((e) =>
-                        _render_Typedef(e, ast, r.template, sink, parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'classes': Property(
+                getValue: (CT_ c) => c.classes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Class>',
+                        ),
 
-  _Renderer_TopLevelContainer(TopLevelContainer context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.classes.map(
+                    (e) => _render_Class(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'constants': Property(
+                getValue: (CT_ c) => c.constants,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<TopLevelVariable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.constants.map(
+                    (e) => _render_TopLevelVariable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'enums': Property(
+                getValue: (CT_ c) => c.enums,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Enum>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.enums.map(
+                    (e) => _render_Enum(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'exceptions': Property(
+                getValue: (CT_ c) => c.exceptions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Class>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.exceptions.map(
+                    (e) => _render_Class(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'extensionTypes': Property(
+                getValue: (CT_ c) => c.extensionTypes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<ExtensionType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.extensionTypes.map(
+                    (e) => _render_ExtensionType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'extensions': Property(
+                getValue: (CT_ c) => c.extensions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Extension>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.extensions.map(
+                    (e) =>
+                        _render_Extension(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'functions': Property(
+                getValue: (CT_ c) => c.functions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<ModelFunction>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.functions.map(
+                    (e) => _render_ModelFunction(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'hasPublicClasses': Property(
+                getValue: (CT_ c) => c.hasPublicClasses,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicClasses,
+              ),
+              'hasPublicConstants': Property(
+                getValue: (CT_ c) => c.hasPublicConstants,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicConstants,
+              ),
+              'hasPublicEnums': Property(
+                getValue: (CT_ c) => c.hasPublicEnums,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicEnums,
+              ),
+              'hasPublicExceptions': Property(
+                getValue: (CT_ c) => c.hasPublicExceptions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicExceptions,
+              ),
+              'hasPublicExtensionTypes': Property(
+                getValue: (CT_ c) => c.hasPublicExtensionTypes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicExtensionTypes,
+              ),
+              'hasPublicExtensions': Property(
+                getValue: (CT_ c) => c.hasPublicExtensions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicExtensions,
+              ),
+              'hasPublicFunctions': Property(
+                getValue: (CT_ c) => c.hasPublicFunctions,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicFunctions,
+              ),
+              'hasPublicMixins': Property(
+                getValue: (CT_ c) => c.hasPublicMixins,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicMixins,
+              ),
+              'hasPublicProperties': Property(
+                getValue: (CT_ c) => c.hasPublicProperties,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicProperties,
+              ),
+              'hasPublicTypedefs': Property(
+                getValue: (CT_ c) => c.hasPublicTypedefs,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasPublicTypedefs,
+              ),
+              'mixins': Property(
+                getValue: (CT_ c) => c.mixins,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Mixin>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.mixins.map(
+                    (e) => _render_Mixin(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'properties': Property(
+                getValue: (CT_ c) => c.properties,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<TopLevelVariable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.properties.map(
+                    (e) => _render_TopLevelVariable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicClassesSorted': Property(
+                getValue: (CT_ c) => c.publicClassesSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Container>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicClassesSorted.map(
+                    (e) =>
+                        _render_Container(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicConstantsSorted': Property(
+                getValue: (CT_ c) => c.publicConstantsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TopLevelVariable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicConstantsSorted.map(
+                    (e) => _render_TopLevelVariable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicEnumsSorted': Property(
+                getValue: (CT_ c) => c.publicEnumsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Enum>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicEnumsSorted.map(
+                    (e) => _render_Enum(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicExceptionsSorted': Property(
+                getValue: (CT_ c) => c.publicExceptionsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Class>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicExceptionsSorted.map(
+                    (e) => _render_Class(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicExtensionTypesSorted': Property(
+                getValue: (CT_ c) => c.publicExtensionTypesSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ExtensionType>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicExtensionTypesSorted.map(
+                    (e) => _render_ExtensionType(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicExtensionsSorted': Property(
+                getValue: (CT_ c) => c.publicExtensionsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Extension>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicExtensionsSorted.map(
+                    (e) =>
+                        _render_Extension(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicFunctionsSorted': Property(
+                getValue: (CT_ c) => c.publicFunctionsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<ModelFunctionTyped>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicFunctionsSorted.map(
+                    (e) => _render_ModelFunctionTyped(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicMixinsSorted': Property(
+                getValue: (CT_ c) => c.publicMixinsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Mixin>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicMixinsSorted.map(
+                    (e) => _render_Mixin(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'publicPropertiesSorted': Property(
+                getValue: (CT_ c) => c.publicPropertiesSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TopLevelVariable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicPropertiesSorted.map(
+                    (e) => _render_TopLevelVariable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'publicTypedefsSorted': Property(
+                getValue: (CT_ c) => c.publicTypedefsSorted,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Typedef>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.publicTypedefsSorted.map(
+                    (e) => _render_Typedef(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+              'typedefs': Property(
+                getValue: (CT_ c) => c.typedefs,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<Typedef>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typedefs.map(
+                    (e) => _render_Typedef(e, ast, r.template, sink, parent: r),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TopLevelContainer(
+    TopLevelContainer context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TopLevelContainer>? getProperty(String key) {
@@ -14335,180 +23201,294 @@
 }
 
 String renderTopLevelProperty(
-    TopLevelPropertyTemplateData context, Template template) {
+  TopLevelPropertyTemplateData context,
+  Template template,
+) {
   var buffer = StringBuffer();
   _render_TopLevelPropertyTemplateData(context, template.ast, template, buffer);
   return buffer.toString();
 }
 
-void _render_TopLevelPropertyTemplateData(TopLevelPropertyTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
-  var renderer =
-      _Renderer_TopLevelPropertyTemplateData(context, parent, template, sink);
+void _render_TopLevelPropertyTemplateData(
+  TopLevelPropertyTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
+  var renderer = _Renderer_TopLevelPropertyTemplateData(
+    context,
+    parent,
+    template,
+    sink,
+  );
   renderer.renderBlock(ast);
 }
 
 class _Renderer_TopLevelPropertyTemplateData
     extends RendererBase<TopLevelPropertyTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends TopLevelPropertyTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends TopLevelPropertyTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<TopLevelVariable, CT_>(),
-                ..._Renderer_OneDirectoryDown.propertyMap<TopLevelVariable,
-                    CT_>(),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'property': Property(
-                  getValue: (CT_ c) => c.property,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_TopLevelVariable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as TopLevelVariable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_TopLevelVariable(c.property, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_TopLevelVariable.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as TopLevelVariable,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_TopLevelVariable(c.self, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<TopLevelVariable, CT_>(),
+              ..._Renderer_OneDirectoryDown.propertyMap<
+                TopLevelVariable,
+                CT_
+              >(),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TopLevelPropertyTemplateData(TopLevelPropertyTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'property': Property(
+                getValue: (CT_ c) => c.property,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_TopLevelVariable.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as TopLevelVariable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_TopLevelVariable(
+                    c.property,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_TopLevelVariable.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as TopLevelVariable,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_TopLevelVariable(
+                    c.self,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TopLevelPropertyTemplateData(
+    TopLevelPropertyTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TopLevelPropertyTemplateData>? getProperty(String key) {
@@ -14520,292 +23500,471 @@
   }
 }
 
-void _render_TopLevelVariable(TopLevelVariable context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_TopLevelVariable(
+  TopLevelVariable context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_TopLevelVariable(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_TopLevelVariable extends RendererBase<TopLevelVariable> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends TopLevelVariable>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends TopLevelVariable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_GetterSetterCombo.propertyMap<CT_>(),
-                ..._Renderer_Categorization.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'attributes': Property(
-                  getValue: (CT_ c) => c.attributes,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Set<Attribute>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.attributes.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Attribute']!));
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'documentation': Property(
-                  getValue: (CT_ c) => c.documentation,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.documentation, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'TopLevelVariableElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['TopLevelVariableElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'enclosingExtension': Property(
-                  getValue: (CT_ c) => c.enclosingExtension,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Extension.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Extension,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Extension(
-                        c.enclosingExtension, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'getter': Property(
-                  getValue: (CT_ c) => c.getter,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Accessor.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Accessor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.getter == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Accessor(c.getter!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isConst': Property(
-                  getValue: (CT_ c) => c.isConst,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isConst,
-                ),
-                'isFinal': Property(
-                  getValue: (CT_ c) => c.isFinal,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isFinal,
-                ),
-                'isInherited': Property(
-                  getValue: (CT_ c) => c.isInherited,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInherited,
-                ),
-                'isLate': Property(
-                  getValue: (CT_ c) => c.isLate,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isLate,
-                ),
-                'isProvidedByExtension': Property(
-                  getValue: (CT_ c) => c.isProvidedByExtension,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isProvidedByExtension,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'setter': Property(
-                  getValue: (CT_ c) => c.setter,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Accessor.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Accessor,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.setter == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Accessor(c.setter!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_GetterSetterCombo.propertyMap<CT_>(),
+              ..._Renderer_Categorization.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TopLevelVariable(TopLevelVariable context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'attributes': Property(
+                getValue: (CT_ c) => c.attributes,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Set<Attribute>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.attributes.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['Attribute']!,
+                    ),
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'documentation': Property(
+                getValue: (CT_ c) => c.documentation,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.documentation,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'TopLevelVariableElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['TopLevelVariableElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'enclosingExtension': Property(
+                getValue: (CT_ c) => c.enclosingExtension,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Extension.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Extension,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Extension(
+                    c.enclosingExtension,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'getter': Property(
+                getValue: (CT_ c) => c.getter,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Accessor.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Accessor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.getter == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Accessor(c.getter!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isConst': Property(
+                getValue: (CT_ c) => c.isConst,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isConst,
+              ),
+              'isFinal': Property(
+                getValue: (CT_ c) => c.isFinal,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isFinal,
+              ),
+              'isInherited': Property(
+                getValue: (CT_ c) => c.isInherited,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInherited,
+              ),
+              'isLate': Property(
+                getValue: (CT_ c) => c.isLate,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isLate,
+              ),
+              'isProvidedByExtension': Property(
+                getValue: (CT_ c) => c.isProvidedByExtension,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isProvidedByExtension,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'setter': Property(
+                getValue: (CT_ c) => c.setter,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Accessor.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Accessor,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.setter == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Accessor(c.setter!, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TopLevelVariable(
+    TopLevelVariable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TopLevelVariable>? getProperty(String key) {
@@ -14821,37 +23980,52 @@
     extends RendererBase<TwoDirectoriesDown<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>>
-      propertyMap<T extends Documentable, CT_ extends TwoDirectoriesDown>() =>
-          _propertyMapCache.putIfAbsent(
-              CT_,
-              () => {
-                    'htmlBase': Property(
-                      getValue: (CT_ c) => c.htmlBase,
-                      renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) {
-                        if (remainingNames.isEmpty) {
-                          return self.getValue(c).toString();
-                        }
-                        var name = remainingNames.first;
-                        var nextProperty =
-                            _Renderer_String.propertyMap().getValue(name);
-                        return nextProperty.renderVariable(
-                            self.getValue(c) as String,
-                            nextProperty,
-                            [...remainingNames.skip(1)]);
-                      },
-                      isNullValue: (CT_ c) => false,
-                      renderValue: (CT_ c, RendererBase<CT_> r,
-                          List<MustachioNode> ast, StringSink sink) {
-                        _render_String(c.htmlBase, ast, r.template, sink,
-                            parent: r);
-                      },
-                    ),
-                  }) as Map<String, Property<CT_>>;
+  propertyMap<T extends Documentable, CT_ extends TwoDirectoriesDown>() =>
+      _propertyMapCache.putIfAbsent(
+            CT_,
+            () => {
+              'htmlBase': Property(
+                getValue: (CT_ c) => c.htmlBase,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TwoDirectoriesDown(TwoDirectoriesDown<T> context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.htmlBase, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TwoDirectoriesDown(
+    TwoDirectoriesDown<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TwoDirectoriesDown<T>>? getProperty(String key) {
@@ -14863,9 +24037,13 @@
   }
 }
 
-void _render_TypeParameter(TypeParameter context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_TypeParameter(
+  TypeParameter context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_TypeParameter(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -14874,206 +24052,350 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends TypeParameter>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_HasNoPage.propertyMap<CT_>(),
-                'boundType': Property(
-                  getValue: (CT_ c) => c.boundType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ElementType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.boundType == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ElementType(c.boundType!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'TypeParameterElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['TypeParameterElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ModelElement.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ModelElement,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ModelElement(
-                        c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasParameters': Property(
-                  getValue: (CT_ c) => c.hasParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasParameters,
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'linkedName': Property(
-                  getValue: (CT_ c) => c.linkedName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.linkedName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'name': Property(
-                  getValue: (CT_ c) => c.name,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.name, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceName': Property(
-                  getValue: (CT_ c) => c.referenceName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.referenceName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_HasNoPage.propertyMap<CT_>(),
+              'boundType': Property(
+                getValue: (CT_ c) => c.boundType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TypeParameter(TypeParameter context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.boundType == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ElementType(
+                    c.boundType!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'TypeParameterElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['TypeParameterElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ModelElement.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ModelElement,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ModelElement(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasParameters': Property(
+                getValue: (CT_ c) => c.hasParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasParameters,
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'linkedName': Property(
+                getValue: (CT_ c) => c.linkedName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'name': Property(
+                getValue: (CT_ c) => c.name,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.name, ast, r.template, sink, parent: r);
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceName': Property(
+                getValue: (CT_ c) => c.referenceName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.referenceName,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TypeParameter(
+    TypeParameter context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TypeParameter>? getProperty(String key) {
@@ -15089,123 +24411,205 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends TypeParameters>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'genericParameters': Property(
-                  getValue: (CT_ c) => c.genericParameters,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.genericParameters, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'hasGenericParameters': Property(
-                  getValue: (CT_ c) => c.hasGenericParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.hasGenericParameters,
-                ),
-                'linkedGenericParameters': Property(
-                  getValue: (CT_ c) => c.linkedGenericParameters,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.linkedGenericParameters, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'nameWithGenerics': Property(
-                  getValue: (CT_ c) => c.nameWithGenerics,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.nameWithGenerics, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'nameWithLinkedGenerics': Property(
-                  getValue: (CT_ c) => c.nameWithLinkedGenerics,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.nameWithLinkedGenerics, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'typeParameters': Property(
-                  getValue: (CT_ c) => c.typeParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TypeParameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeParameters.map((e) => _render_TypeParameter(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'genericParameters': Property(
+                getValue: (CT_ c) => c.genericParameters,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TypeParameters(TypeParameters context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.genericParameters,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'hasGenericParameters': Property(
+                getValue: (CT_ c) => c.hasGenericParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.hasGenericParameters,
+              ),
+              'linkedGenericParameters': Property(
+                getValue: (CT_ c) => c.linkedGenericParameters,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedGenericParameters,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'nameWithGenerics': Property(
+                getValue: (CT_ c) => c.nameWithGenerics,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nameWithGenerics,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'nameWithLinkedGenerics': Property(
+                getValue: (CT_ c) => c.nameWithLinkedGenerics,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nameWithLinkedGenerics,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'typeParameters': Property(
+                getValue: (CT_ c) => c.typeParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TypeParameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeParameters.map(
+                    (e) => _render_TypeParameter(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TypeParameters(
+    TypeParameters context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TypeParameters>? getProperty(String key) {
@@ -15217,9 +24621,13 @@
   }
 }
 
-void _render_Typedef(Typedef context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Typedef(
+  Typedef context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_Typedef(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -15228,321 +24636,558 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Typedef>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_ModelElement.propertyMap<CT_>(),
-                ..._Renderer_TypeParameters.propertyMap<CT_>(),
-                ..._Renderer_Categorization.propertyMap<CT_>(),
-                'aboveSidebarPath': Property(
-                  getValue: (CT_ c) => c.aboveSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.aboveSidebarPath, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'aliasedType': Property(
-                  getValue: (CT_ c) => c.aliasedType,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'DartType'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.aliasedType, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['DartType']!);
-                  },
-                ),
-                'asCallable': Property(
-                  getValue: (CT_ c) => c.asCallable,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_FunctionTypedef.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as FunctionTypedef,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_FunctionTypedef(c.asCallable, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'belowSidebarPath': Property(
-                  getValue: (CT_ c) => c.belowSidebarPath,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.belowSidebarPath == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.belowSidebarPath!, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'TypeAliasElement'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['TypeAliasElement']!);
-                  },
-                ),
-                'enclosingElement': Property(
-                  getValue: (CT_ c) => c.enclosingElement,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.enclosingElement, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'fileName': Property(
-                  getValue: (CT_ c) => c.fileName,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.fileName, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'genericParameters': Property(
-                  getValue: (CT_ c) => c.genericParameters,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.genericParameters, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'href': Property(
-                  getValue: (CT_ c) => c.href,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.href == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.href!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'isInherited': Property(
-                  getValue: (CT_ c) => c.isInherited,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.isInherited,
-                ),
-                'kind': Property(
-                  getValue: (CT_ c) => c.kind,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Kind'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.kind, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Kind']!);
-                  },
-                ),
-                'linkedGenericParameters': Property(
-                  getValue: (CT_ c) => c.linkedGenericParameters,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(
-                        c.linkedGenericParameters, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'modelType': Property(
-                  getValue: (CT_ c) => c.modelType,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_ElementType.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as ElementType,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_ElementType(c.modelType, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'nameWithGenerics': Property(
-                  getValue: (CT_ c) => c.nameWithGenerics,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.nameWithGenerics, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'referenceChildren': Property(
-                  getValue: (CT_ c) => c.referenceChildren,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Map<String, CommentReferable>'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.referenceChildren, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Map']!);
-                  },
-                ),
-                'referenceParents': Property(
-                  getValue: (CT_ c) => c.referenceParents,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'Iterable<CommentReferable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.referenceParents.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r,
-                        getters: _invisibleGetters['CommentReferable']!));
-                  },
-                ),
-                'typeParameters': Property(
-                  getValue: (CT_ c) => c.typeParameters,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<TypeParameter>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.typeParameters.map((e) => _render_TypeParameter(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_ModelElement.propertyMap<CT_>(),
+              ..._Renderer_TypeParameters.propertyMap<CT_>(),
+              ..._Renderer_Categorization.propertyMap<CT_>(),
+              'aboveSidebarPath': Property(
+                getValue: (CT_ c) => c.aboveSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_Typedef(Typedef context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.aboveSidebarPath,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'aliasedType': Property(
+                getValue: (CT_ c) => c.aliasedType,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'DartType',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.aliasedType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['DartType']!,
+                  );
+                },
+              ),
+              'asCallable': Property(
+                getValue: (CT_ c) => c.asCallable,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_FunctionTypedef.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as FunctionTypedef,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_FunctionTypedef(
+                    c.asCallable,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'belowSidebarPath': Property(
+                getValue: (CT_ c) => c.belowSidebarPath,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.belowSidebarPath == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.belowSidebarPath!,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'TypeAliasElement',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['TypeAliasElement']!,
+                  );
+                },
+              ),
+              'enclosingElement': Property(
+                getValue: (CT_ c) => c.enclosingElement,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(
+                    c.enclosingElement,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'fileName': Property(
+                getValue: (CT_ c) => c.fileName,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.fileName, ast, r.template, sink, parent: r);
+                },
+              ),
+              'genericParameters': Property(
+                getValue: (CT_ c) => c.genericParameters,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.genericParameters,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'href': Property(
+                getValue: (CT_ c) => c.href,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.href == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.href!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'isInherited': Property(
+                getValue: (CT_ c) => c.isInherited,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.isInherited,
+              ),
+              'kind': Property(
+                getValue: (CT_ c) => c.kind,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Kind'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.kind,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Kind']!,
+                  );
+                },
+              ),
+              'linkedGenericParameters': Property(
+                getValue: (CT_ c) => c.linkedGenericParameters,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.linkedGenericParameters,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'modelType': Property(
+                getValue: (CT_ c) => c.modelType,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_ElementType.propertyMap()
+                      .getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as ElementType,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_ElementType(
+                    c.modelType,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'nameWithGenerics': Property(
+                getValue: (CT_ c) => c.nameWithGenerics,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.nameWithGenerics,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'referenceChildren': Property(
+                getValue: (CT_ c) => c.referenceChildren,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Map<String, CommentReferable>',
+                        ),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.referenceChildren,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Map']!,
+                  );
+                },
+              ),
+              'referenceParents': Property(
+                getValue: (CT_ c) => c.referenceParents,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'Iterable<CommentReferable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.referenceParents.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['CommentReferable']!,
+                    ),
+                  );
+                },
+              ),
+              'typeParameters': Property(
+                getValue: (CT_ c) => c.typeParameters,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<TypeParameter>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.typeParameters.map(
+                    (e) => _render_TypeParameter(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Typedef(
+    Typedef context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Typedef>? getProperty(String key) {
@@ -15560,170 +25205,267 @@
   return buffer.toString();
 }
 
-void _render_TypedefTemplateData(TypedefTemplateData context,
-    List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_TypedefTemplateData(
+  TypedefTemplateData context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = _Renderer_TypedefTemplateData(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
 
 class _Renderer_TypedefTemplateData extends RendererBase<TypedefTemplateData> {
   static final Map<Type, Object> _propertyMapCache = {};
-  static Map<String, Property<CT_>> propertyMap<
-          CT_ extends TypedefTemplateData>() =>
+  static Map<String, Property<CT_>>
+  propertyMap<CT_ extends TypedefTemplateData>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ..._Renderer_TemplateData.propertyMap<Typedef, CT_>(),
-                ..._Renderer_OneDirectoryDown.propertyMap<Typedef, CT_>(),
-                'layoutTitle': Property(
-                  getValue: (CT_ c) => c.layoutTitle,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.layoutTitle, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'library': Property(
-                  getValue: (CT_ c) => c.library,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Library.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Library,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Library(c.library, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'metaDescription': Property(
-                  getValue: (CT_ c) => c.metaDescription,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.metaDescription, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-                'navLinks': Property(
-                  getValue: (CT_ c) => c.navLinks,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(
-                          c, remainingNames, 'List<Documentable>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.navLinks.map((e) => _render_Documentable(
-                        e, ast, r.template, sink,
-                        parent: r));
-                  },
-                ),
-                'self': Property(
-                  getValue: (CT_ c) => c.self,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Typedef.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Typedef,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Typedef(c.self, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'title': Property(
-                  getValue: (CT_ c) => c.title,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_String.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as String,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_String(c.title, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'typeDef': Property(
-                  getValue: (CT_ c) => c.typeDef,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        _Renderer_Typedef.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Typedef,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Typedef(c.typeDef, ast, r.template, sink,
-                        parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ..._Renderer_TemplateData.propertyMap<Typedef, CT_>(),
+              ..._Renderer_OneDirectoryDown.propertyMap<Typedef, CT_>(),
+              'layoutTitle': Property(
+                getValue: (CT_ c) => c.layoutTitle,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  _Renderer_TypedefTemplateData(TypedefTemplateData context,
-      RendererBase<Object>? parent, Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.layoutTitle,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'library': Property(
+                getValue: (CT_ c) => c.library,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Library.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Library,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Library(c.library, ast, r.template, sink, parent: r);
+                },
+              ),
+              'metaDescription': Property(
+                getValue: (CT_ c) => c.metaDescription,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(
+                    c.metaDescription,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                  );
+                },
+              ),
+              'navLinks': Property(
+                getValue: (CT_ c) => c.navLinks,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<Documentable>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.navLinks.map(
+                    (e) => _render_Documentable(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                    ),
+                  );
+                },
+              ),
+              'self': Property(
+                getValue: (CT_ c) => c.self,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Typedef.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Typedef,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Typedef(c.self, ast, r.template, sink, parent: r);
+                },
+              ),
+              'title': Property(
+                getValue: (CT_ c) => c.title,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_String.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as String,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_String(c.title, ast, r.template, sink, parent: r);
+                },
+              ),
+              'typeDef': Property(
+                getValue: (CT_ c) => c.typeDef,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = _Renderer_Typedef.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Typedef,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Typedef(c.typeDef, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_TypedefTemplateData(
+    TypedefTemplateData context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<TypedefTemplateData>? getProperty(String key) {
@@ -15739,25 +25481,42 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Warnable>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'element': Property(
-                  getValue: (CT_ c) => c.element,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'Element'),
-                  isNullValue: (CT_ c) => c.element == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.element, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['Element']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'element': Property(
+                getValue: (CT_ c) => c.element,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'Element'),
 
-  _Renderer_Warnable(Warnable context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.element == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.element,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Element']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  _Renderer_Warnable(
+    Warnable context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Warnable>? getProperty(String key) {
@@ -15777,13 +25536,13 @@
     'linkedNameWithParameters',
     'name',
     'runtimeType',
-    'sortGroup'
+    'sortGroup',
   },
   'CharacterLocation': {
     'columnNumber',
     'hashCode',
     'lineNumber',
-    'runtimeType'
+    'runtimeType',
   },
   'ClassElement': {
     'augmentation',
@@ -15803,7 +25562,7 @@
     'isMixinClass',
     'isSealed',
     'isValidMixin',
-    'runtimeType'
+    'runtimeType',
   },
   'CommentReferable': {
     'definingCommentReferable',
@@ -15813,7 +25572,7 @@
     'referenceGrandparentOverrides',
     'referenceName',
     'referenceParents',
-    'scope'
+    'scope',
   },
   'CompilationUnitElement': {
     'accessibleExtensions',
@@ -15836,13 +25595,13 @@
     'scope',
     'session',
     'topLevelVariables',
-    'typeAliases'
+    'typeAliases',
   },
   'Constructable': {
     'constructors',
     'extraReferenceChildren',
     'hasPublicConstructors',
-    'publicConstructorsSorted'
+    'publicConstructorsSorted',
   },
   'ConstructorElement': {
     'augmentation',
@@ -15862,7 +25621,7 @@
     'redirectedConstructor',
     'returnType',
     'runtimeType',
-    'superConstructor'
+    'superConstructor',
   },
   'ContainerModifier': {
     'displayName',
@@ -15870,7 +25629,7 @@
     'hideIfPresent',
     'name',
     'order',
-    'runtimeType'
+    'runtimeType',
   },
   'Context': {'current', 'hashCode', 'runtimeType', 'separator', 'style'},
   'DartType': {
@@ -15904,7 +25663,7 @@
     'isVoid',
     'name',
     'nullabilitySuffix',
-    'runtimeType'
+    'runtimeType',
   },
   'DartdocOptionContext': {
     'allowTools',
@@ -15942,7 +25701,7 @@
     'topLevelPackageMeta',
     'useBaseHref',
     'useCategories',
-    'validateLinks'
+    'validateLinks',
   },
   'DocumentLocation': {'hashCode', 'index', 'runtimeType'},
   'Documentation': {'asHtml', 'asOneLiner', 'hashCode', 'runtimeType'},
@@ -15958,7 +25717,7 @@
     'needsPrecache',
     'pathContext',
     'qualifiedName',
-    'sourceFileName'
+    'sourceFileName',
   },
   'Element': {
     'children',
@@ -16011,14 +25770,14 @@
     'runtimeType',
     'session',
     'sinceSdkVersion',
-    'source'
+    'source',
   },
   'EnumElement': {
     'augmentation',
     'augmentationTarget',
     'augmented',
     'hashCode',
-    'runtimeType'
+    'runtimeType',
   },
   'ExecutableMember': {
     'augmentationSubstitution',
@@ -16094,7 +25853,7 @@
     'substitution',
     'type',
     'typeParameters',
-    'typeParameters2'
+    'typeParameters2',
   },
   'ExtensionElement': {
     'augmentation',
@@ -16102,7 +25861,7 @@
     'augmented',
     'extendedType',
     'hashCode',
-    'runtimeType'
+    'runtimeType',
   },
   'ExtensionTypeElement': {
     'augmentation',
@@ -16112,7 +25871,7 @@
     'primaryConstructor',
     'representation',
     'runtimeType',
-    'typeErasure'
+    'typeErasure',
   },
   'FieldElement': {
     'augmentation',
@@ -16125,14 +25884,14 @@
     'isExternal',
     'isPromotable',
     'isStatic',
-    'runtimeType'
+    'runtimeType',
   },
   'File': {
     'changes',
     'hashCode',
     'lengthSync',
     'modificationStamp',
-    'runtimeType'
+    'runtimeType',
   },
   'FunctionElement': {
     'augmentation',
@@ -16140,7 +25899,7 @@
     'hashCode',
     'isDartCoreIdentical',
     'isEntryPoint',
-    'runtimeType'
+    'runtimeType',
   },
   'FunctionType': {
     'element',
@@ -16156,14 +25915,14 @@
     'returnType',
     'runtimeType',
     'typeFormals',
-    'typeParameters'
+    'typeParameters',
   },
   'FunctionTypedElement': {
     'hashCode',
     'parameters',
     'returnType',
     'runtimeType',
-    'type'
+    'type',
   },
   'GetterSetterCombo': {
     'allAccessors',
@@ -16204,7 +25963,7 @@
     'readWrite',
     'referenceChildren',
     'setter',
-    'writeOnly'
+    'writeOnly',
   },
   'Inheritable': {
     'attributes',
@@ -16214,7 +25973,7 @@
     'isInherited',
     'isOverride',
     'overriddenDepth',
-    'overriddenElement'
+    'overriddenElement',
   },
   'InterfaceElement': {
     'allSupertypes',
@@ -16228,7 +25987,7 @@
     'runtimeType',
     'supertype',
     'thisType',
-    'unnamedConstructor'
+    'unnamedConstructor',
   },
   'Iterable': {
     'first',
@@ -16239,7 +25998,7 @@
     'last',
     'length',
     'runtimeType',
-    'single'
+    'single',
   },
   'Kind': {'hashCode', 'index', 'runtimeType'},
   'LibraryElement': {
@@ -16260,7 +26019,7 @@
     'publicNamespace',
     'runtimeType',
     'topLevelElements',
-    'units'
+    'units',
   },
   'List': {'hashCode', 'length', 'reversed', 'runtimeType'},
   'Locatable': {
@@ -16269,7 +26028,7 @@
     'fullyQualifiedName',
     'href',
     'isCanonical',
-    'location'
+    'location',
   },
   'Map': {
     'entries',
@@ -16279,7 +26038,7 @@
     'keys',
     'length',
     'runtimeType',
-    'values'
+    'values',
   },
   'Member': {
     'augmentationSubstitution',
@@ -16334,14 +26093,14 @@
     'runtimeType',
     'session',
     'sinceSdkVersion',
-    'substitution'
+    'substitution',
   },
   'MethodElement': {
     'augmentation',
     'augmentationTarget',
     'declaration',
     'hashCode',
-    'runtimeType'
+    'runtimeType',
   },
   'MixinElement': {
     'augmentation',
@@ -16350,7 +26109,7 @@
     'hashCode',
     'isBase',
     'runtimeType',
-    'superclassConstraints'
+    'superclassConstraints',
   },
   'ModelNode': {'commentData', 'hashCode', 'runtimeType', 'sourceCode'},
   'PackageGraph': {
@@ -16391,7 +26150,7 @@
     'referenceParents',
     'resourceProvider',
     'runtimeType',
-    'sdkLibrarySources'
+    'sdkLibrarySources',
   },
   'PackageMeta': {
     'dir',
@@ -16405,7 +26164,7 @@
     'resolvedDir',
     'resourceProvider',
     'runtimeType',
-    'version'
+    'version',
   },
   'ParameterElement': {
     'declaration',
@@ -16428,7 +26187,7 @@
     'parameterKind',
     'parameters',
     'runtimeType',
-    'typeParameters'
+    'typeParameters',
   },
   'ParameterMember': {
     'augmentationSubstitution',
@@ -16500,7 +26259,7 @@
     'source',
     'substitution',
     'type',
-    'typeParameters'
+    'typeParameters',
   },
   'ParameterizedType': {'hashCode', 'runtimeType', 'typeArguments'},
   'PropertyAccessorElement': {
@@ -16516,7 +26275,7 @@
     'isSetter',
     'runtimeType',
     'variable',
-    'variable2'
+    'variable2',
   },
   'Scope': {'hashCode', 'runtimeType'},
   'TemplateOptions': {
@@ -16527,7 +26286,7 @@
     'relCanonicalPrefix',
     'runtimeType',
     'toolVersion',
-    'useBaseHref'
+    'useBaseHref',
   },
   'TopLevelVariableElement': {
     'augmentation',
@@ -16535,7 +26294,7 @@
     'declaration',
     'hashCode',
     'isExternal',
-    'runtimeType'
+    'runtimeType',
   },
   'TypeAliasElement': {
     'aliasedElement',
@@ -16545,7 +26304,7 @@
     'hashCode',
     'isAugmentation',
     'name',
-    'runtimeType'
+    'runtimeType',
   },
   'TypeParameterElement': {
     'bound',
@@ -16553,7 +26312,7 @@
     'displayName',
     'hashCode',
     'name',
-    'runtimeType'
+    'runtimeType',
   },
   'int': {
     'bitLength',
@@ -16565,6 +26324,6 @@
     'isNegative',
     'isOdd',
     'runtimeType',
-    'sign'
+    'sign',
   },
 };
diff --git a/lib/src/model/container_modifiers.dart b/lib/src/model/container_modifiers.dart
index fed36a2..67a576d 100644
--- a/lib/src/model/container_modifiers.dart
+++ b/lib/src/model/container_modifiers.dart
@@ -43,7 +43,7 @@
 }
 
 extension BuildLanguageFeatureSet on Iterable<ContainerModifier> {
-  /// Transforms [ContainerModifiers] into a series of [LanguageFeature] objects
+  /// Transforms [ContainerModifier]s into a series of [LanguageFeature] objects
   /// suitable for rendering as chips.   Assumes iterable is sorted.
   Iterable<LanguageFeature> get asLanguageFeatureSet =>
       where((m) => !m.hideIfPresent.any(contains))
diff --git a/lib/src/model/documentation.dart b/lib/src/model/documentation.dart
index 89adebf..c9bece4 100644
--- a/lib/src/model/documentation.dart
+++ b/lib/src/model/documentation.dart
@@ -23,7 +23,7 @@
   /// A guard against re-computing [_asHtml].
   bool _hasHtmlBeenRendered = false;
 
-  /// A guard against re-computing [_asHOneLiner].
+  /// A guard against re-computing [_asOneLiner].
   bool _hasOneLinerBeenRendered = false;
 
   String get asHtml {
diff --git a/lib/src/model/documentation_comment.dart b/lib/src/model/documentation_comment.dart
index c4a1b12..e09d81c 100644
--- a/lib/src/model/documentation_comment.dart
+++ b/lib/src/model/documentation_comment.dart
@@ -2,6 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+/// @docImport 'package:dartdoc/src/model/package_graph.dart';
+library;
+
 import 'package:analyzer/dart/element/element.dart';
 import 'package:args/args.dart';
 import 'package:crypto/crypto.dart' as crypto;
@@ -835,8 +838,8 @@
 
   /// Replace `<dartdoc-html>[digest]</dartdoc-html>` in API comments with
   /// the contents of the HTML fragment earlier defined by the
-  /// &#123;@inject-html&#125; directive. The [digest] is a SHA1 of the contents
-  /// of the HTML fragment, automatically generated upon parsing the
+  /// &#123;@inject-html&#125; directive. The `[digest]` is a SHA1 of the
+  /// contents of the HTML fragment, automatically generated upon parsing the
   /// &#123;@inject-html&#125; directive.
   ///
   /// This markup is generated and inserted by [_stripHtmlAndAddToIndex] when it
diff --git a/lib/src/model/enum.dart b/lib/src/model/enum.dart
index a7338d3..b34dfef 100644
--- a/lib/src/model/enum.dart
+++ b/lib/src/model/enum.dart
@@ -117,9 +117,9 @@
       return canonicalModelElement?.href;
     }
     assert(canonicalEnclosingContainer == enclosingElement);
-    // TODO(jcollins-g): EnumField should not depend on enclosingElement, but
-    // we sort of have to while we are half-converted to [FileStructure].
-    return '${package.baseHref}${enclosingElement.library.dirName}/${enclosingElement.fileName}';
+    assert(canonicalLibrary != null);
+    return '${package.baseHref}${canonicalLibrary!.dirName}/'
+        '${enclosingElement.fileName}';
   }
 
   @override
diff --git a/lib/src/model/inheritable.dart b/lib/src/model/inheritable.dart
index 7ed7e5d..a518404 100644
--- a/lib/src/model/inheritable.dart
+++ b/lib/src/model/inheritable.dart
@@ -14,10 +14,9 @@
 /// We can search the inheritance chain between this instance and
 /// [definingEnclosingContainer] in [Inheritable.canonicalEnclosingContainer],
 /// for the canonical [Class] closest to where this member was defined.  We
-/// can then know that when we find [Inheritable.modelElement] inside that
-/// [Class]'s namespace, that's the one we should treat as canonical and
-/// implementors of this class can use that knowledge to determine
-/// canonicalization.
+/// can then know that when we find [Inheritable.element] inside that [Class]'s
+/// namespace, that's the one we should treat as canonical and implementors of
+/// this class can use that knowledge to determine canonicalization.
 ///
 /// We pick the class closest to the [definingEnclosingContainer] so that all
 /// children of that class inheriting the same member will point to the same
diff --git a/lib/src/model/library.dart b/lib/src/model/library.dart
index 7725c6c..77ee812 100644
--- a/lib/src/model/library.dart
+++ b/lib/src/model/library.dart
@@ -219,7 +219,7 @@
     // The file name for a library is 'index.html', so we just link to the
     // directory name. This keeps the URL looking short, _without_ the
     // 'index.html' in the URL.
-    return '${package.baseHref}$dirName';
+    return '${package.baseHref}$dirName/';
   }
 
   /// The previous value of [filePath].
diff --git a/lib/src/model/locatable.dart b/lib/src/model/locatable.dart
index 6198d74..f1cdca5 100644
--- a/lib/src/model/locatable.dart
+++ b/lib/src/model/locatable.dart
@@ -16,7 +16,7 @@
   /// class doesn't have docs for this element.
   List<Locatable> get documentationFrom;
 
-  /// True if documentationFrom contains only one item, [this].
+  /// Whether [documentationFrom] contains only one item, `this`.
   bool get documentationIsLocal =>
       documentationFrom.length == 1 && identical(documentationFrom.first, this);
 
diff --git a/lib/src/model/mixin.dart b/lib/src/model/mixin.dart
index 546d2b2..5495d9c 100644
--- a/lib/src/model/mixin.dart
+++ b/lib/src/model/mixin.dart
@@ -16,10 +16,8 @@
   final MixinElement element;
 
   late final List<ParameterizedElementType> superclassConstraints = [
-    ...element.superclassConstraints
-        .map((InterfaceType i) =>
-            getTypeFor(i, library) as ParameterizedElementType)
-        .where((t) => t.modelElement != packageGraph.objectClass)
+    ...element.superclassConstraints.where((e) => !e.isDartCoreObject).map(
+        (InterfaceType i) => getTypeFor(i, library) as ParameterizedElementType)
   ];
 
   @override
diff --git a/lib/src/model/model_element.dart b/lib/src/model/model_element.dart
index 1a853ba..d14de0f 100644
--- a/lib/src/model/model_element.dart
+++ b/lib/src/model/model_element.dart
@@ -255,7 +255,7 @@
     return newModelElement;
   }
 
-  /// Caches a newly-created [ModelElement] from [ModelElement._from] or
+  /// Caches a newly-created [ModelElement] from [ModelElement.for_] or
   /// [ModelElement.forPropertyInducingElement].
   static void _cacheNewModelElement(
       Element e, ModelElement newModelElement, Library library,
diff --git a/lib/src/model/package_builder.dart b/lib/src/model/package_builder.dart
index 6cdf05f..a536c8c 100644
--- a/lib/src/model/package_builder.dart
+++ b/lib/src/model/package_builder.dart
@@ -226,11 +226,9 @@
   /// [addingSpecials] indicates that only [SpecialClass]es are being resolved
   /// in this round.
   Future<void> _discoverLibraries(
-    void Function(DartDocResolvedLibrary) addLibrary,
-    Set<LibraryElement> processedLibraries,
-    Set<String> files, {
-    bool addingSpecials = false,
-  }) async {
+      void Function(DartDocResolvedLibrary) addLibrary,
+      Set<LibraryElement> processedLibraries,
+      Set<String> files) async {
     files = {...files};
     // Discover Dart libraries in a loop. In each iteration of the loop, we take
     // a set of files (starting with the ones passed into the function), resolve
@@ -251,17 +249,15 @@
     // find all documentable files in that package, for the universal reference
     // scope. This variable tracks which packages we've seen so far.
     var knownPackages = <PackageMeta>{};
-    if (!addingSpecials) {
-      progressBarStart(files.length);
-    }
+    progressBarStart(files.length);
+
     // The set of files that are discovered while iterating in the below
     // do-while loop, which are then added to `files`, as they are found.
     var newFiles = <String>{};
     do {
       filesInLastPass = filesInCurrentPass;
-      if (!addingSpecials) {
-        progressBarUpdateTickCount(files.length);
-      }
+      progressBarUpdateTickCount(files.length);
+
       // Be careful here, not to accidentally stack up multiple
       // [DartDocResolvedLibrary]s, as those eat our heap.
       var libraryFiles = files.difference(_knownParts);
@@ -271,9 +267,8 @@
           continue;
         }
         processedFiles.add(file);
-        if (!addingSpecials) {
-          progressBarTick();
-        }
+        progressBarTick();
+
         var resolvedLibrary = await _resolveLibrary(file);
         if (resolvedLibrary == null) {
           // `file` did not resolve to a _library_; could be a part, an
@@ -292,41 +287,35 @@
         processedLibraries.add(resolvedLibrary.element);
       }
       files.addAll(newFiles);
-      if (!addingSpecials) {
-        var externals = _includedExternalsFrom(newFiles);
-        if (externals.isNotEmpty) {
-          includeExternalsWasSpecified = true;
-        }
-        files.addAll(externals);
+      var externals = _includedExternalsFrom(newFiles);
+      if (externals.isNotEmpty) {
+        includeExternalsWasSpecified = true;
       }
+      files.addAll(externals);
 
       var packages = _packageMetasForFiles(files.difference(_knownParts));
       filesInCurrentPass = {...files.difference(_knownParts)};
 
-      if (!addingSpecials) {
-        // To get canonicalization correct for non-locally documented packages
-        // (so we can generate the right hyperlinks), it's vital that we add all
-        // libraries in dependent packages. So if the analyzer discovers some
-        // files in a package we haven't seen yet, add files for that package.
-        for (var meta in packages.difference(knownPackages)) {
-          if (meta.isSdk) {
-            if (!_skipUnreachableSdkLibraries) {
-              files.addAll(_sdkFilesToDocument);
-            }
-          } else {
-            files.addAll(await _findFilesToDocumentInPackage(
-              meta.dir.path,
-              includeDependencies: false,
-              filterExcludes: false,
-            ).toList());
+      // To get canonicalization correct for non-locally documented packages
+      // (so we can generate the right hyperlinks), it's vital that we add all
+      // libraries in dependent packages. So if the analyzer discovers some
+      // files in a package we haven't seen yet, add files for that package.
+      for (var meta in packages.difference(knownPackages)) {
+        if (meta.isSdk) {
+          if (!_skipUnreachableSdkLibraries) {
+            files.addAll(_sdkFilesToDocument);
           }
+        } else {
+          files.addAll(await _findFilesToDocumentInPackage(
+            meta.dir.path,
+            includeDependencies: false,
+            filterExcludes: false,
+          ).toList());
         }
-        knownPackages.addAll(packages);
       }
+      knownPackages.addAll(packages);
     } while (!filesInLastPass.containsAll(filesInCurrentPass));
-    if (!addingSpecials) {
-      progressBarComplete();
-    }
+    progressBarComplete();
   }
 
   /// Returns all top level library files in the 'lib/' directory of the given
diff --git a/lib/src/model/package_graph.dart b/lib/src/model/package_graph.dart
index 8f33354..f86ce3f 100644
--- a/lib/src/model/package_graph.dart
+++ b/lib/src/model/package_graph.dart
@@ -706,10 +706,6 @@
   /// If we know the element is related to a particular class, pass a
   /// [preferredClass] to disambiguate.
   ///
-  /// This doesn't know anything about [PackageGraph.inheritThrough] and
-  /// probably shouldn't, so using it with [Inheritable]s without special casing
-  /// is not advised.
-  ///
   /// This can return `null` in a few ways: if [modelElement] is `null`, or if
   /// it has no canonical library, or if a possible canonical model element has
   /// a `false` value for `isCanonical`.
diff --git a/lib/src/mustachio/annotations.dart b/lib/src/mustachio/annotations.dart
index badfce8..dc00aae 100644
--- a/lib/src/mustachio/annotations.dart
+++ b/lib/src/mustachio/annotations.dart
@@ -11,9 +11,8 @@
 
 /// Specifies information for generating both a runtime-interpreted Mustache
 /// renderer and a pre-compiled Mustache renderer for a [context] object, using
-/// a Mustache template located at [standardHtmlTemplate] and at
-/// [standardMdTemplate], for an HTML template, and for a Markdown template,
-/// respectively.
+/// a Mustache template located at [standardHtmlTemplate], for an HTML template,
+/// and for a Markdown template, respectively.
 // Update `test/builder_test_base.dart` when updating this.
 class Renderer {
   /// The name of the render function to generate.
@@ -40,8 +39,8 @@
   /// render [context] objects.
   ///
   /// [standardTemplateBasename] is used as a basename in an
-  /// Asset URL, in both [standardHtmlTemplate] and [standardMdTemplate],
-  /// in order to render with the out-of-the-box Mustache templates.
+  /// Asset URL, in both [standardHtmlTemplate], in order to render with the
+  /// out-of-the-box Mustache templates.
   const Renderer(
     this.name,
     this.context,
diff --git a/lib/src/tool_definition.dart b/lib/src/tool_definition.dart
index 8eb9b04..1531255 100644
--- a/lib/src/tool_definition.dart
+++ b/lib/src/tool_definition.dart
@@ -2,6 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+/// @docImport 'package:dartdoc/src/tool_configuration.dart';
+library;
+
 import 'dart:async';
 
 import 'package:analyzer/file_system/file_system.dart';
@@ -188,8 +191,8 @@
 
   bool _needsSnapshot = true;
 
-  /// Will return true precisely once, unless [snapshotFile] was already a
-  /// snapshot.  In that case, will always return false.
+  /// Returns `true` precisely once, unless [_snapshotFile] was already a
+  /// snapshot.  In that case, will always return `false`.
   bool get needsSnapshot {
     if (_needsSnapshot) {
       _needsSnapshot = false;
diff --git a/lib/src/version.dart b/lib/src/version.dart
index 39e2550..ec3f41f 100644
--- a/lib/src/version.dart
+++ b/lib/src/version.dart
@@ -1 +1 @@
-const packageVersion = '8.3.1-wip';
+const packageVersion = '8.3.3-wip';
diff --git a/pubspec.yaml b/pubspec.yaml
index cac30bc..528faf3 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,10 +1,10 @@
 name: dartdoc
-version: 8.3.1-wip
+version: 8.3.3-wip
 description: A non-interactive HTML documentation generator for Dart source code.
 repository: https://github.com/dart-lang/dartdoc
 
 environment:
-  sdk: ^3.5.0
+  sdk: ^3.6.0
 
 dependencies:
   analyzer: ^6.10.0
@@ -24,7 +24,7 @@
 
 dev_dependencies:
   async: ^2.11.0
-  dart_style: ^2.3.7
+  dart_style: ^3.0.0
   lints: ^5.0.0
   matcher: ^0.12.15
   sass: ^1.80.4
diff --git a/test/comment_referable/comment_referable_test.dart b/test/comment_referable/comment_referable_test.dart
index 3ebf1ef..be04c30 100644
--- a/test/comment_referable/comment_referable_test.dart
+++ b/test/comment_referable/comment_referable_test.dart
@@ -2,6 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+/// @docImport 'package:dartdoc/src/model/model_element.dart';
+library;
+
 import 'package:collection/collection.dart';
 import 'package:dartdoc/src/model/comment_referable.dart';
 import 'package:dartdoc/src/model/nameable.dart';
diff --git a/test/end2end/model_test.dart b/test/end2end/model_test.dart
index e3fe255..283f40b 100644
--- a/test/end2end/model_test.dart
+++ b/test/end2end/model_test.dart
@@ -1194,17 +1194,25 @@
         expect(
           aFunctionUsingRenamedLib.documentationAsHtml,
           contains(
-              'Link to library: <a href="${htmlBasePlaceholder}mylibpub">renamedLib</a>'),
+            'Link to library: '
+            '<a href="${htmlBasePlaceholder}mylibpub/">renamedLib</a>',
+          ),
         );
         expect(
           aFunctionUsingRenamedLib.documentationAsHtml,
           contains(
-              'Link to constructor (implied, no new): <a href="${htmlBasePlaceholder}mylibpub/YetAnotherHelper/YetAnotherHelper.html">renamedLib.YetAnotherHelper()</a>'),
+            'Link to constructor (implied, no new): '
+            '<a href="${htmlBasePlaceholder}mylibpub/YetAnotherHelper/YetAnotherHelper.html">'
+            'renamedLib.YetAnotherHelper()</a>',
+          ),
         );
         expect(
           aFunctionUsingRenamedLib.documentationAsHtml,
           contains(
-              'Link to class: <a href="${htmlBasePlaceholder}mylibpub/YetAnotherHelper-class.html">renamedLib.YetAnotherHelper</a>'),
+            'Link to class: '
+            '<a href="${htmlBasePlaceholder}mylibpub/YetAnotherHelper-class.html">'
+            'renamedLib.YetAnotherHelper</a>',
+          ),
         );
         expect(
           aFunctionUsingRenamedLib.documentationAsHtml,
diff --git a/test/enums_test.dart b/test/enums_test.dart
index e52324c..0c88525 100644
--- a/test/enums_test.dart
+++ b/test/enums_test.dart
@@ -8,22 +8,153 @@
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
 import 'dartdoc_test_base.dart';
+import 'src/test_descriptor_utils.dart' as d;
 import 'src/utils.dart';
 
 void main() {
   defineReflectiveSuite(() {
     defineReflectiveTests(EnumTest);
-    defineReflectiveTests(EnhancedEnumTest);
   });
 }
 
 @reflectiveTest
-class EnhancedEnumTest extends DartdocTestBase {
+class EnumTest extends DartdocTestBase {
   @override
   String get libraryName => 'enums';
 
-  @override
-  String get sdkConstraint => '>=2.17.0 <3.0.0';
+  void test_annotatedValue() async {
+    var library = await bootPackageWithLibrary('''
+enum E {
+  @deprecated
+  one,
+  two, three
+}
+
+''');
+    var one = library.enums.named('E').publicEnumValues.named('one');
+    expect(one.hasAnnotations, true);
+    expect(one.annotations, hasLength(1));
+    expect(one.isDeprecated, true);
+  }
+
+  void test_canBeReferenced_whenFoundAsParameterType() async {
+    var library = await bootPackageWithLibrary('''
+enum E {
+  one, two
+}
+
+class C {
+  /// [E] can be referenced.
+  void m(E p) {}
+}
+''');
+    var m = library.classes.named('C').instanceMethods.named('m');
+
+    expect(m.hasDocumentationComment, true);
+    expect(
+      m.documentationAsHtml,
+      '<p><a href="$linkPrefix/E.html">E</a> can be referenced.</p>',
+    );
+  }
+
+  void test_canBeReferenced_whenFoundAsReturnType() async {
+    var library = await bootPackageWithLibrary('''
+enum E {
+  one, two
+}
+
+class C {
+  /// [E] can be referenced.
+  E m() => E.one;
+}
+''');
+    var m = library.classes.named('C').instanceMethods.named('m');
+
+    expect(m.hasDocumentationComment, true);
+    expect(
+      m.documentationAsHtml,
+      '<p><a href="$linkPrefix/E.html">E</a> can be referenced.</p>',
+    );
+  }
+
+  void test_canBeReferenced_whenFoundAsReturnType_typeArgument() async {
+    var library = await bootPackageWithLibrary('''
+enum E {
+  one, two
+}
+
+class C {
+  /// [E] can be referenced.
+  Future<E> m() async => E.one;
+}
+''');
+    var m = library.classes.named('C').instanceMethods.named('m');
+
+    expect(m.hasDocumentationComment, true);
+    expect(
+      m.documentationAsHtml,
+      '<p><a href="$linkPrefix/E.html">E</a> can be referenced.</p>',
+    );
+  }
+
+  void test_constantValue_explicitConstructorCall() async {
+    var library = await bootPackageWithLibrary('''
+enum E {
+  one.named(1),
+  two.named(2);
+
+  final int x;
+
+  const E.named(this.x);
+}
+''');
+    var eOneValue = library.enums.named('E').publicEnumValues.named('one');
+    expect(eOneValue.constantValueTruncated, 'const E.named(1)');
+
+    var eTwoValue = library.enums.named('E').publicEnumValues.named('two');
+    expect(eTwoValue.constantValueTruncated, 'const E.named(2)');
+  }
+
+  void test_constantValue_explicitConstructorCall_zeroConstructorArgs() async {
+    var library = await bootPackageWithLibrary('''
+enum E {
+  one.named1(),
+  two.named2();
+
+  final int x;
+
+  const E.named1() : x = 1;
+  const E.named2() : x = 2;
+}
+''');
+    var eOneValue = library.enums.named('E').publicEnumValues.named('one');
+    expect(eOneValue.constantValueTruncated, 'const E.named1()');
+
+    var eTwoValue = library.enums.named('E').publicEnumValues.named('two');
+    expect(eTwoValue.constantValueTruncated, 'const E.named2()');
+  }
+
+  void test_constantValue_implicitConstructorCall() async {
+    var library = await bootPackageWithLibrary('''
+enum E { one, two }
+''');
+
+    var oneValue = library.enums.named('E').publicEnumValues.named('one');
+    expect(
+      oneValue.constantValueTruncated,
+      // TODO(srawlins): This should link back to the E enum. Something like
+      // `'const <a href="$linkPrefix/E/E.html">E</a>(0)'`.
+      'const E(0)',
+    );
+
+    var twoValue = library.enums.named('E').publicEnumValues.named('two');
+    expect(
+      twoValue.constantValueTruncated,
+      // TODO(srawlins): This should link back to the E enum. Something like
+      // `'const <a href="$linkPrefix/E/E.html">E</a>(1)'`.
+      'const E(1)',
+    );
+  }
 
   void test_constructorsAreDocumented() async {
     // TODO(srawlins): As all supported Dart is >=2.15.0, this test can just
@@ -48,6 +179,74 @@
     expect(namedConstructor.documentationComment, '/// A named constructor.');
   }
 
+  void test_enclosingElement() async {
+    var library = await bootPackageWithLibrary('enum E { one, two, three }');
+    var eEnum = library.enums.named('E');
+
+    expect(eEnum.enclosingElement.name, 'enums');
+  }
+
+  void test_fullyQualifiedName() async {
+    var library = await bootPackageWithLibrary('enum E { one, two, three }');
+    var eEnum = library.enums.named('E');
+
+    expect(eEnum.fullyQualifiedName, equals('enums.E'));
+  }
+
+  void test_hasAnnotations() async {
+    var library = await bootPackageWithLibrary('''
+class C {
+  const C();
+}
+
+@C()
+enum E { one, two, three }
+''');
+    var eEnum = library.enums.named('E');
+
+    expect(eEnum.hasAnnotations, true);
+    expect(eEnum.annotations, hasLength(1));
+    expect(eEnum.annotations.single.linkedName,
+        '<a href="$linkPrefix/C-class.html">C</a>');
+  }
+
+  void test_hasDocComment() async {
+    var library = await bootPackageWithLibrary('''
+/// Doc comment for [E].
+enum E { one, two, three }
+''');
+    var eEnum = library.enums.named('E');
+
+    expect(eEnum.hasDocumentationComment, true);
+    expect(eEnum.documentationComment, '/// Doc comment for [E].');
+  }
+
+  void test_index_canBeReferenced() async {
+    var library = await bootPackageWithLibrary('''
+enum E { one, two, three }
+
+/// Reference to [E.index].
+class C {}
+''');
+    var cClass = library.classes.named('C');
+    expect(
+      cClass.documentationAsHtml,
+      '<p>Reference to '
+      '<a href="https://api.dart.dev/stable/3.2.0/dart-core/Enum/index.html">E.index</a>.</p>',
+    );
+  }
+
+  void test_index_isLinked() async {
+    var library = await bootPackageWithLibrary('enum E { one, two, three }');
+    var eEnum = library.enums.named('E');
+
+    expect(eEnum.instanceFields.map((f) => f.name), contains('index'));
+    expect(
+      eEnum.instanceFields.named('index').linkedName,
+      '<a href="https://api.dart.dev/stable/3.2.0/dart-core/Enum/index.html">index</a>',
+    );
+  }
+
   void test_instanceFieldsAreDocumented() async {
     // TODO(srawlins): As all supported Dart is >=2.15.0, this test can just
     // be a "fields" test rather than an "enum" test.
@@ -180,6 +379,13 @@
     );
   }
 
+  void test_linkedName() async {
+    var library = await bootPackageWithLibrary('enum E { one, two, three }');
+    var eEnum = library.enums.named('E');
+
+    expect(eEnum.linkedName, equals('<a href="$linkPrefix/E.html">E</a>'));
+  }
+
   void test_methodsAreDocumented() async {
     // TODO(srawlins): As all supported Dart is >=2.15.0, this test can just
     // be a "method" test rather than an "enum" test.
@@ -265,6 +471,18 @@
     expect(lessThan.documentationComment, '/// Less than.');
   }
 
+  void test_publicEnums() async {
+    var library = await bootPackageWithLibrary('enum E { one, two, three }');
+    expect(library.enums.wherePublic, isNotEmpty);
+  }
+
+  void test_publicEnumValues() async {
+    var library = await bootPackageWithLibrary('enum E { one, two, three }');
+    var eEnum = library.enums.named('E');
+
+    expect(eEnum.publicEnumValues, hasLength(3));
+  }
+
   void test_staticFieldsAreDocumented() async {
     // TODO(srawlins): As all supported Dart is >=2.15.0, this test can just
     // be a "static field" test rather than an "enum" test.
@@ -376,173 +594,6 @@
     );
   }
 
-  void test_constantValue_implicitConstructorCall() async {
-    var library = await bootPackageWithLibrary('''
-enum E { one, two }
-''');
-
-    var oneValue = library.enums.named('E').publicEnumValues.named('one');
-    expect(
-      oneValue.constantValueTruncated,
-      // TODO(srawlins): This should link back to the E enum. Something like
-      // `'const <a href="$linkPrefix/E/E.html">E</a>(0)'`.
-      'const E(0)',
-    );
-
-    var twoValue = library.enums.named('E').publicEnumValues.named('two');
-    expect(
-      twoValue.constantValueTruncated,
-      // TODO(srawlins): This should link back to the E enum. Something like
-      // `'const <a href="$linkPrefix/E/E.html">E</a>(1)'`.
-      'const E(1)',
-    );
-  }
-
-  void test_constantValue_explicitConstructorCall() async {
-    var library = await bootPackageWithLibrary('''
-enum E {
-  one.named(1),
-  two.named(2);
-
-  final int x;
-
-  const E.named(this.x);
-}
-''');
-    var eOneValue = library.enums.named('E').publicEnumValues.named('one');
-    expect(eOneValue.constantValueTruncated, 'const E.named(1)');
-
-    var eTwoValue = library.enums.named('E').publicEnumValues.named('two');
-    expect(eTwoValue.constantValueTruncated, 'const E.named(2)');
-  }
-
-  void test_constantValue_explicitConstructorCall_zeroConstructorArgs() async {
-    var library = await bootPackageWithLibrary('''
-enum E {
-  one.named1(),
-  two.named2();
-
-  final int x;
-
-  const E.named1() : x = 1;
-  const E.named2() : x = 2;
-}
-''');
-    var eOneValue = library.enums.named('E').publicEnumValues.named('one');
-    expect(eOneValue.constantValueTruncated, 'const E.named1()');
-
-    var eTwoValue = library.enums.named('E').publicEnumValues.named('two');
-    expect(eTwoValue.constantValueTruncated, 'const E.named2()');
-  }
-}
-
-@reflectiveTest
-class EnumTest extends DartdocTestBase {
-  @override
-  String get libraryName => 'enums';
-
-  void test_annotatedValue() async {
-    var library = await bootPackageWithLibrary('''
-enum E {
-  @deprecated
-  one,
-  two, three
-}
-
-''');
-    var one = library.enums.named('E').publicEnumValues.named('one');
-    expect(one.hasAnnotations, true);
-    expect(one.annotations, hasLength(1));
-    expect(one.isDeprecated, true);
-  }
-
-  void test_enclosingElement() async {
-    var library = await bootPackageWithLibrary('enum E { one, two, three }');
-    var eEnum = library.enums.named('E');
-
-    expect(eEnum.enclosingElement.name, 'enums');
-  }
-
-  void test_fullyQualifiedName() async {
-    var library = await bootPackageWithLibrary('enum E { one, two, three }');
-    var eEnum = library.enums.named('E');
-
-    expect(eEnum.fullyQualifiedName, equals('enums.E'));
-  }
-
-  void test_hasAnnotations() async {
-    var library = await bootPackageWithLibrary('''
-class C {
-  const C();
-}
-
-@C()
-enum E { one, two, three }
-''');
-    var eEnum = library.enums.named('E');
-
-    expect(eEnum.hasAnnotations, true);
-    expect(eEnum.annotations, hasLength(1));
-    expect(eEnum.annotations.single.linkedName,
-        '<a href="$linkPrefix/C-class.html">C</a>');
-  }
-
-  void test_hasDocComment() async {
-    var library = await bootPackageWithLibrary('''
-/// Doc comment for [E].
-enum E { one, two, three }
-''');
-    var eEnum = library.enums.named('E');
-
-    expect(eEnum.hasDocumentationComment, true);
-    expect(eEnum.documentationComment, '/// Doc comment for [E].');
-  }
-
-  void test_index_canBeReferenced() async {
-    var library = await bootPackageWithLibrary('''
-enum E { one, two, three }
-
-/// Reference to [E.index].
-class C {}
-''');
-    var cClass = library.classes.named('C');
-    expect(
-      cClass.documentationAsHtml,
-      '<p>Reference to '
-      '<a href="https://api.dart.dev/stable/3.2.0/dart-core/Enum/index.html">E.index</a>.</p>',
-    );
-  }
-
-  void test_index_isLinked() async {
-    var library = await bootPackageWithLibrary('enum E { one, two, three }');
-    var eEnum = library.enums.named('E');
-
-    expect(eEnum.instanceFields.map((f) => f.name), contains('index'));
-    expect(
-      eEnum.instanceFields.named('index').linkedName,
-      '<a href="https://api.dart.dev/stable/3.2.0/dart-core/Enum/index.html">index</a>',
-    );
-  }
-
-  void test_linkedName() async {
-    var library = await bootPackageWithLibrary('enum E { one, two, three }');
-    var eEnum = library.enums.named('E');
-
-    expect(eEnum.linkedName, equals('<a href="$linkPrefix/E.html">E</a>'));
-  }
-
-  void test_publicEnums() async {
-    var library = await bootPackageWithLibrary('enum E { one, two, three }');
-    expect(library.enums.wherePublic, isNotEmpty);
-  }
-
-  void test_publicEnumValues() async {
-    var library = await bootPackageWithLibrary('enum E { one, two, three }');
-    var eEnum = library.enums.named('E');
-
-    expect(eEnum.publicEnumValues, hasLength(3));
-  }
-
   void test_toString() async {
     var library = await bootPackageWithLibrary('enum E { one, two, three }');
     var eEnum = library.enums.named('E');
@@ -587,6 +638,23 @@
     expect(oneValue.constantValue, equals(oneValue.renderedName));
   }
 
+  void test_value_linksToItsAnchor_inExportedLib() async {
+    var library = (await bootPackageFromFiles([
+      d.file('lib/src/library.dart', '''
+enum E { one, two three }
+'''),
+      d.file('lib/enums.dart', '''
+export 'src/library.dart';
+'''),
+    ]))
+        .libraries
+        .named(libraryName);
+    var oneValue =
+        library.enums.named('E').publicEnumValues.named('one') as EnumField;
+    expect(oneValue.linkedName, '<a href="$linkPrefix/E.html#one">one</a>');
+    expect(oneValue.constantValue, equals(oneValue.renderedName));
+  }
+
   void test_values_haveIndices() async {
     var library = await bootPackageWithLibrary('enum E { one, two, three }');
     var oneValue =
@@ -623,64 +691,4 @@
       '<a href="$linkPrefix/E/values-constant.html">E.values</a>.</p>',
     );
   }
-
-  void test_canBeReferenced_whenFoundAsReturnType() async {
-    var library = await bootPackageWithLibrary('''
-enum E {
-  one, two
-}
-
-class C {
-  /// [E] can be referenced.
-  E m() => E.one;
-}
-''');
-    var m = library.classes.named('C').instanceMethods.named('m');
-
-    expect(m.hasDocumentationComment, true);
-    expect(
-      m.documentationAsHtml,
-      '<p><a href="$linkPrefix/E.html">E</a> can be referenced.</p>',
-    );
-  }
-
-  void test_canBeReferenced_whenFoundAsReturnType_typeArgument() async {
-    var library = await bootPackageWithLibrary('''
-enum E {
-  one, two
-}
-
-class C {
-  /// [E] can be referenced.
-  Future<E> m() async => E.one;
-}
-''');
-    var m = library.classes.named('C').instanceMethods.named('m');
-
-    expect(m.hasDocumentationComment, true);
-    expect(
-      m.documentationAsHtml,
-      '<p><a href="$linkPrefix/E.html">E</a> can be referenced.</p>',
-    );
-  }
-
-  void test_canBeReferenced_whenFoundAsParameterType() async {
-    var library = await bootPackageWithLibrary('''
-enum E {
-  one, two
-}
-
-class C {
-  /// [E] can be referenced.
-  void m(E p) {}
-}
-''');
-    var m = library.classes.named('C').instanceMethods.named('m');
-
-    expect(m.hasDocumentationComment, true);
-    expect(
-      m.documentationAsHtml,
-      '<p><a href="$linkPrefix/E.html">E</a> can be referenced.</p>',
-    );
-  }
 }
diff --git a/test/libraries_test.dart b/test/libraries_test.dart
index 8d110d5..25be790 100644
--- a/test/libraries_test.dart
+++ b/test/libraries_test.dart
@@ -174,7 +174,7 @@
     var dartAsyncLib = sdkPackage.libraries.named('dart:async');
     expect(dartAsyncLib.name, 'dart:async');
     expect(dartAsyncLib.dirName, 'dart-async');
-    expect(dartAsyncLib.href, '${htmlBasePlaceholder}dart-async');
+    expect(dartAsyncLib.href, '${htmlBasePlaceholder}dart-async/');
   });
 }
 
@@ -191,7 +191,7 @@
 
     expect(library.name, 'libraries');
     expect(library.qualifiedName, 'libraries');
-    expect(library.href, '${placeholder}libraries');
+    expect(library.href, '${placeholder}libraries/');
   }
 
   void test_library_containsClassWithSameNameAsDartSdk() async {
@@ -212,7 +212,7 @@
 
     expect(library.name, 'lib1');
     expect(library.qualifiedName, 'lib1');
-    expect(library.href, '${placeholder}lib1');
+    expect(library.href, '${placeholder}lib1/');
     expect(library.redirectingPath, 'lib1/lib1-library.html');
   }
 
@@ -230,7 +230,7 @@
     );
     expect(library.qualifiedName, 'libraries');
     expect(library.name, 'libraries');
-    expect(library.href, '${placeholder}public');
+    expect(library.href, '${placeholder}public/');
   }
 }
 
@@ -278,7 +278,7 @@
 
     expect(library.name, 'lib2');
     expect(library.qualifiedName, 'lib2');
-    expect(library.href, '${placeholder}package-two_lib2');
+    expect(library.href, '${placeholder}package-two_lib2/');
     expect(
       library.redirectingPath,
       'package-two_lib2/package-two_lib2-library.html',
@@ -292,7 +292,7 @@
 
     expect(library.name, 'lib2');
     expect(library.qualifiedName, 'lib2');
-    expect(library.href, '${placeholder}package-two_lib2');
+    expect(library.href, '${placeholder}package-two_lib2/');
     expect(
       library.redirectingPath,
       'package-two_lib2/package-two_lib2-library.html',
@@ -306,7 +306,7 @@
 
     expect(library.name, 'lib2');
     expect(library.qualifiedName, 'lib2');
-    expect(library.href, '${placeholder}lib2');
+    expect(library.href, '${placeholder}lib2/');
     expect(library.redirectingPath, 'lib2/lib2-library.html');
   }
 }
diff --git a/test/mustachio/builder_test_base.dart b/test/mustachio/builder_test_base.dart
index 7b513f0..5dadac4 100644
--- a/test/mustachio/builder_test_base.dart
+++ b/test/mustachio/builder_test_base.dart
@@ -101,7 +101,7 @@
 }
 
 extension LibraryExtensions on LibraryElement {
-  /// Returns the top-level function in [this] library, named [name], or `null`
+  /// Returns the top-level function in `this` library, named [name], or `null`
   /// if no function is found.
   FunctionElement? getTopLevelFunction(String name) => topLevelElements
       .whereType<FunctionElement>()
diff --git a/test/mustachio/foo.runtime_renderers.dart b/test/mustachio/foo.runtime_renderers.dart
index 204b97b..7da9801 100644
--- a/test/mustachio/foo.runtime_renderers.dart
+++ b/test/mustachio/foo.runtime_renderers.dart
@@ -27,8 +27,12 @@
 }
 
 void _render_Bar(
-    Bar context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  Bar context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = Renderer_Bar(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -37,71 +41,111 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Bar>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ...Renderer_Object.propertyMap<CT_>(),
-                'baz': Property(
-                  getValue: (CT_ c) => c.baz,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        Renderer_Baz.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(self.getValue(c) as Baz,
-                        nextProperty, [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.baz == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Baz(c.baz!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'foo': Property(
-                  getValue: (CT_ c) => c.foo,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        Renderer_Foo.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(self.getValue(c) as Foo,
-                        nextProperty, [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.foo == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Foo(c.foo!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'l1': Property(
-                  getValue: (CT_ c) => c.l1,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.l1 == true,
-                ),
-                's2': Property(
-                  getValue: (CT_ c) => c.s2,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'String'),
-                  isNullValue: (CT_ c) => c.s2 == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.s2, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['String']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ...Renderer_Object.propertyMap<CT_>(),
+              'baz': Property(
+                getValue: (CT_ c) => c.baz,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = Renderer_Baz.propertyMap().getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Baz,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  Renderer_Bar(Bar context, RendererBase<Object>? parent, Template template,
-      StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.baz == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Baz(c.baz!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'foo': Property(
+                getValue: (CT_ c) => c.foo,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = Renderer_Foo.propertyMap().getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Foo,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.foo == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Foo(c.foo!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'l1': Property(
+                getValue: (CT_ c) => c.l1,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.l1 == true,
+              ),
+              's2': Property(
+                getValue: (CT_ c) => c.s2,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'String'),
+
+                isNullValue: (CT_ c) => c.s2 == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.s2,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['String']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_Bar(
+    Bar context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Bar>? getProperty(String key) {
@@ -120,8 +164,12 @@
 }
 
 void _render_Baz(
-    Baz context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  Baz context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = Renderer_Baz(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -130,33 +178,49 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Baz>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ...Renderer_Object.propertyMap<CT_>(),
-                'bar': Property(
-                  getValue: (CT_ c) => c.bar,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        Renderer_Bar.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(self.getValue(c) as Bar,
-                        nextProperty, [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.bar == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Bar(c.bar!, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ...Renderer_Object.propertyMap<CT_>(),
+              'bar': Property(
+                getValue: (CT_ c) => c.bar,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = Renderer_Bar.propertyMap().getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Bar,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  Renderer_Baz(Baz context, RendererBase<Object>? parent, Template template,
-      StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.bar == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Bar(c.bar!, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_Baz(
+    Baz context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Baz>? getProperty(String key) {
@@ -175,8 +239,12 @@
 }
 
 void _render_Foo(
-    Foo context, List<MustachioNode> ast, Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+  Foo context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = Renderer_Foo(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -185,97 +253,165 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Foo>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ...Renderer_FooBase.propertyMap<Baz, CT_>(),
-                'b1': Property(
-                  getValue: (CT_ c) => c.b1,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.b1,
-                ),
-                'baz': Property(
-                  getValue: (CT_ c) => c.baz,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        Renderer_Baz.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(self.getValue(c) as Baz,
-                        nextProperty, [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.baz == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Baz(c.baz!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                'l1': Property(
-                  getValue: (CT_ c) => c.l1,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'List<int>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.l1.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!));
-                  },
-                ),
-                'length': Property(
-                  getValue: (CT_ c) => c.length,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => c.length == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.length, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-                'p1': Property(
-                  getValue: (CT_ c) => c.p1,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        Renderer_Property1.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Property1,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.p1 == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Property1(c.p1!, ast, r.template, sink, parent: r);
-                  },
-                ),
-                's1': Property(
-                  getValue: (CT_ c) => c.s1,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'String'),
-                  isNullValue: (CT_ c) => c.s1 == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.s1, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['String']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ...Renderer_FooBase.propertyMap<Baz, CT_>(),
+              'b1': Property(
+                getValue: (CT_ c) => c.b1,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
 
-  Renderer_Foo(Foo context, RendererBase<Object>? parent, Template template,
-      StringSink sink)
-      : super(context, parent, template, sink);
+                getBool: (CT_ c) => c.b1,
+              ),
+              'baz': Property(
+                getValue: (CT_ c) => c.baz,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = Renderer_Baz.propertyMap().getValue(name);
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Baz,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.baz == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Baz(c.baz!, ast, r.template, sink, parent: r);
+                },
+              ),
+              'l1': Property(
+                getValue: (CT_ c) => c.l1,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<int>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.l1.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['int']!,
+                    ),
+                  );
+                },
+              ),
+              'length': Property(
+                getValue: (CT_ c) => c.length,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
+
+                isNullValue: (CT_ c) => c.length == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.length,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+              'p1': Property(
+                getValue: (CT_ c) => c.p1,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = Renderer_Property1.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Property1,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
+
+                isNullValue: (CT_ c) => c.p1 == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Property1(c.p1!, ast, r.template, sink, parent: r);
+                },
+              ),
+              's1': Property(
+                getValue: (CT_ c) => c.s1,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'String'),
+
+                isNullValue: (CT_ c) => c.s1 == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.s1,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['String']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_Foo(
+    Foo context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Foo>? getProperty(String key) {
@@ -290,38 +426,60 @@
 class Renderer_FooBase<T extends Object> extends RendererBase<FooBase<T>> {
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>>
-      propertyMap<T extends Object, CT_ extends FooBase>() =>
-          _propertyMapCache.putIfAbsent(
-              CT_,
-              () => {
-                    ...Renderer_Object.propertyMap<CT_>(),
-                    'baz': Property(
-                      getValue: (CT_ c) => c.baz,
-                      renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) {
-                        if (remainingNames.isEmpty) {
-                          return self.getValue(c).toString();
-                        }
-                        var name = remainingNames.first;
-                        var nextProperty =
-                            Renderer_Object.propertyMap().getValue(name);
-                        return nextProperty.renderVariable(
-                            self.getValue(c) as Object,
-                            nextProperty,
-                            [...remainingNames.skip(1)]);
-                      },
-                      isNullValue: (CT_ c) => false,
-                      renderValue: (CT_ c, RendererBase<CT_> r,
-                          List<MustachioNode> ast, StringSink sink) {
-                        renderSimple(c.baz, ast, r.template, sink,
-                            parent: r, getters: _invisibleGetters['Object']!);
-                      },
-                    ),
-                  }) as Map<String, Property<CT_>>;
+  propertyMap<T extends Object, CT_ extends FooBase>() =>
+      _propertyMapCache.putIfAbsent(
+            CT_,
+            () => {
+              ...Renderer_Object.propertyMap<CT_>(),
+              'baz': Property(
+                getValue: (CT_ c) => c.baz,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = Renderer_Object.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Object,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  Renderer_FooBase(FooBase<T> context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.baz,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['Object']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_FooBase(
+    FooBase<T> context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<FooBase<T>>? getProperty(String key) {
@@ -337,34 +495,50 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Mixin1>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'p3': Property(
-                  getValue: (CT_ c) => c.p3,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        Renderer_Property3.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Property3,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.p3 == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Property3(c.p3!, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'p3': Property(
+                getValue: (CT_ c) => c.p3,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = Renderer_Property3.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Property3,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  Renderer_Mixin1(Mixin1 context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.p3 == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Property3(c.p3!, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_Mixin1(
+    Mixin1 context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Mixin1>? getProperty(String key) {
@@ -380,25 +554,42 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Object>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                'hashCode': Property(
-                  getValue: (CT_ c) => c.hashCode,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'int'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.hashCode, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              'hashCode': Property(
+                getValue: (CT_ c) => c.hashCode,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'int'),
 
-  Renderer_Object(Object context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.hashCode,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['int']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_Object(
+    Object context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Object>? getProperty(String key) {
@@ -410,9 +601,13 @@
   }
 }
 
-void _render_Property1(Property1 context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Property1(
+  Property1 context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = Renderer_Property1(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -421,35 +616,51 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Property1>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ...Renderer_Object.propertyMap<CT_>(),
-                'p2': Property(
-                  getValue: (CT_ c) => c.p2,
-                  renderVariable:
-                      (CT_ c, Property<CT_> self, List<String> remainingNames) {
-                    if (remainingNames.isEmpty) {
-                      return self.getValue(c).toString();
-                    }
-                    var name = remainingNames.first;
-                    var nextProperty =
-                        Renderer_Property2.propertyMap().getValue(name);
-                    return nextProperty.renderVariable(
-                        self.getValue(c) as Property2,
-                        nextProperty,
-                        [...remainingNames.skip(1)]);
-                  },
-                  isNullValue: (CT_ c) => c.p2 == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    _render_Property2(c.p2!, ast, r.template, sink, parent: r);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ...Renderer_Object.propertyMap<CT_>(),
+              'p2': Property(
+                getValue: (CT_ c) => c.p2,
+                renderVariable: (
+                  CT_ c,
+                  Property<CT_> self,
+                  List<String> remainingNames,
+                ) {
+                  if (remainingNames.isEmpty) {
+                    return self.getValue(c).toString();
+                  }
+                  var name = remainingNames.first;
+                  var nextProperty = Renderer_Property2.propertyMap().getValue(
+                    name,
+                  );
+                  return nextProperty.renderVariable(
+                    self.getValue(c) as Property2,
+                    nextProperty,
+                    [...remainingNames.skip(1)],
+                  );
+                },
 
-  Renderer_Property1(Property1 context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.p2 == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  _render_Property2(c.p2!, ast, r.template, sink, parent: r);
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_Property1(
+    Property1 context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Property1>? getProperty(String key) {
@@ -461,9 +672,13 @@
   }
 }
 
-void _render_Property2(Property2 context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Property2(
+  Property2 context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = Renderer_Property2(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -472,27 +687,44 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Property2>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ...Renderer_Object.propertyMap<CT_>(),
-                ...Renderer_Mixin1.propertyMap<CT_>(),
-                's': Property(
-                  getValue: (CT_ c) => c.s,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'String'),
-                  isNullValue: (CT_ c) => c.s == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.s, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['String']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ...Renderer_Object.propertyMap<CT_>(),
+              ...Renderer_Mixin1.propertyMap<CT_>(),
+              's': Property(
+                getValue: (CT_ c) => c.s,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'String'),
 
-  Renderer_Property2(Property2 context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.s == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.s,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['String']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_Property2(
+    Property2 context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Property2>? getProperty(String key) {
@@ -504,9 +736,13 @@
   }
 }
 
-void _render_Property3(Property3 context, List<MustachioNode> ast,
-    Template template, StringSink sink,
-    {RendererBase<Object>? parent}) {
+void _render_Property3(
+  Property3 context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+  RendererBase<Object>? parent,
+}) {
   var renderer = Renderer_Property3(context, parent, template, sink);
   renderer.renderBlock(ast);
 }
@@ -515,26 +751,43 @@
   static final Map<Type, Object> _propertyMapCache = {};
   static Map<String, Property<CT_>> propertyMap<CT_ extends Property3>() =>
       _propertyMapCache.putIfAbsent(
-          CT_,
-          () => {
-                ...Renderer_Object.propertyMap<CT_>(),
-                's': Property(
-                  getValue: (CT_ c) => c.s,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'String'),
-                  isNullValue: (CT_ c) => c.s == null,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.s, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['String']!);
-                  },
-                ),
-              }) as Map<String, Property<CT_>>;
+            CT_,
+            () => {
+              ...Renderer_Object.propertyMap<CT_>(),
+              's': Property(
+                getValue: (CT_ c) => c.s,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'String'),
 
-  Renderer_Property3(Property3 context, RendererBase<Object>? parent,
-      Template template, StringSink sink)
-      : super(context, parent, template, sink);
+                isNullValue: (CT_ c) => c.s == null,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.s,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['String']!,
+                  );
+                },
+              ),
+            },
+          )
+          as Map<String, Property<CT_>>;
+
+  Renderer_Property3(
+    Property3 context,
+    RendererBase<Object>? parent,
+    Template template,
+    StringSink sink,
+  ) : super(context, parent, template, sink);
 
   @override
   Property<Property3>? getProperty(String key) {
@@ -555,7 +808,7 @@
     'isNotEmpty',
     'length',
     'runes',
-    'runtimeType'
+    'runtimeType',
   },
   'int': {
     'bitLength',
@@ -567,6 +820,6 @@
     'isNegative',
     'isOdd',
     'runtimeType',
-    'sign'
+    'sign',
   },
 };
diff --git a/test/mustachio/runtime_renderer_builder_test.dart b/test/mustachio/runtime_renderer_builder_test.dart
index d28a1a3..873b7a2 100644
--- a/test/mustachio/runtime_renderer_builder_test.dart
+++ b/test/mustachio/runtime_renderer_builder_test.dart
@@ -7,6 +7,7 @@
 library;
 
 import 'dart:io';
+
 import 'package:analyzer/dart/element/element.dart';
 import 'package:test/test.dart';
 import 'package:test_descriptor/test_descriptor.dart' as d;
@@ -98,30 +99,47 @@
 
     test('with a property map with a bool property', () {
       expect(generatedContent, contains('''
-                'b1': Property(
-                  getValue: (CT_ c) => c.b1,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'bool'),
-                  getBool: (CT_ c) => c.b1,
-                ),
+              'b1': Property(
+                getValue: (CT_ c) => c.b1,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'bool'),
+
+                getBool: (CT_ c) => c.b1,
+              ),
 '''));
     });
 
     test('with a property map with an Iterable property', () {
       expect(generatedContent, contains('''
-                'l1': Property(
-                  getValue: (CT_ c) => c.l1,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'List<int>'),
-                  renderIterable: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    return c.l1.map((e) => renderSimple(
-                        e, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['int']!));
-                  },
-                ),
+              'l1': Property(
+                getValue: (CT_ c) => c.l1,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(
+                          c,
+                          remainingNames,
+                          'List<int>',
+                        ),
+
+                renderIterable: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  return c.l1.map(
+                    (e) => renderSimple(
+                      e,
+                      ast,
+                      r.template,
+                      sink,
+                      parent: r,
+                      getters: _invisibleGetters['int']!,
+                    ),
+                  );
+                },
+              ),
 '''));
     });
 
@@ -129,18 +147,30 @@
         'with a property map with a non-bool, non-Iterable, non-nullable property',
         () {
       expect(generatedContent, contains('''
-                's1': Property(
-                  getValue: (CT_ c) => c.s1,
-                  renderVariable: (CT_ c, Property<CT_> self,
-                          List<String> remainingNames) =>
-                      self.renderSimpleVariable(c, remainingNames, 'String'),
-                  isNullValue: (CT_ c) => false,
-                  renderValue: (CT_ c, RendererBase<CT_> r,
-                      List<MustachioNode> ast, StringSink sink) {
-                    renderSimple(c.s1, ast, r.template, sink,
-                        parent: r, getters: _invisibleGetters['String']!);
-                  },
-                ),
+              's1': Property(
+                getValue: (CT_ c) => c.s1,
+                renderVariable:
+                    (CT_ c, Property<CT_> self, List<String> remainingNames) =>
+                        self.renderSimpleVariable(c, remainingNames, 'String'),
+
+                isNullValue: (CT_ c) => false,
+
+                renderValue: (
+                  CT_ c,
+                  RendererBase<CT_> r,
+                  List<MustachioNode> ast,
+                  StringSink sink,
+                ) {
+                  renderSimple(
+                    c.s1,
+                    ast,
+                    r.template,
+                    sink,
+                    parent: r,
+                    getters: _invisibleGetters['String']!,
+                  );
+                },
+              ),
 '''));
     });
   });
@@ -196,9 +226,15 @@
 
     test('with a corresponding render function', () async {
       expect(
-          generatedContent,
-          contains('void _render_Foo<T>(\n'
-              '    Foo<T> context, List<MustachioNode> ast, Template template, StringSink sink,\n'));
+        generatedContent,
+        contains('''
+void _render_Foo<T>(
+  Foo<T> context,
+  List<MustachioNode> ast,
+  Template template,
+  StringSink sink, {
+'''),
+      );
     });
 
     test('with a generic supertype type argument', () async {
@@ -210,14 +246,14 @@
         'with a property map which references the superclass with a type '
         'variable', () {
       expect(generatedContent,
-          contains('..._Renderer_FooBase.propertyMap<T, CT_>(),'));
+          contains('..._Renderer_FooBase.propertyMap<T, CT_>()'));
     });
 
     test(
         'with a property map which references the superclass with an interface '
         'type', () {
       expect(generatedContent,
-          contains('..._Renderer_BarBase.propertyMap<int, CT_>(),'));
+          contains('..._Renderer_BarBase.propertyMap<int, CT_>()'));
     });
   });
 
diff --git a/test/prefixes_test.dart b/test/prefixes_test.dart
index 1b89dca..f0e2161 100644
--- a/test/prefixes_test.dart
+++ b/test/prefixes_test.dart
@@ -32,7 +32,7 @@
     var x = library.properties.named('x');
     expect(
       x.documentationAsHtml,
-      '<p>Text <a href="$dartAsyncUrlPrefix">async</a>.</p>',
+      '<p>Text <a href="$dartAsyncUrlPrefix/">async</a>.</p>',
     );
   }
 
diff --git a/test/search_index_test.dart b/test/search_index_test.dart
index dd95565..2ac3fc1 100644
--- a/test/search_index_test.dart
+++ b/test/search_index_test.dart
@@ -84,7 +84,7 @@
       equals({
         'name': 'index_json',
         'kind': Kind.library.index,
-        'href': '%%__HTMLBASE_dartdoc_internal__%%index_json',
+        'href': '%%__HTMLBASE_dartdoc_internal__%%index_json/',
       }),
     );
   }
diff --git a/test/src/utils.dart b/test/src/utils.dart
index 99d9a0f..d43db63 100644
--- a/test/src/utils.dart
+++ b/test/src/utils.dart
@@ -355,7 +355,16 @@
         .allows(platformVersion);
 
 extension ModelElementIterableExtension<T extends ModelElement> on Iterable<T> {
-  T named(String name) => singleWhere((e) => e.name == name);
+  T named(String name) {
+    var elements = where((e) => e.name == name).toList();
+    if (elements.isEmpty) {
+      throw StateError("No $T elements named '$name'");
+    }
+    if (elements.length > 1) {
+      throw StateError("Too many $T elements named '$name': $elements");
+    }
+    return elements.single;
+  }
 
   T displayNamed(String displayName) =>
       singleWhere((e) => e.displayName == displayName);
diff --git a/tool/mustachio/codegen_runtime_renderer.dart b/tool/mustachio/codegen_runtime_renderer.dart
index 9bd7c85..6826aed 100644
--- a/tool/mustachio/codegen_runtime_renderer.dart
+++ b/tool/mustachio/codegen_runtime_renderer.dart
@@ -2,6 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+/// @docImport 'package:dartdoc/src/mustachio/renderer_base.dart';
+library;
+
 import 'dart:collection';
 
 import 'package:analyzer/dart/element/element.dart';
@@ -268,7 +271,7 @@
     }
   }
 
-  /// Adds [type] to the [_typesToProcess] queue, if it is not already there.
+  /// Adds [element] to the [_typesToProcess] queue, if it is not already there.
   void _addTypeToProcess(
     InterfaceElement element, {
     required bool isFullRenderer,
diff --git a/tool/src/io_utils.dart b/tool/src/io_utils.dart
index 037b458..4d11c9b 100644
--- a/tool/src/io_utils.dart
+++ b/tool/src/io_utils.dart
@@ -9,12 +9,10 @@
 
 final String _sep = Platform.pathSeparator;
 
-/// Copy the given entity to the destination directory.
-///
-/// Note that the [context] parameter is deprecated.
-void copy(FileSystemEntity entity, Directory destDir) {
-  print('copying ${entity.path} to ${destDir.path}');
-  return _copyImpl(entity, destDir);
+/// Copies the given [entity] to the [destinationDir].
+void copy(FileSystemEntity entity, Directory destinationDir) {
+  print('copying ${entity.path} to ${destinationDir.path}');
+  return _copyImpl(entity, destinationDir);
 }
 
 void _copyImpl(FileSystemEntity? entity, Directory destDir) {
diff --git a/tool/task.dart b/tool/task.dart
index 053ef14..e0a843c 100644
--- a/tool/task.dart
+++ b/tool/task.dart
@@ -862,7 +862,7 @@
 bool get _analyzerInUseIsTarget {
   // TODO(srawlins): Add validation that this number falls within the
   // constraints of the analyzer package which are set in `pubspec.yaml`.
-  const analyzerTarget = '6.8.0';
+  const analyzerTarget = '6.11.0';
 
   var lockfilePath = path.join(Directory.current.path, 'pubspec.lock');
   var lockfile = loadYaml(File(lockfilePath).readAsStringSync()) as YamlMap;
@@ -937,8 +937,8 @@
 Future<void> validateSdkDocs() async {
   await docSdk();
   const expectedLibCount = 0;
-  const expectedSubLibCounts = {19, 20, 21};
-  const expectedTotalCounts = {19, 20, 21};
+  const expectedSubLibCount = 20;
+  const expectedTotalCount = 20;
   var indexHtml = File(path.join(_sdkDocsDir.path, 'index.html'));
   if (!indexHtml.existsSync()) {
     throw StateError("No 'index.html' found for the SDK docs");
@@ -953,10 +953,11 @@
   }
   print("Found $foundLibCount 'dart:' entries in 'index.html'");
 
-  var foundSubLibCount =
-      _findCount(indexContents, '<li class="section-subitem"><a href="dart-');
-  if (!expectedSubLibCounts.contains(foundSubLibCount)) {
-    throw StateError("Expected $expectedSubLibCounts 'dart:' entries in "
+  var libLinkPattern =
+      RegExp('<li class="section-subitem"><a [^>]*href="dart-');
+  var foundSubLibCount = _findCount(indexContents, libLinkPattern);
+  if (expectedSubLibCount != foundSubLibCount) {
+    throw StateError("Expected $expectedSubLibCount 'dart:' entries in "
         "'index.html' to be in categories, but found $foundSubLibCount");
   }
   print('$foundSubLibCount index.html dart: entries in categories found');
@@ -965,11 +966,11 @@
   var libraries =
       _sdkDocsDir.listSync().where((fs) => fs.path.contains('dart-'));
   var libraryCount = libraries.length;
-  if (!expectedTotalCounts.contains(libraryCount)) {
+  if (expectedTotalCount != libraryCount) {
     var libraryNames =
         libraries.map((l) => "'${path.basename(l.path)}'").join(', ');
     throw StateError('Unexpected docs generated for SDK libraries; expected '
-        '$expectedTotalCounts directories, but $libraryCount directories were '
+        '$expectedTotalCount directories, but $libraryCount directories were '
         'generated: $libraryNames');
   }
   print("Found $libraryCount 'dart:' libraries");
@@ -987,12 +988,12 @@
     Directory.systemTemp.createTempSync('sdkdocs').absolute;
 
 /// Returns the number of (perhaps overlapping) occurrences of [str] in [match].
-int _findCount(String str, String match) {
+int _findCount(String str, Pattern match) {
   var count = 0;
   var index = str.indexOf(match);
   while (index != -1) {
     count++;
-    index = str.indexOf(match, index + match.length);
+    index = str.indexOf(match, index + 1);
   }
   return count;
 }
diff --git a/web/sig.txt b/web/sig.txt
index 432d71e..eb7701f 100644
--- a/web/sig.txt
+++ b/web/sig.txt
@@ -1 +1 @@
-22A0DF76266C40F6C6821F473937789F
+E8ACF6F50B82736C814C1F0BDE7849EE
diff --git a/web/styles/_base.scss b/web/styles/_base.scss
new file mode 100644
index 0000000..9729d75
--- /dev/null
+++ b/web/styles/_base.scss
@@ -0,0 +1,40 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+html,
+body {
+  margin: 0;
+  padding: 0;
+  height: 100%;
+  width: 100%;
+  overflow: hidden;
+  box-sizing: border-box;
+}
+
+*, *:before, *:after {
+  box-sizing: inherit;
+}
+
+body {
+  display: flex;
+  flex-direction: column;
+  -webkit-overflow-scrolling: touch;
+}
+
+body {
+  -webkit-text-size-adjust: 100%;
+  overflow-x: hidden;
+  font-family: Roboto, sans-serif;
+  font-size: 16px;
+  line-height: 1.42857143;
+  color: var(--main-text-color);
+  background-color: var(--main-bg-color);
+}
+
+main {
+  flex: 1;
+  display: flex;
+  flex-direction: row;
+  min-height: 0;
+}
diff --git a/web/styles/_breadcrumbs.scss b/web/styles/_breadcrumbs.scss
new file mode 100644
index 0000000..69a3946
--- /dev/null
+++ b/web/styles/_breadcrumbs.scss
@@ -0,0 +1,69 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.gt-separated {
+  list-style: none;
+  padding: 0;
+  margin: 0;
+}
+
+.gt-separated li {
+  display: inline-block;
+}
+
+.gt-separated li:before {
+  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23DDDDDD' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");
+  background-position: center;
+  content: "\00a0";
+  margin: 0 6px 0 4px;
+  padding: 0 3px 0 0;
+}
+
+.gt-separated.dark li:before {
+  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23727272' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");
+}
+
+.gt-separated li:first-child:before {
+  background-image: none;
+  content: "";
+  margin: 0;
+  padding: 0;
+}
+
+.breadcrumbs {
+  padding: 0;
+  margin: 8px 0 8px 0;
+  white-space: nowrap;
+  line-height: 1;
+}
+
+@media screen and (min-width: 840px) {
+  nav ol.breadcrumbs {
+    float: left;
+  }
+}
+
+@media screen and (max-width: 840px) {
+  .breadcrumbs {
+    margin: 0 0 24px 0;
+    overflow-x: hidden;
+  }
+}
+
+.breadcrumbs .gt-separated .dark .hidden-xs li + li:before {
+  color: var(--main-h-text);
+}
+
+ol.breadcrumbs li a {
+  color: var(--main-hyperlinks-color);
+}
+
+.self-crumb {
+  color: var(--main-h-text);
+}
+
+.self-name {
+  color: #555;
+  display: none;
+}
diff --git a/web/styles/_code.scss b/web/styles/_code.scss
new file mode 100644
index 0000000..8ffd7f8
--- /dev/null
+++ b/web/styles/_code.scss
@@ -0,0 +1,66 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+pre code {
+  white-space: pre;
+  word-wrap: initial;
+  font-size: 100%
+}
+
+pre {
+  border: 1px solid #ddd;
+  background-color: #eee;
+  font-size: 14px;
+
+  @media(max-width: 840px) {
+    margin: 16px 0;
+  }
+}
+
+code {
+  font-family: 'Roboto Mono', Menlo, monospace;
+  color: inherit;
+  padding: 0.2em 0.4em;
+  font-size: 85%;
+  background-color: rgba(27, 31, 35, 0.05);
+  border-radius: 3px;
+}
+
+// Syntax highlighting, for highlightjs rendered code:
+
+.hljs-string, .hljs-doctag {
+  color: var(--main-string-color);
+}
+
+.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr {
+  color: var(--main-var-color);
+}
+
+.hljs-comment, .hljs-quote {
+  color: var(--main-comment-color);
+  font-style: italic;
+}
+
+.hljs-title, .hljs-section, .hljs-selector-id {
+  color: var(--main-section-color);
+  font-weight: bold;
+}
+
+.hljs-tag, .hljs-name, .hljs-attribute {
+  color: var(--main-tag-color);
+  font-weight: normal;
+}
+
+.hljs-keyword, .hljs-selector-tag, .hljs-subst {
+  color: var(--main-keyword-color);
+  font-weight: bold;
+}
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  color: var(--main-text-color);
+  background: var(--main-code-bg);
+}
diff --git a/web/styles/_content.scss b/web/styles/_content.scss
new file mode 100644
index 0000000..8e21134
--- /dev/null
+++ b/web/styles/_content.scss
@@ -0,0 +1,136 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.main-content {
+  flex: 1;
+  order: 2;
+  overflow-y: scroll;
+  padding: 10px 20px 0 20px;
+}
+
+a {
+  text-decoration: none;
+}
+
+section {
+  /* Note that the generated HTML for pub packages may have `section` tags
+     transformed into `div` tags. */
+  margin-bottom: 36px;
+}
+
+dl {
+  margin: 0;
+}
+
+header {
+  background-color: var(--main-header-color);
+  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-family: Roboto, sans-serif;
+  font-weight: 400;
+  margin-top: 1.5em;
+  color: var(--main-text-color);
+}
+
+h1.title {
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+h1 {
+  font-size: 37px;
+  margin-top: 0;
+  margin-bottom: 0.67em;
+
+  @media(max-width: 840px) {
+    font-size: 24px;
+  }
+}
+
+h2 {
+  font-size: 28px;
+}
+
+h5 {
+  font-size: 16px;
+}
+
+p {
+  margin-bottom: 1em;
+  margin-top: 0;
+}
+
+a {
+  color: var(--main-hyperlinks-color);
+}
+
+a:hover {
+  color: #13B9FD;
+}
+
+.fixed {
+  white-space: pre;
+}
+
+header a,
+header p,
+header li {
+  color: #0175C2;
+}
+
+header a:hover {
+  color: #0175C2;
+}
+
+header h1 .kind {
+  color: #555;
+}
+
+header h1 {
+  font-weight: 400;
+  margin-bottom: 16px;
+}
+
+dt {
+  font-weight: normal;
+}
+
+dd {
+  color: var(--main-text-color);
+  margin-bottom: 1em;
+  margin-left: 0;
+}
+
+dd.callable, dd.constant, dd.property {
+  margin-bottom: 24px;
+}
+
+dd p {
+  overflow-x: hidden;
+  text-overflow: ellipsis;
+  margin-bottom: 0;
+}
+
+table {
+  margin-bottom: 1em;
+}
+
+table,
+th,
+td {
+  border: 1px solid lightgrey;
+  border-collapse: collapse;
+}
+
+th,
+td {
+  padding: 8px;
+}
diff --git a/web/styles/_dartdoc.scss b/web/styles/_dartdoc.scss
new file mode 100644
index 0000000..149aa5b
--- /dev/null
+++ b/web/styles/_dartdoc.scss
@@ -0,0 +1,9 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+@forward "dartdoc/category";
+@forward "dartdoc/feature";
+@forward "dartdoc/members";
+@forward "dartdoc/misc";
+@forward "dartdoc/signature";
diff --git a/web/styles/_footer.scss b/web/styles/_footer.scss
new file mode 100644
index 0000000..a660eb0
--- /dev/null
+++ b/web/styles/_footer.scss
@@ -0,0 +1,32 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+footer {
+  flex: 0 0 16px;
+  text-align: center;
+  padding: 16px 20px;
+}
+
+footer {
+  color: #fff;
+  background-color: var(--main-footer-background);
+  width: 100%;
+}
+
+footer p {
+  margin: 0;
+}
+
+footer .no-break {
+  white-space: nowrap;
+}
+
+footer .container {
+  padding-left: 0;
+  padding-right: 0;
+}
+
+footer a, footer a:hover {
+  color: #fff;
+}
diff --git a/web/styles/_gfm.scss b/web/styles/_gfm.scss
new file mode 100644
index 0000000..be98d4c
--- /dev/null
+++ b/web/styles/_gfm.scss
@@ -0,0 +1,71 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/* github alert styles */
+
+.markdown-alert {
+  margin-top: 1rem;
+  margin-bottom: 1rem;
+  padding: 1.25rem;
+}
+
+.markdown-alert > :last-child {
+  margin-bottom: 0;
+}
+
+.markdown-alert-title {
+  display: flex;
+  align-items: center;
+  gap: 0.4rem;
+  margin-bottom: 0.5rem;
+
+  font-weight: bold;
+  -webkit-font-smoothing: antialiased;
+}
+
+.markdown-alert-title:before {
+  font: 24px / 1 'Material Symbols Outlined';
+}
+
+/* note, tip, important, warning, caution */
+
+.markdown-alert.markdown-alert-note {
+  background-color: var(--alert-info);
+}
+
+.markdown-alert-note .markdown-alert-title:before {
+  content: 'info';
+}
+
+.markdown-alert.markdown-alert-tip {
+  background-color: var(--alert-tip);
+}
+
+.markdown-alert-tip .markdown-alert-title:before {
+  content: 'lightbulb';
+}
+
+.markdown-alert.markdown-alert-important {
+  background-color: var(--alert-important);
+}
+
+.markdown-alert-important .markdown-alert-title:before {
+  content: 'feedback';
+}
+
+.markdown-alert.markdown-alert-warning {
+  background-color: var(--alert-warning);
+}
+
+.markdown-alert-warning .markdown-alert-title:before {
+  content: 'warning';
+}
+
+.markdown-alert.markdown-alert-caution {
+  background-color: var(--alert-error);
+}
+
+.markdown-alert-caution .markdown-alert-title:before {
+  content: 'report';
+}
diff --git a/web/styles/_header.scss b/web/styles/_header.scss
new file mode 100644
index 0000000..bc13feb
--- /dev/null
+++ b/web/styles/_header.scss
@@ -0,0 +1,34 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+header {
+  flex: 0 0 50px;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  padding-left: 30px;
+  padding-right: 30px;
+  background-color: var(--main-header-color);
+}
+
+header ol {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+
+header ol li {
+  display: inline;
+}
+
+header form {
+  display: flex;
+  flex: 1;
+  justify-content: flex-end;
+}
+
+header#header-search-sidebar {
+  height: 50px;
+  margin-bottom: 25px;
+}
diff --git a/web/styles/_navbar.scss b/web/styles/_navbar.scss
new file mode 100644
index 0000000..cf62f06
--- /dev/null
+++ b/web/styles/_navbar.scss
@@ -0,0 +1,23 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+nav.navbar {
+  background-color: inherit;
+  min-height: 50px;
+  border: 0;
+}
+
+nav.navbar .row {
+  padding-top: 8px;
+}
+
+nav .container {
+  white-space: nowrap;
+}
+
+@media(max-width: 840px) {
+  nav .container {
+    width: 100%
+  }
+}
diff --git a/web/styles/_print.scss b/web/styles/_print.scss
new file mode 100644
index 0000000..8cd9ead
--- /dev/null
+++ b/web/styles/_print.scss
@@ -0,0 +1,13 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+@media print {
+  .subnav, .sidebar {
+    display: none;
+  }
+
+  a[href]:after {
+    content: "" !important;
+  }
+}
diff --git a/web/styles/_search.scss b/web/styles/_search.scss
new file mode 100644
index 0000000..dfb8644
--- /dev/null
+++ b/web/styles/_search.scss
@@ -0,0 +1,227 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.form-control {
+  border-radius: 0;
+  border: 0;
+}
+
+@media screen and (max-width: 840px) {
+  form.search {
+    display: none;
+  }
+}
+
+.typeahead {
+  width: 200px;
+  padding: 2px 7px 1px 7px;
+  line-height: 20px;
+  outline: none;
+}
+
+.tt-wrapper {
+  position: relative;
+  display: inline-block;
+}
+
+.tt-input {
+  position: relative;
+  vertical-align: top;
+}
+
+.navbar-right .tt-menu {
+  right: 0;
+  left: inherit !important;
+  width: 540px;
+  max-height: 280px;
+  overflow-y: scroll;
+}
+
+.navbar-right {
+  padding-right: 60px;
+}
+
+.tt-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 100;
+  font-size: 14px;
+  margin: 0;
+  background-color: var(--main-bg-color);
+  border: 1px solid var(--main-header-color);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
+}
+
+
+.typeahead {
+  padding: 17px 17px 17px 50px;
+  width: 422px;
+  height: 20px;
+  font-size: 13px;
+  background-image: url("./search.svg");
+  background-repeat: no-repeat;
+  background-position: 4%;
+  outline: 0;
+  background-size: 20px;
+  filter: var(--main-number-filter);
+}
+
+.search-summary {
+  margin-bottom: 10px;
+}
+
+a.tt-container {
+  font-size: 16px;
+  color: var(--main-hyperlinks-color);
+}
+
+.enter-search-message {
+  position: sticky;
+  top: 0;
+  background-color: #AAA;
+  padding: 0;
+  font-size: 14px;
+  margin: 0;
+  clear: both;
+  text-align: center;
+  color: black;
+}
+
+.tt-suggestion:hover {
+  cursor: pointer;
+  color: #fff;
+  background-color: #0097cf;
+}
+
+.tt-suggestion:hover .search-from-lib {
+  color: #ddd;
+}
+
+.tt-suggestion.tt-cursor {
+  color: #fff;
+  background-color: #0097cf;
+}
+
+.tt-suggestion.tt-cursor .search-from-lib {
+  color: #ddd;
+}
+
+.tt-suggestion p {
+  margin: 0;
+}
+
+.tt-container {
+  font-size: 14px;
+  margin-bottom: 0;
+  margin-top: 15px;
+}
+
+.tt-container-text {
+  color: var(--main-text-color);
+}
+
+
+/* Search results formatting for mini results below search bar. */
+
+.tt-search-results .tt-container {
+  margin-top: 5px;
+  margin-bottom: 5px;
+}
+
+/* Do not show the container as a section. */
+.tt-search-results .tt-container-text {
+  display: none
+}
+
+/* An inline style. */
+.tt-search-results .tt-suggestion {
+  color: var(--main-text-color);
+  margin-top: 5px;
+  overflow: hidden;
+  padding-left: 10px;
+  padding-right: 10px;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+.tt-search-results .tt-suggestion-title {
+  font-size: 14px;
+  padding-right: 5px;
+}
+
+.tt-search-results .tt-suggestion-container {
+  color: var(--main-keyword-color);
+  font-size: 14px;
+  font-style: italic;
+  padding-right: 5px;
+}
+
+.tt-search-results .one-line-description {
+  color: var(--main-keyword-color);
+  display: inline;
+  margin-left: 0;
+}
+
+
+.tt-search-results .one-line-description::before {
+  content: open-quote;
+}
+
+.tt-search-results .one-line-description::after {
+  content: close-quote;
+}
+
+/* Search results formatting for `search.html`. */
+
+/* A block style. */
+#dartdoc-main-content .tt-suggestion {
+  color: var(--main-text-color);
+  margin-top: 5px;
+  margin-bottom: 10px;
+  border-style: solid;
+  border-color: lightgrey;
+  border-width: 0.5px;
+}
+
+#dartdoc-main-content .tt-suggestion-title {
+  display: block;
+  font-weight: 500;
+  margin: 4px 10px 0;
+}
+
+#dartdoc-main-content .one-line-description {
+  display: block;
+  margin: 2px 10px 3px;
+}
+
+/* Do not show a result's container. */
+#dartdoc-main-content .tt-suggestion-container {
+  display: none;
+}
+
+@media screen and (max-width: 840px) {
+  .typeahead {
+    padding: 17px 17px 17px 33px;
+    width: 240px;
+    height: 17px;
+    border: 1px solid #f5f5f5;
+    background-position: 3%;
+    margin: 10px 10px 10px 9px;
+  }
+
+  header {
+    padding-left: 0;
+  }
+}
+
+::placeholder {
+  filter: brightness(0.85);
+}
+
+.search-body {
+  border: 1px solid #7f7f7f;
+  max-width: 400px;
+  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
+}
diff --git a/web/styles/_sidebar.scss b/web/styles/_sidebar.scss
new file mode 100644
index 0000000..56e2565
--- /dev/null
+++ b/web/styles/_sidebar.scss
@@ -0,0 +1,183 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.sidebar ol {
+  list-style: none;
+  line-height: 22px;
+  margin-top: 0;
+  margin-bottom: 0;
+  padding: 0 0 15px 0;
+}
+
+.sidebar h5 a,
+.sidebar h5 a:hover {
+  color: var(--main-sidebar-color);
+}
+
+.sidebar h5,
+.sidebar ol li {
+  text-overflow: ellipsis;
+  overflow: hidden;
+  padding: 3px 0 3px 3px;
+}
+
+.sidebar h5 {
+  color: var(--main-sidebar-color);
+  font-size: 18px;
+  margin: 0 0 22px 0;
+  padding-top: 0;
+}
+
+.sidebar ol li.section-title {
+  font-size: 18px;
+  font-weight: normal;
+  text-transform: uppercase;
+  padding-top: 25px;
+}
+
+.sidebar ol li.section-subtitle a {
+  color: inherit;
+}
+
+.sidebar ol li.section-subtitle {
+  font-weight: 400;
+  text-transform: uppercase;
+}
+
+.sidebar ol li.section-subitem {
+  margin-left: 12px;
+}
+
+.sidebar ol li:first-child {
+  padding-top: 3px;
+  margin-top: 0;
+}
+
+button {
+  padding: 0;
+}
+
+#sidenav-left-toggle {
+  display: none;
+  vertical-align: text-bottom;
+  padding: 0;
+  color: var(--main-icon-color);
+  user-select: none;
+  cursor: pointer;
+}
+
+#sidenav-left-toggle:hover {
+  color: var(--main-hyperlinks-color);
+}
+
+/* left-nav disappears, and can transition in from the left */
+@media screen and (max-width: 840px) {
+  #sidenav-left-toggle {
+    display: inline;
+    width: 24px;
+    height: 24px;
+    border: none;
+    margin-right: 24px;
+    margin-left: 24px;
+    font-size: 24px;
+  }
+
+  #overlay-under-drawer.active {
+    opacity: 0.4;
+    height: 100%;
+    z-index: 1999;
+    position: fixed;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: black;
+    display: block;
+  }
+
+  .sidebar-offcanvas-left {
+    left: -100%;
+    position: fixed;
+    transition: all .25s ease-out;
+    z-index: 2000;
+    top: 0;
+    width: 280px; /* works all the way down to an iphone 4 */
+    height: 90%;
+    background-color: var(--main-bg-color);
+    overflow-y: scroll; /* TODO: how to hide scroll bars? */
+    padding: 10px;
+    margin: 10px 10px;
+    box-shadow: 5px 5px 5px 5px #444444;
+  }
+
+  ol#sidebar-nav {
+    font-size: 18px;
+    white-space: pre-line;
+  }
+
+  .sidebar-offcanvas-left.active {
+    left: 0; /* this animates our drawer into the page */
+  }
+
+  .self-name {
+    display: inline-block;
+    color: var(--main-hyperlinks-color);
+  }
+}
+
+.sidebar-offcanvas-left h5 {
+  margin-bottom: 10px;
+}
+
+.sidebar-offcanvas-left h5:last-of-type {
+  border: 0;
+  margin-bottom: 25px;
+}
+
+/* the right nav disappears out of view when the window shrinks */
+@media screen and (max-width: 992px) {
+  .sidebar-offcanvas-right {
+    display: none;
+  }
+}
+
+#overlay-under-drawer {
+  display: none;
+}
+
+@media screen and (max-width: 320px) {
+  #sidenav-left-toggle {
+    margin-right: 10px;
+    margin-left: 20px;
+  }
+
+  .self-name {
+    margin-right: 10px;
+  }
+}
+
+.sidebar-offcanvas-left {
+  flex: 0 1 230px;
+  order: 1;
+  overflow-y: scroll;
+  padding: 20px 0 15px 30px;
+  margin: 5px 20px 0 0;
+}
+
+.sidebar-offcanvas-right {
+  flex: 0 1 12em;
+  order: 3;
+  overflow-y: scroll;
+  padding: 20px 15px 15px 15px;
+  margin-top: 5px;
+  margin-right: 20px;
+}
+
+::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0; background-color: #AAA; }
+::-webkit-scrollbar-button:hover{ background-color: #AAA; }
+::-webkit-scrollbar-thumb{ background-color: var(--main-scrollbar-color); }
+::-webkit-scrollbar-thumb:hover{ background-color: var(--main-scrollbar-color); }
+::-webkit-scrollbar{ width: 4px; }
+
+.main-content::-webkit-scrollbar{ width: 8px; }
diff --git a/web/styles/_theme.scss b/web/styles/_theme.scss
new file mode 100644
index 0000000..ccee954
--- /dev/null
+++ b/web/styles/_theme.scss
@@ -0,0 +1,134 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.light-theme {
+  /*background-color body, listdropdown*/
+  --main-bg-color: #fff;
+  /*header id-tittle*/
+  --main-header-color: #eeeeee;
+  /*package-name*/
+  --main-sidebar-color: #727272;
+  /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/
+  --main-text-color: #111111;
+  /*typehead search-box*/
+  --main-search-bar: #fff;
+  /* scrollbar-thumb */
+  --main-scrollbar-color: #CCC;
+  /* footer */
+  --main-footer-background: #111111;
+  /*header text color*/
+  --main-h-text: black;
+  /* hyperlinks*/
+  --main-hyperlinks-color: #0175C2;
+  /*search background*/
+  --main-search-background: transparent;
+
+  /*code snippets*/
+  --main-code-bg: #f8f8f8;
+  --main-keyword-color: #333;
+  --main-tag-color: #000080;
+  --main-section-color: #900;
+  --main-comment-color: #998;
+  --main-var-color: #008080;
+  --main-string-color: #d14;
+
+  --main-number-filter: invert(0%);
+  --main-icon-color: black;
+
+  /* alerts */
+  --alert-info: #e7f8ff;
+  --alert-tip: #ecfaf7;
+  --alert-important: #e2dbff;
+  --alert-warning: #fcf8e3;
+  --alert-error: #fde9ee;
+}
+
+.dark-theme {
+  /*background-color body, listdropdown*/
+  --main-bg-color: #10161E;
+  /*header id-tittle*/
+  --main-header-color: #1C2834;
+  /*package-name*/
+  --main-sidebar-color: #fff;
+  /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/
+  --main-text-color: #fff;
+  /*typehead search-box*/
+  --main-search-bar: #454545;
+  /* scrollbar-thumb */
+  --main-scrollbar-color: #5f6368;
+  /* footer */
+  --main-footer-background: #27323a;
+  /* hyperlinks*/
+  --main-hyperlinks-color: #00D2FA;
+  /*search background*/
+  --main-search-background: black;
+
+  /*code snippets*/
+  --main-code-bg: #10161E;
+  --main-keyword-color: white;
+  --main-tag-color: #00D2FA;
+  --main-section-color: #FF2D64;
+  --main-comment-color: #909CC3;
+  --main-var-color: #55A09B;
+  --main-string-color: #FF2D64;
+
+  --main-number-filter: invert(100%);
+  --main-icon-color: white;
+
+  /* alerts */
+  --alert-info: #043875;
+  --alert-tip: #065517;
+  --alert-important: #4a00b4;
+  --alert-warning: #7b6909;
+  --alert-error: #7a0c17;
+}
+
+#theme {
+  display: none;
+}
+
+#theme-button {
+  position: absolute;
+  right: 30px;
+  height: 24px;
+}
+
+#theme-button .material-symbols-outlined {
+  color: var(--main-icon-color);
+  user-select: none;
+  cursor: pointer;
+}
+
+#theme-button .material-symbols-outlined:hover {
+  color: var(--main-hyperlinks-color);
+}
+
+li .material-symbols-outlined, dt .material-symbols-outlined {
+  font-size: 1em;
+  vertical-align: text-bottom;
+}
+
+dt .material-symbols-outlined {
+  text-indent: 0;
+}
+
+.light-theme #light-theme-button {
+  display: none;
+}
+
+.dark-theme #dark-theme-button {
+  display: none;
+}
+
+/*
+Only show images that fit their theme using GitHub's syntax, see:
+https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/
+*/
+.dark-theme img[src$="#gh-light-mode-only"] {
+  display: none;
+}
+
+.light-theme img[src$="#gh-dark-mode-only"] {
+  display: none;
+}
diff --git a/web/styles/dartdoc/_category.scss b/web/styles/dartdoc/_category.scss
new file mode 100644
index 0000000..c22d126
--- /dev/null
+++ b/web/styles/dartdoc/_category.scss
@@ -0,0 +1,51 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.category.linked {
+  font-weight: bold;
+  opacity: 1;
+}
+
+/* Colors for category based on categoryOrder in dartdoc_options.config. */
+.category.cp-0 {
+  background-color: #54b7c4
+}
+
+.category.cp-1 {
+  background-color: #54c47f
+}
+
+.category.cp-2 {
+  background-color: #c4c254
+}
+
+.category.cp-3 {
+  background-color: #c49f54
+}
+
+.category.cp-4 {
+  background-color: #c45465
+}
+
+.category.cp-5 {
+  background-color: #c454c4
+}
+
+.category a {
+  color: white;
+}
+
+.category {
+  padding: 2px 4px;
+  font-size: 12px;
+  border-radius: 4px;
+  background-color: #999;
+  text-transform: uppercase;
+  color: white;
+  opacity: .5;
+}
+
+h1 .category {
+  vertical-align: middle;
+}
diff --git a/web/styles/dartdoc/_feature.scss b/web/styles/dartdoc/_feature.scss
new file mode 100644
index 0000000..8dd5ca6
--- /dev/null
+++ b/web/styles/dartdoc/_feature.scss
@@ -0,0 +1,26 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/* The badge under a declaration for things like "const", "read-only", etc. and for the badges inline like sealed or interface */
+/* See https://github.com/dart-lang/dartdoc/blob/main/lib/src/model/feature.dart */
+.feature {
+  display: inline-block;
+  background: var(--main-bg-color);
+  border: 1px solid var(--main-hyperlinks-color);
+  border-radius: 20px;
+  color: var(--main-hyperlinks-color);
+
+  font-size: 12px;
+  padding: 1px 6px;
+  margin: 0 8px 0 0;
+}
+
+a.feature:hover {
+  border-color: #13B9FD;
+}
+
+h1 .feature {
+  vertical-align: middle;
+  margin: 0 -2px 0 0;
+}
diff --git a/web/styles/dartdoc/_members.scss b/web/styles/dartdoc/_members.scss
new file mode 100644
index 0000000..976297a
--- /dev/null
+++ b/web/styles/dartdoc/_members.scss
@@ -0,0 +1,97 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.markdown.desc {
+  margin-bottom: 1em;
+  max-width: 700px;
+}
+
+.markdown h1 {
+  font-size: 24px;
+  margin-bottom: 8px;
+}
+
+.markdown h2 {
+  font-size: 20px;
+  margin-top: 24px;
+  margin-bottom: 8px;
+}
+
+.markdown h3 {
+  font-size: 18px;
+  margin-bottom: 8px;
+  color: var(--main-text-color);
+}
+
+.markdown h4 {
+  font-size: 16px;
+  margin-bottom: 0;
+}
+
+.markdown li p {
+  margin: 0;
+}
+
+/* Note that the generated HTML for pub packages may have `section` tags
+   transformed into `div` tags, so we have two selectors here. */
+section#setter, div#setter {
+  border-top: 1px solid #ddd;
+  padding-top: 36px;
+}
+
+li.inherited a {
+  opacity: 0.65;
+  font-style: italic;
+}
+
+/* Enum values do not have their own pages; their full docs are presented on the
+ * enum class's page. */
+dt.constant + dd p {
+  margin-bottom: 1em;
+}
+
+/* indents wrapped lines */
+/* Note that the generated HTML for pub packages may have `section` tags
+   transformed into `div` tags, so we have two selectors here. */
+section.summary dt, div.summary dt {
+  margin-left: 24px;
+  text-indent: -24px;
+}
+
+.dl-horizontal dd {
+  margin-left: initial;
+}
+
+dl.dl-horizontal dt {
+  font-style: normal;
+  text-align: left;
+  color: #727272;
+  margin-right: 20px;
+  width: initial;
+}
+
+dt .name {
+  font-weight: 500;
+}
+
+dl dt.callable .name {
+  float: none;
+  width: auto;
+}
+
+/* Do not display "provided by X extension" text on extension pages. */
+.main-content.extension-page .from-extension {
+  display: none;
+}
+
+sup.muted {
+  color: var(--main-sidebar-color);
+  font-size: 0.6em;
+}
+
+.from-extension > span {
+  background-color: var(--alert-warning);
+  font-style: italic;
+  padding: 2px;
+}
diff --git a/web/styles/dartdoc/_misc.scss b/web/styles/dartdoc/_misc.scss
new file mode 100644
index 0000000..4b2c26d
--- /dev/null
+++ b/web/styles/dartdoc/_misc.scss
@@ -0,0 +1,38 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.btn-group {
+  position: relative;
+  display: inline-flex;
+  vertical-align: middle;
+}
+
+.source-link {
+  padding: 18px 4px;
+  font-size: 18px;
+  vertical-align: middle;
+}
+
+@media (max-width: 840px) {
+  .source-link {
+    padding: 7px 2px;
+    font-size: 10px;
+  }
+}
+
+#external-links {
+  float: right;
+}
+
+@media (max-width: 840px) {
+  .hidden-xs {
+    display: none !important;
+  }
+}
+
+@media (min-width: 841px) {
+  .hidden-l {
+    display: none !important;
+  }
+}
diff --git a/web/styles/dartdoc/_signature.scss b/web/styles/dartdoc/_signature.scss
new file mode 100644
index 0000000..e35d892
--- /dev/null
+++ b/web/styles/dartdoc/_signature.scss
@@ -0,0 +1,109 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+.type-parameter {
+  white-space: nowrap;
+}
+
+.multi-line-signature .type-parameter .parameter {
+  margin-left: 0;
+  display: unset;
+}
+
+.parameter-list {
+  display: table-cell;
+  margin-left: 10px;
+  list-style-type: none;
+  padding-inline-start: unset;
+}
+
+.parameter-list.single-line {
+  display: inline;
+  margin-left: 0;
+}
+
+.parameter-list.single-line > li {
+  display: inline;
+}
+
+.parameter-list.single-line > li > .parameter {
+  display: inline;
+  margin-left: 0;
+  text-indent: 0;
+}
+
+.signature {
+  color: var(--main-text-color);
+}
+
+.signature a {
+  color: var(--main-hyperlinks-color);
+}
+
+.deprecated {
+  text-decoration: line-through;
+}
+
+.multi-line-signature {
+  font-size: 17px;
+  color: #727272;
+}
+
+.multi-line-signature .parameter {
+  margin-left: 60px;
+  display: block;
+  text-indent: -36px;
+}
+
+.annotation-list {
+  list-style: none;
+  padding: 0;
+  display: inline;
+}
+
+.comma-separated {
+  list-style: none;
+  padding: 0;
+  display: inline;
+}
+
+.comma-separated li {
+  display: inline;
+}
+
+.comma-separated li:after {
+  content: ", ";
+}
+
+.comma-separated li:last-child:after {
+  content: "";
+}
+
+.container > section:first-child {
+  border: 0;
+}
+
+.constructor-modifier {
+  font-style: italic;
+}
+
+/* Note that the generated HTML for pub packages may have `section` tags
+   transformed into `div` tags, so we have two selectors here. */
+section.multi-line-signature div.parameters,
+div.multi-line-signature div.parameters {
+  margin-left: 24px;
+}
+
+#instance-methods dt.inherited .name,
+#instance-properties dt.inherited .name,
+#operators dt.inherited .name {
+  font-weight: 400;
+  font-style: italic;
+}
+
+#instance-methods dt.inherited .signature,
+#instance-properties dt.inherited .signature,
+#operators dt.inherited .signature {
+  font-weight: 400;
+}
diff --git a/web/styles/styles.scss b/web/styles/styles.scss
index 520a8ac..2f32fc7 100644
--- a/web/styles/styles.scss
+++ b/web/styles/styles.scss
@@ -1,1302 +1,20 @@
-.light-theme {
-  /*background-color body, listdropdown*/
-  --main-bg-color: #fff;
-  /*header id-tittle*/
-  --main-header-color: #eeeeee;
-  /*package-name*/
-  --main-sidebar-color: #727272;
-  /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/
-  --main-text-color: #111111;
-  /*typehead search-box*/
-  --main-search-bar: #fff;
-  /* scrollbar-thumb */
-  --main-scrollbar-color: #CCC;
-  /* footer */
-  --main-footer-background: #111111;
-  /*header text color*/
-  --main-h-text: black;
-  /* hyperlinks*/
-  --main-hyperlinks-color: #0175C2;
-  /*search background*/
-  --main-search-background: transparent;
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
 
-  /*code snippets*/
-  --main-code-bg: #f8f8f8;
-  --main-keyword-color: #333;
-  --main-tag-color: #000080;
-  --main-section-color: #900;
-  --main-comment-color: #998;
-  --main-var-color: #008080;
-  --main-string-color: #d14;
+// Theme must be included before others as it
+// contains the CSS property declarations.
+@use "theme";
 
-  --main-number-filter: invert(0%);
-  --main-icon-color: black;
-
-  /* alerts */
-  --alert-info: #e7f8ff;
-  --alert-tip: #ecfaf7;
-  --alert-important: #e2dbff;
-  --alert-warning: #fcf8e3;
-  --alert-error: #fde9ee;
-}
-
-.dark-theme {
-  /*background-color body, listdropdown*/
-  --main-bg-color: #10161E;
-  /*header id-tittle*/
-  --main-header-color: #1C2834;
-  /*package-name*/
-  --main-sidebar-color: #fff;
-  /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/
-  --main-text-color: #fff;
-  /*typehead search-box*/
-  --main-search-bar: #454545;
-  /* scrollbar-thumb */
-  --main-scrollbar-color: #5f6368;
-  /* footer */
-  --main-footer-background: #27323a;
-  /* hyperlinks*/
-  --main-hyperlinks-color: #00D2FA;
-  /*search background*/
-  --main-search-background: black;
-
-  /*code snippets*/
-  --main-code-bg: #10161E;
-  --main-keyword-color: white;
-  --main-tag-color: #00D2FA;
-  --main-section-color: #FF2D64;
-  --main-comment-color: #909CC3;
-  --main-var-color: #55A09B;
-  --main-string-color: #FF2D64;
-
-  --main-number-filter: invert(100%);
-  --main-icon-color: white;
-
-  /* alerts */
-  --alert-info: #043875;
-  --alert-tip: #065517;
-  --alert-important: #4a00b4;
-  --alert-warning: #7b6909;
-  --alert-error: #7a0c17;
-}
-
-#theme {
-  display: none;
-}
-
-#theme-button {
-  position: absolute;
-  right: 30px;
-  height: 24px;
-}
-
-#theme-button .material-symbols-outlined {
-  color: var(--main-icon-color);
-  user-select: none;
-  cursor: pointer;
-}
-
-#theme-button .material-symbols-outlined:hover {
-  color: var(--main-hyperlinks-color);
-}
-
-li .material-symbols-outlined, dt .material-symbols-outlined {
-  font-size: 1em;
-  vertical-align: text-bottom;
-}
-
-dt .material-symbols-outlined {
-  text-indent: 0;
-}
-
-.light-theme #light-theme-button {
-  display: none;
-}
-
-.dark-theme #dark-theme-button {
-  display: none;
-}
-
-/*
-Only show images that fit their theme using GitHub's syntax, see:
-https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/
-*/
-.dark-theme img[src$="#gh-light-mode-only"] {
-  display: none;
-}
-
-.light-theme img[src$="#gh-dark-mode-only"] {
-  display: none;
-}
-
-/* for layout */
-html,
-body {
-  margin: 0;
-  padding: 0;
-  height: 100%;
-  width: 100%;
-  overflow: hidden;
-  box-sizing: border-box;
-}
-
-*, *:before, *:after {
-  box-sizing: inherit;
-}
-
-body {
-  display: flex;
-  flex-direction: column;
-  -webkit-overflow-scrolling: touch;
-}
-
-header {
-  flex: 0 0 50px;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  padding-left: 30px;
-  padding-right: 30px;
-  background-color: var(--main-header-color);
-}
-
-header ol {
-  list-style: none;
-  margin: 0;
-  padding: 0;
-}
-
-header ol li {
-  display: inline;
-}
-
-header form {
-  display: flex;
-  flex: 1;
-  justify-content: flex-end;
-}
-
-header#header-search-sidebar {
-  height: 50px;
-  margin-bottom: 25px;
-}
-
-footer {
-  flex: 0 0 16px;
-  text-align: center;
-  padding: 16px 20px;
-}
-
-main {
-  flex: 1;
-  display: flex;
-  flex-direction: row;
-  min-height: 0;
-}
-
-.sidebar-offcanvas-left {
-  flex: 0 1 230px;
-  order: 1;
-  overflow-y: scroll;
-  padding: 20px 0 15px 30px;
-  margin: 5px 20px 0 0;
-}
-
-::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0; background-color: #AAA; }
-::-webkit-scrollbar-button:hover{ background-color: #AAA; }
-::-webkit-scrollbar-thumb{ background-color: var(--main-scrollbar-color); }
-::-webkit-scrollbar-thumb:hover{ background-color: var(--main-scrollbar-color); }
-::-webkit-scrollbar{ width: 4px; }
-
-.main-content::-webkit-scrollbar{ width: 8px; }
-
-.main-content {
-  flex: 1;
-  order: 2;
-  overflow-y: scroll;
-  padding: 10px 20px 0 20px;
-}
-
-.sidebar-offcanvas-right {
-  flex: 0 1 12em;
-  order: 3;
-  overflow-y: scroll;
-  padding: 20px 15px 15px 15px;
-  margin-top: 5px;
-  margin-right: 20px;
-}
-
-/* end for layout */
-
-body {
-  -webkit-text-size-adjust: 100%;
-  overflow-x: hidden;
-  font-family: Roboto, sans-serif;
-  font-size: 16px;
-  line-height: 1.42857143;
-  color: var(--main-text-color);
-  background-color: var(--main-bg-color);
-}
-
-nav.navbar {
-  background-color: inherit;
-  min-height: 50px;
-  border: 0;
-}
-
-@media (max-width: 840px) {
-  .hidden-xs {
-    display: none !important;
-  }
-}
-
-@media (min-width: 841px) {
-  .hidden-l {
-    display: none !important;
-  }
-}
-
-nav.navbar .row {
-  padding-top: 8px;
-}
-
-nav .container {
-  white-space: nowrap;
-}
-
-header {
-  background-color: var(--main-header-color);
-  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
-}
-
-.hljs-string, .hljs-doctag {
-  color: var(--main-string-color);
-}
-
-.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr {
-  color: var(--main-var-color);
-}
-
-.hljs-comment, .hljs-quote {
-  color: var(--main-comment-color);
-  font-style: italic;
-}
-
-.hljs-title, .hljs-section, .hljs-selector-id {
-  color: var(--main-section-color);
-  font-weight: bold;
-}
-
-.hljs-tag, .hljs-name, .hljs-attribute {
-  color: var(--main-tag-color);
-  font-weight: normal;
-}
-
-.hljs-keyword, .hljs-selector-tag, .hljs-subst {
-  color: var(--main-keyword-color);
-  font-weight: bold;
-}
-
-.hljs {
-  display: block;
-  overflow-x: auto;
-  padding: 0.5em;
-  color: var(--main-text-color);
-  background: var(--main-code-bg);
-}
-
-a {
-  text-decoration: none;
-}
-
-section {
-  /* Note that the generated HTML for pub packages may have `section` tags
-     transformed into `div` tags. */
-  margin-bottom: 36px;
-}
-
-dl {
-  margin: 0;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-family: Roboto, sans-serif;
-  font-weight: 400;
-  margin-top: 1.5em;
-  color: var(--main-text-color);
-}
-
-h1.title {
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-h1 {
-  font-size: 37px;
-  margin-top: 0;
-  margin-bottom: 0.67em;
-}
-
-h2 {
-  font-size: 28px;
-}
-
-h5 {
-  font-size: 16px;
-}
-
-p {
-  margin-bottom: 1em;
-  margin-top: 0;
-}
-
-a {
-  color: var(--main-hyperlinks-color);
-}
-
-a:hover {
-  color: #13B9FD;
-}
-
-pre code {
-  white-space: pre;
-  word-wrap: initial;
-  font-size: 100%
-}
-
-.fixed {
-  white-space: pre;
-}
-
-pre {
-  border: 1px solid #ddd;
-  background-color: #eee;
-  font-size: 14px;
-}
-
-code {
-  font-family: 'Roboto Mono', Menlo, monospace;
-  color: inherit;
-  padding: 0.2em 0.4em;
-  font-size: 85%;
-  background-color: rgba(27, 31, 35, 0.05);
-  border-radius: 3px;
-}
-
-@media(max-width: 840px) {
-  nav .container {
-    width: 100%
-  }
-
-  h1 {
-    font-size: 24px;
-  }
-
-  pre {
-    margin: 16px 0;
-  }
-}
-
-header h1 {
-  font-weight: 400;
-  margin-bottom: 16px;
-}
-
-header a,
-header p,
-header li {
-  color: #0175C2;
-}
-
-header a:hover {
-  color: #0175C2;
-}
-
-header h1 .kind {
-  color: #555;
-}
-
-dt {
-  font-weight: normal;
-}
-
-dd {
-  color: var(--main-text-color);
-  margin-bottom: 1em;
-  margin-left: 0;
-}
-
-dd.callable, dd.constant, dd.property {
-  margin-bottom: 24px;
-}
-
-dd p {
-  overflow-x: hidden;
-  text-overflow: ellipsis;
-  margin-bottom: 0;
-}
-
-/* Enum values do not have their own pages; their full docs are presented on the
- * enum class's page. */
-dt.constant + dd p {
-  margin-bottom: 1em;
-}
-
-/* indents wrapped lines */
-/* Note that the generated HTML for pub packages may have `section` tags
-   transformed into `div` tags, so we have two selectors here. */
-section.summary dt, div.summary dt {
-  margin-left: 24px;
-  text-indent: -24px;
-}
-
-.dl-horizontal dd {
-  margin-left: initial;
-}
-
-dl.dl-horizontal dt {
-  font-style: normal;
-  text-align: left;
-  color: #727272;
-  margin-right: 20px;
-  width: initial;
-}
-
-dt .name {
-  font-weight: 500;
-}
-
-dl dt.callable .name {
-  float: none;
-  width: auto;
-}
-
-.type-parameter {
-  white-space: nowrap;
-}
-
-.multi-line-signature .type-parameter .parameter {
-  margin-left: 0;
-  display: unset;
-}
-
-.parameter-list {
-  display: table-cell;
-  margin-left: 10px;
-  list-style-type: none;
-  padding-inline-start: unset;
-}
-
-.parameter-list.single-line {
-  display: inline;
-  margin-left: 0;
-}
-
-.parameter-list.single-line > li {
-  display: inline;
-}
-
-.parameter-list.single-line > li > .parameter {
-  display: inline;
-  margin-left: 0;
-  text-indent: 0;
-}
-
-.signature {
-  color: var(--main-text-color);
-}
-
-.signature a {
-  color: var(--main-hyperlinks-color);
-}
-
-.deprecated {
-  text-decoration: line-through;
-}
-
-.category.linked {
-  font-weight: bold;
-  opacity: 1;
-}
-
-/* Colors for category based on categoryOrder in dartdoc_options.config. */
-.category.cp-0 {
-  background-color: #54b7c4
-}
-
-.category.cp-1 {
-  background-color: #54c47f
-}
-
-.category.cp-2 {
-  background-color: #c4c254
-}
-
-.category.cp-3 {
-  background-color: #c49f54
-}
-
-.category.cp-4 {
-  background-color: #c45465
-}
-
-.category.cp-5 {
-  background-color: #c454c4
-}
-
-.category a {
-  color: white;
-}
-
-.category {
-  padding: 2px 4px;
-  font-size: 12px;
-  border-radius: 4px;
-  background-color: #999;
-  text-transform: uppercase;
-  color: white;
-  opacity: .5;
-}
-
-h1 .category {
-  vertical-align: middle;
-}
-
-/* Do not display "provided by X extension" text on extension pages. */
-.main-content.extension-page .from-extension {
-  display: none;
-}
-
-sup.muted {
-  color: var(--main-sidebar-color);
-  font-size: 0.6em;
-}
-
-.from-extension > span {
-  background-color: var(--alert-warning);
-  font-style: italic;
-  padding: 2px;
-}
-
-/* The badge under a declaration for things like "const", "read-only", etc. and for the badges inline like sealed or interface */
-/* See https://github.com/dart-lang/dartdoc/blob/main/lib/src/model/feature.dart */
-.feature {
-  display: inline-block;
-  background: var(--main-bg-color);
-  border: 1px solid var(--main-hyperlinks-color);
-  border-radius: 20px;
-  color: var(--main-hyperlinks-color);
-
-  font-size: 12px;
-  padding: 1px 6px;
-  margin: 0 8px 0 0;
-}
-
-a.feature:hover {
-  border-color: #13B9FD;
-}
-
-h1 .feature {
-  vertical-align: middle;
-  margin: 0 -2px 0 0;
-}
-
-.source-link {
-  padding: 18px 4px;
-  font-size: 18px;
-  vertical-align: middle;
-}
-
-@media (max-width: 840px) {
-  .source-link {
-    padding: 7px 2px;
-    font-size: 10px;
-  }
-}
-
-#external-links {
-  float: right;
-}
-
-.btn-group {
-  position: relative;
-  display: inline-flex;
-  vertical-align: middle;
-}
-
-footer {
-  color: #fff;
-  background-color: var(--main-footer-background);
-  width: 100%;
-}
-
-footer p {
-  margin: 0;
-}
-
-footer .no-break {
-  white-space: nowrap;
-}
-
-footer .container {
-  padding-left: 0;
-  padding-right: 0;
-}
-
-footer a, footer a:hover {
-  color: #fff;
-}
-
-.markdown.desc {
-  margin-bottom: 1em;
-  max-width: 700px;
-}
-
-.markdown h1 {
-  font-size: 24px;
-  margin-bottom: 8px;
-}
-
-.markdown h2 {
-  font-size: 20px;
-  margin-top: 24px;
-  margin-bottom: 8px;
-}
-
-.markdown h3 {
-  font-size: 18px;
-  margin-bottom: 8px;
-  color: var(--main-text-color);
-}
-
-.markdown h4 {
-  font-size: 16px;
-  margin-bottom: 0;
-}
-
-.markdown li p {
-  margin: 0;
-}
-
-table {
-  margin-bottom: 1em;
-}
-
-table,
-th,
-td {
-  border: 1px solid lightgrey;
-  border-collapse: collapse;
-}
-
-th,
-td {
-  padding: 8px;
-}
-
-.gt-separated {
-  list-style: none;
-  padding: 0;
-  margin: 0;
-}
-
-.gt-separated li {
-  display: inline-block;
-}
-
-.gt-separated li:before {
-  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23DDDDDD' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");
-  background-position: center;
-  content: "\00a0";
-  margin: 0 6px 0 4px;
-  padding: 0 3px 0 0;
-}
-
-.gt-separated.dark li:before {
-  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23727272' d='M6.7,4L5.7,4.9L8.8,8l-3.1,3.1L6.7,12l4-4L6.7,4z'/></svg>");
-}
-
-.gt-separated li:first-child:before {
-  background-image: none;
-  content: "";
-  margin: 0;
-  padding: 0;
-}
-
-.multi-line-signature {
-  font-size: 17px;
-  color: #727272;
-}
-
-.multi-line-signature .parameter {
-  margin-left: 60px;
-  display: block;
-  text-indent: -36px;
-}
-
-.breadcrumbs {
-  padding: 0;
-  margin: 8px 0 8px 0;
-  white-space: nowrap;
-  line-height: 1;
-}
-
-@media screen and (min-width: 840px) {
-  nav ol.breadcrumbs {
-    float: left;
-  }
-}
-
-@media screen and (max-width: 840px) {
-  .breadcrumbs {
-    margin: 0 0 24px 0;
-    overflow-x: hidden;
-  }
-}
-
-.breadcrumbs .gt-separated .dark .hidden-xs li + li:before {
-  color: var(--main-h-text);
-}
-
-ol.breadcrumbs li a {
-  color: var(--main-hyperlinks-color);
-}
-
-.self-crumb {
-  color: var(--main-h-text);
-}
-
-.self-name {
-  color: #555;
-  display: none;
-}
-
-.annotation-list {
-  list-style: none;
-  padding: 0;
-  display: inline;
-}
-
-.comma-separated {
-  list-style: none;
-  padding: 0;
-  display: inline;
-}
-
-.comma-separated li {
-  display: inline;
-}
-
-.comma-separated li:after {
-  content: ", ";
-}
-
-.comma-separated li:last-child:after {
-  content: "";
-}
-
-.container > section:first-child {
-  border: 0;
-}
-
-.constructor-modifier {
-  font-style: italic;
-}
-
-/* Note that the generated HTML for pub packages may have `section` tags
-   transformed into `div` tags, so we have two selectors here. */
-section.multi-line-signature div.parameters,
-div.multi-line-signature div.parameters {
-  margin-left: 24px;
-}
-
-/* sidebar styles */
-
-.sidebar ol {
-  list-style: none;
-  line-height: 22px;
-  margin-top: 0;
-  margin-bottom: 0;
-  padding: 0 0 15px 0;
-}
-
-.sidebar h5 a,
-.sidebar h5 a:hover {
-  color: var(--main-sidebar-color);
-}
-
-.sidebar h5,
-.sidebar ol li {
-  text-overflow: ellipsis;
-  overflow: hidden;
-  padding: 3px 0 3px 3px;
-}
-
-.sidebar h5 {
-  color: var(--main-sidebar-color);
-  font-size: 18px;
-  margin: 0 0 22px 0;
-  padding-top: 0;
-}
-
-.sidebar ol li.section-title {
-  font-size: 18px;
-  font-weight: normal;
-  text-transform: uppercase;
-  padding-top: 25px;
-}
-
-.sidebar ol li.section-subtitle a {
-  color: inherit;
-}
-
-.sidebar ol li.section-subtitle {
-  font-weight: 400;
-  text-transform: uppercase;
-}
-
-.sidebar ol li.section-subitem {
-  margin-left: 12px;
-}
-
-.sidebar ol li:first-child {
-  padding-top: 3px;
-  margin-top: 0;
-}
-
-button {
-  padding: 0;
-}
-
-#sidenav-left-toggle {
-  display: none;
-  vertical-align: text-bottom;
-  padding: 0;
-  color: var(--main-icon-color);
-  user-select: none;
-  cursor: pointer;
-}
-
-#sidenav-left-toggle:hover {
-  color: var(--main-hyperlinks-color);
-}
-
-/* left-nav disappears, and can transition in from the left */
-@media screen and (max-width: 840px) {
-  #sidenav-left-toggle {
-    display: inline;
-    width: 24px;
-    height: 24px;
-    border: none;
-    margin-right: 24px;
-    margin-left: 24px;
-    font-size: 24px;
-  }
-
-  #overlay-under-drawer.active {
-    opacity: 0.4;
-    height: 100%;
-    z-index: 1999;
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    bottom: 0;
-    background-color: black;
-    display: block;
-  }
-
-  .sidebar-offcanvas-left {
-    left: -100%;
-    position: fixed;
-    transition: all .25s ease-out;
-    z-index: 2000;
-    top: 0;
-    width: 280px; /* works all the way down to an iphone 4 */
-    height: 90%;
-    background-color: var(--main-bg-color);
-    overflow-y: scroll; /* TODO: how to hide scroll bars? */
-    padding: 10px;
-    margin: 10px 10px;
-    box-shadow: 5px 5px 5px 5px #444444;
-  }
-
-  ol#sidebar-nav {
-    font-size: 18px;
-    white-space: pre-line;
-  }
-
-  .sidebar-offcanvas-left.active {
-    left: 0; /* this animates our drawer into the page */
-  }
-
-  .self-name {
-    display: inline-block;
-    color: var(--main-hyperlinks-color);
-  }
-}
-
-.sidebar-offcanvas-left h5 {
-  margin-bottom: 10px;
-}
-
-.sidebar-offcanvas-left h5:last-of-type {
-  border: 0;
-  margin-bottom: 25px;
-}
-
-/* the right nav disappears out of view when the window shrinks */
-@media screen and (max-width: 992px) {
-  .sidebar-offcanvas-right {
-    display: none;
-  }
-}
-
-#overlay-under-drawer {
-  display: none;
-}
-
-/* find-as-you-type search box */
-
-.form-control {
-  border-radius: 0;
-  border: 0;
-}
-
-@media screen and (max-width: 840px) {
-  form.search {
-    display: none;
-  }
-}
-
-.typeahead {
-  width: 200px;
-  padding: 2px 7px 1px 7px;
-  line-height: 20px;
-  outline: none;
-}
-
-.tt-wrapper {
-  position: relative;
-  display: inline-block;
-}
-
-.tt-input {
-  position: relative;
-  vertical-align: top;
-}
-
-.navbar-right .tt-menu {
-  right: 0;
-  left: inherit !important;
-  width: 540px;
-  max-height: 280px;
-  overflow-y: scroll;
-}
-
-.navbar-right {
-  padding-right: 60px;
-}
-
-.tt-menu {
-  position: absolute;
-  top: 100%;
-  left: 0;
-  z-index: 100;
-  font-size: 14px;
-  margin: 0;
-  background-color: var(--main-bg-color);
-  border: 1px solid var(--main-header-color);
-  box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
-}
-
-
-.typeahead {
-  padding: 17px 17px 17px 50px;
-  width: 422px;
-  height: 20px;
-  font-size: 13px;
-  background-image: url("./search.svg");
-  background-repeat: no-repeat;
-  background-position: 4%;
-  outline: 0;
-  background-size: 20px;
-  filter: var(--main-number-filter);
-}
-
-.search-summary {
-  margin-bottom: 10px;
-}
-
-a.tt-container {
-  font-size: 16px;
-  color: var(--main-hyperlinks-color);
-}
-
-.enter-search-message {
-  position: sticky;
-  top: 0;
-  background-color: #AAA;
-  padding: 0;
-  font-size: 14px;
-  margin: 0;
-  clear: both;
-  text-align: center;
-  color: black;
-}
-
-.tt-suggestion:hover {
-  cursor: pointer;
-  color: #fff;
-  background-color: #0097cf;
-}
-
-.tt-suggestion:hover .search-from-lib {
-  color: #ddd;
-}
-
-.tt-suggestion.tt-cursor {
-  color: #fff;
-  background-color: #0097cf;
-}
-
-.tt-suggestion.tt-cursor .search-from-lib {
-  color: #ddd;
-}
-
-.tt-suggestion p {
-  margin: 0;
-}
-
-.tt-container {
-  font-size: 14px;
-  margin-bottom: 0;
-  margin-top: 15px;
-}
-
-.tt-container-text {
-  color: var(--main-text-color);
-}
-
-
-/* Search results formatting for mini results below search bar. */
-
-.tt-search-results .tt-container {
-  margin-top: 5px;
-  margin-bottom: 5px;
-}
-
-/* Do not show the container as a section. */
-.tt-search-results .tt-container-text {
-  display: none
-}
-
-/* An inline style. */
-.tt-search-results .tt-suggestion {
-  color: var(--main-text-color);
-  margin-top: 5px;
-  overflow: hidden;
-  padding-left: 10px;
-  padding-right: 10px;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.tt-search-results .tt-suggestion-title {
-  font-size: 14px;
-  padding-right: 5px;
-}
-
-.tt-search-results .tt-suggestion-container {
-  color: var(--main-keyword-color);
-  font-size: 14px;
-  font-style: italic;
-  padding-right: 5px;
-}
-
-.tt-search-results .one-line-description {
-  color: var(--main-keyword-color);
-  display: inline;
-  margin-left: 0;
-}
-
-
-.tt-search-results .one-line-description::before {
-  content: open-quote;
-}
-
-.tt-search-results .one-line-description::after {
-  content: close-quote;
-}
-
-/* Search results formatting for `search.html`. */
-
-/* A block style. */
-#dartdoc-main-content .tt-suggestion {
-  color: var(--main-text-color);
-  margin-top: 5px;
-  margin-bottom: 10px;
-  border-style: solid;
-  border-color: lightgrey;
-  border-width: 0.5px;
-}
-
-#dartdoc-main-content .tt-suggestion-title {
-  display: block;
-  font-weight: 500;
-  margin: 4px 10px 0;
-}
-
-#dartdoc-main-content .one-line-description {
-  display: block;
-  margin: 2px 10px 3px;
-}
-
-/* Do not show a result's container. */
-#dartdoc-main-content .tt-suggestion-container {
-  display: none;
-}
-
-@media screen and (max-width: 840px) {
-  .typeahead {
-    padding: 17px 17px 17px 33px;
-    width: 240px;
-    height: 17px;
-    border: 1px solid #f5f5f5;
-    background-position: 3%;
-    margin: 10px 10px 10px 9px;
-  }
-
-  header {
-    padding-left: 0;
-  }
-}
-
-@media screen and (max-width: 320px) {
-  #sidenav-left-toggle {
-    margin-right: 10px;
-    margin-left: 20px;
-  }
-
-  .self-name {
-    margin-right: 10px;
-  }
-}
-
-::placeholder {
-  filter: brightness(0.85);
-}
-
-.search-body {
-  border: 1px solid #7f7f7f;
-  max-width: 400px;
-  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
-}
-
-/* Note that the generated HTML for pub packages may have `section` tags
-   transformed into `div` tags, so we have two selectors here. */
-section#setter, div#setter {
-  border-top: 1px solid #ddd;
-  padding-top: 36px;
-}
-
-li.inherited a {
-  opacity: 0.65;
-  font-style: italic;
-}
-
-#instance-methods dt.inherited .name,
-#instance-properties dt.inherited .name,
-#operators dt.inherited .name {
-  font-weight: 400;
-  font-style: italic;
-}
-
-#instance-methods dt.inherited .signature,
-#instance-properties dt.inherited .signature,
-#operators dt.inherited .signature {
-  font-weight: 400;
-}
-
-@media print {
-  .subnav, .sidebar {
-    display: none;
-  }
-
-  a[href]:after {
-    content: "" !important;
-  }
-}
-
-/* github alert styles */
-
-.markdown-alert {
-  margin-top: 1rem;
-  margin-bottom: 1rem;
-  padding: 1.25rem;
-}
-
-.markdown-alert > :last-child {
-  margin-bottom: 0;
-}
-
-.markdown-alert-title {
-  display: flex;
-  align-items: center;
-  gap: 0.4rem;
-  margin-bottom: 0.5rem;
-
-  font-weight: bold;
-  -webkit-font-smoothing: antialiased;
-}
-
-.markdown-alert-title:before {
-  font: 24px / 1 'Material Symbols Outlined';
-}
-
-/* note, tip, important, warning, caution */
-
-.markdown-alert.markdown-alert-note {
-  background-color: var(--alert-info);
-}
-
-.markdown-alert-note .markdown-alert-title:before {
-  content: 'info';
-}
-
-.markdown-alert.markdown-alert-tip {
-  background-color: var(--alert-tip);
-}
-
-.markdown-alert-tip .markdown-alert-title:before {
-  content: 'lightbulb';
-}
-
-.markdown-alert.markdown-alert-important {
-  background-color: var(--alert-important);
-}
-
-.markdown-alert-important .markdown-alert-title:before {
-  content: 'feedback';
-}
-
-.markdown-alert.markdown-alert-warning {
-  background-color: var(--alert-warning);
-}
-
-.markdown-alert-warning .markdown-alert-title:before {
-  content: 'warning';
-}
-
-.markdown-alert.markdown-alert-caution {
-  background-color: var(--alert-error);
-}
-
-.markdown-alert-caution .markdown-alert-title:before {
-  content: 'report';
-}
+@use "base";
+@use "breadcrumbs";
+@use "code";
+@use "content";
+@use "dartdoc";
+@use "footer";
+@use "gfm";
+@use "header";
+@use "navbar";
+@use "print";
+@use "search";
+@use "sidebar";