From f16b76a281b2d88e4e70f4117b5dd3f115129adb Mon Sep 17 00:00:00 2001
From: Nicholas Yang <parablank@gmail.com>
Date: Thu, 29 Mar 2018 01:12:26 -0400
Subject: [PATCH] making new twitter test files with mmdht

---
 CMakeLists.txt                  |    11 +-
 Indexer-tests                   |   Bin 0 -> 737664 bytes
 Indexer-twitter-tests           |   Bin 0 -> 732324 bytes
 indexer/Indexer.cpp             |     3 +-
 indexer/Indexer.h               |     2 +-
 indexer/IndexerTwitterTests.cpp |   118 +-
 indexer/json.hpp                | 21499 +++++++++++++++---------------
 7 files changed, 10541 insertions(+), 11092 deletions(-)
 create mode 100755 Indexer-tests
 create mode 100755 Indexer-twitter-tests

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ddeeb05..e4d148f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -125,11 +125,14 @@ add_executable(DataStructures-DiskHashTable-tests
         DataStructures/DiskHashTable/DiskHashTable.h
         DataStructures/DiskHashTable/DiskHashTableTests.cpp)
 
-add_executable(Indexer-tests
-        DataStructures/DiskHashTable/DiskHashTable.h
-        Indexer/Indexer.cpp
+add_executable(Indexer-twitter-tests
+        DataStructures/DiskHashTable/MMDiskHashTable.h
+        indexer/Indexer.cpp
         indexer/json.hpp
-        Indexer/IndexerTwitterTests.cpp)
+        util/stringProcessing.cpp
+        util/Stemmer.cpp
+        util/util.cpp
+        indexer/IndexerTwitterTests.cpp)
 
 find_package(OpenSSL REQUIRED)
 
diff --git a/Indexer-tests b/Indexer-tests
new file mode 100755
index 0000000000000000000000000000000000000000..594a74fe4f584bcb686eefd4e2b0f58b5ccae5ea
GIT binary patch
literal 737664
zcmeFaeSBtTT_=2pGBmB!JG^J@DnWTk0ZWP^DFc!zjhtB%iO6UK%0von5GVmU8Wx7V
zhs=Td^l+A}_B_Ou!R#)&adp?I+})s_noMhxR%lb;!Jw{$%F79MHBg>51!<q}%XRMD
z$;|Xw|9w84&*c7|@9%m!*ZE!7^}Alrb?*Ak|9<HFTCMB6TCMSzTCLW@KM3N+GjLU_
z{VV)M_&a)Z?9eNRUpxHjS5dn6U)NrGR>pXyaf72rUo$-Zn!R2WezAM6FmNQLb^w1w
z{yTc~`ZrHs?`!kD@eTX{9tIBYf0^SWf9$Szl13*zdi34bAA94w+oJvH`yap1t@wT|
zB%tC|fbJ0A<AT8P9i4ph+os<9F39%BH+0nT{Ua34f8^AA``;PqyZRm1y?gh8_s2JI
zwc}e4@saO&-gd;kIC}KjtFJ!#=IN{7Jazri>woEu`{S!!>-g4wECdAKlfE<JyZYVN
zzw0g6T^r>4<6HZWj_<mQ?18-V-~PCd9zAy5ufFBFHywS;b=SND9{0yLxDe78@`HST
z9G&s+mb)ttz2;Dd3(A+uU0;w@<u7nXPnCw-ARX7e?dZGT^Y%Bs<84Q$u74N!+2dpV
z(Lcl&vP6{S;}yE0oskdk*v(Zw=ic~wLi!d%81nt`4eyEXZNKzL>0ACoKX31azCU?q
ze0<LL?uqa1?_egp<@%%79J}u7Gt#&5ry)K^S0nF??}8w&;ONo)<#_M&Zio12Yxs}+
zk<0O$e(CyOvS0r0*Wb{eIeh~m1IZsbzBj&m*9x2&-_$LRuSy^9+4;O3s-shf-5fdm
zGe13i<>AWatveoDTX+QLzs5UVikaNbxPBN;1M~oYQ-CR8@AuVe&A;ic&E8n6^-f(-
z+pO1WJOA#2+U(EQR2O>TZ|#d0)ZU5&PF;Lqt>@WYH3X@R;gA33aRdIn0DpJkwjZ<j
ztiRJe7uIe*O9lIW`0m5s<MH=`WAA>~3*PpYH@@Ia?|Ivs!1?cD{4pI*dH>yi+;i+@
zci-@{M?X3D{Ad63Ga*wQxd;Ujf6uKrkpKGeybL$-KWO!L|M5Q51KpII3uck}uHAd%
z{#QTmd6!;xDH8FPH!59&o&IZILH6(U|8wto_w{dn`=wWeAn;wQJsW>aU-JtW)OK*A
zO9F2|pPhLR@uUA9)xe_~cvJ(AYT!`~JgR|5HSnkg9@W638hBI#k80pi4LquWM>X)M
z1|HSG|L-(#Buc(|=ob$C{Gr$UTy)~zSxnMJNiq4IhaZlT)&wDKnLPl(I0WTuF{K%0
z$Cje3__Ke8hb;aC;J$j#fyJmBF4>f%`8Z%Ci~GMz$a)0%24Wb=PAxO$><3@|pAcZ?
zmY$JRQ6ElzC`wQ9u7{I1^c<eKt#>48P0?$5N|2nIHWMVL8fJpz)SQ_hIW-T4cm+vo
z!Ay{}mgsXeUIZ{h;f<1!w4em{ToV+_5(ai^T}&{VUJPHG@^xy%a<jY?6O5)$98I2d
zc;=Swk>u32<$@&NF%u+tH*|yK)BsM7BqQl5N=A~rS8z%yOasgMC`<*T=>_mLAYYmE
zon~aC$sLdnN*)i%zhE@2jV4`(la0eO%RM7W9N9^b#A9ZHBpx>-j3z51Nj5=25>Hw#
zNa86o!r@ib5yy@UjK^3UR^tfZr;`Lprv&a3f=tCF6^oL5l7Z3yPlT^&3X)u9E6vFc
zC+m<mB+r`iAK-#0xe&#wFG87s{J#1V;v4O5+GCnz3&E8II7&sMBwiE~pj4wiWXr*y
z%6l4<M#%~s)^t^@D?~;>h%Vf)7NzkxGC7)A9*UCTg($^eGQ1q6$Csnz*c$j6_(u7$
z{w~y+xbJ)Ln`PaCBOi{k*7Xm&QoU}Nm8uv5Wo;5<JMcG><(q<23kr2=mMqkyncK!u
zLWe97B(2CykhI3k1W9YsOn^EkRtS<}+DwoXO)z9<1K{kGWF-A<N=A}mPVn2agj5XK
zFb{@GY(U*97AZ)a^7IrL>d2D92vox^MkaQ{*Rth;<kXs(AUU-GhUBaRoE%HiQ<Nai
zlJ3c=O|n!BRbpFAfJzEqwTI|A-?5x*H2ECl-I8ZLgj9gKHkw>Gntb!{%nIsG)@vt0
zlJ%JhlC0m1;Ho%4L6QwxE=aN=Gs59jtbx=}IT<_ZPS%I)#?$oz{B)9xzzDD$B-wx<
zSE)dq7mEi8sQ@({z9P$2gwmMIRe20ou=eAGG{DObCxfuOeJDMXkhAW*$?m2-rYIG`
zmE{znNl~yHQF^R_I`FtCIX;WP!ykrVHcHTX9G{DlBlA&uWFGF1f!pIy!Bt02oNnOh
zP`fu&j|@q^X(mYW(oB$i0gcf%1*=*+idL`Cs#`R3x(CtJnCGkU4m?n6xQ!%fixRl^
z&^>8&6Vkx4Ua<hMAbG!hWqp>L-2wT4<nf^70g(8vs>ZK2=6F~9i&h)+y3pmq?&V^2
zdE!>KxUW0(`a^Fxbo8oQ>QAq+J&w`?Kl%~2jLUeM<2$e!J5h2zorml`bFUqeW7~2}
zk8PJfwu7gcxwYr2Tdu*sOY2WRshcRi6ZfvO(MIKckdG|5E&dQl7liW&dB0ix<WsR&
zh9{vcN~e3u8(xHjq%V8czo!*?(KXWm7-NJi#}7*M-X}2Tc#bhAty$lI?BQG_E5_s$
z&mqck^oj5dGe*;xwFU*nB0Xf;G64+*fJsNzFcl-|2dFMIRb3;AE>X6b02u!vLTX6j
z1v5bsFPRZSGq+}mAc@z_2&g5n<(m{F@df~GfmmvmWZQNt?IxDSWFyRXr##8#?JP*L
z8Xqnxb}Td$LD(a=tecPqC@j1jf<=abop8`0vp#zkpyn%vRzz5hhXB@DCP~_&1W~Ad
z!Pt|fW~o_n83f7z7%@8wl5A2z;|U1^1YtI9w<)_Bg0LIKrr*v3OmP+){1{2rv|GbL
z#nMa+rAKbrtlh*?Gi0mX=Ithi{7N$k4tCXVJl*)#!_EAoC@VL_{9Wj($6RdQx*1E-
zNQTsiX5A48P&~{GEWpba2$FcsOn|atCQzk}H!Kk(@ury|iJM3RTI_8?+9E4|1uObn
z%%IDbliPw@`SKrEWop2K+@L>R*Kh8gdGKZR_;U8evslq2aj9Em0+dHHL6Yr=sZ&Yo
zhfWwx9wGECQ*|ioH@$G?Yh5!BsRlD~NjAm%ojinu;pQYzM8CqT9|<1=W&)H*Gs9uD
z&DkUZZS9Sq$DRZzTV?_@Xl8`^O;1?)PFHj_Y^q{G3K$u3c3KI^#^@LJ0KjGuNgGmV
z^-%GIbbxOO-BE?Q$0@|nMQ#SPWMHrp1So$)(cf17DD*GITl-lohb$Xo=|$^~bTt%P
zJgwMbF(l8zSwYscn^`<BmI=_mw3kH*b3u|XnF*47*^JPcKND8LIG}zK+d@zhTE8W)
zF=fz2DV7OPAj||P5N3w=^xPIRXs!If3sK<EFLeY1YCq%tb}N}llC~(pvkwwrBFu)&
z1j#$Qw`h}*rjP4RRg^V*5+qr-nIOq}%mgzlXm_$+O9UtxVg=#0n9<hC&tBG<-gVw;
zHD03=Z=Pn7q%BIKm9KRTHNS;eH^@>0jJg@2`2;+>^{T-L+QA4nyX^Ml&awxZ*+R=#
zOYV-6)g*fjR8)4|!n?#xMiGWFsYf#?ZAxu`EacXNgt=hf5N04sUKpiQs4?$?og6~h
zx}v8Ych+FQFvfuqa5U2v&I<CTgt1s^mgMvHDM<1KGeMFsnhBD8oeWk_LIX^mnE)ow
zEIe*$CP?CKGeM$`6%xNgA&ehjHU3-tGFxT}UY%E;d7kn}u4zVDa!0iK*me3bM<Gb$
zu(ig%qw8h)@qzBzYW#WVUncz5u*rvc68EE0CfPIbyY)s*K*+xCb1MJtM_^~Kkb6AM
z4qBF}yO!lPqhE+HsQ~j3`h$k|BS(HBy5xaq<>B+9^NNVoKM7C;a9=TW8TSOh6a(wi
zc{j6v7bS+7)3{5%Mu*f8dYz%WnZ5+h?ot-+VCDjh2GqOE-MchP&5~@)ZjpMPX0U=1
zqHOy~QLXGOz|d7`$dnXx2kd6}S=#R@1<xn#AV3QyVb+k)3{AC!@toae?Iwn%T0-^!
zrtNFO&H@xWCL#;qB*8e^=e&K2p;5PRNsukt%`9FvGqC>48G~@i4OM^O{?k<_;HNM`
zz`dmhwB(M%fH>HyEJ{W0^3E*x!m7Ejtd_resaog=9;!BC!TMC5r~hG|d46857*GM_
zmeV`3x5R*s)q{Y}qJRcq6@_bC%rLVGYf$W1B1npw2UUWDFGegwh_gQP9JGUYmJRw%
zG%AD^=!A^yVUX3h8=%(GV??xwa!3n0AXOYAq5|{_3XLz5(e)_BpPIbU4P0+T$>=5!
zf4QPhVYM`C!I_IfkCb2{Lz5ZVq@$d0l;ecd!n7q}7+WUAl-vx-Xj9`wk0f!kW`v<*
zdnAd`V#*QY=puYAU>GzHFAMN8555G%-%mv7#6mZU^@?tcmypUUy0<FRV>J!Rxn(H$
zIOXe*ue&Y(?p3>-43|;LKg79$IJ>ug66MBb2|12Dko76w@pKq78LN0XiC>DS>n9;{
z+^GaJ<$)v~lnZz2Zv7LAV^x;iF&)Mj4u8q;4iJCcQHtSb_tu|&8;Z<g^+qsRMyuoz
zQFPu7^GrlyNCR`fCHO>DXMpy|x@5UWVRZ2qOCvnlX%vZV2@M`V?^q&0hf+n;aPUIJ
zGN8wKODK$vxmTX#1RtC*VPOQgFlwFz>6b&=q65k-=R;@+1+6|oyhKPdfqP-gmIzSY
z%?x9BhJ0O;04+Tu<|!#m@^L|H%z-4ttb>?^=pC8~(B)Hrd|J?&lADE?cC=3kG1fH`
zz?>;SJ}+p^$*mAeGqEIFbO1v6iBIg7gAJ>2P|j8%GiPR{KT4wRtsi7&r+%)qpz_O~
zdfpiY7&c}ePSJ@aHbgzosnzNqzz;%dfM5Rozpic=1dn-J5QO5Wae8_0b&&q!KOrIy
z+{?eA;72<m`j3dHiuC5U?p}Wu9-|Yta;D*`Ti}5$c6sr$x@%|7N6g$ig&Mtx8jjk%
zgL*rl3ZAT%ho0YEONKv&nt*yfj5<EL1RJmnTn4TI*Q}Rdvyx!1W-hOBAb3w#{ibit
zJOta1jsQ}LSZ0=|5DK`0o51$oS^gE2mkiHseN=`)H$qh(EpY=>Mf{<sk{m%z<ln1N
z9pBj(t^DH!QTpU>Md{(b=){*<sH61p@CK8V3~%B=Hp_?l*;~~ed8hJyxDBFPNQQ5W
z5~TXpDNN1GYCdM>-ab6=4lEgN$O#@IZNPCP0%<(9S^n*_85%r2wux$5et@yh+}h{q
zoipZlX8E|uaVU&`=c9{>m>!I}FiAbSdE4-pE>t|(@H#v#>K?-j<$&&?iD}%2_j=Lr
z`?_o8J;*dX*1QVF4Z~lO{*uw1=I{en3c9ktGFZR)_yfuDk44E}U6~@sl4G-1Vr-ip
znSJ=P&Eb!1al?3&9bab`ZFnsiy|qlGpyO-h<9-D3!>N3aC5tx<f24l%cKKO9Gje>m
zQT}C{#M8_uloQOBAyR2z@BCIZ9|m2P7vF^YY96fq^ebzRFkkjRD}QH}&lC4<hN*-5
zSrM`!!Bd`tW@989F0q_7MM+Xj2wLL=G<Jf53{$iM3<JyrNj_~Rz?2ACk~btYOU;sO
z$!?2w6H9Y3m_WNN+f6LZ#W41>+qT`r(p)Ub`yNor1hBqju)Y$SrDj+(vQNTj@&wF%
zPbpeyVk8;f9zk&hq6oKYv^wa(z$+UQK~@UlO+p&mOWaGJX(qt@HX49FO9YrNH#6jp
zFq>9)JfBkgXO_0alDp8-^dnv6lUSfIb?3WL1lDi}0aR@!NU~WoL6Xgx3Dn;2o5@?S
zy8u?)%z&0UTgPp0i|@iO3SL20tDo${gfyPqNs<>NX_-NhwTeMAlx*n8X12PbXTV78
z)avmwWV-BmuX7Uj;n}u+ro+QQMN^-7Qilv(LweJzepszS{21ik5k1h-t+1X*1*P(Y
zL@`P*0lMnep&_#>y`qaXKaAqwbBfR&t%hN0!)^vVd04u8EDTP(%s6KX0yNXb;Te*p
z8!_8>b=h)rrSj6uo`xjVPhJEoyQt|^dPNrM76CB%bTFfKoAFcS`*T47@*8hBIffzF
z@G1)i)z*5fl*R+<=$M@)3*<Qrtb%hAcjI<d7RbXvMbpj#-yyEiTgU>6LKf(b=u^QJ
zN)R|oFvc7qL-7dp8&{ecAM6G_UNfdjZqRRgdh?GtL5Mk5hQc(dA4M>;(g%GlS|UK9
zGc)AUesW|T_8K{KWCOSX+yriF6$OhW*1CI+T53dP-*7DMKw6kuhzW1@U%ZG0pWF7i
zBXH-^D`N1{r=E`1$B<6<dkkI<<FLb#Me>;ol6=gJP`~LVGhgqTL6w8a`+rzm4!Ho3
zKpj)^nhBC@+Ds6-co@)1h=PRaGX$z;F+&974k8G>$ux8-Gj$a)#(|g4Sxm-)3=yCX
zDuMu78N`j6j#U6NB$f-3e9laOxg9e?=fq&C$ICVW?MEhIJyM8Fu(z8G8)Y|x9(e<S
zsz(kHEZCEv>aDudisEB8Lgynh7Cf>cQ{paPsh{NAUAM(AhUePWmpA}NF=Yf;?N_JE
z0E=Sg5oGM)VJ1MH$<2_AHqZ%a;LbDmbj^H+R%2Znc!4vW1igkuctY<6ea6myV|us;
znqTAdzGRR0CcHJ_eHJ(ioCD6Gqln4L(Rp0Y0~de`Avm6bv9Ldb?%Em>(Ic(IeSWrW
zGXZAF%mhhX^V0}0HEJdZLw77ML)iI*%X-34tVwV~k99MF7j|LVBF2X4AxCP^GcWO(
z$NkJ9f?j(Pg!N@?B5?%$b`yAtcEAz=Dyo?PC4wnRV*w^a<z|3E^RtIM-!K!jCqy<W
z#5A_u2=$w~XTIDu^B~%YOO@ur>h)+5^BM3{-f?kvjjiO3D~&IAH8U2mt>f^mzA9P}
zdO`$O`=J>D)>Dv7rl@{%&*gXTEu2@_A46fJzy#?sb<SeVaW|701N>0J%dL;#iCxCK
z?pIN-W}Gx}xrO(maofGE+}2aj7AvJrZkn?NgE#k@!t7MGE}I#LKGYf*7B2|!x#{+e
zlVIqTX)Y`)<`qkeEkXI!A3$HI-73r~l;`K%<(jiZfF(;a!v)d9D;)gX{f$G(9fwfU
zuEaw71z)%?sz3L(`|9J%ytqAzZ^znw_DSSEHwP>N>rGCbV^u%yl#<gGiD93J8)oj_
zN=_qM#(F0syA!eA&WrUZUS@2+?^yE%WA=$Xu?J~PDPt$@KI*g|Mc@XoVTk~y*Nkvq
z{TH!Grzhj>>X)w7KlJ@9236lJ{?Eukbx6`&DPOq<y^xk4LVIK2bqdiu22I%<qG)Cx
zWker*mJ1V|P%8x;or*lHQ^G6ODe)Us`+f2T^^>*c0QaxgZ`wJO>|B|wqJ6^!a+&uS
z?c(Mu`aoG=Mq{aZ95;e9A?z2Kutb1WH8TRXtsH)M1-noV-~Ej%le-l4cSkSy+<k}Z
z&%H%?i;LSw<J-}4H<>oHl7f61zzo0M7*7FrGrUvEETQXemJH#}(1gHQ5?LY$6WXa}
zvJv=#`|594VJUb%JTWrjHT9QVxO^elML&-&b-jQ6zWVF$Mv-~`9nqga-Tc>xE|X-v
ze(6e7zXGH3ObSi2@FZTn(32p?yt3i#BWd9U4lf8`5TkBmSRN3Awy6kcyN^jvTD^jz
zhme|KA~Ln$;EUVcKt+WX4uQ8+ywKZIP>G-;x<u&!XG&OaFMnE?(%DttygR%CZ&rgc
z7bryQY&QXHv6;Xlm}N@@X#C6s=nR+{su2vLwlQ*<M_Hq<B%ifsgW1eCFj%=eqNT0|
zEAotW0D5lslqdM?VXz_(2ep3HR*~-zkJDS|DN_`B%8CmUcv6!*!SXUnC`jPJ%GS3r
zOh8ql4dlL{c$OEf591eV(rQ+F4R2Pffw2HRX0lZ+*|HcRT1l`VAa9ufx-~OUTXPo7
z6R>$w`pE_8p_&O2Y(gyPncbB!B)op|rA#Xp5&0C=BBFLaBH9TBH82m;TsK1I=|*9t
zSnU2o-DrlgNO4~4w3BG^*d9HRyRM|>0&K4`6NE)#4A><MOU7nl=@z3DC8;2kGaS%j
z5C`vQU#~msO~WcKMwkq^8utM3#CYVeylV%nNzgqkF=I_a%<Ik=ZP{&zkQRh;bhmC4
z%--_W9yM}H%;dB^O68MyXDW0&Wj3wH^9nxZ1k4ObRz4|#Myb<`Y^ETfT=$=cWM{Ek
zR^P#s(c=n{3A`H?DVU%TV;8##kUeGs*g7)-I=4=_0fj2;y2$$#k@oT;bpvLD3aX8~
zQTjw~Zbi@2(Fq=5lZDn2!Uhoo#%T^JKvtU>awP~iz%B=+Fkcd=YXRfu9WL6%jpPO9
zttr~_413|NDFL2{9P}QU$A1TjUiLm2!6WUl!Lr=UAWGTCRkfW7VIvR>AR~bR^cENa
zDyf-)m2}nu0jjK-0G%E)0p>Bp3@9OH0xX1@8BktWlcy{*aB3kK%y^OxNj_nBgP9B_
z7T9(WJ{w}Kt?Z`4p!_gQ+iniRM`btV;h=V5we6;F6c5l_u$vSGyQ#QPsbml235jNu
zs1$~(!bD22HjlwAurViJ025_qV1*fypv8xXk{@5+nr8KG*OQL&EPr`F0f{jaU~<vS
zP?cxN;vV^rd(8xBdCd$oCN8C2)qOFF(2QCp@NPXMb(=!WN60Mz?v`&#?)`ab*rvB<
zE1q}Z;y%IWvMZ}6TCz3AC-6G|x+MZwSu?{6vEcxw`h}h!<k(?$M>!$D#y2xTSczVZ
zxsD9A;z_+W9Tw2je2KoXXGnnp@QLOvU^v`iObKWS@Xm&rAbBbb96hrf_ah72EfNW2
z6Y`u1(0?=&xJA;9(1Fm6!u|%a&?5CI&d?%}xJ6o{f44{*yu`T2F>IO%V3>G6WSE3z
zsTsz|cI#G>3PSl!T8Ei}k?*!h`)-OUCkN~!U?(*ov`BJDb2*?RCvVx1eGdv+0|ab=
zvRfpkjUnZqq5<j{$YpWFSvU;HSX8onih$XEJ*9TpvDE6hT2mG_1+9jJnOJIuMQw}>
z>}yDn4-&GBbIh<H0}dlMYz`4?Nr+`%2N)ByBKwpu%`MC)Bn*J!gS{iwo`p#}5r%Gf
z$x!3#*i`kN?x7os9!C^X#fKeg7Gr#7%t@$v1YpUEED)eLnh9V~%mm&_Ibn$at+$zg
zn=ww@%B2|YeeT%L+_~QK55L1wz<tlV>pds#o&RA-u|D%Pq%bwWNPU&*Eyll0z%pAr
zhO6?m&p5!E#%qYC7$SSw+)tx}ffu11UP8PG1y-(pA6?=I-c<l#gq9dDrePFAHmxwZ
z04)d^mUtvI!xE2#@toae?IxDyVyMy*26$nVV4T1`7}!9Pz8ce6V?9W+y~axpFF+e>
zCO{i&CV+hbTaAAozcep11+R9uYSA^#D8n2;d#e_?wrcT0TebYy*hk3cO&7V_J<5t{
zD53nxi>g6P7E^#SE9GEY9zsKH>jcaf3NkTRZ@Fcg5*A{Z=#Vhpme7DXH8TO`)V|Kh
zG66a=W&+p?GeXClS~28Y9t5<fPf3upA%_s4^JXSM=grKZskH$Fs;1UL1ikhoKu_3A
z04roB2vcj83=q&0HWQ$NGeuaPaKgsr)-qIjnUF9Rpw>9J0DHR31n6p-5jr%{>UZRQ
zfVL(`pouw$5TLhYCcr4v%%F+nUIeNpl0yUydlFy_W+p(#%#48Kw08hA7Cf@S*@T^_
zO3&%?7rRyGdUz+6T-3RB*Ex!yzC}fv3s42fu+dgRGqjx&#_M)lvzr)p=vlZSVQx4_
zowL_?+u;Q$mSzGJ%TkXbK;eelYWx-aGUYP`uXgJkUDJ%R&N@e~I>(ESIu{-ry?@>!
zJ8<4BrI&8qu#gaYYrx89oNt#7jg{6|w>8$QFu4GI0Wz%1NN9$ZQNno8ZUc4`!^p(K
zAqjKCIW%Uk@wmea(9tjxp!k{zV3omE;}QH?W4zkc7+uqhvQCYWOJls)TEo<=3d+(C
zA&TVm62`7I%s*yDjRquZQ5WT9udAkwvqFL&ejJpR6)aliQ++L~cA>9n$;yWg$Pb&6
z@>{;{<@J*<KG5FRMFFbOG?Ic$8XZ<vOp)O|DM5>@d>_N3ymVyJ0E5D$Ig=XloD0x%
zBunz9gl5<YEMYuvw>i6sVgA6v1qpM*IWoy!<7I~zpz$yhz;v4l&?5y~jX#NBXA-Y=
zGl{NgMp<Vjkt>sUv9(rZ5~}?;pSRtV)Tq$=p!BM;Q-G#K%E6v)gofHS2xun+nHV-I
z%PlJ<EX1()Qo?vgLIbqErQib0=!<0nG#+LG46e-x9R{@6*;F#N0c`_Hf}}+bAwc6{
zCO`+x%%G;EM4+lE2@&+!lK_o}nE;K0nZQlSpd|u~FU<r=#>k;10jizcT82t5lM==P
zbbuUOfX2g2fN51TLWd?=n||sIKwA?e(8Rn$2+(+#31GC%3~EZ&5vXcPLIh2F5}@%g
z6JS(tM(Aux7z-ZR;B3O~Ii=@x`TdVkom=CbSaQ*nM6Pobp($BXq`3f9fD9up3C*z6
zM#6Z*ZtHdv!(4!cn-b=RbJRI|jdvVgfMWR#C0>AHX(mA7hR@abUi`Yw@oKlu(KXE|
z>#TF+s&l;PsB_`5vEId7WCu<UNiRLRVId)=>A=b_)a0_<p|J^Tj3Q{PPhoNaHiwd7
zSCNEf*i|H9JY=^)yNO}^Vqqj<Za9a=>@}WncmWy@GXaXPnE;~=u+{iA__fA(wW~3@
zrWs|O8Y7p+c+sh`f(51g-oxj!k&uo0rmtz2(11v;#^8&-mYT4?8S&8a6Oy7~Ccq1s
zW`d-c6^jMvhM5UalgtS1g;GSfggj_hIuca6b$QJM=y{t7U_8wXGCzyV*sw?(B3Q5|
z0qUul0QJL6VDqzVi2$?JW&(s|iZG4ggq3nD2$$X7yyNCBYz_F-GREW0{14zGx#NbI
zSYCokiupcVs*Yk}p04pfe}$1{YAn2%x$T<?Fr#fIuzT$v6heRzf|&t>>|zWNmN%e$
z2UBoh1*eQdfxYyIt=GICI$H`>7;?H{rtQvh{d>r8<V%%G1ekOJDPp})xLkmGL56xE
zp&9Chgz=Ew2JI$>dSPKCVQx5Ay^z;<!r=v|7iI#~3o`-g1sLiDenY*$RY$!5L%qQ7
zo_Yc9dV!11df~^$)G6dqc3|$M(&02&T1c3-$jT4@voto>p|OTFMiDgDRG3_V@=t~Z
zC<)ClJeDwCu-m-d#IQNu!bJ&l!#Ol&uko703s7&&1n6Iw2{5JrTaEt=zt$M9b~Q%V
zG^4CjW8~5pFFG{V?(cA?Hj3dOi{W`Vw!dnTC_sNl%0Uy3&?sn|1hnLWObjCrxn<iD
z7Gl^<AYoj)R{;cQO3VZ((_)zbJsdLu%B>lpqm?gal}B+C&^9<ENZOb~2++eZ6JUkJ
z%pil)K%mOtgb4cWNq`=XnE*p$Gl31xkR<|))XfCwqA*2RvvtBI<<>G(dYO_i7ND2z
z-~t3U6QDer5jr%{ns($<fVL(`pos;C5WxDG31B(R4C?PpB2d-e2@%ZNlK?#&GXX~8
zW`xfE4r9S18=Ot3a7xeV@`oN&otxmDSaM;d=3M6}LY-Syq`3f9fDCW0Noa=Qv4rua
z-8SqdhKXDYO9^wsIqICf#<l;g<O)zM%>*cxW&#v$M7kP(8^5k|yxOgEbWJnLI_n&{
z>KrdR>RfniEGF<4*@4Fl+S2QWg@l*{1}nezfHXGVp|M44j3Q{PUtw|qR#wQc!Xcp<
zhQ|`dk==&uCWaLh3&$kP4d>99y~dLcFMuUC6QKB-3DCa>Ta90jUu%q4yBecwno-uN
zF>+~)7abaFTd74Ao1%|a>M9hcsvJ=OD<$Qit{^ljK!bn<cR?lwOD?x;R>DFIvzHRa
z^AZ|Rf6N4!uN2D!s6S=`lv^`GN8K#Olt*y{XxB{=ByHOv1n4Z739$6=k4$y|S*ale
zs;pFqV9h}USOhT>pqFJPu$9`hL;xdhCcqetDZ;@OPFS~Y-ZE5r>5(uNphx2L31Fek
z1SpSYgbq!#1|9hTpsfiKXd-e50mi3h0$6V|gRE3P0##NjL@;1a0$6A>0iMl_&}pR@
z3m)0vY)V5KPnXl*R-NnPomg^VrPf^MC_<f^P^7s4Re%hyR!C@urF;qFhTW#^CWaTc
zENn`c8_rSZ>@}Wucmax~nE=JoOn|}-wi@4vU)MQa?bbQErWs|Ob&gzhju#zuE<856
z8<4|Fz4garrIyIjLPDHX238K;Cyn)XXl&COqX-&XQ<z+U&I}pel#|d5V^s;`(r%k}
z6T{lRh1(M5hI44lUgK`QG=`0q1Xyx20gA7g0ApOR)%c$gwKc}8U5(K-%_!^C7`ZgY
zi%yLdEGXr*--0?a+o;$1ns%vtm9N?4m9Ox%dRs5{HG5d)^L)+Dd--%<v*%wv$=6hC
z>aj;s^yxtiNzrd6NQwb7K~fBgWdc+RGXc6RW`uT)P2wjj<BD!TyTXz{o6`;;Kqtja
z0K;o$km;%+P-VJ81Y`CjKpi&|pl+E7Y`P{b5nwsNOaM#C6k#tLA<I<eFf}PJEdhEh
zVzB@NBr^eOl9>QCNh}k<z?%tR;LQkaC1DH7&X=T-Z9rQ~B+$~fLkM8t%>+pHHj^Dd
zS}GB!(o%?E%|Qe(@MZ!Scr!sT@Rn>6VBpOJU`!D@>rPm=Ze9?|<F2@yygQ43S}5P~
zzJ-G1bSS6nX`}K4dl)p`tEgfDIx}Vh%;K8~FyIu+1hCO&0u)CxLWgeSb=<G5R1zq4
z%3cMS4>S{?AetGZ)HS9!OeTZ~B6|{`u`v^%AesrR)Co%j*nwasfJtMDuoKz|Ys#%4
zl>Mx#u$sI(l?r_=+y~ECeiY<8-y~~we~U2`^oO~VUes*t@8o>KVXQS{k7ti10+c5N
zg1Z1#3t_<s@Xd1*dn^&a#+eaxpj4}$0^|_@J4MCtniW~n8noMh-NdloCn1hSb2^h&
z$yBEXoZqLQ`H;c{2*TF5-Nx)@2tvH9>Bq-mKzKYbJ{}r_d8!7ZW&+L&5oBwGRqV#L
zaYmJq1e2b2-w@>M1nd|Um~kJ0)eQ?^X8|gM!o-^r1_;7z$8OtpGXx>G?JF0dd!{%G
zkm)gCm-vD_<~a!1?<dH_&<&MaHf=XCY`~B(p0!)kZerNjh26pwR0l{j^FK!+xgq9n
z`;DvFr>SW9{(1uiH(vMFnGNlB32(x%Fm75Pz%rnj042*z;9U?qmI&~?+D%fu9=6Eh
zigl^K=YzJ$%4hw>Zb_FM71dz`Xfebx0V=AQ04;_Yp|kccAmVoIC&5E3*sB2JSu+95
zwV6RZ#d!p(dWs=}S$h(oT$l+ko;4#N9qpxH#sa+xW_Et4{=tuHFJ`gC=g(Sv-14p8
z*d2#Rj;VUahLQ{5svoMkBx#G1%RXB^y9yF4L^1F97`(i=a)g3u7NG7X<!`^YeV=OW
z(7|#!zxHeA*P8Kf@v&`o9O{c(>W$E6`59m9E-Sd+`T(AWFGa_5m^Mzb8}YmKUWDE+
z!|LQ2vV&)lT?`qL%N5LhQItRHduu^+*w@qWR$d;`#OojR^*pbif$Ocm#_<{ZBHH?s
zv&jC1>Eq=2zG%xoETt#SrT@0CHJAPyzSdlNhU=}DoaO#Ma2DC$oJBu>dKTGlo<;WF
zv&dd|7TLkG$S#Hqd9a3(v;P@C^Yz`H>58ux;jL`>T0PU>^|gAYr+nR@pa0<NNnXdk
z9^>_UaJ}^d&pk7rzH`Z$vO93(;=V*}J;F1vT<`N<Uf_GHJbw>G9*?T>{7qbM{j!d9
zET#~ys-2&q94bL2tZLIZ>%!Anz9et2#5-6n=g0p&YtzR&YLmpN??|8Jzhlfph+<z7
z!*K%z1MG7uf4U?5%Nc%&M^=XE4W7?yn}RK2<)wU3bZ6U12)+(zlM~)=fCKt^n=~~T
zR1vTOE#OHcx1nV(#SAmIVXIba+Y$l#uV#XSPem+E#92T225)s<rz?6E+69-<3AgJe
z!}-tv?_JF8-jYLF&;c!Yzo6A8D0&6i5&`WpA)KaS$+F$o%nZ41sEuZ=ML7g0^r+~s
zDNxIM`HIM4CB&(cViscOotYqPcgMNH3SLY)+_b>L)IuzXIh+73gaYWrDD>B69d6Fy
z#Bj2=nIW7AG$2{Wi9q296=zt%r!0S#C4pse_Xj<Uu+egx5o9@=n%m-Ez;74y9|0L)
zHNG-jVNWYgF~|o&(UB5hjIEmoz>qmFDZt)&%LN#Za6={bx=Lt<Zkl{%+H8s5n)h6K
z>!q3cSV|lQBn~RToVn7FISoEyA)K_3>YT3u->=_s3NQ~OVdjmbX4QF8;Yh!1OaaXB
zrj`P*V<ttRb8BY-1|UoXPInbJNk|#D&BBd<KCU3_%GJrODB#*)>vLS;)B9`#uwxeX
z-;Oz`pz5aWp7ZsNi)eyl=>cu4?`A+8tkr!;R+=&IG?Ac-g1>L7e|VHHDQ86wSb6vr
z)xIF?M}xU#eS{o|XAEGyW?qL}9`CRpFS$qdqk#ez>|6+%QG_R5WV+C;a`ME|%5p48
z=tCN8IhHLE;8c1ufh@-~;;f&%#+GBAuIP2jQ${D;Zi5V`V*`TauzO1mX+Z~;LP2X=
zP?Q3n*NR>-H{aWG%xWKgIG1(LI~AB=;|*;&8uHdM6na!lQc{?-w1*!fFUKTdYGG<2
zrcvZ(z*LFD4G9XrGO*{2+tfmA>vcE*1_ur|>2MQr^C7l4r^Rm561EIK86`M*_g7%V
z--*AtCO26Sm~fma7A%OK25b3v+VV4BKEs0SnuhyrHtHw;EnX%?GpM4I6`S`UU@uBZ
zRXiwQf#ChJ1Ig1h-#4$j7ZUmt2Ibh7RI;XU<0|M5gW^3?XZ51O<N}O@$*=`d!tmaW
z8P<60wq`f6G#A6m3lau6$9$i?#@h}rz*>!&0P53AMFxz0;D#-b_@(*87D!y}&iBz3
zTOje<Ip0UFYRZc}^L<j`ul}8SAyh$oZqBbT6@sMj3sMFYI3>t{Sv<e<BtX$L6Tn=V
z5!!>JBz~KeTucDkLnIPp-Gl=OFk@jRKq)jcXo6%MfvO3T5P@Is^4YqWnsE>Tiocn_
z6C`7n2+$y#3BZ^lbXf>lrt*Q2puDsMcv!u+8VfK-WG28;mYD$ip~b?1l$qYx#U6JG
zF^gk2LR(3w-DB2B1ZZoC1X^l1ga9K@GXZvWnHi*|Aq1+l6e8eT&M55y%vqWV{Gv15
zCMmR*rtB_2_rpv84Kqb(ZJe+<x#>d%<(FN_26=ZD)wEE)qi>@iIUUN++tWbh35`zB
z^t_^q1*p<y0?c%p39x%o%xAJ-rqfJ-SuQg|hi>D3+^?-v5-4@YUIpk<;8X%=L4Z!9
znL$eJV~WGvT!>)Z5eU#)m<iCyH4|8=r6mHqWo0J7k`z;f7Sajx!3{dUq5LqbDjH4R
zok~SBYs)23bY9iQvZ-}vt5(kaH7w*iX*q2&_jl>1>HbZ-GqU~e<8;4Ume-9oN-i7i
zOV*H*4cX0>AS)KY$`AhSu0^H*zI3KXcHn`3<#l3dvyc#D8nE)_FY38^cAqO=R?Hbi
zs3iRg6HYgb2g$HbETI|Ji6x99yA9b*tbGE`n1tczn{!xX1;k94!wWDUWF~+WFcZLL
zfnl8(zs!-Df>*m1nXXtT#&4%ZCYMF##U6_+6@GO?7MUt&TjU0Oat{yzU3)VDI`d`%
zd^JR@Iw*18Ob||1Om)CwyFw)K<E7-H2546c5@xW23s8>D1el97GpJhZ{M~M~2oWsW
zlK}HvW&%`JGl8qcnk53P8kh;N2=RB+KrFx)4qUXh<)tM+MSWOa1n6m+2~cUw1SpbX
zXFIJ0&6eE=Z6$H+$@`-P2DG(A0@;K^2w+0Z1ZcO+4ARmj0#(K%L@;Pi0$5cu0opAy
zfweSdi2yB?nE+YD6k#CkgiXs$Ulb`{g^J7^<=t6S(?a>4`oXaM1P<jD_OxDkf<?Bb
zhnrD~zhoFE{NN9VJ_6@}^U<EueMT3-7d!M8uOY7b$#A+52?A}x(<Y7tDuE?%8;C!t
zXPNg7rwaw|dk-PnJ-iYxf$lrJ5`~I)z-ckQ(N4sJ3}0jWvc#DA=rD!0FEK@X?PhuH
z{|y5+WM8a~`wikN>At)h%YOIg(0!in?NN>lW;LK1Za{PR<Ef<RA9rs(1uG3{p&gmo
zi$4G4?%EOu7|H3fMLU4@t|Qs&9xrJu<pXqhSzfk=$H?L^o4)gqR3JbHQe_|j#+!Jh
zyL;<9cpC;<V07iTSD}{g^L+els8&2NAUkjvi9rHNogWZRF3-deE!!;AO1qiG-EPPP
z*!yoL*ngOIAKg|D@w6L!+~pA8DgpArp*P2>LkSm{L72S&lu!B`^pO@4p)W6&)8*BW
zDpy0+#(ajLPnd3}PXN<xCO}8ZOn}KFF`tQtj+B`IlkH}NcF|6Xk0}N5ETC->NT9Mc
z2N1xJnF-K0Ff*vgHxa0^2qA)bdlEd-fhD#GOZF{56)+Q^gUA$N8xbMPLI!WjOG|)E
zRKGSBAZO)fz^*bg0c@(H79dN_1n9Sz5!y<E-E3GR(}1>?NT8)LhY-M!nF-J>H8V&{
zQwUUPDMZk3PXZWjGXZ8o%mmibkR<}xRWkw1G*g77FDGnLZUv!y8tOCBI?21Uc&5&G
zykV>$IUULi?P;R&gvuB+-LP&2C}d^=OpclfFwr9BGf`0D%>*a_W`qvi#^bnOTd5>S
z=!U%t&>olx&}5q#q|`B{IP_#g1dH}0K$C4IK+!T2geKdPH3CYynE+!OrU>r?J7L>$
zD+uLjR%Ogj@$Rnk?z^IMNzYyET*}Dd<yV`ei3cIi4%}InNg5}^;WdI>40W9hdztKJ
zrtceJMseD14F?e5{Vy{Cc1M$~UJ*=E_zYI~Di-!cDT2R3x`y;P`5>Td+$obJ5%yro
z<#f3YX@^N_&)iSoQOY;p9UNhQ!#i|(#4MNdtN)TS_b*0F!JZWo-_0B0)nLZ(7rtKF
zp+@4G9>QDsPpmYcP2|Hkm4+dnbeC<?C(d9HJb_l5S2$qAasleLo-pfHd}jEdl7w-e
z-FodNhB;9QIfbb-prKHF2Gnk)A$A(}9M6#ANN%)iN<_BcK!QX^5WsEO!Zkto%z-~D
zgED5f4ZDdYOoa4-O)_>CpoB3Ictb~!DM_g8^nxmFpJEvDTG$YT69)7ZA^2?Cr-2RB
zw0+G=o(ayJM}0*dd4YEylnMS`O89IF&Z@!=E6B^Qzp|Pk&GG>y@<sPQ9z{GWX1@&Q
ze{)y6u*4J~Ej?V<$PRp#zF?lU22x0f%?@DY)TdRq`ge;^yuhG1-ACm!>s1(^U5nXd
zGQ6-Vp&4FSl`tN(+koA~Fw(McNW$E3j?t98#^VkzKyTShfJ`tGpv-{bg;o60D$EqT
z+8s^N6)&vfw{tW_4qKGSp<^_KnL;VFn5HKG@iV)cqyTN9v;s@(y$o~S#2|));w)Sg
zWD9aD#ITdXZc7rz0+d)Y0os4DOn?$=CP4ddM(D8RMV~S!?gg|>ItepbI~p<px>aTZ
zw83Tune-k6s!V!_VAHo0pcOC^VDiCCV3WRMi2!pUzJUNYXNqv9qZ8IAx0a#OOTUCV
z6a{G?aBu+{WitT=I%b3pO|-flc@5Ck1PNlBa0mfLT4n;&YBPg2QSAILXyOnpB21Jc
zi0ny#2FgqTqiIG!a@w0H7z-jWIGa$@6y53ag4<Quws|KOS=9GsS2l`ZYNr)xI5977
zlHm*s3C(bZg@o~(-Dd43hL?0KoR=^+oTIYYt4|SaA11o&*aRq+W&#*sFq~n5U#1*q
zSm0{6ve6Z1Sm3v_vXQH@@uH)$g~vu&W#P#V{Fu)fsHrFw5~eM(^6ph>tnAR(hBZbJ
zG}faqxd0<|G8}^@p&8CEl`tN#Tfg1J@FJLngA(S3b7;(7<1vR9;Ds(T0ScU%0Idla
z7AEj(jqz$%V|2x;7=Al7MlOx<qC;cY$7b_1LG$z~l%uKuQ2_HKt)P%=KUzGY{b;cm
zPPwvhT98f2tq?;W)@}_6V*y$)GXXlDVwnJ=8#4jSp&6m0QWl%aoOlD!u9PIGl<N*5
zfO#_$p#N!Rka=21pvpXj2o~%~fQ3CX0s5b20-L90O9YtXH50(nGDX-(=7g1UYZ)rN
zY)cpmFz@T&0@yn3oikuM$&ApUiPoAUUk0=_K>|(mJA?q^5i<cypP51CX$gTU^AsZJ
zu_pm+yO{vvD>Fi;d15ShWP`H_A97QAPM5!Yt18<f@5CYt^R(^CMiDC8kRr_mXnx6(
zJd)512O3EjPuOkTZesW{gN2h4=7w`rHhYa54lh8lG!vj$nh7vi2V0G=$FD0JuXZaN
zUDJ%R&dNrv%EpV1$`&3QH~c1^Fgx(k^VEB4kl`b)f)-i%!ds-Vg$|8%v!13IMbOx+
zJm&)RHpy^yt%PPcEkeS0(QXTN6H9Y3EGJ4B;2avW*LdCG1sL9$39v?OCV+VdTa9nU
zuQkT2U5(K-%_!^C7`ZgYi%yLdEGXqKo`yQILN;pD*R)IJAz!ntD_`Vm_NvNDe9f*^
z`GdYzNA?N6rYhTW+TFM#v@gIaqnQA!jAjC?GKysatOl3~P|M5+?OK||pHOBMbAWaw
zB|#;fZ~y_!tC;|O2s4As)hq&4<|;%mXioyvATt4G70d)SS7Vk4(8n+npe!*(cz=t4
zgUVRWQ10cWC4iT0dm&(sz)XO`XC}ZZnOG)(6*UvUikcDHO2XVs(;8_2+FByPol1ug
zpp$4O!0^$`AT3QJP^G01!LmIGV5ZFkFw<rNYiYw00a^_+0lH935x$4#gw>>;f>6HK
zm34}DXOT|}<vTtVs~|ZY%IoZDvhsxDOih>X|8o^>4a0`C09FmvdUX5Pz<Jt!&Y8Aw
z$9<E%TWgrH+%F3|7&&a;=Tv^5Z>drI!#AVFZ=NOmckv+m0&e~3S!BO?7TJ5xB75Cg
zWCzb8yBIR)hSh%G?aQA-S}QB?N?*$g9Q3uUzzcjWEAS(}mKAuKuVn?k57*WHLgvB#
z`}{+(n<f7pn|rq=ktWaOmS0~!A14{SsUsI>Szp4o!nCP<g(^(CEPu;!@nw(l*L}@X
zB+3u@no}?3Z@d(beBxFfafc6WVa&~PaZN|S*LDQ_nT~)H444+&cU*qpQ|H&J?}`6h
zbmCs-Dc0!b9%AYY`Z5>xx5e`k8p6UI_DX)>&(5!Xs-Ic1h7hy#b7Hl@>`015M<c))
z6=J!8-#>j~bO}#tZc?6XN56snF}i->AxIY_-NBWY+5{uo!L<%2yiuW*HuRU|F|00D
z3!HZI2R{xT>aL%}@qipjP0RD1r9p3M+N1-fndH8Ac@P`3W=?P5usuxt<lFLRKzE<(
z6WF5XWh^m#WLd(nK9~2}txsTv{*=7<D~$M-8(8^oq4}*VaJ3|5u3+9zD!^Q=($vx-
zT9SK#Ee~u=(H4f6L*?TZ2=GA{e4uFquc6=@O`Evf#J61*N3g~<f{$YWmw?M7>5=8b
zIF)lGIkJZ9HQ+jMeKdU{j*B0?<c^VK9nUz$RQyKtz=P3Sm-`QQEkl_SVHFKA&BH4q
zTfpVQ$Xk`j{?RUe^J^Ay%_1&DJBLdyyERABtD1+?*L9Dk7mr->H&L?D5%KBWh#PpG
zX*>_|dP<<>Nqnnnf)AM-E0JNdOxDcGxEJD%Z<lwXL?a5xR~rk+cK(Z28+?D6|4?UG
z%3sG1h&{sh!;Zk`8RtoEKMqoS6xOrB0-XDZtw|6rXhxCeNzUV{yzs8aG9A2zXq+Lk
zmwo9$BrYk&99}}~D&eH^uQJ)*uvm3=y(P<^rNWwm!sG(zgACKf5}Jimtg$p?w`seH
zVGh~Cri8iS99=hi4d1XfpgKA>0Y=|u0#E+q)mO-<-<g6}yIr?AFueMT-_EWZxw>w=
z*zLMiC$%x(bW$6)g>h#kp#0E9?fJ$+g6SnF4V%#E_%>f_$pmwzTm;E{W_lJ*JZ~w7
zW^Nlo=fPX+3`uJlX@Kz&B&~Hb0ru;f8L+W9oQ>WpB@gGOn}w6ovANrBHLb*$@w?AX
z$No=$_s|yxZ1Nl+w=nOsTd&;=LCDvv)_5O`fvF>WG?%b{C28-v(U>C=Xa)BX7Ov2}
zv~K~rmu7;n{)q04gkd$(3_~Fbv3O@UF>D}}kaOLUuJpxmuzs_7K`}>2V?$=4KXQN~
zXg5O;GQL5_Fw4is(v`qE3CoGtXyu^G0)Hj}Lw|(}A4M>ON*&pz-8K|JU$5roVZ7-^
zK{Z?6%s-0Sjjwp%xBYV1oIe?;JZUdKmyUJY(FrhoH#5N4Ecd|xXfYZye&3@C!<w`K
z4JB;}#xu(97FqeskA&VM<dL3S+gi(4w|1vwB***@qlESy^O#upmh_$vLhspC*U{nD
zm-Kdf+Dyy8WIrDoPkpwpnlxxQf=Q=CfHGz#fOj)O=cIv_!_bs70=*daDOz>Zc|Jd^
zFGH>B1J&ULFiFzZ931ch*t0$vR3kgP^*&k}zK6Al;7RuT_^o<*v@!df$^!^pnVbjz
z7%|=6eP;OIJ&WueXOX=MG9-M!314Kwvjcy7pIU+iG8~yDsJ@cDOokDW-OR!#fxKZ5
z!xIM(oOLhXIX5mSR&8AH@}my^E?@gcNKRTvgtL#8Yp2Wq2C4N2_3;_T*bZYDC<w>h
z>#c}>J{)E?^^AF`)CEBM<If4hVp=Z1+!15Jr_u>nsuP%n?R0y;9fu_!1)xb(0?yc#
zs5FGl=l<L<J}{wZ^;Sfr;QrVg-h2?#<~ZnjT;9yEC~3DTLHGb%^^v(r32Bj}3~Z!z
zPyv>NnTRYv)+c><zZHh{>a~UMpk?mfgzue(O;~|d8*pfg*e61_ry23{WtC0ZeG}qg
zj6rZe-w2=R)K{euj@^tNDWoO9)=Fe*c>@b`$V>{*Pn$z&d}y1ckvpgODehyl<(-Qv
zo)hp=dEcRT%<C%D=sZ3iIFBHU=xi?FuGmxsOoo@iu^9@O0@2w7;_vL85Pb7jJFVDd
z4PW8L=SC5F8+>DR`14HZ%<<2ooAGoOKy-7{(a(2uFh)Pm-o@zWxBd!R+LKTmAZpz=
zotNrfV~>e4D}47ko|9YnGG7=Dxlg%o9OQ8d*3}%@qGJ)Do|*~J7MT$`%xW<%wduJ2
zwsjq|Y}+9On7J?$V7gaDCV=KKA_S`DF+v1u4kCbQFcZKum<c?Ov1y55?-ohS4KYP%
zJ)AHPcv^-^FFh{Af@;rV)~iD5!O+>hFxR1p){r9~1hh3lf&#1I4mMagwlP1u05#Oi
zpvmb01ghGZ5W#>w3BvdbZxlJYA-fSe+Zo1!M>aT{(vZf}<!Ao8szE>R#IhKQSg`{^
zxk<-RuRgEqPz|f$>9jQ6-bMFS^yBt5G+WQXt4RB0VU~mU*ymKfz2la@gzK%Zb0m*<
zQTY&Ai)~~1GRm1)$QLbVRVbg;Aum}sGQVV$<@8m)?{~SY<2ktO3|xNq_w|sxLHSR<
zR&0OoYu)j$e9az9d3c^N$Dw1?<0edi!eVA%PoYl&!_0d$-`$HF)lZHv`PiH&cYJnb
z@5>ANT+CDLWk6nFy!3j*))$q@e$@es9dO)wH$3{0LWFzYeL(q86sTNhTGwZFq$3G0
zNdy?`!9AJ4txx!#A+Z$mzDT|yY(nYU8s<Xf+4~^OfqhQpiQn7R{4rlk^KbFBG=G(^
zrTM!)j<h_53C8>3%!)VQonZ`vIhxhfk%WgSOp8T&c<X;X|195Y$G6HcXx{z4Li_vW
zM_`q?AC})R$8|bdmfsylZ2D07uKyGF_B<9+Opr?phNRW0lPWv?EnZYq`7~g<+Kg~z
z{id!%Gn@G1*K}GQDdcnNXBQfBpuY^(HY6m-fC)z-zzD}ou($V_%8)b=s4^rWg2+Jx
zd)|OyU%_sKPD8?2km&~R&OCT%sQ$rcstmns?IC98i>|}j1LcLNFn^Ak%VIl?VCAP+
zgTjF5>~DI6E>zwvn_{T?PU<vud^c8uxVB2BtdaqneE~FXCV<Ax3{uHthe|>Oz4jzP
z)io1TZ$IcIh)$I-7Ce@rQc2WSN$Y!3$scV&B@g_!U6o8wCBK8B{jGY>fid<(Fw+Cs
zef9T8{q_E*9D(SX`Wx@Krr!U9zo_fi|K&CH_u*5O@1Gce!#&s3U;p<IeC1p9H+=dU
ze)I7I{6;M&E*bOOC)zP$IEFc;Rm=*^(`D&*n4n@4*MD*WLg47v{PiH{ailGVjUM=w
zfvElmKR<@KLVTDjw|!IKR6fgB;yGYh83hXLvb5B4fo&~`6%^uZ8L^~bJKdh<G{dPk
z7H-(504r%`0*pDuG>3_AMQ)o3+=sxoB6lD>RKMv0e`u96Qb-l<6#?4CgM=o_t)l?5
z3ub3&N4*1n2!X0jNQj`br&7J=;MX0(1ggJz8(!H`hXI{_-Uo%rw-cZ=GDUc0%LyBj
zTg%|t;HsnG{sPv79bB-tqkvJa-3XnXkU>X20BG<0Cqcin0n65C_qeMM2HR5f!%Jl;
z?7iyEPx3x6F20=rLt8UKXSHA~ctC?P1;xuLI$gf@w^4x5vhYqQf+$R33c<UV_2FX8
zucEh&9(X#8-nV+<>}{hLjy`n?OpYuA@pq1%H+&3l!1o4l6SxV4ZO30SyuLd8Y2JF~
z_@{S!-s|b;r#pMzpH|QN)15tURh;s6RWDoT^p#^6F78ONqdSNi%?6u~W7`;_e*hl!
zh`T?bqDN`ehtVW!SN-N6f5OZ|_~g?(bzwUI=ds`%b>R!3p&Dv8KlUx6K6~SL`N?_d
zvZt*}yyGq1XB0)3!!TUQXz}qv+zL}VwXGi~w+T>#yaA6%_Ido4+y4dWUBGy2pTky@
z>p+K?*Q?rAk0_YbHQ#EMaPZJreddTdYgKm28HE>>6zPo!?J?!JnE<Vs*jc_u&H`sQ
zLPz=5p7?eZ?`8_B5luGF5PM#<0$X%628}an2vk+^5W%!P32@AinE=y(W&)2hW-Sq5
z_R>s%VU1K1_VMf4Z+LR|Ztf!UTQaT51JTSX-l5S4SDR11tkSAqETIOseq9lJHZqO+
z^;Kg)I@OPCT!fGE|EkJal*JT4729mWSK~6|I$8!vaQYS`D4JjYPn|^*J{J&9**a73
z^1}Mewa!dMn1&Cv`o-63N-MCq$(v#5Nx-zJm|ug1TFeC4*knfN%uG%+w=+|-&Y0G;
zSHW2)fUwFXFUrhq#872sh+x4H2$26~f@<c;6Hv~~WxEUZytRt5!^rV`22JOkk(tz)
zvyWHd!`i&u`aNc!GiqP8DjTT1ThDiWR7Spo)fq38B3yYju5XB+gJeCktA5im`nl|N
zs-G+OSI{rMM@hdkALH^TYWk5V`6`w_$CPzX8D3y?*&0$Xg3W<S$Z$CVd&SG7C<U!e
z0=^wA5F5dXnP6C=+9u%RgJw0D05E|YJ$UJsP-}>A6GIb6A<h!9n;4E1kuYO32Div=
zV%Xs%;b;R6Y)!BL*FbE##QY0Z+!nOh=Y>Bk`e6YOEdX$NG<ibk3ZR?7XSEg96w6LI
zE0ucA0EG(9&3r?iM%U09tg$r!;x9~H?`t&t)ix>=V}@DjxAS{#&wCdv;Th{|{Ky;X
zqBd)1nYL$VPx+tddyQn${}i@ML;v1>-SXD#miJ^AWO#A`R>sT((2SV?7KscSStT^X
zMpg-Rni<>{?Y1N^gO21SU$&bV4#bl%+p*iW-Ncal7WUzY7Nkso9u%36>4EyiFg<GF
zpnVdYJA7c|&X8bu8*8}RSj$Cw*{bbG6+7^Xb}k$S<1=Rbb$Bcy$V=Qy2&cgKdkB4&
z2+&10GgODqOk>=Mc&7+>WkApp(+qJx5>)<|-&7;2qi4`*fe2Qt;Sd6-+Dw4`KxP71
zI5UA4qvkCUpdB(3zz&%i_-WU5Jh{K8iGoy+p)b(K8FhSEj#^3O1xZ?FP}nZT5F5-o
zzRO;HidCL*QW8D4KgHUIXRAKNDh~%0P5V=<zC+wgZ{bs{6opT*DlTjTrh?GVu$~wt
zm;eh@N^pSc!>m)Zh<M9@fYo-hX){4shO35_c=FtyAG^-SW}Ns`vo+IozBD7D=74#n
z&)Wwt&FpDNQvKvbsIrUr(!D=oSuNv*)jSLV59-LFX8ct7{+xR>iWVFEoHzqNid$vD
zAX^EPeKi*0ya}_jWPv=RYS42#3%YT;DhuS{prUDKf$yNR600nrC}e@+!fJz+E~wr=
z@oOl^Q0Sw6<4QB*gWaIVYsOT`4f<^_@cl8jTeXXOXJa|D(uZeMOPLz>HkdFL%o6Oc
zKnEN-bOhaO{3S;=ftwgO_MmsOBQIGgh2?6glh%gxW+9pwF$>XSl2Oig6ri<jpJFgT
z68Z>&y=x|CALx4t1WgR%MBC!1$IJ-zn_e>W^{yFyIX2tDtkrJk0|aGmN?zUfL~qAT
zu(w<2LDM$(;U97dVr+<D+(85wqnQaXTVqD(95gW&WQYJ$iSiV{lM#FSpfE%7k_)i?
z)l7iXP|XM(^CmvG6MOq`tM((4u$n1^XZJ%pie+R9_s+Qckv9;idgKtnf+G;@?Qic{
zLFjyB#)3ySWF^_<EA^9{%eXCmG2*LjeThd|p_nQm)dJH5dI(7JBmuK8X6GE4VyN5T
zkhinPxsH3a$HgS*2Q0!9MvbEwU*Zp2ih%f2|B|n3Y=t-CgZCz!oA5RZoCVGS=REr7
z;t~F^kqC%kY_{j64|F=z@rZk*F`vzWF1wikQ)Fg>>IHJIl03rPL+2Cnb(3};lR#nY
zhryT$Fd{P(U<%O8pl4p<Gl%z5Lj=9{B-lTz(Qh|_`_u!L2=*^lFmmLb0M$i44KQea
z_K@crW&+O<A>1Z~o+AP)!P=jZs-L`6RZ-`)z!EvOycd4T*WP%34KuB<kBu*PH8U2m
zt>f_RiHMnkp3wYW?YhkTsoxCquN2j9?z#N#y@m4%`(r3{`I#VH;@vDu_=Rj;I)*ST
zV1l-=;Q`G)6VP?Pp&r8`*S7Stg)Kt3?cP>y>nUi9JEszI_YY$Cn)ZyCpc5Hjt*T=#
zZcX;oJu1|7Fm&29*vX1{`oya+Xd}v>{dJBis!q_Xt+2pdt~pBtdxmp7)ZpQj2oorG
zf8$Vc$Dx^fx~@#V5MA(v`=a`DZ@aHPzRZi;qZpHzPsl!r+z0CQr+SmG``%aYi94m_
zi!LMV6GhlXb@x_s8qqS=I~m!Xi1l_}tVcNE8L{zwC}6%|%sv6!jXg+XN*OzG_fe<)
zU;;OQ4NC+ty=H{_>c7~92r}M|bFUxzeinnO?-u`O<e)kv_#^>SzH$$GAuT^dYl_j#
z6okj1Upj{<n%PGg(FdR9!XzJ96_>}YuIL$S*d0=<=cgOr!qA0Yu~P@X5q2riPnI`$
zmrTb>-oIYIY3ER~b7iuM_6--vW!_`7YX#l!Ie0`_U`At-bR41KOgN0ph5Ljh0xv4S
zeG)?Kiah-A%4l-O;k&<aWpbCI{_f}npS$mH{kgX&Z*g(^XnZ?5^i8G>t)xKj+%dzi
z2W1vb0e7>cQ_3u%>u#0|;m)*H1ZPQPiD1v71p;4iU;Pa$yv6h3iIEYnslVjH<qN?s
z`q~_Z$o=d0)n9)%ip=xxi2elX=D$XCnI!A=OIM=$6_{<yq)=@2(j#Qs>I{ar2lG;_
zWnm$PK@8KCXxxsh7E8sTZ7KrV?vs~RuYL9q@J_nmCouSy;NXkf-M}5*1}z){Z>e~-
z_fk;=9T^4?RQ2|^KN9A1cGWkplvbP17R&@_oy`Pjoy`Ou!7N)MK<i~DKxe?rP>o=a
zPc}v_^C)Zdg%|qm*<d#F4HW9TqnQV5^=hyp&)5V@&+VS_1fTt9kVAMRc{r#!u(pbP
zhj^Uc!eE7>&{I}iNlsUU7hs;zOyI%F*0(iPqN7=1STK8qI+C<L%qoRS?};A)oXiAa
zC+Vv8m9iM&CJS`0HkD?JVtdYR;JGh8TLQZr?KzTuazT=hnF*2$VJGI`3w_jh3<<BF
zd@0k4DO5fM>aRR|=OgN_nSgnSH=vvVZ?4R>Db!mn??2RyhAE2_=e15d3D3hp-=4wP
zhsW8kyo41~L}B-7*!=19O2RHuEX3I7wtRZ?XV^uG^L&xAa^@{Ek&GPe>vd<nDLNE<
z2#hcZn6d`oiSfvGz&odOz|5(<`E(JSK_=GfmzxhDsg_uZAqdO=wOcoI=x+I%M2*}M
zGZ}B>!yG~#Q%ZY0sV4~=lf!9)28>eeW<avSzGaP4ry1EyK|s0g$Amd1fZVeB4&I+X
zt|)xaAu`QOfHa#4kUeGs*g7)-1|&|o0fj2=mvb(FM$815gEKQcF+#aQr^L|-u#{jX
zKqi<OSYmg$mjZcAz&Op$0(3>q47n178(^kIDa@Ay>RO;_*i;PFshojv(H^Q4pgfrw
zp2+!4g?apUkmzN(g~LGOH8TMw_RI`uj0aK5KCY_mOhA2=k4yjqXeNLGG&As#XDtw*
z%9;t#=`j;vbz97U5@II6!o8UR<%KnQ$}$6|7J|WyC+UE90_<)G8xUzQ*Vzj|%7$2L
zE4!&M*s;biZM!)LAC=vdhl4RawC$#Eq(cEJyGc>7n~DoXNcO-d2VgsinW3sM5$}pI
z1pzy%%*M<FFi~a(Rv3G3@gbt*$Je)}S-so!q@z45V71$Fz)XPhY-Xs+vv1TxKquTx
zfR@+HKx5)k+Ev{bqX^BYWdh9hi{*lFm@v+=mJoN#H+h9>pjZv424;fx30lGDvMXya
zGi#1r;PbZEEfL_zS~J57qnX=as$b~&L5?PT+KB;gENIHpfQE+*D>(qD6;B$Dck!t#
zX}&~veEnI00`Q6EEnqm@VN3~V36j>hnIL&83>-bP9QPv&+bt3aWE1inHc)EYEwnvJ
zp<5)~2ptIBC|}cU#X^hJr#M54MB)}n9^E2sC`>LuR+tHpBfJqZ%+ZP=-^j33VYhB2
zuppG*d?Qpeqr+}?TcmwA#iX(W_7PU&UO;G(<bcU=I-nybZ`qI_9~86(<W`;c9f=i$
z@~6=NbqwUN=bLR%n5xY3DV7+__B-uUeju^5C5E1f+*%F0iQx?^3Gpf5tXo$;3LQ0u
zEX(dvwAp~e3<>O(wj{*X0)@-R1g*$EB}{`bpKv$>iVt=x=kkcf3Of;oZg|O1<Lg~R
z&G&Q<-B9#6qHY3OHazT5vlvsm8xN^^1YpUEED)eLnh9V~%mn_@%!DNZ^q0*9Ub*2?
z%vHD4pMH{6!s}zz`b~0dI|_^S<qYOIypD4X{_T06itiJ4a~3Mux$O2sOTCC@I9VCV
zu=<o;wGd^eCOFu~=KuuxB;dCATKv-BkufU?Sk5wQnhDTFHWP$tyrh`qgh+Bq6J3Z!
z(<3cUdmU-uX48`J@<<cA4KNRNY#um2l3ax;tYetMI)=C6urV1Ykn5%oBzGbm{kR^%
z7#&s-SLMuyJldBJ?vlXtZE~apmOyBSJK~P~i}xv`*`_keuYEuZD`SivBNpA|tVe<t
zy?WfDPfumQ_vp+B^_%L|9v@Ayv?sPS-%@Rt`9IxP+k=!;lb0caN1CeAbeU((Iwvm~
z3m!{=6o|PHgk28U=c`9P%{?4=JyIlWY{Tn;+T&kd3LVK5>}qJ<5ev|7F%!VXi+MN0
zo@rIot7W?pIwt~a<R=fI*y0u>$o*}575sni$lk#)wVDVF5v(}^!QT1df9Z~FMvjCD
zF!iTA4?D8M{Jk_+{>TXxrfsH$RoQh6lV_}IUG?}f$hP|MqgD1H2$SrkN~Oa;3E{)J
z_ZB>c5n|<veooxV8jg1<kxvX-UUr-->U-@4Y(@Educ_=r=X!gMi&C)S><nk_M`XEr
z2w7_ZT?4GXFA20~e<X81sQPe#J{52{`R?JFTQCcAs-HenLvo7U954dh@pkK}$Pz(v
ziajm36ZjgcJCN`-F1b38a2CTdD22(XNxO-qVx!3qU}bkm&N+KZT<0}w2(oDj1LPLw
zvvzCR%^;yyeFyBkgC_5A@?e-`nzv_x`{CRi2qD_nWdL%p#tBP%qXh07f^1zvGpxyh
zjV9gjykuW<b{3#l2UZO_QjI;}lS0I|W4CPrPT!>vMNn@1VBJD+R+HUg`r*7ymb5rZ
zLJS@{<r?_32Ss5R<ROxM!a%T8B&|t@n-B{Fz<i7hb8r$?@4rro<qbhGsoUPA&+({h
zRlfKwDs7u|&%)*u4@KL9J>R7o2oBOG+IYviBxo&4m`^DBe8FA>)r+LXvV0aBax-Al
zh?xLWUS@)s)owI59PXnQ36i4QOn^;JW*)y69?cuj)1n)W8Ic#W)C@}pcGE~7+u0q9
z$Nl)sg;fA6q_h~&%TO3^vJ87IVUQ&Zb0*>J)9MJ+ak*hc7E7}zl#0)Q&1GbvLyT=!
zWcVJVgqi36sy87${}(m|YU3S@v*v117-a3ts!74j(}3Y+0N5l8&fKj3)9i)dU2NTS
z-*gnGX<>rq>^5PeYVh{(uxSe;P`erYa$?erpnjG;Tl=eR>|v!FU7)jmRlzR|pbd1)
z0{70wED?Cd8R;LFusURQR=Jsts~m>cYpY{{n{xBCA*`2KL-~}?n;BYi!wiGmync`Q
zD|yitDdwu()+7vX&4vS&^KA*k)Mkrb%B$Yz&I{7z_Bm)M3nvlh9wAi|!lhzwO)DZp
z(pr?zd*{LyI(+faK9}vbqyS+Gwq+r90fzZg&p={iC0~a2PKrqhQD8A+(Y<vow5q1B
zA4MR^p2>oc7OdXoPhb`m3ZMh~*L<SKy2Vm!o@G631G9XV8I!f<1w~CpP;b>CqD|#b
z(Nx|UaK46_04E2S8D5UMvP1!n&yd^<FJ?&CTC>}--Nf)EQwe_(wn}Nh!NqnKgzW>!
zRtW=y?E~7^hz{<i-3&p<SJw4t?a{R##(NDgM$}#Ry?CI0A!Zz@nVHitY<@YjdPmdW
zLBNJ5x?{S8P<;R)A2bud5ZMd6706ey>T?L;J<RYqgz%20nZAvseA)jN=%nHcduFSx
zvle=%LbZLN+Ql%f05ojMZcLUjFS7vts#4fnfEg?$^O0U7^h<@|$coTE#jKdaEeL4C
zB&cjyGk+!Sc|*+K_70Rm>}NzWHdL~-hKnSYO6(&nhGP~jykf4dq7PNCI*#r?!b<50
zi&+A8o&(AitZavl_RF62Y1HkkMd$L(?@>J;z;$r;t8(Fuf$XBmS0R#Wu{#V(w4wiD
zzUtIpg$qW4Z<~589rX!rC_KF=AWdGT1{4=1J-`d$98r*jcL01g3TB5T%*W+9?DIDZ
z+wd{sw%e4zOa%we$}|t!S%76NrNMjI&>Gmyz}JVliGhPjZfd}u`-Gbqxc8nL8TcM6
zKP$k!_uM0a!lW+`G=La``XzRp6U{qhz7anQkZ7yJI>M~s8e_}R4Fmv&o%qPh6r$?m
z1666+efjqf(HV>~Z^q+(!OoX|r}Q}9%$L6G)py_>o0((E%Rab-?0C@uoFD-6MNxVE
zugbZ%at?l~=$8>a{@SlIJ`Wm_MO{OHB)gTt{z!AmDp>oR$^m4?*00e$J#g#oz7utv
z9eDOAb0ds=J=R4}0B#RMMLOkKDGA9@<mElrGH6vf7G1jpShzAXAm=(qeo=VMup6mu
zzh=0s0GMs|4p>yPbxJy4Gn7Cx)V$jIB2!)+N~D)k_Pl1O2+=KfLJZ+eTx=aVGatj+
zb_llVU<SQrNQde*LwQOiUb9C-I0w6H>k!*99Nf+J3DXLA(CEygr=G~Z(urF+GSi-E
z`Yykx+=-c=P(`GW;a%X>@+aSMezkwPMt}I|J(ZBOTwBf1i?+~{0<N+6n6=bpz=xx(
zJOO$=W&*V2W`y>R72K+yVti1J;_5>kB&aI0s3WMFVSkaTC95X%jFlUB*&1Ob!9Z5t
z|4(1n2^*Cfh#VCdbzb$}?<-+*r*Dnge++-IpP3t^@JD0Nxj`!7M(WYEjwy#$kCW03
zXg>{!D}Kl4MiRU;lk)E{i*XHJwqD?;3EpWtP)TSvWGFU)o1L>T41*LJf^`n}KV4q@
zE>uGl0%RxW0Ef;T&wm%2=J)U4uI2|h-v7&=dPMgq!BI{4b_bGxi|gNw+l9^GXPIwg
zd_456@`79M-%q|bzGt32zWwj7p15}&v0iq+rY4iqhyz6if60T$WR#Lo99T6xhyB(#
z;R=5+?mFHI1|5iP^gcriyF0j}9%XSF&oh$Tg+cBVpA0)e0Oc<*G40bDkRKgeK6mE~
z|HW@sA@6v<XcdnD)vOL-=QCBbjD*ABX9sTl1Dev|?e<h{AL=P;?*u}1m`$7@hj3Tj
zLaRL7Oh!+_=que9(|dZnS-#<|=hw!{Z@-hFAN$PmqqwN{^AA90JD4`bO^%^39^VE>
zv-AMUJK)$l2H)lCb&Llu3UFQ-?{{Hork5Yty#%*aI*_dc;r?YZ`V~a8UVdDGj+f<^
zfBDS$q|W*0C+VSY?cr%&`{ti9{oF@;l%X-rPzkalOCuTb5VQQso-ldpLXV{g2_L`&
z4r?JMg!%~Rw*q`VTHbGoz?~7evyQ{}nB4@`31y)~gm?eMFrR~h(}-}8G*iC%%8+fV
z$Tk$c)#0Y(D26CwO~_czU`mL?cx_{N8OOP4jyXBL4iQWUw-WP<M7w>1<S{56d<qo>
zwf*>N0m5Cf60JOV9!lm88;F^LfY|izO8tY^Fh$sbtj42YD^p&HLf}ja5#lX6eyP;2
zkaBoKUyrMNZT$$MQ2V|Od6M0$sKTbh)$(`HaoxIrcR6t@vqsZ~^jUsqQZJnESwBGj
z%`^Y1vj%-QAYQjsr2dXr63+d501q+Eh<*Wu70=M1pUZEne-NKB01xN>t(IRwaf+6p
z8UA}Z9)p3Pk2%F@@P>nVO9Xr0i9>HxfzYrdM_@77zyR6L<B2D$!}GW&ZpwZiPd>q(
z*vn7XKlu9;;y@L?n2$FsKgG>^$zA0vOFCaPrdi-imfQ`_tmKjc-}K;e0()?%If<4B
z^ctg91<Lp0aYFVS_~J63{G!(io|3MBc}MxAQu|b7)|9UBdFngL7vr|7^6Sayr-M`Z
zuU+fb%eP+3xX_7R*+gk!=kEA&`PXl!u&~BniFW7wD8+xj;J5PS^YrBt6>{no`VCgJ
z0aY}hh9(dt8k_p6V;Gm1o>k4wTV*~mrRtaIeds8CIiA}+8H4RA1_d-zJVg>S9J(@K
zsbB2eT@1`gvYH--t%R)}$0Z~JTSqV&NmjJ<Ck|h-eRyT(yu;AMNEh0O@CJ0~+~7dC
z)}U`E@E&7CKoi5+PDd`l`ns6<3YgTz%{3gtUO|}}Oy${~z@rz_+UO-Khf!e<L%Sng
zScg)*MeI9J9Gr23nr~px@&-MRcCEoPYZi1@3iM(cQo8|$aO)Jp_Nx|#_p?si%QF(A
z%ssE<I5N%aWkJD};+dOR3gegue_CK>JzyQc`^P%t(ML3fEUHE@dhtQ4Wg95Y>+RyL
zlN>__Pj9ZF0xL(grw%4g%`4XCc85~S{Dvd41#v7yGshQd^?yIWw6mYZY#UuhI#7J?
zfe*a&duRC<vI`oPEvi(Xhg|{O%D{X_Eb~wXpPt>Fs(*p=Dr|q4nJD>!nU~j~)Bl&f
zcY&|`F6)FdOfM-~Pe3Yp1-D@rH5HVUi%l7%8Eo*3%zQQ=m8hUW1mof>VR6{;GLj*4
z%K6XX4^ew0t_((3Al^QWuBWE#p1x;>ItkqsQt*{{PXYBGtTeQ>4V9O^-^=qmIVY12
z!%bM7ewumC^Sl3l*XQ^Ao(ucCbo|E|9W+$Brr0KE?J?+ojw&W6M;$A|n0MYF6k`{a
zfzq4Qe2cHg6&fN|%<BDU$fXE$Ur@Op&z#0i0ob+=I-<Hi->Wd!=?&8xFIJtwDd159
ziq(|SDt==CgS@Qup$FG7rt3KLv2`6Spqz^^&;zCkuzgXv`#P+r@>LI(Pd$ub;q{p6
z>Lj{ImvibIo<%sunQH2X7Z47}p~UVp_G8$6pv$QVo9K_>a*lfQT!RQFL~QSE_=o?!
z;lPrAV4sh7VN*81G`p}LB7s{P+m-=mevPxACa>_99Yyo-r^DFu6#Q)F)k85GNK&3O
zAZcx!$Lt($=vxTeL>PL7q*xE43f}W(xcwt+6%^SRirV-p<H#RY3k-1EVnvV>5+Dsc
z{Id6^@9#sK+_%X}FG;ZF!fvWTS%2><c?=}-sQZ1s+)1yi`W^b1o$>!bp6MgUvlokv
zA4!$DeaG$|!DaI5*7n<f?TWAcAD8yn8Z3Io8$1kRYKKay<}G1&U`}&BckTSLf`OH&
z-79NqFN0Z4WB>)WPS94s<*o;e;86A<Jl@4_IIYC+g(Z3+!(k}XwtC!`hEee@9e!a6
zEc|jxJr_y)Gztc3WrtB;Y4<KyK8^A*lrV$JU)yF-dyuo1GYos@@<ppmW1Qv^6d^OH
z+oz*8jP|~vtsr)UbO`w@O1pv7gm>-$=8#!UxI>{ynpLIa&q5<m;RITRd3Qt~=c7AR
ze=vKin6miOwRs!~(}Q+o;^f8dCU6cD8`w7}J3Hyr0y}MDuy8a+z!v9buYO<kj@urE
zNpx!q>%LlliMsDZg|K+^t7uevj7?%^BI_i6qbW>;EwP2^Ljx{HnD~2s7;_VgX=myo
zE|+)xpdv?7<WfN~RES_90CWb!%h?NuQPz@vzIFsZ7yYwbt^wWq+A{7n&`fyk*wqhb
z50xK$Eeydt1o^1vsb$~sv0G3>{;bho2ea*)xJ<xmMSeA0_I`?0gbEe;ynx6o{|zR2
zm)c?}keMTp&wT5pK6doA!?%7C@!9)fn&3}e?ocW>bqF@eXT9myV5J+`dO-SpJ@*70
zF+0<#D}Lo=iX7;O<Ztxm1F1u@{pbn)y>RU62XNQJI$#QXbxnFe<p&WqI$s*R_zb9e
znBF-w57Rp<u*q}rACb&2y%fKH_I*$>_^MNv!I018Z$&6n4DN-B!M#v1INhmYu*#5C
znChX90m!fYL-4pc$noB|yR#c0h53Gb+Xr8v=J$0pKe~xFJh1Ze!=EVbaiZRKqC9Mn
zgLueCKOvezgalR4K>SLxjWCYDvmCeL_O<*7?m&5(;SD-o5OO}56qo)G8i|))_8P8R
zdPO;1yab_|0Q%?Z7Ph8bmz?*o>Ba9)=*u>dS_xuwF(?cwXJuNosG`W?hgG~6gT{3E
z2b8tw$jaa69#g#pX-xG?V>*W+ycesEV>*|{^pglUdrbcaLeGCpHwN&D(f%FtzxYKg
z&W&GVd@OK%(|zBsZ(8g4CJyxVHJWC+<5sMRp4&Lz%h`uPUo%<O_!InlP~u#CHp}j)
z<qCmtKhUD_a+TP^?;Rb?Aaw9Rxpu{iY5o;g4zfG0y*K2EkKN95PM6s!4!~VpL-6&=
z-%mn2i@(I!kv*~F{B6_QqFZp1XNT{v9lf7Sle;<EwZpBf@>1@Yu#TU|(^qxUr!Cqe
z&nqKh>|XKL@8B0S$NhpSAXXOk!RDkMB}ED^aehQ5TzHh)057D*1i;2JCV=BXST2A^
z5n}>L;X|*k-Im!bLY<_jCe#YQm_x^&Mc}gMk_4bLW6Z#Z4l=b59Tza`L;`KikU1AO
z?>GS;ItvaFfaHuZ0UTH?5QmP-T~%C@;H;wuDY83o^Z*ubMHk}e!B0&U+$R}Zd5()#
zU)OM6<S%|Ko|x+c2(C39*&u?=`YH|r&ZBk_j?bU<S1_uOoG4E@(MUT{!-Z%xi_Mp)
zh~X5A&*1O0toajLb<KIeX=pk9P)dJ&O%29QbLu@@FRGQh6?pZ^EQ7g_*aX!9ytv7y
z<Uq=g`uH1P(Xa2W@Y8rmFtForP#PT${Kbt#au3)`-i1RMdx<pF(suIe2s?W_`Ei7v
z?{*SO8n5MsxP>Z<n_rr^B(RvJ)>Ov0q?aXl!QB<BRUx%T84(zs9xPi8t+#^Z$|mw5
zA&BWFf5Obqt9krHf!Ksy?u53AFa&60gIH7y#O9^A5F@dkV#t<&UE+MxN|_UMJPXKN
zZ(9<v&owPNsQ?5TjR{~y88grt>P4oshN6I~6A3_Z!<Yb8lraIXp?QZ0fE{K`APMnT
zSO<oG9C0@D<7uI;smh3xI>{EA_;cfC?2y{-hcI)p{HgeN<CRci-x)TFu;t3#$f6;5
zg?^@)wr~GXY36FMQOn)on1L|JcN)uqiaYCS-2MTObNabw6|-ZJfjkgS7eD{v_8htR
z`=Rn!&aLVK=_r0HgqrlpNmp1HMCBA0_LQ3Iz>072DqC}MgRthH(;v;=axS0$CIcYw
zg}%Tv6o9~&F@n-9kB9Ouh)Fb}M-9%m@Br7I4@3|(q#U+tjT?b60Widj863cIAYF|l
z$r}ZThzo1m;9WS202ouo2s+=8HvJH2V3m$-GXxLfD|<G+->XX<Wy4coU$Iw2;4GiU
z>Gp8(yc@Wk-i^{?JLS&~b#oTA!3#4d#xhJ3Bf9u8xPd=WVbn9XMI*K@=Avw9V6o!Z
zT{h%cJb(cXRh>TVQw_y-m~33o6p77D`c9?W9@i@>o{v&o!Aemc!z5B-nV54nrB8b;
z&CF3$ra1H>ZP9D#%TNZxF$WkVGjmU7(NI1?(cFnP9v7ck=~xrb!&hy*oP+?pD6<Xz
zLRq3L?!kofE(JLPMSA8+?|e5Sa!I^8u6-dr)11&4$MwtC4HI0LTqJAIb^#Cqo(%#Z
z1dIuUG>mz|9XnWam7j}61kj$i@tVBk`~r#dyPGu)-#}X^A#G$)z^n@p=;q`n=^D$_
z1To;$3j`nrj0vD}wi4C@+}KscH4IX}tSQhB_{pfkZeD|e`-+1B89I8RvE;%R0opx5
z1ifSCLO2zQ7iEJaMPnwSAAJ{)DJ|hBV9Q@4;8$VHG%_CWrM(0-fzBn&Qt-(J9wyv!
z)t=Ku;pscinlLSS+|6nU<P1WgW=iN?4DBCQO?nVRk;42uhPblhM%0R6W`(?tp3bnO
z%t?S$&rrGcpRq|z^_FWd>H}M|52Yz1j#B3rh-X$zOO+k$i!hWgHr=wQXSRH%NjiF)
z8$*h_mNTrA8$%qkBvXXAG4a`2b;V`u4)74w1+rhM-XM!4qjAuqV3Qo42K8|Ig`Ly`
z{6Hdy`tKF`iD6I~GX3~$lMyQE6**I)usPg0XUi59ng^Um*aG-43kY8XT=bpv&{D_D
zs?1?b+EN2Vkf}i80*N;PHvz#cl+*yaRo1wYX_iRdLUaqsRsdH3R{`;GOV&-Wdil}_
zNrK3Zfth7R5VYtz^0g=8V3ii0q{2Y})b#N<{xkj9_ylLGH?$oGe(|eg=s<~Qz^@s)
zWM}*v82?nwNW~XFfq*#Bi!r<j*F++yE|Lu!E7WiDfnN+Ee&b$qReTh9IKW$|U0Xco
zdw3ST8DHhGZ=WK)+`m4}k2Sy>iZOw1+gI2b6qgI&z%nL)oxvDE=lD%){Py#!VEsVj
z7oyF!gO25f!w!>2AQ{sNn_8msj<D5XcqR(ia$N%05?p{l60NpOwKvB;#|uD6#+U#o
zRkjFEcW&6Q;+h1-JFzY>rmS4EynVMEQ{|Qu$3vSj0o*%{2_(r}dmI8^(2W*A#l{Fa
zyK55lwRcb=7@q|v6~N|hOrYCXgU^x)wm7;g3Yc~l0UTz=1h8I=3AnrF93p_T#+U$v
z5ZNNIR^70c;+h7DF5!$?6D?wZSz}B9)TJ>2s2&MRGW%P`1Te0ynxLbL&gEKS$T<W+
zE*cX6xoFHl6RX_OQ)B+3UMCWOo~SVao7lxX?Ps8SYQXUVn8(HhAm{6z62L*BxQ2ng
zpm+fmcUHNcZSefkwa&NK*h~4UT-SXgd*MJaaZtO#2>PgaF@GPsotzTMv*|{7T}Ogv
z@He!~nD}*NN}FuI|1ENJ4nKxjLo@@FT)1yRNLz<(aD<aR@0R0M6c^9cyF6N;J`xh8
zTP}qOd+Db)=7}dh2@y<=UYtkxK!I*s*_L2qA1jFlX%3mvbdCbnS<bFr4ZG-*7$ngR
z@g}*Gd|=_2&H~WCP^|&-prr=gT7fV8g(AF)NV=f?P*HWieD;Tm>5jgLOeQbB7!MUJ
zoLjUSLoq}CMK5$7&o_Ygi$_5{4BFjI#|uozK*&^H`_!Itk&kq0W5dv!M3VK3<UXZ$
zoY2?@PCc}z{0cnO$2&&Q^cH#9a|&ND>*^M8y3gYb2ZaH9;a7o4&PUJp7p3pU%D_&I
zR9blHKx6><kysp-+rpLXr3fqj^v`HHD6Jpr{}xD7U4=y5)gRn`1>DvEo>T**{8_EM
z2FRJpPvBpy$IuGa;|;JQPN<;_FQHio0vTitPt9%x;Kropq}745!_&|V_T1sm!__kU
zP?oco;oDyp3cxReg<Sku0eA$J9?bp*Yke5MvOo13;ShcoZ+rna4PUcG5`D20fYTkz
zcYzS%vRG*>_U^ktqQOOqckKOo-f8bAgX+E@yU$nKcL15v1tSU=@)8$F&yJtPiw;Y{
zR1*LVV9XP@+oS9kuCUvW!rPxr1e14D6^1BG2wxa<?{KCF`j9$pp;5q!3lR9i6n0rS
zdO{%W?V+$6x64zs1ZPEB@}yoc8rO)@Z4EAth$>!_!o6Cc%F9J_mMZTU0<-*JN5(QU
zS~kGiy4N58O&VgFW4Cj$T9ubsi&yREVMx}8<!v8HpI>5E2lJEToE+!Y>YrjopNCez
zPPy!)7exrvSZ*_PLf}P4Q`47EsB;RlXjYOdmv}h@0eJVrn)cQp0O0{`3+L4Nf9rRt
zue=ht<9EtCVc(Rmg&V5Nqw2AlqsO;BBvfmMj(6NM4;=?l1WDVC537~2<axov-y@jQ
z>|ENO=OORyX-erE-pc5Or{ltBPC*}fJsla5d<Dr?+84YyIy#RG=GmUCoDZ0NlK{nm
z=jl`^JAp^^JXW%uK_@TJb_N{+Akbe!VV$N5dWk1uh{)%>l6#OTt>h?Rh2`vOn)P#4
zy=UR*9D$uH*<H1(1%oZ#nKD{1;IHDxvA*I+ZA_}fF1`I%BbuL$q)PR<>h1pki;u-V
zgyM_uW`U2SxBpY$!6(X{^0%gcx3F4zwP+;cQqCn+!*_oM=2v{nF}5^hV;Tw!moBj^
z+eelbX`&4+Lb*eJ(o&o7v*txwCRlzxdB5P2J|A3uLeTQOBund~O`h{zX@T7cZ%_iZ
z?2CIFKmHf5<Hy@SIkY5|;B@g(hC-oFs6_$WH0~Iy#&d>%nNuOZ65`$9;;4}!-W}4X
zA;1_L3Ji_Z!q~|2^WrO>7hi!lV}3<=v;HvXw5r=Z%?5wuxoWV2k`M6H#naK?ZCdP1
z<-JIXr;-0jz|vl!pZL%oHBCfj@tE)A_-LC+B-|0!1f>K5I6Ikn0=E7KRN9`>@wcd5
z7W;ce&a%neN!>I$SH0nFV0O)wZae(8;-hHhc7rx(98%1h736~I7yjLNC(2gXq{4oL
zVQg%z!k=gb!@->KD9ChjR$<O!j)lJp*}2&GL2ixN@|Tq=cou>=3--aD4Jn9pC3B+-
z77p%N^@ew&(F<twyNhq@ZZsRS{S7sBp;$-!^o<1;0FzKIr&Z4F9iBoVdALUq(ci*I
zFM$C_-dq8~AG`74HSfl-Vj|JVO+awrAP>^1z*@W$YcCDV7^{({1VstStAnHgM3jy(
z&9|YU?8(s(+8#&Z;&q6@$w4nX803yVemi1atoyb&z?8Y<fs5}@E-#ow%BQ#|DNeW7
z;^o(p2slgMrg#dPat?XG;^YYGI)}Vqx4h!b&*3*fUh!T0@ksKDZGC`sjfF&+vF~W!
zSPBr>iaJn}X`u8b@epBQ7J+@GH(kj_*Fu<FjQwH{zZI+&_SG-*@u)kxV0$9^ry1?C
zMs_XhR7c`Ne6m4xDA2B{_J-<U3&YxFq#81ziA*)MnoNrC$cKp&41oa5r&STNK907%
zo|H4EaK3jvBFKuSNT|K(Ua`c^+Sx!{*TU&n09G`hZO|Y-WoLbu^j(Uxs!vyir2MyB
zym_DcQ;TV5y)EqMF_wzQtp6D%zx8$Z&fWH!TYljW(2UsGV@+zT+a0@J-WwiQ>n(nl
z1;2-P7BQ<h9}cCPLj^S4hk@}<raOlO6yDxLv-l*Hl@vdVJ>{A878=5a-u8_iU!~Y<
z?b5wL3fTg@1lW_1G(<tbOy5h9-{s<WpM7c1ZQsKD+n-mu`4mcy`ZP3q<5HAL8`9oF
z3Xh!&f^RPfKa}=EEbU3Vl@=pB$B%x7%WhXO&%hYPnNx$_Zn)*J>`j!7zi>vERA)6X
zdxLSXT>L$DhqFFFX<`|ngJZ0slid4ya(@Ri=YBtg@dOP^FjYds=I|04vWOvB!all)
z-<Tr&L;HFa;{G);%TQ`Lc_^vs4krvObZ=<)Sj@QA(5#s`(`ONLikU-;16IKHf{6E=
zxyUUW;hfLS+QZuc%7Q(jDFOQsh=);MXrRr(O9XT)ro2{&;dmDYX?hU?)K=+Bff8^I
zEeb}A^@5lgW3Hqan`FREgam<t$r%Re<5jKeRSa`Cp3<NN7P|1(XOZ-IT>hzq<9=w3
zpg8?(&vAyVvgf?n!7S@zNx9aVo-ks#6sNDj=+%Ob*RfOlCWCHkuh!DdXRx9tS<s#{
z<-Hb|wOAZ#*Nn^>6O4wy+v}KjZ%lr_MI-cO4E6SlECtiHbyjwhr<>&xfSA697HT2A
zr5lfGjY6{1I`x<<NI{Jz33Sc_E@GxH;LOE28$OJbWED}X2*P$i`F}tr1D6apIqQ02
zwq$==-1+V52#q$H{98nyfz(j<-FP}_7qsJ|(i>m4-HrmK6}4XII@S(-EIV{lM;ktk
zY*>J!Ta3QHcIbY;11{7K-2}Cs45E$YJvixSDYOF3Yu3ej?qK0kgSk<f|4T1<<vYff
zKYZYQ<y-&b$n4Yh{inPBE2iJ#$cd+qR1d$EKk-pekGW^h$cbk@8)0v0ht0IZa!B%x
zz7_u*ddvP(clD0$S-Bn>qDZ*Fh<yL4^+%0nEm%x1?|Eo{wu;E(*Vjg?*Jr08cXKCx
z9=|?=)b7nI<*U(SA1+Qj3$5L5k9Iq>{cG6vrFJv%Ir#o1j57zb%irv=yBV}3(&N@|
zzWRT??WHU4d~f+ZDeHly_SDOcV&?!Q24jAJ7<2w{mA4L-ZiX7AUQ-b_a|TO}R2u&n
zk3q+uZ2~Tp_o9fIGnf}tYT+M~tmBi!?VCeaAPxF*=JX~AzAfPR!$OA2Ug>7Nx6X3H
zl%GOfmk(fa{NXdPPyai9u=GkstHnDRLYa^9t?e<RRuxpu_EM<|Q|=kcjd7j^dBbT|
zOd%5ro-Tun`xK}j?&T&Kx-0K51{s^WuXN=!3OD^`eWs;ns<w9jL15Hdj&`1!6<egE
z+sPu)x7(0n%^>Yjp$XH_0syC0yB<2qDqNw-1^GIK+YHBEU#Hw{RdgHv*lpA0y->R;
z-TbNYp3k5F?Z4r5V{dF+?8VnU1AV5mH)IaLGGn)VAH%6vi!EbF)p^I1CIHtl|F~e-
zud~=~R6*KIUB(qGLv-Ta(B9usR38_dW~hon$8!VeF3Q;6v_0$An*<_M4I0?P7Qg%H
zs7>P$avB)Wy-BNMpz9M@?;0w@A3tFgKk?`5>0ZBT%$!=s8Hs7SgFZ;7g~oZW&lGQW
zTPOv8EN~M)dEV>B9r79>c98;?iwCdXz32ai;k)#FyE4#*6rSfFD{J9rYiF-{0B&MY
zk30bF60zdA9rKSR&f_PJ@N<qszdLkTAdSNo4wd3cR9fC;OTnsQe0k4ud2drw3Zi)~
zMS~iIG{p?@{K$yC(ig`Zz7rcY_vo93x{3}O9&}N!l80L02Z|q8y0n*}fKyn*)^<zx
zucaUR*5QBX{rKOUl-3uu;4=z%;DY!J{4U)L9J>>*nx{VTG=yO`2;bCi$7A|nuXFqw
z;@6Omy8515)P9`C0!sJ2Db%!pRP$JzbKLm>F@*f%dc`mv#UFxA%AoKY@W&|3O>U-&
z>I1%o-}v+9C@0|<Io@;i3H%I>B3gfFUB(umRb9+H4P8fmXoh`O3K@Viw@)SgH%rXV
z9K9bD3jDtGAPx5F(PD!pEtf_Va%ih|!~JwnK<?-#)j1#f1e(3|l+pV$NIsW8^!Me<
zu-R~TA1%7SKk3%7*i*&R%2z|K4<68yJq*|2MzF-%;rmg;hwkB*woCs=`7&^J=r?^g
zdS#w%?CfG3_c)xYG7;bhIUEHzJ-I_-zt_odC%|lZ&z-l)rF-^);^p6_enK>k=cLBP
z6>$ieaisvz*4Kd^t=>lQnc|z6HBJ(#eDQ$CwTJq{LB~?E$vR;QoaD64MNdJ5He|1`
zu5(kNUfURXu$T4liJ?{Bb7Dvw3FCmHk>W^+j>q&%f=NNcqj;XJ$u>pkC#UgP?y{Z0
z0ZH=}Gi`@G3TUWjuuS<~z2)rry*SMK(27k=JfsA}@Jw;lQ_%r!hC?_1vqS$8`i;HC
zW$m<Q>0cIK#gTkue#axkkD$HiC;Y*h16sC<>C1jvLkrPjt_NQ5*l+B|*rYoQI^hfM
zbE`%;#k$*n?CzH4SG<X)(_14r)11ISV)E%#q;$MwE*k^66yv-`@xQN-(9Ry|?TDFk
zj1G1aR9Mj>s4#k<oWhzisu)+w0IC@MIe>3&X#;8ZLD&KE)*LFY`uOm?g*9Be0e!)p
z4ZDf$fNU1`d;=RDx1&&bCb8sMyR12i&%;-3&*gM4BcaY~J{K5h0v#kr=ZlZ9Qz12i
zT;204zxd}*aK>-~CDmI@v90pO)2x9i&)D=2@wX@1IPoC<Iq^n_|Lzi7tclp)6_2<V
z-io-Gk=^6jF&~Q;u!eKZH*lBF6%TdzbH?vBpFgWU{In+#NgHe*J}5t5efX2=!p~nH
ze(j5|50A+@U3~EW2B+`^_`;<@v=9e~-TGn%&0=ECYKzGZ&*3*_77k9>7BAPHjcA^0
z>)6~27<MUa{^1ZDy5bMJAK+Ho<io*irToj~2S241q}wd198#U6^A9gzmabyfV$(R>
zLO38djiYPDQ@=&C)>OmU=S}DQ*=>A3Tl}%RdpN)_zpV8f_H(wp7`ixwI~a&V$ivxC
zeB(Evfyp#Y5Z1dt18G-*f(~+_n~_QTRC_OpJB#-cSnE`Su0u5={3WvI=sH#-HVgd4
zfia_4e1KlFO2>c4Q%r=I_Euflw$RP^Cb<G~X@218HX0b4i#;u4bf>X1O?w;RR^qD@
z$7q*#Rvmm~HgSqz^En^$2QM7d&~gB<(I@@-b$-DPo>6y4dD9iQEA9X4tgiQO^oYK6
zrm6le9sjg@hL{Mm5av#ogDHi_+21X9%^j9|Z@M+9T=;Tj4x5f>;d@(}zUmtDn9~bk
zU_9`GGJb?T|J80`XYomFdU>>pUc!{&b&uVP0TC5R@o98B?+m)b9bGCO@`N1LtkLIf
zJYX)<I*Q=dzb*gpx!6nKi6H8BhdqWf|AB|c7r`FGZtM56?$2LI_DXP0j`f0};Sn_W
zyiIq4vi;K9E4c_077G@ap!2m?GXLa`z4(hmFMi?s?|TO>?7w`D!8PM^+<))<_ZRlx
zPMZ5?9?PR4I7`8?3R?Pe*?)ifNt%%7xBniyTLfmNQ!1TVZCNiJR=F%$7QgcE(u;Z?
zCrYPLofEy){8H@rCo256ZC3f0s1lMVp=%XqdtkUpjPrm<&nU*?ew=KY#BJF!Au#_`
zdr^Tqdb)(f4LVs>sT~;96IQS|eXiDeVPyrGR&Y8k@RX_@!3HUFd|C5;oJzF{|NX{A
zoJ=!Y1EtE>>y%5(#^^&nk|fWU+FQGyPulEMCAVFeat)TgUyqva1>xc|AEw0LfB-T^
zmOyeY;Xq&KxfqgC@#voEEv<OU6FG=_qpbZNS@gKYJp6=9d)htwS8k|YnQ*B+Gx|3J
zD0ID?!_wpLBVkA>==zJ3pH$nkPQMn06MhJhsJg{(LK!_LM*jvC5ygJIRUL()Nph9g
z{Nd7VM<2|Z6xqOI19aQ{ORrAX!<I&^&Ii1QKUl3$>v-cSY$io1R<c94t0DJ&1HWQ)
zr3Ty&%~>uH3X;=GaVJuoQ1;SoE4T>rd$PCkgE2LT)T%_PcU0@Y0t_j7HOq)xuPk9(
z(YDy21d0f#!}6`I_)j9O^|Bh>kuFfPEGxwSB^?Ov2rUp-)?Kqltap3z%r1|<8R7^0
zn%UY7Z^lQ?XE(eZ*nDklpmzA}m)(myCtj{9_#V~ee|{cWB&RcgR%iJW@vqdw6gH1W
zM1LR|WOvv#7z>7%z3R|L<*YDg@$WcvupiCeOX^xL+giyDrBReBG8gw@_NW2H+my_U
z;n?k5>o0q+VxofLj;}}3KWFPOa=LK1nZ?Vxz9d!q&aZ>s2vR~k{Wxp7=C>hL*umdC
zcK0gkxW0-77pfY5>+Lc~h4<VAWUf};%`b)DGXV6x?2dZW(G-s0#_@|Z5jf4#B!!VW
zIGa;I$fk9heje#Zyv8?#@%Jfp=`G)&;ft((Y`zMdJpI}b?YFFa91BdorJZ%MXVF*!
zn8y1Vr()An%aRdGU)w@ZB+2l_U5-;~0$V~qdK~MAH#l@Atheve$d!)kC2LtzKN_Mc
zqCb8T`>BU-Msjy($j^c+v2AZRxBQu<@~%JO9u652h~lEU>#LQgsqzpkao`CDhU;}7
z2T1u{PC2G##*V$)J+aFeob0j21y4d*#k)0eV;^jeqt8mW)me6N>hYM;snHfANY}t!
zjAlU_v~5t>hU7Zcea1Kz_HoeG{wOPqZzR0ihw^1o>#%_O2$Ce7%}73v<RDFPxgo<i
z>4!?~3L<J<2B*UiK!v4XS6IiEfIm+!2n{Hdd^IqpGQJ`4Z73!I9vH}a)9`oLuJZWe
zZHsx~XBeP#yv*tLNYi3j`XpF)JsT2#$z_#P3wjc{vz$VK#XGQcH@*|8oLsZZDT^6I
z*<@Lzl~tap8u?zNrqmQLQ$WXbNHO;?<`NW?TDpi}e6v=JmS>d#kFZp{u0k5cltHKs
zz+a*Y3UVQOsnMf3=(x{esT@e{$68)sxgim@ESU#=J^U!C!ZNlDE1cIt5D_6=8xgQo
zCOvjLw>Oz3V$T-8^q6jW{_N<dv%`3``1HQRTcw*?Pu^3yrPcY~zJzaim{;KI+wVbr
zn9`UZoD5`s9^Nd@Wq*0*?kVi7gX|JpXvbb+>_PI=5hu0)bnlcT48@1__+SDDLkE=x
z^C2FRcaw}+W=DZuux3C$I$zGgFw4Q1%MVZEQ0QYdGE8ZXIOY~Y+`9_FS<Dc8Bwk?1
z$>16eULN26@$Qu#YxEX|^_AW-!86Y~tS+x%;em+{CX%#+`1lkLv+408J$dLU7tduG
z+*b2xYg>OR*{_DPD2==U7z^EEe>1H?gpks}zzZbSYm)Nw#0lX-a25F;#J>ZWwJ#Yc
zpZfS^<=R){RSCb3eT05GWjB??Ydp*F?N-89+M8PV=r!Q0*dX|wXnSlJY#W&__*1Je
z0yX@#A8PRca|*qSYQJj$DfW~z!0+hcxoI=Cr8j<*BberTlC%X6hkP8i7dN*UBk%Cb
zng~7Qc6XEKNeC+J0d({5(z6wZc)Iwf$B|S?9#nkVh00Z#O~xRGZ3AC)(o=q1dtzdS
z+2Nq&<HZ8`qu^Q@y}O}?(v(;-fZa)twAa?*%@cUDI=ofAq;oz{|7MN`zp||Z@4;~M
zKiE-i^g+QLjFeshSz!UqvIT8fNTh87V7GIUyq`&+Mn+((vNGTVR-5w<I$pq5R?bxZ
z9wnf6l9ONQ*uup)v}G|-7@-hQ2UJLgXup6RYA?$ol-HLd;P=PLh5-&<`$2T<5?crr
zTY%Dyf6gNFi~pS3{7@D{qGTrf$G(<9Fy~ljC?Y2X>JtRe(HAflmdaq)({V=x8p7ag
zN%i3+w=$1k#kHlNKFhU>-}Xw*gUkB`t~dY-c6itB!=}ZQWq9$0@S1+fg7!Z>*3@NX
z4CO=5O0_6K@h6BvqZomD=8$LOq02Nw_4%jPFF`Q1lTo6Sl;6M%d2@og&+vjHP?t7#
zF8}P1J6uI6u*6jmfM!Hy3~v?SOyy1Zw+C?w1YrmC`V%J^iX;mH^?88((;wY)ef8w8
zGNk5+nj+wJ5E&TGB%{^ugKxl`BZB-bgrc=e%mg=@#9$$X7|2e6x&m>{bdq&}@Otk+
zdxnEG)-}g%Iv>G-+SfxVa|OQ+)n3#KMXXiFF$8TAhPjO%LCdXPUg-hGDUKv)i!hkP
zc0Q#%p_C|$U5I=m>`+hy&NoO5N^c4bMe_jI<LlFk7C2aY6zY*0I~s?$0mm@}jS~iC
z5MtGnlZ*>12Y6LgO4~f>HfX>t3}rQsC`DK|c#OEA+~Kk^W}G~0b9|jfpxXce4Ba@+
z;IdfH^9~fi*c%hToWX!%g;ojBZCdh`MI{L!!%|4H<a`Fnp|?zbVZKNdR4$;f_pDhk
zRApw(PE%Q!IgG<yN=an%3A=@o)aomaTUVT%k6}771J2!f3xLR`8J!>CZEOJ@+si``
z)R%yKk6~=69ff`>RF0ECl1j&Aa!=N8i~w~w!zjEf@J|_02ONFSnt!Na%7QFfUS<|7
zRDm$5WrIq|gp$nY;;T$hADYHFg+B~%vY0i@%5~s6#5Xw9G|h;lLvH1g+&96{VoEki
zlWJYit)dPw3MzLuo($HSindpwZY9?)D?o1N5ga1e;RGoBEW;zk*M3#n6~jP!9;aJ<
znzP5QxkOH-YoVo|LI}#fGq6|l_Fty-jp@E+9MjkamqP<emgB9exvcjh9~DV?(^R1i
z7$;%Cz%1_;R)^W&b<=He>kAnG$j#Iz)q-Ho1;9Z<`Dbo$piLGrXp0!5CBP-X7GUel
z{yrqJdwN}zZdeETSNINe!zLj9Ak6gLSg?<DVY{rn%p(#SN<2fMr7KXXtnyy`kBHKx
zX9aQgk=1TerKR;(7l1~KF#%Y)Cble3jnQ2S$#(ct+*GE90k*Zqssq*tu*qq`GzGG5
z=Y-c#>>H`jOLZE1X*;VYf(bIKtTq_9(^4R)9XpT2ykj!ll2om*a8^I1GJh0}#|IP9
z9n%RtBYIUsT>vZzV*+9H2L8C+h#|)bgWVEh*z^@>(=>nb&!6Gtj;+{sR==ZCaCe<?
zjKD@AgSJrwC`pwl+mKk=Q%*f8(3ntMm#a{S;v%qk$D?BrZQO(6wnul!RF(j^9mWK}
z(IAE<0C;pAlI)b$#~F{=u1o<i4eb{h++0Q57^U6wV&u1!*Z@QfUcnK7(ak42N0$gj
zw?~I+E`aUAm;mWuyE<kcsG|C$iWU~5OM5q^<1xBKJi1Eg(LJI(bpcF7V*)Ut<6`Gr
ztgu>Lm^~ijOBWQ^Bq$#Elt!0@Z;$SdN?}o!IkI|-U|BAYV{{c!a|Dc@DOtYm)N2Bb
zRRS<-9ajiz5)`f8G`b!r6SBu{CxtF0`s6K*<R1oK0F3dzM?ujxz28r9Vq{HS(6UCM
zjk_UiMrwMvAxR~wRO#b-F*|^p=*Bg~)78TFq?wI9<tMF_X*cn>*^^fFyZ0gxm!ZQJ
zZC&;8;d|w7<`BA1if-F8x)60~mZjJGc(M<(Z~=H4#*w5C+$XGbW52#2K3W=j#q-e8
zjsM1HnE0}NI?PHlClGdZt4d)T6%|_lGvXXPs+xZQ-&49V)UkAKB$0#dKB=FczW3p3
zok>qr_;34pV%*EqoibX*{$B+-)sM4a7Qbf!ai`@UKIM+`ogdHMKl68cAU=56hwm$w
zzGeBo(s+wM-dC=?@4nJw^bP_j71mOf19xAkPfXGjN}LL=_{^vjCkyxkGp7bn8BUgM
zK@=pt?7q?uo<i2qj{zC|80@A$y7g%My!-_?rC}8JKG;o1{ZGB4({8##R&6#N=O8ZW
zGe=kVlx~Da+b}PDO7g22B$pwmJM#%lH3$P!IJne&pgi-yb+9@8ip}y>cq<66Jm3&m
zh3Z2e!E#ze`^|}#*rG|8q$VpS*2di$;q-|<U)`@Qd}0f&S^>o0`St5>phor}X`k(W
z?F?nVGIqOP=TX6Y^y>nCgOH>Q)uF}Cem%~9J-*$q_g!}0{rZ98raf9+rpwH{%T0ge
za!gUqJ;lT6V`xnzxrg8ug!qF+80||8-!LxP%(@c6Xikrgrfb6VA$U)ri%!QP@iH-H
z!e@@dBo&(|ul*ju7z_7!-!cCqtvHv`wK{*Jr)$SMb~|^kZvG&qF9lu>7a*3_G2_<p
zQu5W91<Rw9D6(-=uv{?1kpv#Dib1USZ1mH$(NBZ>HLye82JbU?#=`#C$72XmTRM#z
zf%OY(3c&rjF#+%#jR~03sM8u2EOcl$b%ewJi!q+oxQPqEwGZ>oG+7zyZt##O-T3v~
zB9_pl{O?M1w^G%@jXm!U6#wHM0mvzqLGpchbe><$>4tDly)I8+_tW?QSZRsHaU)I!
zu{a<qol)EuU09<e6lqUNwv*;0OCIc3SkBOqM2ejUSMl1<T#{Ja7k}WzD5!S%n7|ds
zU|cu&7(U|2$8c`(F}@Ymk`hfy<%}vG%eK%F-^>5`68yk>bf+h<RnPfFq?B1+nh?h}
zA>3bF;cs-4j@a1$V+F(oB|S^mHT$yqrlw;6k~G>GlUjFB?$#*^uT<&QLXw7w(RnhX
zTRQ#;^|}yz*E9xT8l7JS<i_4hB9*o6VC8pPO8x8}U&2#f5)KHd0I&U8TtPw{AOJ5a
zzSRUD+y`cyRbY-`a^W)OTT>`J#nxa`Ht~8NFJBhYF1{V>61#<0N9yq<cc%boA7cW^
zrA}zdpYBDYylKX*vhKaiz#Bb!Y*9V-sI)RlH@+Otkf2DmFwimP{E0^(Hl#E&=`m1P
zdmdC(NV@z6Hmk;^%dfYkc=^P4)u$O94s-CCDp0&*{oFXNKC5V=Nh;gsbaogkP9EpR
zU6+6@o1w@Fw`$UH0^lrY0tevKBGrelCjf!<gOBFIcA%Zm02@;YBbZ>OobhI%qPyPR
zf?Lo*tyP}nzEa}uXmBY}-v&=@l&=K)#E@w3^RA&X$7KK4cCs*aJ)-(eLW2h7C%8zI
z#*%@p6M!)yVDcCI8O4Q{_GAov&>u6TuiVYjI1X~mUZuL|lPFU~W7)d~bzr+=h2iAd
z*|9xllt$uy)m1U*?ASiHrPuKWxxg+RtHc-+CXQ&_W6`SAu}XlMiv;bCbq$p&lSRie
zC^}YU!9BS@O~6Isvsv<X$Ep+dsT0~_1Mzk2^Nss2)!2F%((>KZ$z=QTW?G@ZEuB*a
zxT*Qm4Y*JWM$bHF6=&{YPlR2^bX7&m=LzO%U~4K`eo{!T8#CaTt|*Vjw4>?WBfJ4o
z+Kwf$if;>&oj=Pn&+e(_Z^EzA@yGBH15cI=220tM35WnbmotO9tFO-~lL59bV*<D#
z8WS-8UJc*_USnEu23ezOOaSHtjR{C#+CEOe1tCQMeO7{6I6iS8v|AOI&k59LowDkb
z!px6Hr?#AA$#KT=Rbv8>trBL|IXFGW1i;=gMo_xt*)xB?XGVAUBkIxp9&aM((O&ah
z1kPoeRqSS6-jkWXC}2}{osX&6wu#9pR*g+J##9BwYeDk!GT>$jBpa~xK?dSfRGfj?
z_L$Ja2<)_&IjO?)34pe7Fe3QmahELsDPm&+U~?EVIDq3$PG8a|M*$;FBml7tV*)sA
zjS+O3NE>I>;W{QPdT)C__yBsKXX6RJ%X+XY<U%2X0M@Ujn*qj5m~Am*%!~;@Hpdu2
zry01h&VC?*ekePs02*#gAh=xi&w;npKJ-HwnUayTC}6-@1TaX(1cLVlVugV=>pSdt
zf#AR4{9>RB$JeqBG;BgClSh;V&kwByh=I9Z1h9!36ToFfm>)ZKnpj?N96@KljCA%3
z5mdkCqypIAj0tob=XSpgcl1jXu;?rT-47&K*^U!%zpOY!07fH?2_%M}UG?BJRGa}$
zX7@|Xmnp{y;8D|<0NC`#2uio~&fK+U=2M_bzD@f;)7{%}X?mV3e)--@AT-)jy6M#P
zU3<VVK}8!!k$MAvxE?eYIbTc1U!ejjETD87=oq!AbX(uGcb1OxB6p_ZiTymMV=g@8
zvxoH)(kl)DH^Dz$f*<=;*v4Byu(_B$;KLw!wZdcJg#K;wWS)Qu+&1t?IEEq>_-o@`
zW~imm<a>uK{dJ{Ghv+!l0^*DS>(tnUF@bnRPS3|YM4kAeRVhK%Rfps{bnb-j7>uFH
zst>8GdSD~Q1n_ud%m5C<8czH;@KYY84@+OS+5S4#v2pJM_y->!Uk@Q3+<_qmu&e%X
zi`P=TX_FKPvv<ipHMCo8a<OJ$xtApo4ZB!hMCv)0vf?BL(3^$V)~lfZ3}3sVy3L+U
zx3>@~!8NoouI!?Li#zYZtuaJ~yIFb3A@`V4FBjj#ltDQsxt8vWShx9WOCg$*+%MAK
zFHhZ1PI#IDEqc`*<x>wqLc)9)i`!y|*ID(ckMAjCQok{{B?_}$u8kHtznojZC^u_0
zkK3qCj-C3u#Fs_c!)!z{X&7RPamnkt!Qsi!%^gvO(3XyCqRnC?0Ty(KFOwbYoXAy1
z+Y>uS<;4{v?gm;UTl_u?%VF9H!|Ydo$2B@E7QPUJ+wP^BtRxlp@#Dif4`?0bvT$RF
zu&1}jr11vUKvIn%n;_}3(S<L~%p}nvtMIQNzJ>55Ff+hx6r%&o46r`i%npf4fyqJ9
zBixtKL|+%B5bdA2jYHQYoLT(JX5xH=fZzzpOX%)mZOG#L6h1;vZIk?A`NAiP1hqla
zpZoYFNq>BxE#Jn+K8bEw&JArX(5CfbFEff&b(Vf5<#U$6oHsYb4#mLk)4|v98Qd5b
z))dH^J{0Q)<atag+5l`Xv=>j-1c&78yWar>Sg!>Vx1X@(1rpdM1K}rJae4wjfW-n)
z2;LJQfgu2a3S$KD#!Jo9tL`{}#c}{1vk%d5MRU!i6CfHzt~-DL(W}Dh1cz$h-^)U-
z`p|(>|BMnoiW2?|Nm@=qAdkO#^hXm`5P;}8MV}PNPR<(>$WAUWNzGv9y&zRiE;>XY
zJGo@c;0cFnPdIqhUzAaK8I>Q{^XDjimML&Q1Hcphw1B*<p(~~ohmDvFHu5PU<a5^J
z?sE^;o=-8DG7>{u7i1%6>(NyRD6BwYfU_908Cv^SJ>*>mlUfEKkG2lN=)hHXmSM2z
zz#gQ%6pYX%Y=?~z6jgeQ&HvB@N)Kif4jN?K_EY{1+z)fBJtx1`QYd9+Fz(nK3r|vc
zl)keGsbkDPTyYLp@pBds>yLlmjz%KIHE90=>cSuPMkW9ou&zRByTgv}th^j==AkYc
zn9Z1l);x;HV#|t$_t*_scEeBZUx!Wch<3aHxJO3fM`M3e%^(?_LckJf-X&w}?0)C3
z>*MkG>y1>vq6mKSiETIJ2hz^mtNqrNYrz8$7E0*>u+1dP;608WPz}MIW5b>8(Kyq5
z=mfwB#$iS3L(Qv+OW~F>&>tGYyS77K>)LoNsf-RC<gx~NO#l)@SlxjAJ>md?;HcIb
z>k8z}w$QJ5YY01tyPxwbNQrHQ-~c#gSRShm5ipk)@oNagwuAHkz*SoZaQ+_v3-}-`
zxk0W7QJ9Mc*I~6SIzYf4!BD_7OSO^*u&S|H0*jnm2VTbxLgo}NeG*{vz}ouo2Tpwo
zmEVQRX*qRDC5X%CUGazm3?yd5#D}OyWz({FFGrF#iP9WnhQyn*W%^^cbLYmpZKphD
zr#}2YAliz%+w#!I?j9rkl}k7jB6^w{-LJX!N{)uGH!--IY6yLs_hY3f5SuY)+p;V|
z;q>KBv8B|GsD)5@i2sI6jg>O2R*(6~35!n})VwuwnJeES&tc&U=Ov@#=_%|kCmHPY
z0##NC@hpX=P^Q@|>rM^2a`wDl@<P!}q>;hV((w^?#uD=Lzbo;vtNK{VJ>&4yLJi58
zwmF~|apz$v*qx^F-A9lUsizUDpHjHRX0<$8RnOF*fUC_5+MCy&DcvXy{`}(Kq82wK
zvC~V+b2dnRLRb_QiexK+TQ#)HxMfqCN5ltJ9}Z(n57i&Oq_ohI;+y|A(G#_cEBnY=
zzx)z`E3Tn^S96q@(h{L7`lXkYj~18sC1oi)^atpCMinav#1_0%JpLp60UINJNm)SP
zLUAKw@q~kvoi8cE{l!VQ$DN5C1^)*L`;on}F|{A3*M4*)Bh;5XO?ZaKQ-pV2Z<Lej
z;NA9gjP$YFIiI-(lD#+$sYSE#Jsv1aD<lzZ2snrEc@i}XQS{gsV^PFTo0iDBIxXo!
z^{G)_BK!9Dm5$GG6?g|i>7LY<CeZV7NMVQgb+^q~@ONrseHf)JNK~R@Jg;%mv5qfP
zzkEy$wSXNp@Q%O74fW?>Xelk=7jDc`z6#>;Srjpwh1O`!Vg4O1F#1>%%l&#V<%?*t
zCWGr1R_;{~mQPW*JJyijYLdD9ju&+shSi&P7`^2Q4}Hzr(M5<jE}$w*grlHBNN^m+
z^v9H^sgON?hlvNr)f(`&JPK*%WY^?Nd98d2x&znBhsxQiEuEbI)$&DmX~n3^&waJr
zTEC?IF-f~A$N+DtVb#9Y=+)$~+DMn0NWTU=44p`q5zD~DK^i9LJlIxCn$6nO!{^c|
zh@Zf``oG#+<~gsI(1FIZCn5Z)z2*1(@&ERJur~*D=r+F`m(-wbAY0?dui`UaR&(4X
z{>3k$)IR1Jp_lfp;!!`)#gA#<MhCGoO|yaBx6xZMJ<ZvP+vpGTRphhWMq!Q~`<-v2
zn}2ahk`J4?dqCTQEdAjK-R(a5A9|5>_xmWWqZ8miZ?9)FARA^*S|Ah>++rj)%^7X3
z3$u`^sQkhK0=`v&mgD8hw3jb&6#|^3lK>#z1S}^BjJGXZACD-mP7pWJX@>~JO%0DF
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

literal 0
HcmV?d00001

diff --git a/Indexer-twitter-tests b/Indexer-twitter-tests
new file mode 100755
index 0000000000000000000000000000000000000000..2414057af7581d3bd95bba9cc353255cde8ce68d
GIT binary patch
literal 732324
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%0D9#YN(9g=QYT8as|eU%?OLiGOSMg@
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
KGXgaD-~R!x))_Yd

literal 0
HcmV?d00001

diff --git a/indexer/Indexer.cpp b/indexer/Indexer.cpp
index 51eca4c..3b4b6bc 100755
--- a/indexer/Indexer.cpp
+++ b/indexer/Indexer.cpp
@@ -18,7 +18,6 @@ void Indexer::run ( )
 
     while(cond) {
         DocIndex * dictionary = pointerToDictionaries->Pop();
-		 cout << "INDEX GOT A NEW Dictionary" << endl;
         DocumentEnding docEnd = DocumentEnding();
         size_t indexedCount = 0;
         currentBlockNumberDocs++;
@@ -42,7 +41,7 @@ void Indexer::run ( )
         docEnd.docNumWords = indexedCount;
         docEndings.push_back(docEnd);
 
-        if(currentBlockNumberWords >= 10000) {
+        if(currentBlockNumberWords >= 20000) {
             save();
             reset();
         }
diff --git a/indexer/Indexer.h b/indexer/Indexer.h
index 376e385..7b82005 100755
--- a/indexer/Indexer.h
+++ b/indexer/Indexer.h
@@ -53,7 +53,7 @@ private:
 
 	ProducerConsumerQueue< DocIndex * > *pointerToDictionaries;
 	unordered_map< string, vector< size_t > > masterDictionary;
-	map< string, vector< size_t > > chunkDictionary;
+	unordered_map< string, vector< size_t > > chunkDictionary;
 	unordered_map< string, vector< PostingsSeekTableEntry > > postingsSeekTable;
 
 	vector< DocumentEnding > docEndings;
diff --git a/indexer/IndexerTwitterTests.cpp b/indexer/IndexerTwitterTests.cpp
index f6a4c82..788f5a6 100644
--- a/indexer/IndexerTwitterTests.cpp
+++ b/indexer/IndexerTwitterTests.cpp
@@ -5,67 +5,73 @@
 #include <vector>
 #include <fstream>
 #include <unordered_map>
+#include "../shared/ProducerConsumerQueue.h"
 #include "json.hpp"
+#include "../util/util.h"
 #include "Indexer.h"
 
 using namespace std;
 using json = nlohmann::json;
 
-int main ( )
-	{
-//    Indexer indexer = Indexer();
-//
-//    vector<ifstream*> files;
-//    for(int i = 0; i < 60; i++) {
-//        string fileName = "tests/twitter/" + to_string(i) + ".json";
-//        if(i < 10) {
-//            fileName = "tests/twitter/0" + to_string(i) + ".json";
-//        }
-//        files.push_back(new ifstream(fileName));
-//    }
-//    string line = "";
-//    for(int i = 0; i < 60; i++) {
-//        int tweetId = 0;
-//        while(getline(*files[i], line)) {
-//            json j = json::parse(line);
-//            auto local = new unordered_map<string, vector<int> >();
-//            int id = 0;
-//            if(j.find("text") != j.end()) {
-//                string text = j.at("text");
-//                string word = "";
-//                bool midword = false;
-//                for(auto character : text) {
-//                    switch(character) {
-//                        case '\n':
-//                        case ' ':
-//                            if(midword) {
-//                                std::transform(word.begin(), word.end(), word.begin(), ::tolower);
-//                                word.erase(remove_if(word.begin(), word.end(), [](char c) { return !isalpha(c); } ), word.end());
-//                                if(word != "") {
-//                                    local->operator[](word).push_back(id);
-//                                    id++;
-//                                }
-//                                word = "";
-//                            }
-//                            midword = false;
-//                            break;
-//                        default:
-//                            word += character;
-//                            midword = true;
-//                    }
-//                }
-//                if(local->size() != 0) {
-//                    size_t id = j.at("id");
-//                    local->operator[]("=file " + to_string(i) + " tweet " + to_string(id)).push_back(0);
-//                    tweetId++;
-//                }
-//            }
-//            if(local->size() != 0) {
-//                indexer.pointerToDictionaries.Push(local);
-//            }
-//        }
-//    }
-//    indexer.run();
+using DocIndex = const unordered_map< string, vector< unsigned long > >;
+
+int main ( ) {
+	vector<ifstream *> files;
+	ProducerConsumerQueue< DocIndex * > *IndexerQueue = new ProducerConsumerQueue< DocIndex * >( );
+	for (int i = 0; i < 60; i++) {
+		string fileName = util::GetCurrentWorkingDir() + "/indexer/tests/twitter/" + to_string(i) + ".json";
+		if (i < 10) {
+			fileName = util::GetCurrentWorkingDir() + "/indexer/tests/twitter/0" + to_string(i) + ".json";
+		}
+		files.push_back(new ifstream(fileName));
+	}
+	string line = "";
+	for (int i = 0; i < 60; i++) {
+		int tweetId = 0;
+		while (getline(*files[i], line)) {
+			json j = json::parse(line);
+			auto local = new unordered_map< string, vector< unsigned long > >();
+			int id = 0;
+			if (j.find("text") != j.end()) {
+				string text = j.at("text");
+				string word = "";
+				bool midword = false;
+				for (auto character : text) {
+					switch (character) {
+						case '\n':
+						case ' ':
+							if (midword) {
+								std::transform(word.begin(), word.end(), word.begin(), ::tolower);
+								word.erase(remove_if(word.begin(), word.end(), [](char c) { return !isalpha(c); }),
+										   word.end());
+								if (word != "") {
+									local->operator[](word).push_back(id);
+									id++;
+								}
+								word = "";
+							}
+							midword = false;
+							break;
+						default:
+							word += character;
+							midword = true;
+					}
+				}
+				if (local->size() != 0) {
+					size_t id = j.at("id");
+					local->operator[]("=file " + to_string(i) + " tweet " + to_string(id)).push_back(0);
+					tweetId++;
+				}
+			}
+			if (local->size() != 0) {
+				IndexerQueue->Push(local);
+			}
+		}
+	}
+	Indexer indexer = Indexer(IndexerQueue);
+    indexer.StartThread( );
+    indexer.WaitForFinish();
+	/*
 	string query;
 	cout << "What is your query?" << endl;
 	getline( cin, query );
@@ -236,3 +242,5 @@ int main ( )
 		}
 
 	}
+	 */
+}
diff --git a/indexer/json.hpp b/indexer/json.hpp
index fd460a5..6b6655a 100644
--- a/indexer/json.hpp
+++ b/indexer/json.hpp
@@ -26,57 +26,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE  OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
 */
 
-#ifndef
-NLOHMANN_JSON_HPP
-#define
-NLOHMANN_JSON_HPP
-
-#define
-NLOHMANN_JSON_VERSION_MAJOR 3
-#define
-NLOHMANN_JSON_VERSION_MINOR 1
-#define
-NLOHMANN_JSON_VERSION_PATCH 2
-
-#include
-<algorithm> // all_of, find, for_each
-#include
-<cassert> // assert
-#include
-<ciso646> // and, not, or
-#include
-<cstddef> // nullptr_t, ptrdiff_t, size_t
-#include
-<functional> // hash, less
-#include
-<initializer_list> // initializer_list
-#include
-<iosfwd> // istream, ostream
-#include
-<iterator> // iterator_traits, random_access_iterator_tag
-#include
-<numeric> // accumulate
-#include
-<string> // string, stoi, to_string
-#include
-<utility> // declval, forward, move, pair, swap
+#ifndef NLOHMANN_JSON_HPP
+#define NLOHMANN_JSON_HPP
+
+#define NLOHMANN_JSON_VERSION_MAJOR 3
+#define NLOHMANN_JSON_VERSION_MINOR 1
+#define NLOHMANN_JSON_VERSION_PATCH 2
+
+#include <algorithm> // all_of, find, for_each
+#include <cassert> // assert
+#include <ciso646> // and, not, or
+#include <cstddef> // nullptr_t, ptrdiff_t, size_t
+#include <functional> // hash, less
+#include <initializer_list> // initializer_list
+#include <iosfwd> // istream, ostream
+#include <iterator> // iterator_traits, random_access_iterator_tag
+#include <numeric> // accumulate
+#include <string> // string, stoi, to_string
+#include <utility> // declval, forward, move, pair, swap
 
 // #include <nlohmann/json_fwd.hpp>
-#ifndef
-NLOHMANN_JSON_FWD_HPP
-#define
-NLOHMANN_JSON_FWD_HPP
-
-#include
-<cstdint> // int64_t, uint64_t
-#include
-<map> // map
-#include
-<memory> // allocator
-#include
-<string> // string
-#include
-<vector> // vector
+#ifndef NLOHMANN_JSON_FWD_HPP
+#define NLOHMANN_JSON_FWD_HPP
+
+#include <cstdint> // int64_t, uint64_t
+#include <map> // map
+#include <memory> // allocator
+#include <string> // string
+#include <vector> // vector
 
 /*!
 @brief namespace for Niels Lohmann
@@ -95,17 +72,16 @@ for serialization.
 template<typename = void, typename = void>
 struct adl_serializer;
 
-template<
-template<typename U, typename V, typename... Args> class ObjectType =
-std::map,
-template<typename U, typename... Args> class ArrayType = std::vector,
-class StringType = std::string, class BooleanType = bool,
-class NumberIntegerType = std::int64_t,
-class NumberUnsignedType = std::uint64_t,
-class NumberFloatType = double,
-template<typename U> class AllocatorType = std::allocator,
-template<typename T, typename SFINAE = void> class JSONSerializer =
-adl_serializer>
+template<template<typename U, typename V, typename... Args> class ObjectType =
+         std::map,
+         template<typename U, typename... Args> class ArrayType = std::vector,
+         class StringType = std::string, class BooleanType = bool,
+         class NumberIntegerType = std::int64_t,
+         class NumberUnsignedType = std::uint64_t,
+         class NumberFloatType = double,
+         template<typename U> class AllocatorType = std::allocator,
+         template<typename T, typename SFINAE = void> class JSONSerializer =
+         adl_serializer>
 class basic_json;
 
 /*!
@@ -142,140 +118,93 @@ using json = basic_json<>;
 // You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them
 
 // exclude unsupported compilers
-#if
-defined(__clang__)
-#if
-(__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400
-#error
-"unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers"
-#endif
-#elif
-defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER))
-#if
-(__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40900
-#error
-"unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"
-#endif
+#if defined(__clang__)
+    #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400
+        #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers"
+    #endif
+#elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER))
+    #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40900
+        #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"
+    #endif
 #endif
 
 // disable float-equal warnings on GCC/clang
-#if
-defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
-#pragma
-GCC diagnostic push
-#pragma
-GCC diagnostic ignored "-Wfloat-equal"
+#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
+    #pragma GCC diagnostic push
+    #pragma GCC diagnostic ignored "-Wfloat-equal"
 #endif
 
 // disable documentation warnings on clang
-#if
-defined(__clang__)
-#pragma
-GCC diagnostic push
-#pragma
-GCC diagnostic ignored "-Wdocumentation"
+#if defined(__clang__)
+    #pragma GCC diagnostic push
+    #pragma GCC diagnostic ignored "-Wdocumentation"
 #endif
 
 // allow for portable deprecation warnings
-#if
-defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
-#define
-JSON_DEPRECATED __attribute__((deprecated))
-#elif
-defined(_MSC_VER)
-#define
-JSON_DEPRECATED __declspec(deprecated)
+#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
+    #define JSON_DEPRECATED __attribute__((deprecated))
+#elif defined(_MSC_VER)
+    #define JSON_DEPRECATED __declspec(deprecated)
 #else
-#define
-JSON_DEPRECATED
+    #define JSON_DEPRECATED
 #endif
 
 // allow to disable exceptions
-#if
-(defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION)
-#define
-JSON_THROW(exception) throw exception
-#define
-JSON_TRY try
-#define
-JSON_CATCH(exception) catch(exception)
+#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION)
+    #define JSON_THROW(exception) throw exception
+    #define JSON_TRY try
+    #define JSON_CATCH(exception) catch(exception)
 #else
-#define
-JSON_THROW(exception) std::abort()
-#define
-JSON_TRY if (true)
-#define
-JSON_CATCH(exception) if (false)
+    #define JSON_THROW(exception) std::abort()
+    #define JSON_TRY if(true)
+    #define JSON_CATCH(exception) if(false)
 #endif
 
 // override exception macros
-#if
-defined(JSON_THROW_USER)
-#undef
-JSON_THROW
-#define
-JSON_THROW JSON_THROW_USER
+#if defined(JSON_THROW_USER)
+    #undef JSON_THROW
+    #define JSON_THROW JSON_THROW_USER
 #endif
-#if
-defined(JSON_TRY_USER)
-#undef
-JSON_TRY
-#define
-JSON_TRY JSON_TRY_USER
+#if defined(JSON_TRY_USER)
+    #undef JSON_TRY
+    #define JSON_TRY JSON_TRY_USER
 #endif
-#if
-defined(JSON_CATCH_USER)
-#undef
-JSON_CATCH
-#define
-JSON_CATCH JSON_CATCH_USER
+#if defined(JSON_CATCH_USER)
+    #undef JSON_CATCH
+    #define JSON_CATCH JSON_CATCH_USER
 #endif
 
 // manual branch prediction
-#if
-defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
-#define
-JSON_LIKELY(x)      __builtin_expect(!!(x), 1)
-#define
-JSON_UNLIKELY(x)    __builtin_expect(!!(x), 0)
+#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
+    #define JSON_LIKELY(x)      __builtin_expect(!!(x), 1)
+    #define JSON_UNLIKELY(x)    __builtin_expect(!!(x), 0)
 #else
-#define
-JSON_LIKELY(x)      x
-#define
-JSON_UNLIKELY(x)    x
+    #define JSON_LIKELY(x)      x
+    #define JSON_UNLIKELY(x)    x
 #endif
 
 // C++ language standard detection
 #if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464
-#define
-JSON_HAS_CPP_17
-#define
-JSON_HAS_CPP_14
-#elif
-(defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1)
-#define
-JSON_HAS_CPP_14
+    #define JSON_HAS_CPP_17
+    #define JSON_HAS_CPP_14
+#elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1)
+    #define JSON_HAS_CPP_14
 #endif
 
 // Ugly macros to avoid uglier copy-paste when specializing basic_json. They
 // may be removed in the future once the class is split.
 
-#define
-NLOHMANN_BASIC_JSON_TPL_DECLARATION                                \
-    template<
-template<typename, typename, typename...> class ObjectType, \
-
-template<typename, typename...> class ArrayType, \
+#define NLOHMANN_BASIC_JSON_TPL_DECLARATION                                \
+    template<template<typename, typename, typename...> class ObjectType,   \
+             template<typename, typename...> class ArrayType,              \
              class StringType, class BooleanType, class NumberIntegerType, \
-             class NumberUnsignedType, class NumberFloatType, \
-
-template<typename> class AllocatorType, \
+             class NumberUnsignedType, class NumberFloatType,              \
+             template<typename> class AllocatorType,                       \
              template<typename, typename = void> class JSONSerializer>
 
-#define
-NLOHMANN_BASIC_JSON_TPL                                            \
-    basic_json<ObjectType, ArrayType, StringType, BooleanType, \
-    NumberIntegerType, NumberUnsignedType, NumberFloatType, \
+#define NLOHMANN_BASIC_JSON_TPL                                            \
+    basic_json<ObjectType, ArrayType, StringType, BooleanType,             \
+    NumberIntegerType, NumberUnsignedType, NumberFloatType,                \
     AllocatorType, JSONSerializer>
 
 /*!
@@ -288,38 +217,25 @@ contains a `mapped_type`, whereas `std::vector` fails the test.
 @sa http://stackoverflow.com/a/7728728/266378
 @since version 1.0.0, overworked in version 2.0.6
 */
-#define
-NLOHMANN_JSON_HAS_HELPER(type)                                        \
-
-template<typename T> struct has_##type {
-\
-
-private:
-\
+#define NLOHMANN_JSON_HAS_HELPER(type)                                        \
+    template<typename T> struct has_##type {                                  \
+    private:                                                                  \
         template<typename U, typename = typename U::type>                     \
         static int detect(U &&);                                              \
         static void detect(...);                                              \
-
-public:
-\
+    public:                                                                   \
         static constexpr bool value =                                         \
                 std::is_integral<decltype(detect(std::declval<T>()))>::value; \
-
-}
+    }
 
 // #include <nlohmann/detail/meta.hpp>
 
 
-#include
-<ciso646> // not
-#include
-<cstddef> // size_t
-#include
-<limits> // numeric_limits
-#include
-<type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
-#include
-<utility> // declval
+#include <ciso646> // not
+#include <cstddef> // size_t
+#include <limits> // numeric_limits
+#include <type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
+#include <utility> // declval
 
 // #include <nlohmann/json_fwd.hpp>
 
@@ -342,12 +258,10 @@ namespace detail
 // helpers //
 /////////////
 
-template<typename> struct is_basic_json : std::false_type {
-};
+template<typename> struct is_basic_json : std::false_type {};
 
 NLOHMANN_BASIC_JSON_TPL_DECLARATION
-struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {
-};
+struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
 
 // alias templates to reduce boilerplate
 template<bool B, typename T = void>
@@ -361,12 +275,12 @@ using uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::typ
 template<std::size_t... Ints>
 struct index_sequence
 {
-using type = index_sequence;
-using value_type = std::size_t;
-static constexpr std::size_t size() noexcept
-{
-return sizeof...(Ints);
-}
+    using type = index_sequence;
+    using value_type = std::size_t;
+    static constexpr std::size_t size() noexcept
+    {
+        return sizeof...(Ints);
+    }
 };
 
 template<class Sequence1, class Sequence2>
@@ -374,17 +288,15 @@ struct merge_and_renumber;
 
 template<std::size_t... I1, std::size_t... I2>
 struct merge_and_renumber<index_sequence<I1...>, index_sequence<I2...>>
-: index_sequence < I1..., (sizeof...(I1) + I2)... > {
-};
+        : index_sequence < I1..., (sizeof...(I1) + I2)... > {};
 
 template<std::size_t N>
 struct make_index_sequence
-: merge_and_renumber < typename make_index_sequence < N / 2 >::type,
-typename make_index_sequence < N - N / 2 >::type > {
-};
+    : merge_and_renumber < typename make_index_sequence < N / 2 >::type,
+      typename make_index_sequence < N - N / 2 >::type > {};
 
-template<> struct make_index_sequence<0> : index_sequence<> { };
-template<> struct make_index_sequence<1> : index_sequence<0> { };
+template<> struct make_index_sequence<0> : index_sequence<> {};
+template<> struct make_index_sequence<1> : index_sequence<0> {};
 
 template<typename... Ts>
 using index_sequence_for = make_index_sequence<sizeof...(Ts)>;
@@ -402,17 +314,16 @@ Please note that those constructs must be used with caution, since symbols can
 become very long quickly (which can slow down compilation and cause MSVC
 internal compiler errors). Only use it when you have to (see example ahead).
 */
-template<class...> struct conjunction : std::true_type { };
-template<class B1> struct conjunction<B1> : B1 { };
+template<class...> struct conjunction : std::true_type {};
+template<class B1> struct conjunction<B1> : B1 {};
 template<class B1, class... Bn>
-struct conjunction<B1, Bn...> : std::conditional<bool(B1::value), conjunction<Bn...>, B1>::type {
-};
+struct conjunction<B1, Bn...> : std::conditional<bool(B1::value), conjunction<Bn...>, B1>::type {};
 
-template<class B> struct negation : std::integral_constant<bool, not B::value> { };
+template<class B> struct negation : std::integral_constant<bool, not B::value> {};
 
 // dispatch utility (taken from ranges-v3)
-template<unsigned N> struct priority_tag : priority_tag < N - 1 > { };
-template<> struct priority_tag<0> { };
+template<unsigned N> struct priority_tag : priority_tag < N - 1 > {};
+template<> struct priority_tag<0> {};
 
 ////////////////////////
 // has_/is_ functions //
@@ -421,12 +332,10 @@ template<> struct priority_tag<0> { };
 // source: https://stackoverflow.com/a/37193089/4116453
 
 template <typename T, typename = void>
-struct is_complete_type : std::false_type {
-};
+struct is_complete_type : std::false_type {};
 
 template <typename T>
-struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_type {
-};
+struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_type {};
 
 NLOHMANN_JSON_HAS_HELPER(mapped_type);
 NLOHMANN_JSON_HAS_HELPER(key_type);
@@ -434,91 +343,89 @@ NLOHMANN_JSON_HAS_HELPER(value_type);
 NLOHMANN_JSON_HAS_HELPER(iterator);
 
 template<bool B, class RealType, class CompatibleObjectType>
-struct is_compatible_object_type_impl : std::false_type {
-};
+struct is_compatible_object_type_impl : std::false_type {};
 
 template<class RealType, class CompatibleObjectType>
 struct is_compatible_object_type_impl<true, RealType, CompatibleObjectType>
 {
-static constexpr auto value =
-std::is_constructible<typename RealType::key_type, typename CompatibleObjectType::key_type>::value and
-std::is_constructible<typename RealType::mapped_type, typename CompatibleObjectType::mapped_type>::value;
+    static constexpr auto value =
+        std::is_constructible<typename RealType::key_type, typename CompatibleObjectType::key_type>::value and
+        std::is_constructible<typename RealType::mapped_type, typename CompatibleObjectType::mapped_type>::value;
 };
 
 template<class BasicJsonType, class CompatibleObjectType>
 struct is_compatible_object_type
 {
-static auto constexpr value = is_compatible_object_type_impl <
-conjunction<negation<std::is_same<void, CompatibleObjectType>>,
-has_mapped_type<CompatibleObjectType>,
-has_key_type<CompatibleObjectType>>::value,
-typename BasicJsonType::object_t, CompatibleObjectType >::value;
+    static auto constexpr value = is_compatible_object_type_impl <
+                                  conjunction<negation<std::is_same<void, CompatibleObjectType>>,
+                                  has_mapped_type<CompatibleObjectType>,
+                                  has_key_type<CompatibleObjectType>>::value,
+                                  typename BasicJsonType::object_t, CompatibleObjectType >::value;
 };
 
 template<typename BasicJsonType, typename T>
 struct is_basic_json_nested_type
 {
-static auto constexpr value = std::is_same<T, typename BasicJsonType::iterator>::value or
-std::is_same<T, typename BasicJsonType::const_iterator>::value or
-std::is_same<T, typename BasicJsonType::reverse_iterator>::value or
-std::is_same<T, typename BasicJsonType::const_reverse_iterator>::value;
+    static auto constexpr value = std::is_same<T, typename BasicJsonType::iterator>::value or
+                                  std::is_same<T, typename BasicJsonType::const_iterator>::value or
+                                  std::is_same<T, typename BasicJsonType::reverse_iterator>::value or
+                                  std::is_same<T, typename BasicJsonType::const_reverse_iterator>::value;
 };
 
 template<class BasicJsonType, class CompatibleArrayType>
 struct is_compatible_array_type
 {
-static auto constexpr value =
-conjunction<negation<std::is_same<void, CompatibleArrayType>>,
-negation<is_compatible_object_type<
-BasicJsonType, CompatibleArrayType>>,
-negation<std::is_constructible<typename BasicJsonType::string_t,
-CompatibleArrayType>>,
-negation<is_basic_json_nested_type<BasicJsonType, CompatibleArrayType>>,
-has_value_type<CompatibleArrayType>,
-has_iterator<CompatibleArrayType>>::value;
+    static auto constexpr value =
+        conjunction<negation<std::is_same<void, CompatibleArrayType>>,
+        negation<is_compatible_object_type<
+        BasicJsonType, CompatibleArrayType>>,
+        negation<std::is_constructible<typename BasicJsonType::string_t,
+        CompatibleArrayType>>,
+        negation<is_basic_json_nested_type<BasicJsonType, CompatibleArrayType>>,
+        has_value_type<CompatibleArrayType>,
+        has_iterator<CompatibleArrayType>>::value;
 };
 
 template<bool, typename, typename>
-struct is_compatible_integer_type_impl : std::false_type {
-};
+struct is_compatible_integer_type_impl : std::false_type {};
 
 template<typename RealIntegerType, typename CompatibleNumberIntegerType>
 struct is_compatible_integer_type_impl<true, RealIntegerType, CompatibleNumberIntegerType>
 {
-// is there an assert somewhere on overflows?
-using RealLimits = std::numeric_limits<RealIntegerType>;
-using CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>;
-
-static constexpr auto value =
-std::is_constructible<RealIntegerType, CompatibleNumberIntegerType>::value and
-CompatibleLimits::is_integer and
-RealLimits::is_signed == CompatibleLimits::is_signed;
+    // is there an assert somewhere on overflows?
+    using RealLimits = std::numeric_limits<RealIntegerType>;
+    using CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>;
+
+    static constexpr auto value =
+        std::is_constructible<RealIntegerType, CompatibleNumberIntegerType>::value and
+        CompatibleLimits::is_integer and
+        RealLimits::is_signed == CompatibleLimits::is_signed;
 };
 
 template<typename RealIntegerType, typename CompatibleNumberIntegerType>
 struct is_compatible_integer_type
 {
-static constexpr auto value =
-is_compatible_integer_type_impl <
-std::is_integral<CompatibleNumberIntegerType>::value and
-not std::is_same<bool, CompatibleNumberIntegerType>::value,
-RealIntegerType, CompatibleNumberIntegerType >::value;
+    static constexpr auto value =
+        is_compatible_integer_type_impl <
+        std::is_integral<CompatibleNumberIntegerType>::value and
+        not std::is_same<bool, CompatibleNumberIntegerType>::value,
+        RealIntegerType, CompatibleNumberIntegerType > ::value;
 };
 
 // trait checking if JSONSerializer<T>::from_json(json const&, udt&) exists
 template<typename BasicJsonType, typename T>
 struct has_from_json
 {
-private:
-// also check the return type of from_json
-template<typename U, typename = enable_if_t<std::is_same<void, decltype(uncvref_t<U>::from_json(
-std::declval<BasicJsonType>(), std::declval<T&>()))>::value>>
-static int detect(U&&);
-static void detect(...);
-
-public:
-static constexpr bool value = std::is_integral<decltype(
-detect(std::declval<typename BasicJsonType::template json_serializer<T, void>>()))>::value;
+  private:
+    // also check the return type of from_json
+    template<typename U, typename = enable_if_t<std::is_same<void, decltype(uncvref_t<U>::from_json(
+                 std::declval<BasicJsonType>(), std::declval<T&>()))>::value>>
+    static int detect(U&&);
+    static void detect(...);
+
+  public:
+    static constexpr bool value = std::is_integral<decltype(
+                                      detect(std::declval<typename BasicJsonType::template json_serializer<T, void>>()))>::value;
 };
 
 // This trait checks if JSONSerializer<T>::from_json(json const&) exists
@@ -526,48 +433,48 @@ detect(std::declval<typename BasicJsonType::template json_serializer<T, void>>()
 template<typename BasicJsonType, typename T>
 struct has_non_default_from_json
 {
-private:
-template <
-typename U,
-typename = enable_if_t<std::is_same<
-T, decltype(uncvref_t<U>::from_json(std::declval<BasicJsonType>()))>::value >>
-static int detect(U&&);
-static void detect(...);
-
-public:
-static constexpr bool value = std::is_integral<decltype(detect(
-std::declval<typename BasicJsonType::template json_serializer<T, void>>()))>::value;
+  private:
+    template <
+        typename U,
+        typename = enable_if_t<std::is_same<
+                                   T, decltype(uncvref_t<U>::from_json(std::declval<BasicJsonType>()))>::value >>
+    static int detect(U&&);
+    static void detect(...);
+
+  public:
+    static constexpr bool value = std::is_integral<decltype(detect(
+                                      std::declval<typename BasicJsonType::template json_serializer<T, void>>()))>::value;
 };
 
 // This trait checks if BasicJsonType::json_serializer<T>::to_json exists
 template<typename BasicJsonType, typename T>
 struct has_to_json
 {
-private:
-template<typename U, typename = decltype(uncvref_t<U>::to_json(
-std::declval<BasicJsonType&>(), std::declval<T>()))>
-static int detect(U&&);
-static void detect(...);
-
-public:
-static constexpr bool value = std::is_integral<decltype(detect(
-std::declval<typename BasicJsonType::template json_serializer<T, void>>()))>::value;
+  private:
+    template<typename U, typename = decltype(uncvref_t<U>::to_json(
+                 std::declval<BasicJsonType&>(), std::declval<T>()))>
+    static int detect(U&&);
+    static void detect(...);
+
+  public:
+    static constexpr bool value = std::is_integral<decltype(detect(
+                                      std::declval<typename BasicJsonType::template json_serializer<T, void>>()))>::value;
 };
 
 template <typename BasicJsonType, typename CompatibleCompleteType>
 struct is_compatible_complete_type
 {
-static constexpr bool value =
-not std::is_base_of<std::istream, CompatibleCompleteType>::value and
-not is_basic_json<CompatibleCompleteType>::value and
-not is_basic_json_nested_type<BasicJsonType, CompatibleCompleteType>::value and
-has_to_json<BasicJsonType, CompatibleCompleteType>::value;
+    static constexpr bool value =
+        not std::is_base_of<std::istream, CompatibleCompleteType>::value and
+        not is_basic_json<CompatibleCompleteType>::value and
+        not is_basic_json_nested_type<BasicJsonType, CompatibleCompleteType>::value and
+        has_to_json<BasicJsonType, CompatibleCompleteType>::value;
 };
 
 template <typename BasicJsonType, typename CompatibleType>
 struct is_compatible_type
-: conjunction<is_complete_type<CompatibleType>,
-is_compatible_complete_type<BasicJsonType, CompatibleType>>
+    : conjunction<is_complete_type<CompatibleType>,
+      is_compatible_complete_type<BasicJsonType, CompatibleType>>
 {
 };
 
@@ -575,8 +482,7 @@ is_compatible_complete_type<BasicJsonType, CompatibleType>>
 template<typename T>
 struct static_const
 {
-static constexpr T value{
-};
+    static constexpr T value{};
 };
 
 template<typename T>
@@ -587,12 +493,9 @@ constexpr T static_const<T>::value;
 // #include <nlohmann/detail/exceptions.hpp>
 
 
-#include
-<exception> // exception
-#include
-<stdexcept> // runtime_error
-#include
-<string> // to_string
+#include <exception> // exception
+#include <stdexcept> // runtime_error
+#include <string> // to_string
 
 namespace nlohmann
 {
@@ -630,31 +533,29 @@ caught.,exception}
 
 @since version 3.0.0
 */
-class exception :
-public std::exception
-{
-public:
-/// returns the explanatory string
-const char* what() const noexcept override
+class exception : public std::exception
 {
-return m.what();
-}
+  public:
+    /// returns the explanatory string
+    const char* what() const noexcept override
+    {
+        return m.what();
+    }
 
-/// the id of the exception
-const int id;
+    /// the id of the exception
+    const int id;
 
-protected:
-exception(int id_, const char* what_arg) : id(id_), m(what_arg) {
-}
+  protected:
+    exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
 
-static std::string name(const std::string& ename, int id_)
-{
-return "[json.exception." + ename + "." + std::to_string(id_) + "] ";
-}
+    static std::string name(const std::string& ename, int id_)
+    {
+        return "[json.exception." + ename + "." + std::to_string(id_) + "] ";
+    }
 
-private:
-/// an exception object as storage for error messages
-std::runtime_error m;
+  private:
+    /// an exception object as storage for error messages
+    std::runtime_error m;
 };
 
 /*!
@@ -700,11 +601,10 @@ caught.,parse_error}
 
 @since version 3.0.0
 */
-class parse_error :
-public exception
+class parse_error : public exception
 {
-public:
-/*!
+  public:
+    /*!
     @brief create a parse error exception
     @param[in] id_       the id of the exception
     @param[in] byte_     the byte index where the error occurred (or 0 if the
@@ -712,15 +612,15 @@ public:
     @param[in] what_arg  the explanatory string
     @return parse_error object
     */
-static parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
-{
-std::string w = exception::name("parse_error", id_) + "parse error" +
-(byte_ != 0 ? (" at " + std::to_string(byte_)) : "") +
-": " + what_arg;
-return parse_error(id_, byte_, w.c_str());
-}
+    static parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
+    {
+        std::string w = exception::name("parse_error", id_) + "parse error" +
+                        (byte_ != 0 ? (" at " + std::to_string(byte_)) : "") +
+                        ": " + what_arg;
+        return parse_error(id_, byte_, w.c_str());
+    }
 
-/*!
+    /*!
     @brief byte index of the parse error
 
     The byte index of the last read character in the input file.
@@ -729,12 +629,11 @@ return parse_error(id_, byte_, w.c_str());
           n+1 is the index of the terminating null byte or the end of file.
           This also holds true when reading a byte vector (CBOR or MessagePack).
     */
-const std::size_t byte;
+    const std::size_t byte;
 
-private:
-parse_error(int id_, std::size_t byte_, const char* what_arg)
-: exception(id_, what_arg), byte(byte_) {
-}
+  private:
+    parse_error(int id_, std::size_t byte_, const char* what_arg)
+        : exception(id_, what_arg), byte(byte_) {}
 };
 
 /*!
@@ -774,20 +673,18 @@ caught.,invalid_iterator}
 
 @since version 3.0.0
 */
-class invalid_iterator :
-public exception
-{
-public:
-static invalid_iterator create(int id_, const std::string& what_arg)
+class invalid_iterator : public exception
 {
-std::string w = exception::name("invalid_iterator", id_) + what_arg;
-return invalid_iterator(id_, w.c_str());
-}
+  public:
+    static invalid_iterator create(int id_, const std::string& what_arg)
+    {
+        std::string w = exception::name("invalid_iterator", id_) + what_arg;
+        return invalid_iterator(id_, w.c_str());
+    }
 
-private:
-invalid_iterator(int id_, const char* what_arg)
-: exception(id_, what_arg) {
-}
+  private:
+    invalid_iterator(int id_, const char* what_arg)
+        : exception(id_, what_arg) {}
 };
 
 /*!
@@ -828,19 +725,17 @@ caught.,type_error}
 
 @since version 3.0.0
 */
-class type_error :
-public exception
+class type_error : public exception
 {
-public:
-static type_error create(int id_, const std::string& what_arg)
-{
-std::string w = exception::name("type_error", id_) + what_arg;
-return type_error(id_, w.c_str());
-}
+  public:
+    static type_error create(int id_, const std::string& what_arg)
+    {
+        std::string w = exception::name("type_error", id_) + what_arg;
+        return type_error(id_, w.c_str());
+    }
 
-private:
-type_error(int id_, const char* what_arg) : exception(id_, what_arg) {
-}
+  private:
+    type_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
 };
 
 /*!
@@ -875,19 +770,17 @@ caught.,out_of_range}
 
 @since version 3.0.0
 */
-class out_of_range :
-public exception
-{
-public:
-static out_of_range create(int id_, const std::string& what_arg)
+class out_of_range : public exception
 {
-std::string w = exception::name("out_of_range", id_) + what_arg;
-return out_of_range(id_, w.c_str());
-}
+  public:
+    static out_of_range create(int id_, const std::string& what_arg)
+    {
+        std::string w = exception::name("out_of_range", id_) + what_arg;
+        return out_of_range(id_, w.c_str());
+    }
 
-private:
-out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {
-}
+  private:
+    out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {}
 };
 
 /*!
@@ -914,19 +807,17 @@ caught.,other_error}
 
 @since version 3.0.0
 */
-class other_error :
-public exception
+class other_error : public exception
 {
-public:
-static other_error create(int id_, const std::string& what_arg)
-{
-std::string w = exception::name("other_error", id_) + what_arg;
-return other_error(id_, w.c_str());
-}
+  public:
+    static other_error create(int id_, const std::string& what_arg)
+    {
+        std::string w = exception::name("other_error", id_) + what_arg;
+        return other_error(id_, w.c_str());
+    }
 
-private:
-other_error(int id_, const char* what_arg) : exception(id_, what_arg) {
-}
+  private:
+    other_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
 };
 }
 }
@@ -934,14 +825,10 @@ other_error(int id_, const char* what_arg) : exception(id_, what_arg) {
 // #include <nlohmann/detail/value_t.hpp>
 
 
-#include
-<array> // array
-#include
-<ciso646> // and
-#include
-<cstddef> // size_t
-#include
-<cstdint> // uint8_t
+#include <array> // array
+#include <ciso646> // and
+#include <cstddef> // size_t
+#include <cstdint> // uint8_t
 
 namespace nlohmann
 {
@@ -977,15 +864,15 @@ value with the default value for a given type
 */
 enum class value_t : std::uint8_t
 {
-null,             ///< null value
-object,           ///< object (unordered set of name/value pairs)
-array,            ///< array (ordered collection of values)
-string,           ///< string value
-boolean,          ///< boolean value
-number_integer,   ///< number value (signed integer)
-number_unsigned,  ///< number value (unsigned integer)
-number_float,     ///< number value (floating-point)
-discarded         ///< discarded by the the parser callback function
+    null,             ///< null value
+    object,           ///< object (unordered set of name/value pairs)
+    array,            ///< array (ordered collection of values)
+    string,           ///< string value
+    boolean,          ///< boolean value
+    number_integer,   ///< number value (signed integer)
+    number_unsigned,  ///< number value (unsigned integer)
+    number_float,     ///< number value (floating-point)
+    discarded         ///< discarded by the the parser callback function
 };
 
 /*!
@@ -998,18 +885,17 @@ Returns an ordering that is similar to Python:
 
 @since version 1.0.0
 */
-inline bool operator <(const value_t lhs, const value_t rhs) noexcept
-{
-static constexpr std::array<std::uint8_t, 8> order = {
+inline bool operator<(const value_t lhs, const value_t rhs) noexcept
 {
-0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */,
-1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */
-}
-};
+    static constexpr std::array<std::uint8_t, 8> order = {{
+            0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */,
+            1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */
+        }
+    };
 
-const auto l_index = static_cast<std::size_t>(lhs);
-const auto r_index = static_cast<std::size_t>(rhs);
-return l_index < order.size() and r_index < order.size() and order[l_index] < order[r_index];
+    const auto l_index = static_cast<std::size_t>(lhs);
+    const auto r_index = static_cast<std::size_t>(rhs);
+    return l_index < order.size() and r_index < order.size() and order[l_index] < order[r_index];
 }
 }
 }
@@ -1017,26 +903,16 @@ return l_index < order.size() and r_index < order.size() and order[l_index] < or
 // #include <nlohmann/detail/conversions/from_json.hpp>
 
 
-#include
-<algorithm> // transform
-#include
-<array> // array
-#include
-<ciso646> // and, not
-#include
-<forward_list> // forward_list
-#include
-<iterator> // inserter, front_inserter, end
-#include
-<string> // string
-#include
-<tuple> // tuple, make_tuple
-#include
-<type_traits> // is_arithmetic, is_same, is_enum, underlying_type, is_convertible
-#include
-<utility> // pair, declval
-#include
-<valarray> // valarray
+#include <algorithm> // transform
+#include <array> // array
+#include <ciso646> // and, not
+#include <forward_list> // forward_list
+#include <iterator> // inserter, front_inserter, end
+#include <string> // string
+#include <tuple> // tuple, make_tuple
+#include <type_traits> // is_arithmetic, is_same, is_enum, underlying_type, is_convertible
+#include <utility> // pair, declval
+#include <valarray> // valarray
 
 // #include <nlohmann/detail/exceptions.hpp>
 
@@ -1053,200 +929,199 @@ namespace detail
 {
 // overloads for basic_json template parameters
 template<typename BasicJsonType, typename ArithmeticType,
-enable_if_t<std::is_arithmetic<ArithmeticType>::value and
-not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
-int> = 0>
+         enable_if_t<std::is_arithmetic<ArithmeticType>::value and
+                     not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
+                     int> = 0>
 void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
 {
-switch (static_cast<value_t>(j))
-{
-case value_t::number_unsigned:
-{
-val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
-break;
-}
-case value_t::number_integer:
-{
-val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
-break;
-}
-case value_t::number_float:
-{
-val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
-break;
-}
-
-default:
-JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
-}
+    switch (static_cast<value_t>(j))
+    {
+        case value_t::number_unsigned:
+        {
+            val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
+            break;
+        }
+        case value_t::number_integer:
+        {
+            val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
+            break;
+        }
+        case value_t::number_float:
+        {
+            val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
+            break;
+        }
+
+        default:
+            JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
+    }
 }
 
 template<typename BasicJsonType>
 void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b)
 {
-if (JSON_UNLIKELY(not j.is_boolean()))
-{
-JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name())));
-}
-b = *j.template get_ptr<const typename BasicJsonType::boolean_t*>();
+    if (JSON_UNLIKELY(not j.is_boolean()))
+    {
+        JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name())));
+    }
+    b = *j.template get_ptr<const typename BasicJsonType::boolean_t*>();
 }
 
 template<typename BasicJsonType>
 void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s)
 {
-if (JSON_UNLIKELY(not j.is_string()))
-{
-JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name())));
-}
-s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
+    if (JSON_UNLIKELY(not j.is_string()))
+    {
+        JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name())));
+    }
+    s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
 }
 
 template<typename BasicJsonType>
 void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val)
 {
-get_arithmetic_value(j, val);
+    get_arithmetic_value(j, val);
 }
 
 template<typename BasicJsonType>
 void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val)
 {
-get_arithmetic_value(j, val);
+    get_arithmetic_value(j, val);
 }
 
 template<typename BasicJsonType>
 void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val)
 {
-get_arithmetic_value(j, val);
+    get_arithmetic_value(j, val);
 }
 
 template<typename BasicJsonType, typename EnumType,
-enable_if_t<std::is_enum<EnumType>::value, int> = 0>
+         enable_if_t<std::is_enum<EnumType>::value, int> = 0>
 void from_json(const BasicJsonType& j, EnumType& e)
 {
-typename std::underlying_type<EnumType>::type val;
-get_arithmetic_value(j, val);
-e = static_cast<EnumType>(val);
+    typename std::underlying_type<EnumType>::type val;
+    get_arithmetic_value(j, val);
+    e = static_cast<EnumType>(val);
 }
 
 template<typename BasicJsonType>
 void from_json(const BasicJsonType& j, typename BasicJsonType::array_t& arr)
 {
-if (JSON_UNLIKELY(not j.is_array()))
-{
-JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
-}
-arr = *j.template get_ptr<const typename BasicJsonType::array_t*>();
+    if (JSON_UNLIKELY(not j.is_array()))
+    {
+        JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
+    }
+    arr = *j.template get_ptr<const typename BasicJsonType::array_t*>();
 }
 
 // forward_list doesn't have an insert method
 template<typename BasicJsonType, typename T, typename Allocator,
-enable_if_t<std::is_convertible<BasicJsonType, T>::value, int> = 0>
+         enable_if_t<std::is_convertible<BasicJsonType, T>::value, int> = 0>
 void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>& l)
 {
-if (JSON_UNLIKELY(not j.is_array()))
-{
-JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
-}
-std::transform(j.rbegin(), j.rend(),
-std::front_inserter(l),[](const BasicJsonType & i)
-{
-return i.template get<T>();
-});
+    if (JSON_UNLIKELY(not j.is_array()))
+    {
+        JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
+    }
+    std::transform(j.rbegin(), j.rend(),
+                   std::front_inserter(l), [](const BasicJsonType & i)
+    {
+        return i.template get<T>();
+    });
 }
 
 // valarray doesn't have an insert method
 template<typename BasicJsonType, typename T,
-enable_if_t<std::is_convertible<BasicJsonType, T>::value, int> = 0>
+         enable_if_t<std::is_convertible<BasicJsonType, T>::value, int> = 0>
 void from_json(const BasicJsonType& j, std::valarray<T>& l)
 {
-if (JSON_UNLIKELY(not j.is_array()))
-{
-JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
-}
-l.resize(j.size());
-std::copy(j.m_value.array->begin(), j.m_value.array->end(), std::begin(l));
+    if (JSON_UNLIKELY(not j.is_array()))
+    {
+        JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
+    }
+    l.resize(j.size());
+    std::copy(j.m_value.array->begin(), j.m_value.array->end(), std::begin(l));
 }
 
 template<typename BasicJsonType, typename CompatibleArrayType>
 void from_json_array_impl(const BasicJsonType& j, CompatibleArrayType& arr, priority_tag<0> /*unused*/)
 {
-using std::end;
+    using std::end;
 
-std::transform(j.begin(), j.end(),
-std::inserter(arr, end(arr)),[](const BasicJsonType & i)
-{
-// get<BasicJsonType>() returns *this, this won't call a from_json
-// method when value_type is BasicJsonType
-return i.template get<typename CompatibleArrayType::value_type>();
-});
+    std::transform(j.begin(), j.end(),
+                   std::inserter(arr, end(arr)), [](const BasicJsonType & i)
+    {
+        // get<BasicJsonType>() returns *this, this won't call a from_json
+        // method when value_type is BasicJsonType
+        return i.template get<typename CompatibleArrayType::value_type>();
+    });
 }
 
 template<typename BasicJsonType, typename CompatibleArrayType>
 auto from_json_array_impl(const BasicJsonType& j, CompatibleArrayType& arr, priority_tag<1> /*unused*/)
 -> decltype(
-arr.reserve(std::declval<typename CompatibleArrayType::size_type>()),
-void())
+    arr.reserve(std::declval<typename CompatibleArrayType::size_type>()),
+    void())
 {
-using std::end;
+    using std::end;
 
-arr.reserve(j.size());
-std::transform(j.begin(), j.end(),
-std::inserter(arr, end(arr)),[](const BasicJsonType & i)
-{
-// get<BasicJsonType>() returns *this, this won't call a from_json
-// method when value_type is BasicJsonType
-return i.template get<typename CompatibleArrayType::value_type>();
-});
+    arr.reserve(j.size());
+    std::transform(j.begin(), j.end(),
+                   std::inserter(arr, end(arr)), [](const BasicJsonType & i)
+    {
+        // get<BasicJsonType>() returns *this, this won't call a from_json
+        // method when value_type is BasicJsonType
+        return i.template get<typename CompatibleArrayType::value_type>();
+    });
 }
 
 template<typename BasicJsonType, typename T, std::size_t N>
 void from_json_array_impl(const BasicJsonType& j, std::array<T, N>& arr, priority_tag<2> /*unused*/)
 {
-for (std::size_t i = 0; i < N; ++i)
-{
-arr[i] = j.at(i).template get<T>();
-}
+    for (std::size_t i = 0; i < N; ++i)
+    {
+        arr[i] = j.at(i).template get<T>();
+    }
 }
 
 template <
-typename BasicJsonType, typename CompatibleArrayType,
-enable_if_t <
-is_compatible_array_type<BasicJsonType, CompatibleArrayType>::value and
-not std::is_same<typename BasicJsonType::array_t,
-CompatibleArrayType>::value and
-std::is_constructible <
-BasicJsonType, typename CompatibleArrayType::value_type >::value,
-int > = 0 >
+    typename BasicJsonType, typename CompatibleArrayType,
+    enable_if_t <
+        is_compatible_array_type<BasicJsonType, CompatibleArrayType>::value and
+        not std::is_same<typename BasicJsonType::array_t,
+                         CompatibleArrayType>::value and
+        std::is_constructible <
+            BasicJsonType, typename CompatibleArrayType::value_type >::value,
+        int > = 0 >
 void from_json(const BasicJsonType& j, CompatibleArrayType& arr)
 {
-if (JSON_UNLIKELY(not j.is_array()))
-{
-JSON_THROW(type_error::create(302, "type must be array, but is " +
-std::string(j.type_name())));
-}
+    if (JSON_UNLIKELY(not j.is_array()))
+    {
+        JSON_THROW(type_error::create(302, "type must be array, but is " +
+                                      std::string(j.type_name())));
+    }
 
-from_json_array_impl(j, arr, priority_tag<2> {
-});
+    from_json_array_impl(j, arr, priority_tag<2> {});
 }
 
 template<typename BasicJsonType, typename CompatibleObjectType,
-enable_if_t<is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value, int> = 0>
+         enable_if_t<is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value, int> = 0>
 void from_json(const BasicJsonType& j, CompatibleObjectType& obj)
 {
-if (JSON_UNLIKELY(not j.is_object()))
-{
-JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name())));
-}
+    if (JSON_UNLIKELY(not j.is_object()))
+    {
+        JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name())));
+    }
 
-auto inner_object = j.template get_ptr<const typename BasicJsonType::object_t*>();
-using value_type = typename CompatibleObjectType::value_type;
-std::transform(
-inner_object->begin(), inner_object->end(),
-std::inserter(obj, obj.begin()),
-[](typename BasicJsonType::object_t::value_type const & p)
-{
-return value_type(p.first, p.second.template get<typename CompatibleObjectType::mapped_type>());
-});
+    auto inner_object = j.template get_ptr<const typename BasicJsonType::object_t*>();
+    using value_type = typename CompatibleObjectType::value_type;
+    std::transform(
+        inner_object->begin(), inner_object->end(),
+        std::inserter(obj, obj.begin()),
+        [](typename BasicJsonType::object_t::value_type const & p)
+    {
+        return value_type(p.first, p.second.template get<typename CompatibleObjectType::mapped_type>());
+    });
 }
 
 // overload for arithmetic types, not chosen for basic_json template arguments
@@ -1254,99 +1129,92 @@ return value_type(p.first, p.second.template get<typename CompatibleObjectType::
 // overloads for boolean_t etc. in case of a custom BooleanType which is not
 // an arithmetic type?
 template<typename BasicJsonType, typename ArithmeticType,
-enable_if_t <
-std::is_arithmetic<ArithmeticType>::value and
-not std::is_same<ArithmeticType, typename BasicJsonType::number_unsigned_t>::value and
-not std::is_same<ArithmeticType, typename BasicJsonType::number_integer_t>::value and
-not std::is_same<ArithmeticType, typename BasicJsonType::number_float_t>::value and
-not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
-int> = 0>
+         enable_if_t <
+             std::is_arithmetic<ArithmeticType>::value and
+             not std::is_same<ArithmeticType, typename BasicJsonType::number_unsigned_t>::value and
+             not std::is_same<ArithmeticType, typename BasicJsonType::number_integer_t>::value and
+             not std::is_same<ArithmeticType, typename BasicJsonType::number_float_t>::value and
+             not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
+             int> = 0>
 void from_json(const BasicJsonType& j, ArithmeticType& val)
 {
-switch (static_cast<value_t>(j))
-{
-case value_t::number_unsigned:
-{
-val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
-break;
-}
-case value_t::number_integer:
-{
-val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
-break;
-}
-case value_t::number_float:
-{
-val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
-break;
-}
-case value_t::boolean:
-{
-val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::boolean_t*>());
-break;
-}
-
-default:
-JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
-}
+    switch (static_cast<value_t>(j))
+    {
+        case value_t::number_unsigned:
+        {
+            val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
+            break;
+        }
+        case value_t::number_integer:
+        {
+            val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
+            break;
+        }
+        case value_t::number_float:
+        {
+            val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
+            break;
+        }
+        case value_t::boolean:
+        {
+            val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::boolean_t*>());
+            break;
+        }
+
+        default:
+            JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
+    }
 }
 
 template<typename BasicJsonType, typename A1, typename A2>
 void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
 {
-p = {
-j.at(0).
-template get<A1>(), j.at(1).template get<A2>() };
+    p = {j.at(0).template get<A1>(), j.at(1).template get<A2>()};
 }
 
 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
 void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...>)
 {
-t = std::make_tuple(j.at(Idx).
-template get<typename std::tuple_element<Idx, Tuple>::type>()...);
+    t = std::make_tuple(j.at(Idx).template get<typename std::tuple_element<Idx, Tuple>::type>()...);
 }
 
 template<typename BasicJsonType, typename... Args>
 void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
 {
-from_json_tuple_impl(j, t, index_sequence_for<Args...> {
-});
+    from_json_tuple_impl(j, t, index_sequence_for<Args...> {});
 }
 
 struct from_json_fn
 {
-private:
-template<typename BasicJsonType, typename T>
-auto call(const BasicJsonType& j, T& val, priority_tag<1> /*unused*/) const
-noexcept(noexcept(from_json(j, val)))
--> decltype(from_json(j, val), void())
-{
-return from_json(j, val);
-}
+  private:
+    template<typename BasicJsonType, typename T>
+    auto call(const BasicJsonType& j, T& val, priority_tag<1> /*unused*/) const
+    noexcept(noexcept(from_json(j, val)))
+    -> decltype(from_json(j, val), void())
+    {
+        return from_json(j, val);
+    }
 
-template<typename BasicJsonType, typename T>
-void call(const BasicJsonType& /*unused*/, T& /*unused*/, priority_tag<0> /*unused*/) const noexcept
-{
-static_assert(sizeof(BasicJsonType) == 0,
-"could not find from_json() method in T's namespace");
-#ifdef
-_MSC_VER
-// MSVC does not show a stacktrace for the above assert
-using decayed = uncvref_t<T>;
-static_assert(sizeof(typename decayed::force_msvc_stacktrace) == 0,
-"forcing MSVC stacktrace to show which T we're talking about.");
+    template<typename BasicJsonType, typename T>
+    void call(const BasicJsonType& /*unused*/, T& /*unused*/, priority_tag<0> /*unused*/) const noexcept
+    {
+        static_assert(sizeof(BasicJsonType) == 0,
+                      "could not find from_json() method in T's namespace");
+#ifdef _MSC_VER
+        // MSVC does not show a stacktrace for the above assert
+        using decayed = uncvref_t<T>;
+        static_assert(sizeof(typename decayed::force_msvc_stacktrace) == 0,
+                      "forcing MSVC stacktrace to show which T we're talking about.");
 #endif
-}
+    }
 
-public:
-template<typename BasicJsonType, typename T>
-void operator ()(const BasicJsonType& j, T& val) const
-noexcept(noexcept(std::declval<from_json_fn>().call(j, val, priority_tag<1> {
-})))
-{
-return call(j, val, priority_tag<1> {
-});
-}
+  public:
+    template<typename BasicJsonType, typename T>
+    void operator()(const BasicJsonType& j, T& val) const
+    noexcept(noexcept(std::declval<from_json_fn>().call(j, val, priority_tag<1> {})))
+    {
+        return call(j, val, priority_tag<1> {});
+    }
 };
 }
 
@@ -1362,20 +1230,13 @@ constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::va
 // #include <nlohmann/detail/conversions/to_json.hpp>
 
 
-#include
-<ciso646> // or, and, not
-#include
-<iterator> // begin, end
-#include
-<tuple> // tuple, get
-#include
-<type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
-#include
-<utility> // move, forward, declval, pair
-#include
-<valarray> // valarray
-#include
-<vector> // vector
+#include <ciso646> // or, and, not
+#include <iterator> // begin, end
+#include <tuple> // tuple, get
+#include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
+#include <utility> // move, forward, declval, pair
+#include <valarray> // valarray
+#include <vector> // vector
 
 // #include <nlohmann/detail/meta.hpp>
 
@@ -1395,157 +1256,157 @@ template<value_t> struct external_constructor;
 template<>
 struct external_constructor<value_t::boolean>
 {
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept
-{
-j.m_type = value_t::boolean;
-j.m_value = b;
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept
+    {
+        j.m_type = value_t::boolean;
+        j.m_value = b;
+        j.assert_invariant();
+    }
 };
 
 template<>
 struct external_constructor<value_t::string>
 {
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s)
-{
-j.m_type = value_t::string;
-j.m_value = s;
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s)
+    {
+        j.m_type = value_t::string;
+        j.m_value = s;
+        j.assert_invariant();
+    }
 
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s)
-{
-j.m_type = value_t::string;
-j.m_value = std::move(s);
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s)
+    {
+        j.m_type = value_t::string;
+        j.m_value = std::move(s);
+        j.assert_invariant();
+    }
 };
 
 template<>
 struct external_constructor<value_t::number_float>
 {
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept
-{
-j.m_type = value_t::number_float;
-j.m_value = val;
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept
+    {
+        j.m_type = value_t::number_float;
+        j.m_value = val;
+        j.assert_invariant();
+    }
 };
 
 template<>
 struct external_constructor<value_t::number_unsigned>
 {
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept
-{
-j.m_type = value_t::number_unsigned;
-j.m_value = val;
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept
+    {
+        j.m_type = value_t::number_unsigned;
+        j.m_value = val;
+        j.assert_invariant();
+    }
 };
 
 template<>
 struct external_constructor<value_t::number_integer>
 {
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept
-{
-j.m_type = value_t::number_integer;
-j.m_value = val;
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept
+    {
+        j.m_type = value_t::number_integer;
+        j.m_value = val;
+        j.assert_invariant();
+    }
 };
 
 template<>
 struct external_constructor<value_t::array>
 {
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr)
-{
-j.m_type = value_t::array;
-j.m_value = arr;
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr)
+    {
+        j.m_type = value_t::array;
+        j.m_value = arr;
+        j.assert_invariant();
+    }
 
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
-{
-j.m_type = value_t::array;
-j.m_value = std::move(arr);
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
+    {
+        j.m_type = value_t::array;
+        j.m_value = std::move(arr);
+        j.assert_invariant();
+    }
 
-template<typename BasicJsonType, typename CompatibleArrayType,
-enable_if_t<not std::is_same<CompatibleArrayType, typename BasicJsonType::array_t>::value,
-int> = 0>
-static void construct(BasicJsonType& j, const CompatibleArrayType& arr)
-{
-using std::begin;
-using std::end;
-j.m_type = value_t::array;
-j.m_value.array = j.template create<typename BasicJsonType::array_t>(begin(arr), end(arr));
-j.assert_invariant();
-}
+    template<typename BasicJsonType, typename CompatibleArrayType,
+             enable_if_t<not std::is_same<CompatibleArrayType, typename BasicJsonType::array_t>::value,
+                         int> = 0>
+    static void construct(BasicJsonType& j, const CompatibleArrayType& arr)
+    {
+        using std::begin;
+        using std::end;
+        j.m_type = value_t::array;
+        j.m_value.array = j.template create<typename BasicJsonType::array_t>(begin(arr), end(arr));
+        j.assert_invariant();
+    }
 
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, const std::vector<bool>& arr)
-{
-j.m_type = value_t::array;
-j.m_value = value_t::array;
-j.m_value.array->reserve(arr.size());
-for (const bool x : arr)
-{
-j.m_value.array->push_back(x);
-}
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, const std::vector<bool>& arr)
+    {
+        j.m_type = value_t::array;
+        j.m_value = value_t::array;
+        j.m_value.array->reserve(arr.size());
+        for (const bool x : arr)
+        {
+            j.m_value.array->push_back(x);
+        }
+        j.assert_invariant();
+    }
 
-template<typename BasicJsonType, typename T,
-enable_if_t<std::is_convertible<T, BasicJsonType>::value, int> = 0>
-static void construct(BasicJsonType& j, const std::valarray<T>& arr)
-{
-j.m_type = value_t::array;
-j.m_value = value_t::array;
-j.m_value.array->resize(arr.size());
-std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin());
-j.assert_invariant();
-}
+    template<typename BasicJsonType, typename T,
+             enable_if_t<std::is_convertible<T, BasicJsonType>::value, int> = 0>
+    static void construct(BasicJsonType& j, const std::valarray<T>& arr)
+    {
+        j.m_type = value_t::array;
+        j.m_value = value_t::array;
+        j.m_value.array->resize(arr.size());
+        std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin());
+        j.assert_invariant();
+    }
 };
 
 template<>
 struct external_constructor<value_t::object>
 {
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj)
-{
-j.m_type = value_t::object;
-j.m_value = obj;
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj)
+    {
+        j.m_type = value_t::object;
+        j.m_value = obj;
+        j.assert_invariant();
+    }
 
-template<typename BasicJsonType>
-static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
-{
-j.m_type = value_t::object;
-j.m_value = std::move(obj);
-j.assert_invariant();
-}
+    template<typename BasicJsonType>
+    static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
+    {
+        j.m_type = value_t::object;
+        j.m_value = std::move(obj);
+        j.assert_invariant();
+    }
 
-template<typename BasicJsonType, typename CompatibleObjectType,
-enable_if_t<not std::is_same<CompatibleObjectType, typename BasicJsonType::object_t>::value, int> = 0>
-static void construct(BasicJsonType& j, const CompatibleObjectType& obj)
-{
-using std::begin;
-using std::end;
+    template<typename BasicJsonType, typename CompatibleObjectType,
+             enable_if_t<not std::is_same<CompatibleObjectType, typename BasicJsonType::object_t>::value, int> = 0>
+    static void construct(BasicJsonType& j, const CompatibleObjectType& obj)
+    {
+        using std::begin;
+        using std::end;
 
-j.m_type = value_t::object;
-j.m_value.object = j.template create<typename BasicJsonType::object_t>(begin(obj), end(obj));
-j.assert_invariant();
-}
+        j.m_type = value_t::object;
+        j.m_value.object = j.template create<typename BasicJsonType::object_t>(begin(obj), end(obj));
+        j.assert_invariant();
+    }
 };
 
 /////////////
@@ -1553,159 +1414,151 @@ j.assert_invariant();
 /////////////
 
 template<typename BasicJsonType, typename T,
-enable_if_t<std::is_same<T, typename BasicJsonType::boolean_t>::value, int> = 0>
+         enable_if_t<std::is_same<T, typename BasicJsonType::boolean_t>::value, int> = 0>
 void to_json(BasicJsonType& j, T b) noexcept
 {
-external_constructor<value_t::boolean>::construct(j, b);
+    external_constructor<value_t::boolean>::construct(j, b);
 }
 
 template<typename BasicJsonType, typename CompatibleString,
-enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
+         enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
 void to_json(BasicJsonType& j, const CompatibleString& s)
 {
-external_constructor<value_t::string>::construct(j, s);
+    external_constructor<value_t::string>::construct(j, s);
 }
 
 template<typename BasicJsonType>
 void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
 {
-external_constructor<value_t::string>::construct(j, std::move(s));
+    external_constructor<value_t::string>::construct(j, std::move(s));
 }
 
 template<typename BasicJsonType, typename FloatType,
-enable_if_t<std::is_floating_point<FloatType>::value, int> = 0>
+         enable_if_t<std::is_floating_point<FloatType>::value, int> = 0>
 void to_json(BasicJsonType& j, FloatType val) noexcept
 {
-external_constructor<value_t::number_float>::construct(j, static_cast<typename BasicJsonType::number_float_t>(val));
+    external_constructor<value_t::number_float>::construct(j, static_cast<typename BasicJsonType::number_float_t>(val));
 }
 
 template<typename BasicJsonType, typename CompatibleNumberUnsignedType,
-enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType>::value, int> = 0>
+         enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType>::value, int> = 0>
 void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
 {
-external_constructor<value_t::number_unsigned>::construct(j, static_cast<typename BasicJsonType::number_unsigned_t>(val));
+    external_constructor<value_t::number_unsigned>::construct(j, static_cast<typename BasicJsonType::number_unsigned_t>(val));
 }
 
 template<typename BasicJsonType, typename CompatibleNumberIntegerType,
-enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType>::value, int> = 0>
+         enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType>::value, int> = 0>
 void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
 {
-external_constructor<value_t::number_integer>::construct(j, static_cast<typename BasicJsonType::number_integer_t>(val));
+    external_constructor<value_t::number_integer>::construct(j, static_cast<typename BasicJsonType::number_integer_t>(val));
 }
 
 template<typename BasicJsonType, typename EnumType,
-enable_if_t<std::is_enum<EnumType>::value, int> = 0>
+         enable_if_t<std::is_enum<EnumType>::value, int> = 0>
 void to_json(BasicJsonType& j, EnumType e) noexcept
 {
-using underlying_type = typename std::underlying_type<EnumType>::type;
-external_constructor<value_t::number_integer>::construct(j, static_cast<underlying_type>(e));
+    using underlying_type = typename std::underlying_type<EnumType>::type;
+    external_constructor<value_t::number_integer>::construct(j, static_cast<underlying_type>(e));
 }
 
 template<typename BasicJsonType>
 void to_json(BasicJsonType& j, const std::vector<bool>& e)
 {
-external_constructor<value_t::array>::construct(j, e);
+    external_constructor<value_t::array>::construct(j, e);
 }
 
 template<typename BasicJsonType, typename CompatibleArrayType,
-enable_if_t<is_compatible_array_type<BasicJsonType, CompatibleArrayType>::value or
-std::is_same<typename BasicJsonType::array_t, CompatibleArrayType>::value,
-int> = 0>
+         enable_if_t<is_compatible_array_type<BasicJsonType, CompatibleArrayType>::value or
+                     std::is_same<typename BasicJsonType::array_t, CompatibleArrayType>::value,
+                     int> = 0>
 void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
 {
-external_constructor<value_t::array>::construct(j, arr);
+    external_constructor<value_t::array>::construct(j, arr);
 }
 
 template<typename BasicJsonType, typename T,
-enable_if_t<std::is_convertible<T, BasicJsonType>::value, int> = 0>
+         enable_if_t<std::is_convertible<T, BasicJsonType>::value, int> = 0>
 void to_json(BasicJsonType& j, std::valarray<T> arr)
 {
-external_constructor<value_t::array>::construct(j, std::move(arr));
+    external_constructor<value_t::array>::construct(j, std::move(arr));
 }
 
 template<typename BasicJsonType>
 void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
 {
-external_constructor<value_t::array>::construct(j, std::move(arr));
+    external_constructor<value_t::array>::construct(j, std::move(arr));
 }
 
 template<typename BasicJsonType, typename CompatibleObjectType,
-enable_if_t<is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value, int> = 0>
+         enable_if_t<is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value, int> = 0>
 void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
 {
-external_constructor<value_t::object>::construct(j, obj);
+    external_constructor<value_t::object>::construct(j, obj);
 }
 
 template<typename BasicJsonType>
 void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
 {
-external_constructor<value_t::object>::construct(j, std::move(obj));
+    external_constructor<value_t::object>::construct(j, std::move(obj));
 }
 
 template<typename BasicJsonType, typename T, std::size_t N,
-enable_if_t<not std::is_constructible<typename BasicJsonType::string_t, T (&)[N]>::value, int> = 0>
+         enable_if_t<not std::is_constructible<typename BasicJsonType::string_t, T (&)[N]>::value, int> = 0>
 void to_json(BasicJsonType& j, T (&arr)[N])
 {
-external_constructor<value_t::array>::construct(j, arr);
+    external_constructor<value_t::array>::construct(j, arr);
 }
 
 template<typename BasicJsonType, typename... Args>
 void to_json(BasicJsonType& j, const std::pair<Args...>& p)
 {
-j = {
-p.first, p.second
-};
+    j = {p.first, p.second};
 }
 
 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
 void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...>)
 {
-j = {
-std::get<Idx>(t)...
-};
+    j = {std::get<Idx>(t)...};
 }
 
 template<typename BasicJsonType, typename... Args>
 void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
 {
-to_json_tuple_impl(j, t, index_sequence_for<Args...> {
-});
+    to_json_tuple_impl(j, t, index_sequence_for<Args...> {});
 }
 
 struct to_json_fn
 {
-private:
-template<typename BasicJsonType, typename T>
-auto call(BasicJsonType& j, T&& val, priority_tag<1> /*unused*/) const noexcept(noexcept(to_json(j, std::forward<T>(val))))
--> decltype(to_json(j, std::forward<T>(val)), void())
-{
-return to_json(j, std::forward<T>(val));
-}
+  private:
+    template<typename BasicJsonType, typename T>
+    auto call(BasicJsonType& j, T&& val, priority_tag<1> /*unused*/) const noexcept(noexcept(to_json(j, std::forward<T>(val))))
+    -> decltype(to_json(j, std::forward<T>(val)), void())
+    {
+        return to_json(j, std::forward<T>(val));
+    }
 
-template<typename BasicJsonType, typename T>
-void call(BasicJsonType& /*unused*/, T&& /*unused*/, priority_tag<0> /*unused*/) const noexcept
-{
-static_assert(sizeof(BasicJsonType) == 0,
-"could not find to_json() method in T's namespace");
-
-#ifdef
-_MSC_VER
-// MSVC does not show a stacktrace for the above assert
-using decayed = uncvref_t<T>;
-static_assert(sizeof(typename decayed::force_msvc_stacktrace) == 0,
-"forcing MSVC stacktrace to show which T we're talking about.");
+    template<typename BasicJsonType, typename T>
+    void call(BasicJsonType& /*unused*/, T&& /*unused*/, priority_tag<0> /*unused*/) const noexcept
+    {
+        static_assert(sizeof(BasicJsonType) == 0,
+                      "could not find to_json() method in T's namespace");
+
+#ifdef _MSC_VER
+        // MSVC does not show a stacktrace for the above assert
+        using decayed = uncvref_t<T>;
+        static_assert(sizeof(typename decayed::force_msvc_stacktrace) == 0,
+                      "forcing MSVC stacktrace to show which T we're talking about.");
 #endif
-}
+    }
 
-public:
-template<typename BasicJsonType, typename T>
-void operator ()(BasicJsonType& j, T&& val) const
-noexcept(noexcept(std::declval<to_json_fn>().call(j, std::forward<T>(val), priority_tag<1> {
-})))
-{
-return call(j, std::forward<T>(val), priority_tag<1> {
-});
-}
+  public:
+    template<typename BasicJsonType, typename T>
+    void operator()(BasicJsonType& j, T&& val) const
+    noexcept(noexcept(std::declval<to_json_fn>().call(j, std::forward<T>(val), priority_tag<1> {})))
+    {
+        return call(j, std::forward<T>(val), priority_tag<1> {});
+    }
 };
 }
 
@@ -1719,32 +1572,19 @@ constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
 // #include <nlohmann/detail/input/input_adapters.hpp>
 
 
-#include
-<algorithm> // min
-#include
-<array> // array
-#include
-<cassert> // assert
-#include
-<cstddef> // size_t
-#include
-<cstring> // strlen
-#include
-<ios> // streamsize, streamoff, streampos
-#include
-<istream> // istream
-#include
-<iterator> // begin, end, iterator_traits, random_access_iterator_tag, distance, next
-#include
-<memory> // shared_ptr, make_shared, addressof
-#include
-<numeric> // accumulate
-#include
-<string> // string, char_traits
-#include
-<type_traits> // enable_if, is_base_of, is_pointer, is_integral, remove_pointer
-#include
-<utility> // pair, declval
+#include <algorithm> // min
+#include <array> // array
+#include <cassert> // assert
+#include <cstddef> // size_t
+#include <cstring> // strlen
+#include <ios> // streamsize, streamoff, streampos
+#include <istream> // istream
+#include <iterator> // begin, end, iterator_traits, random_access_iterator_tag, distance, next
+#include <memory> // shared_ptr, make_shared, addressof
+#include <numeric> // accumulate
+#include <string> // string, char_traits
+#include <type_traits> // enable_if, is_base_of, is_pointer, is_integral, remove_pointer
+#include <utility> // pair, declval
 
 // #include <nlohmann/detail/macro_scope.hpp>
 
@@ -1770,11 +1610,11 @@ arbitrary value which is not a valid char value.
 */
 struct input_adapter_protocol
 {
-/// get a character [0,255] or std::char_traits<char>::eof().
-virtual std::char_traits<char>::int_type get_character() = 0;
-/// restore the last non-eof() character to input
-virtual void unget_character() = 0;
-virtual ~input_adapter_protocol() = default;
+    /// get a character [0,255] or std::char_traits<char>::eof().
+    virtual std::char_traits<char>::int_type get_character() = 0;
+    /// restore the last non-eof() character to input
+    virtual void unget_character() = 0;
+    virtual ~input_adapter_protocol() = default;
 };
 
 /// a type to simplify interfaces
@@ -1789,214 +1629,207 @@ characters following those used in parsing the JSON input.  Clears the
 std::istream flags; any input errors (e.g., EOF) will be detected by the first
 subsequent call for input from the std::istream.
 */
-class input_stream_adapter :
-public input_adapter_protocol
+class input_stream_adapter : public input_adapter_protocol
 {
-public:
-~input_stream_adapter() override
-{
-// clear stream flags; we use underlying streambuf I/O, do not
-// maintain ifstream flags
-is.clear();
-}
+  public:
+    ~input_stream_adapter() override
+    {
+        // clear stream flags; we use underlying streambuf I/O, do not
+        // maintain ifstream flags
+        is.clear();
+    }
 
-explicit input_stream_adapter(std::istream& i)
-: is(i), sb(*i.rdbuf())
-{
-// skip byte order mark
-std::char_traits<char>::int_type c;
-if ((c = get_character()) == 0xEF)
-{
-if ((c = get_character()) == 0xBB)
-{
-if ((c = get_character()) == 0xBF)
-{
-return; // Ignore BOM
-}
-else if (c != std::char_traits<char>::eof())
-{
-is.unget();
-}
-is.putback('\xBB');
-}
-else if (c != std::char_traits<char>::eof())
-{
-is.unget();
-}
-is.putback('\xEF');
-}
-else if (c != std::char_traits<char>::eof())
-{
-is.unget(); // no byte order mark; process as usual
-}
-}
+    explicit input_stream_adapter(std::istream& i)
+        : is(i), sb(*i.rdbuf())
+    {
+        // skip byte order mark
+        std::char_traits<char>::int_type c;
+        if ((c = get_character()) == 0xEF)
+        {
+            if ((c = get_character()) == 0xBB)
+            {
+                if ((c = get_character()) == 0xBF)
+                {
+                    return; // Ignore BOM
+                }
+                else if (c != std::char_traits<char>::eof())
+                {
+                    is.unget();
+                }
+                is.putback('\xBB');
+            }
+            else if (c != std::char_traits<char>::eof())
+            {
+                is.unget();
+            }
+            is.putback('\xEF');
+        }
+        else if (c != std::char_traits<char>::eof())
+        {
+            is.unget(); // no byte order mark; process as usual
+        }
+    }
 
-// delete because of pointer members
-input_stream_adapter(const input_stream_adapter&) = delete;
-input_stream_adapter& operator =(input_stream_adapter&) = delete;
+    // delete because of pointer members
+    input_stream_adapter(const input_stream_adapter&) = delete;
+    input_stream_adapter& operator=(input_stream_adapter&) = delete;
 
-// std::istream/std::streambuf use std::char_traits<char>::to_int_type, to
-// ensure that std::char_traits<char>::eof() and the character 0xFF do not
-// end up as the same value, eg. 0xFFFFFFFF.
-std::char_traits<char>::int_type get_character() override
-{
-return sb.sbumpc();
-}
+    // std::istream/std::streambuf use std::char_traits<char>::to_int_type, to
+    // ensure that std::char_traits<char>::eof() and the character 0xFF do not
+    // end up as the same value, eg. 0xFFFFFFFF.
+    std::char_traits<char>::int_type get_character() override
+    {
+        return sb.sbumpc();
+    }
 
-void unget_character() override
-{
-sb.sungetc();  // is.unget() avoided for performance
-}
+    void unget_character() override
+    {
+        sb.sungetc();  // is.unget() avoided for performance
+    }
 
-private:
-/// the associated input stream
-std::istream& is;
-std::streambuf& sb;
+  private:
+    /// the associated input stream
+    std::istream& is;
+    std::streambuf& sb;
 };
 
 /// input adapter for buffer input
-class input_buffer_adapter :
-public input_adapter_protocol
+class input_buffer_adapter : public input_adapter_protocol
 {
-public:
-input_buffer_adapter(const char* b, const std::size_t l)
-: cursor(b), limit(b + l), start(b)
-{
-// skip byte order mark
-if (l >= 3 and b[0] == '\xEF' and b[1] == '\xBB' and b[2] == '\xBF')
-{
-cursor += 3;
-}
-}
+  public:
+    input_buffer_adapter(const char* b, const std::size_t l)
+        : cursor(b), limit(b + l), start(b)
+    {
+        // skip byte order mark
+        if (l >= 3 and b[0] == '\xEF' and b[1] == '\xBB' and b[2] == '\xBF')
+        {
+            cursor += 3;
+        }
+    }
 
-// delete because of pointer members
-input_buffer_adapter(const input_buffer_adapter&) = delete;
-input_buffer_adapter& operator =(input_buffer_adapter&) = delete;
+    // delete because of pointer members
+    input_buffer_adapter(const input_buffer_adapter&) = delete;
+    input_buffer_adapter& operator=(input_buffer_adapter&) = delete;
 
-std::char_traits<char>::int_type get_character() noexcept override
-{
-if (JSON_LIKELY(cursor < limit))
-{
-return std::char_traits<char>::to_int_type(*(cursor++));
-}
+    std::char_traits<char>::int_type get_character() noexcept override
+    {
+        if (JSON_LIKELY(cursor < limit))
+        {
+            return std::char_traits<char>::to_int_type(*(cursor++));
+        }
 
-return std::char_traits<char>::eof();
-}
+        return std::char_traits<char>::eof();
+    }
 
-void unget_character() noexcept override
-{
-if (JSON_LIKELY(cursor > start))
-{
---cursor;
-}
-}
+    void unget_character() noexcept override
+    {
+        if (JSON_LIKELY(cursor > start))
+        {
+            --cursor;
+        }
+    }
 
-private:
-/// pointer to the current character
-const char* cursor;
-/// pointer past the last character
-const char* limit;
-/// pointer to the first character
-const char* start;
+  private:
+    /// pointer to the current character
+    const char* cursor;
+    /// pointer past the last character
+    const char* limit;
+    /// pointer to the first character
+    const char* start;
 };
 
 class input_adapter
 {
-public:
-// native support
-
-/// input adapter for input stream
-input_adapter(std::istream& i)
-: ia(std::make_shared<input_stream_adapter>(i)) {
-}
-
-/// input adapter for input stream
-input_adapter(std::istream&& i)
-: ia(std::make_shared<input_stream_adapter>(i)) {}
-
-/// input adapter for buffer
-template<typename CharT,
-typename std::enable_if<
-std::is_pointer<CharT>::value and
-std::is_integral<typename std::remove_pointer<CharT>::type>::value and
-sizeof(typename std::remove_pointer<CharT>::type) == 1,
-int>::type = 0>
-input_adapter(CharT b, std::size_t l)
-: ia(std::make_shared<input_buffer_adapter>(reinterpret_cast<const char*>(b), l)) {
-}
-
-// derived support
-
-/// input adapter for string literal
-template<typename CharT,
-typename std::enable_if<
-std::is_pointer<CharT>::value and
-std::is_integral<typename std::remove_pointer<CharT>::type>::value and
-sizeof(typename std::remove_pointer<CharT>::type) == 1,
-int>::type = 0>
-input_adapter(CharT b)
-: input_adapter(reinterpret_cast<const char*>(b),
-std::strlen(reinterpret_cast<const char*>(b))) {
-}
-
-/// input adapter for iterator range with contiguous storage
-template<class IteratorType,
-typename std::enable_if<
-std::is_same<typename std::iterator_traits<IteratorType>::iterator_category, std::random_access_iterator_tag>::value,
-int>::type = 0>
-input_adapter(IteratorType first, IteratorType last)
-{
-// assertion to check that the iterator range is indeed contiguous,
-// see http://stackoverflow.com/a/35008842/266378 for more discussion
-assert(std::accumulate(
-first, last, std::pair<bool, int>(true, 0),
-[&first](std::pair<bool, int> res, decltype(*first) val)
-{
-res.first &= (val == *(std::next(std::addressof(*first), res.second++)));
-return res;
-}).first);
-
-// assertion to check that each element is 1 byte long
-static_assert(
-sizeof(typename std::iterator_traits<IteratorType>::value_type) == 1,
-"each element in the iterator range must have the size of 1 byte");
-
-const auto len = static_cast<size_t>(std::distance(first, last));
-if (JSON_LIKELY(len > 0))
-{
-// there is at least one element: use the address of first
-ia = std::make_shared<input_buffer_adapter>(reinterpret_cast<const char*>(&(*first)), len);
-}
-else
-{
-// the address of first cannot be used: use nullptr
-ia = std::make_shared<input_buffer_adapter>(nullptr, len);
-}
-}
+  public:
+    // native support
+
+    /// input adapter for input stream
+    input_adapter(std::istream& i)
+        : ia(std::make_shared<input_stream_adapter>(i)) {}
+
+    /// input adapter for input stream
+    input_adapter(std::istream&& i)
+        : ia(std::make_shared<input_stream_adapter>(i)) {}
+
+    /// input adapter for buffer
+    template<typename CharT,
+             typename std::enable_if<
+                 std::is_pointer<CharT>::value and
+                 std::is_integral<typename std::remove_pointer<CharT>::type>::value and
+                 sizeof(typename std::remove_pointer<CharT>::type) == 1,
+                 int>::type = 0>
+    input_adapter(CharT b, std::size_t l)
+        : ia(std::make_shared<input_buffer_adapter>(reinterpret_cast<const char*>(b), l)) {}
+
+    // derived support
+
+    /// input adapter for string literal
+    template<typename CharT,
+             typename std::enable_if<
+                 std::is_pointer<CharT>::value and
+                 std::is_integral<typename std::remove_pointer<CharT>::type>::value and
+                 sizeof(typename std::remove_pointer<CharT>::type) == 1,
+                 int>::type = 0>
+    input_adapter(CharT b)
+        : input_adapter(reinterpret_cast<const char*>(b),
+                        std::strlen(reinterpret_cast<const char*>(b))) {}
+
+    /// input adapter for iterator range with contiguous storage
+    template<class IteratorType,
+             typename std::enable_if<
+                 std::is_same<typename std::iterator_traits<IteratorType>::iterator_category, std::random_access_iterator_tag>::value,
+                 int>::type = 0>
+    input_adapter(IteratorType first, IteratorType last)
+    {
+        // assertion to check that the iterator range is indeed contiguous,
+        // see http://stackoverflow.com/a/35008842/266378 for more discussion
+        assert(std::accumulate(
+                   first, last, std::pair<bool, int>(true, 0),
+                   [&first](std::pair<bool, int> res, decltype(*first) val)
+        {
+            res.first &= (val == *(std::next(std::addressof(*first), res.second++)));
+            return res;
+        }).first);
+
+        // assertion to check that each element is 1 byte long
+        static_assert(
+            sizeof(typename std::iterator_traits<IteratorType>::value_type) == 1,
+            "each element in the iterator range must have the size of 1 byte");
+
+        const auto len = static_cast<size_t>(std::distance(first, last));
+        if (JSON_LIKELY(len > 0))
+        {
+            // there is at least one element: use the address of first
+            ia = std::make_shared<input_buffer_adapter>(reinterpret_cast<const char*>(&(*first)), len);
+        }
+        else
+        {
+            // the address of first cannot be used: use nullptr
+            ia = std::make_shared<input_buffer_adapter>(nullptr, len);
+        }
+    }
 
-/// input adapter for array
-template<class T, std::size_t N>
-input_adapter(T (&array)[N])
-: input_adapter(std::begin(array), std::end(array)) {
-}
+    /// input adapter for array
+    template<class T, std::size_t N>
+    input_adapter(T (&array)[N])
+        : input_adapter(std::begin(array), std::end(array)) {}
 
-/// input adapter for contiguous container
-template<class ContiguousContainer, typename
-std::enable_if<not std::is_pointer<ContiguousContainer>::value and
-std::is_base_of<std::random_access_iterator_tag, typename std::iterator_traits<decltype(std::begin(std::declval<ContiguousContainer const>()))>::iterator_category>::value,
-int>::type = 0>
-input_adapter(const ContiguousContainer& c)
-: input_adapter(std::begin(c), std::end(c)) {
-}
+    /// input adapter for contiguous container
+    template<class ContiguousContainer, typename
+             std::enable_if<not std::is_pointer<ContiguousContainer>::value and
+                            std::is_base_of<std::random_access_iterator_tag, typename std::iterator_traits<decltype(std::begin(std::declval<ContiguousContainer const>()))>::iterator_category>::value,
+                            int>::type = 0>
+    input_adapter(const ContiguousContainer& c)
+        : input_adapter(std::begin(c), std::end(c)) {}
 
-operator input_adapter_t()
-{
-return ia;
-}
+    operator input_adapter_t()
+    {
+        return ia;
+    }
 
-private:
-/// the actual adapter
-input_adapter_t ia = nullptr;
+  private:
+    /// the actual adapter
+    input_adapter_t ia = nullptr;
 };
 }
 }
@@ -2004,24 +1837,15 @@ input_adapter_t ia = nullptr;
 // #include <nlohmann/detail/input/lexer.hpp>
 
 
-#include
-<clocale> // localeconv
-#include
-<cstddef> // size_t
-#include
-<cstdlib> // strtof, strtod, strtold, strtoll, strtoull
-#include
-<initializer_list> // initializer_list
-#include
-<ios> // hex, uppercase
-#include
-<iomanip> // setw, setfill
-#include
-<sstream> // stringstream
-#include
-<string> // char_traits, string
-#include
-<vector> // vector
+#include <clocale> // localeconv
+#include <cstddef> // size_t
+#include <cstdlib> // strtof, strtod, strtold, strtoll, strtoull
+#include <initializer_list> // initializer_list
+#include <ios> // hex, uppercase
+#include <iomanip> // setw, setfill
+#include <sstream> // stringstream
+#include <string> // char_traits, string
+#include <vector> // vector
 
 // #include <nlohmann/detail/macro_scope.hpp>
 
@@ -2044,102 +1868,101 @@ This class organizes the lexical analysis during JSON deserialization.
 template<typename BasicJsonType>
 class lexer
 {
-using number_integer_t = typename BasicJsonType::number_integer_t;
-using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
-using number_float_t = typename BasicJsonType::number_float_t;
-using string_t = typename BasicJsonType::string_t;
-
-public:
-/// token types for the parser
-enum class token_type
-{
-uninitialized,    ///< indicating the scanner is uninitialized
-literal_true,     ///< the `true` literal
-literal_false,    ///< the `false` literal
-literal_null,     ///< the `null` literal
-value_string,     ///< a string -- use get_string() for actual value
-value_unsigned,   ///< an unsigned integer -- use get_number_unsigned() for actual value
-value_integer,    ///< a signed integer -- use get_number_integer() for actual value
-value_float,      ///< an floating point number -- use get_number_float() for actual value
-begin_array,      ///< the character for array begin `[`
-begin_object,     ///< the character for object begin `{`
-end_array,        ///< the character for array end `]`
-end_object,       ///< the character for object end `}`
-name_separator,   ///< the name separator `:`
-value_separator,  ///< the value separator `,`
-parse_error,      ///< indicating a parse error
-end_of_input,     ///< indicating the end of the input buffer
-literal_or_value  ///< a literal or the begin of a value (only for diagnostics)
-};
+    using number_integer_t = typename BasicJsonType::number_integer_t;
+    using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+    using number_float_t = typename BasicJsonType::number_float_t;
+    using string_t = typename BasicJsonType::string_t;
 
-/// return name of values of type token_type (only used for errors)
-static const char* token_type_name(const token_type t) noexcept
-{
-switch (t)
-{
-case token_type::uninitialized:
-return "<uninitialized>";
-case token_type::literal_true:
-return "true literal";
-case token_type::literal_false:
-return "false literal";
-case token_type::literal_null:
-return "null literal";
-case token_type::value_string:
-return "string literal";
-case lexer::token_type::value_unsigned:
-case lexer::token_type::value_integer:
-case lexer::token_type::value_float:
-return "number literal";
-case token_type::begin_array:
-return "'['";
-case token_type::begin_object:
-return "'{'";
-case token_type::end_array:
-return "']'";
-case token_type::end_object:
-return "'}'";
-case token_type::name_separator:
-return "':'";
-case token_type::value_separator:
-return "','";
-case token_type::parse_error:
-return "<parse error>";
-case token_type::end_of_input:
-return "end of input";
-case token_type::literal_or_value:
-return "'[', '{', or a literal";
-default: // catch non-enum values
-return "unknown token"; // LCOV_EXCL_LINE
-}
-}
+  public:
+    /// token types for the parser
+    enum class token_type
+    {
+        uninitialized,    ///< indicating the scanner is uninitialized
+        literal_true,     ///< the `true` literal
+        literal_false,    ///< the `false` literal
+        literal_null,     ///< the `null` literal
+        value_string,     ///< a string -- use get_string() for actual value
+        value_unsigned,   ///< an unsigned integer -- use get_number_unsigned() for actual value
+        value_integer,    ///< a signed integer -- use get_number_integer() for actual value
+        value_float,      ///< an floating point number -- use get_number_float() for actual value
+        begin_array,      ///< the character for array begin `[`
+        begin_object,     ///< the character for object begin `{`
+        end_array,        ///< the character for array end `]`
+        end_object,       ///< the character for object end `}`
+        name_separator,   ///< the name separator `:`
+        value_separator,  ///< the value separator `,`
+        parse_error,      ///< indicating a parse error
+        end_of_input,     ///< indicating the end of the input buffer
+        literal_or_value  ///< a literal or the begin of a value (only for diagnostics)
+    };
+
+    /// return name of values of type token_type (only used for errors)
+    static const char* token_type_name(const token_type t) noexcept
+    {
+        switch (t)
+        {
+            case token_type::uninitialized:
+                return "<uninitialized>";
+            case token_type::literal_true:
+                return "true literal";
+            case token_type::literal_false:
+                return "false literal";
+            case token_type::literal_null:
+                return "null literal";
+            case token_type::value_string:
+                return "string literal";
+            case lexer::token_type::value_unsigned:
+            case lexer::token_type::value_integer:
+            case lexer::token_type::value_float:
+                return "number literal";
+            case token_type::begin_array:
+                return "'['";
+            case token_type::begin_object:
+                return "'{'";
+            case token_type::end_array:
+                return "']'";
+            case token_type::end_object:
+                return "'}'";
+            case token_type::name_separator:
+                return "':'";
+            case token_type::value_separator:
+                return "','";
+            case token_type::parse_error:
+                return "<parse error>";
+            case token_type::end_of_input:
+                return "end of input";
+            case token_type::literal_or_value:
+                return "'[', '{', or a literal";
+            default: // catch non-enum values
+                return "unknown token"; // LCOV_EXCL_LINE
+        }
+    }
 
-explicit lexer(detail::input_adapter_t adapter)
-: ia(std::move(adapter)), decimal_point_char(get_decimal_point()) {
-}
+    explicit lexer(detail::input_adapter_t adapter)
+        : ia(std::move(adapter)), decimal_point_char(get_decimal_point()) {}
 
-// delete because of pointer members
-lexer(const lexer&) = delete;
-lexer& operator =(lexer&) = delete;
+    // delete because of pointer members
+    lexer(const lexer&) = delete;
+    lexer& operator=(lexer&) = delete;
 
-private:
-/////////////////////
-// locales
-/////////////////////
+  private:
+    /////////////////////
+    // locales
+    /////////////////////
 
-/// return the locale-dependent decimal point
-static char get_decimal_point() noexcept
-{
-const auto loc = localeconv();
-assert(loc != nullptr);
-return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point);
-}
+    /// return the locale-dependent decimal point
+    static char get_decimal_point() noexcept
+    {
+        const auto loc = localeconv();
+        assert(loc != nullptr);
+        return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point);
+    }
 
-/////////////////////
-// scan functions
-/////////////////////
+    /////////////////////
+    // scan functions
+    /////////////////////
 
-/*!
+    /*!
     @brief get codepoint from 4 hex characters following `\u`
 
     For input "\u c1 c2 c3 c4" the codepoint is:
@@ -2154,40 +1977,40 @@ return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point);
     @return codepoint (0x0000..0xFFFF) or -1 in case of an error (e.g. EOF or
             non-hex character)
     */
-int get_codepoint()
-{
-// this function only makes sense after reading `\u`
-assert(current == 'u');
-int codepoint = 0;
-
-const auto factors = { 12, 8, 4, 0 };
-for (const auto factor : factors)
-{
-get();
-
-if (current >= '0' and current <= '9')
-{
-codepoint += ((current - 0x30) << factor);
-}
-else if (current >= 'A' and current <= 'F')
-{
-codepoint += ((current - 0x37) << factor);
-}
-else if (current >= 'a' and current <= 'f')
-{
-codepoint += ((current - 0x57) << factor);
-}
-else
-{
-return -1;
-}
-}
-
-assert(0x0000 <= codepoint and codepoint <= 0xFFFF);
-return codepoint;
-}
+    int get_codepoint()
+    {
+        // this function only makes sense after reading `\u`
+        assert(current == 'u');
+        int codepoint = 0;
+
+        const auto factors = { 12, 8, 4, 0 };
+        for (const auto factor : factors)
+        {
+            get();
+
+            if (current >= '0' and current <= '9')
+            {
+                codepoint += ((current - 0x30) << factor);
+            }
+            else if (current >= 'A' and current <= 'F')
+            {
+                codepoint += ((current - 0x37) << factor);
+            }
+            else if (current >= 'a' and current <= 'f')
+            {
+                codepoint += ((current - 0x57) << factor);
+            }
+            else
+            {
+                return -1;
+            }
+        }
+
+        assert(0x0000 <= codepoint and codepoint <= 0xFFFF);
+        return codepoint;
+    }
 
-/*!
+    /*!
     @brief check if the next byte(s) are inside a given range
 
     Adds the current byte and, for each passed range, reads a new byte and
@@ -2202,29 +2025,29 @@ return codepoint;
 
     @return true if and only if no range violation was detected
     */
-bool next_byte_in_range(std::initializer_list<int> ranges)
-{
-assert(ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6);
-add(current);
-
-for (auto range = ranges.begin(); range != ranges.end(); ++range)
-{
-get();
-if (JSON_LIKELY(*range <= current and current <= *(++range)))
-{
-add(current);
-}
-else
-{
-error_message = "invalid string: ill-formed UTF-8 byte";
-return false;
-}
-}
-
-return true;
-}
+    bool next_byte_in_range(std::initializer_list<int> ranges)
+    {
+        assert(ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6);
+        add(current);
+
+        for (auto range = ranges.begin(); range != ranges.end(); ++range)
+        {
+            get();
+            if (JSON_LIKELY(*range <= current and current <= *(++range)))
+            {
+                add(current);
+            }
+            else
+            {
+                error_message = "invalid string: ill-formed UTF-8 byte";
+                return false;
+            }
+        }
+
+        return true;
+    }
 
-/*!
+    /*!
     @brief scan a string literal
 
     This function scans a string according to Sect. 7 of RFC 7159. While
@@ -2239,466 +2062,453 @@ return true;
     @note In case of errors, variable error_message contains a textual
           description.
     */
-token_type scan_string()
-{
-// reset token_buffer (ignore opening quote)
-reset();
-
-// we entered the function by reading an open quote
-assert(current == '\"');
-
-while (true)
-{
-// get next character
-switch (get())
-{
-// end of file while parsing string
-case std::char_traits<char>::eof():
-{
-error_message = "invalid string: missing closing quote";
-return token_type::parse_error;
-}
-
-// closing quote
-case '\"':
-{
-return token_type::value_string;
-}
-
-// escapes
-case '\\':
-{
-switch (get())
-{
-// quotation mark
-case '\"':
-add('\"');
-break;
-// reverse solidus
-case '\\':
-add('\\');
-break;
-// solidus
-case '/':
-add('/');
-break;
-// backspace
-case 'b':
-add('\b');
-break;
-// form feed
-case 'f':
-add('\f');
-break;
-// line feed
-case 'n':
-add('\n');
-break;
-// carriage return
-case 'r':
-add('\r');
-break;
-// tab
-case 't':
-add('\t');
-break;
-
-// unicode escapes
-case 'u':
-{
-const int codepoint1 = get_codepoint();
-int codepoint = codepoint1; // start with codepoint1
-
-if (JSON_UNLIKELY(codepoint1 == -1))
-{
-error_message = "invalid string: '\\u' must be followed by 4 hex digits";
-return token_type::parse_error;
-}
-
-// check if code point is a high surrogate
-if (0xD800 <= codepoint1 and codepoint1 <= 0xDBFF)
-{
-// expect next \uxxxx entry
-if (JSON_LIKELY(get() == '\\' and get() == 'u'))
-{
-const int codepoint2 = get_codepoint();
-
-if (JSON_UNLIKELY(codepoint2 == -1))
-{
-error_message = "invalid string: '\\u' must be followed by 4 hex digits";
-return token_type::parse_error;
-}
-
-// check if codepoint2 is a low surrogate
-if (JSON_LIKELY(0xDC00 <= codepoint2 and codepoint2 <= 0xDFFF))
-{
-// overwrite codepoint
-codepoint =
-// high surrogate occupies the most significant 22 bits
-(codepoint1 << 10)
-// low surrogate occupies the least significant 15 bits
-+ codepoint2
-// there is still the 0xD800, 0xDC00 and 0x10000 noise
-// in the result so we have to subtract with:
-// (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00
-- 0x35FDC00;
-}
-else
-{
-error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF";
-return token_type::parse_error;
-}
-}
-else
-{
-error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF";
-return token_type::parse_error;
-}
-}
-else
-{
-if (JSON_UNLIKELY(0xDC00 <= codepoint1 and codepoint1 <= 0xDFFF))
-{
-error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF";
-return token_type::parse_error;
-}
-}
-
-// result of the above calculation yields a proper codepoint
-assert(0x00 <= codepoint and codepoint <= 0x10FFFF);
-
-// translate codepoint into bytes
-if (codepoint < 0x80)
-{
-// 1-byte characters: 0xxxxxxx (ASCII)
-add(codepoint);
-}
-else if (codepoint <= 0x7FF)
-{
-// 2-byte characters: 110xxxxx 10xxxxxx
-add(0xC0 | (codepoint >> 6));
-add(0x80 | (codepoint & 0x3F));
-}
-else if (codepoint <= 0xFFFF)
-{
-// 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx
-add(0xE0 | (codepoint >> 12));
-add(0x80 | ((codepoint >> 6) & 0x3F));
-add(0x80 | (codepoint & 0x3F));
-}
-else
-{
-// 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
-add(0xF0 | (codepoint >> 18));
-add(0x80 | ((codepoint >> 12) & 0x3F));
-add(0x80 | ((codepoint >> 6) & 0x3F));
-add(0x80 | (codepoint & 0x3F));
-}
-
-break;
-}
-
-// other characters after escape
-default:
-error_message = "invalid string: forbidden character after backslash";
-return token_type::parse_error;
-}
-
-break;
-}
-
-// invalid control characters
-case 0x00:
-case 0x01:
-case 0x02:
-case 0x03:
-case 0x04:
-case 0x05:
-case 0x06:
-case 0x07:
-case 0x08:
-case 0x09:
-case 0x0A:
-case 0x0B:
-case 0x0C:
-case 0x0D:
-case 0x0E:
-case 0x0F:
-case 0x10:
-case 0x11:
-case 0x12:
-case 0x13:
-case 0x14:
-case 0x15:
-case 0x16:
-case 0x17:
-case 0x18:
-case 0x19:
-case 0x1A:
-case 0x1B:
-case 0x1C:
-case 0x1D:
-case 0x1E:
-case 0x1F:
-{
-error_message = "invalid string: control character must be escaped";
-return token_type::parse_error;
-}
-
-// U+0020..U+007F (except U+0022 (quote) and U+005C (backspace))
-case 0x20:
-case 0x21:
-case 0x23:
-case 0x24:
-case 0x25:
-case 0x26:
-case 0x27:
-case 0x28:
-case 0x29:
-case 0x2A:
-case 0x2B:
-case 0x2C:
-case 0x2D:
-case 0x2E:
-case 0x2F:
-case 0x30:
-case 0x31:
-case 0x32:
-case 0x33:
-case 0x34:
-case 0x35:
-case 0x36:
-case 0x37:
-case 0x38:
-case 0x39:
-case 0x3A:
-case 0x3B:
-case 0x3C:
-case 0x3D:
-case 0x3E:
-case 0x3F:
-case 0x40:
-case 0x41:
-case 0x42:
-case 0x43:
-case 0x44:
-case 0x45:
-case 0x46:
-case 0x47:
-case 0x48:
-case 0x49:
-case 0x4A:
-case 0x4B:
-case 0x4C:
-case 0x4D:
-case 0x4E:
-case 0x4F:
-case 0x50:
-case 0x51:
-case 0x52:
-case 0x53:
-case 0x54:
-case 0x55:
-case 0x56:
-case 0x57:
-case 0x58:
-case 0x59:
-case 0x5A:
-case 0x5B:
-case 0x5D:
-case 0x5E:
-case 0x5F:
-case 0x60:
-case 0x61:
-case 0x62:
-case 0x63:
-case 0x64:
-case 0x65:
-case 0x66:
-case 0x67:
-case 0x68:
-case 0x69:
-case 0x6A:
-case 0x6B:
-case 0x6C:
-case 0x6D:
-case 0x6E:
-case 0x6F:
-case 0x70:
-case 0x71:
-case 0x72:
-case 0x73:
-case 0x74:
-case 0x75:
-case 0x76:
-case 0x77:
-case 0x78:
-case 0x79:
-case 0x7A:
-case 0x7B:
-case 0x7C:
-case 0x7D:
-case 0x7E:
-case 0x7F:
-{
-add(current);
-break;
-}
-
-// U+0080..U+07FF: bytes C2..DF 80..BF
-case 0xC2:
-case 0xC3:
-case 0xC4:
-case 0xC5:
-case 0xC6:
-case 0xC7:
-case 0xC8:
-case 0xC9:
-case 0xCA:
-case 0xCB:
-case 0xCC:
-case 0xCD:
-case 0xCE:
-case 0xCF:
-case 0xD0:
-case 0xD1:
-case 0xD2:
-case 0xD3:
-case 0xD4:
-case 0xD5:
-case 0xD6:
-case 0xD7:
-case 0xD8:
-case 0xD9:
-case 0xDA:
-case 0xDB:
-case 0xDC:
-case 0xDD:
-case 0xDE:
-case 0xDF:
-{
-if (JSON_UNLIKELY(not next_byte_in_range({0x80, 0xBF
-})))
-{
-return token_type::parse_error;
-}
-break;
-}
-
-// U+0800..U+0FFF: bytes E0 A0..BF 80..BF
-case 0xE0:
-{
-if (JSON_UNLIKELY(not (next_byte_in_range({
-0xA0, 0xBF, 0x80, 0xBF
-}))))
-{
-return token_type::parse_error;
-}
-break;
-}
-
-// U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF
-// U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF
-case 0xE1:
-case 0xE2:
-case 0xE3:
-case 0xE4:
-case 0xE5:
-case 0xE6:
-case 0xE7:
-case 0xE8:
-case 0xE9:
-case 0xEA:
-case 0xEB:
-case 0xEC:
-case 0xEE:
-case 0xEF:
-{
-if (JSON_UNLIKELY(not (next_byte_in_range({
-0x80, 0xBF, 0x80, 0xBF
-}))))
-{
-return token_type::parse_error;
-}
-break;
-}
-
-// U+D000..U+D7FF: bytes ED 80..9F 80..BF
-case 0xED:
-{
-if (JSON_UNLIKELY(not (next_byte_in_range({
-0x80, 0x9F, 0x80, 0xBF
-}))))
-{
-return token_type::parse_error;
-}
-break;
-}
-
-// U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
-case 0xF0:
-{
-if (JSON_UNLIKELY(not (next_byte_in_range({
-0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF
-}))))
-{
-return token_type::parse_error;
-}
-break;
-}
-
-// U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
-case 0xF1:
-case 0xF2:
-case 0xF3:
-{
-if (JSON_UNLIKELY(not (next_byte_in_range({
-0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF
-}))))
-{
-return token_type::parse_error;
-}
-break;
-}
-
-// U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
-case 0xF4:
-{
-if (JSON_UNLIKELY(not (next_byte_in_range({
-0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF
-}))))
-{
-return token_type::parse_error;
-}
-break;
-}
-
-// remaining bytes (80..C1 and F5..FF) are ill-formed
-default:
-{
-error_message = "invalid string: ill-formed UTF-8 byte";
-return token_type::parse_error;
-}
-}
-}
-}
+    token_type scan_string()
+    {
+        // reset token_buffer (ignore opening quote)
+        reset();
+
+        // we entered the function by reading an open quote
+        assert(current == '\"');
+
+        while (true)
+        {
+            // get next character
+            switch (get())
+            {
+                // end of file while parsing string
+                case std::char_traits<char>::eof():
+                {
+                    error_message = "invalid string: missing closing quote";
+                    return token_type::parse_error;
+                }
+
+                // closing quote
+                case '\"':
+                {
+                    return token_type::value_string;
+                }
+
+                // escapes
+                case '\\':
+                {
+                    switch (get())
+                    {
+                        // quotation mark
+                        case '\"':
+                            add('\"');
+                            break;
+                        // reverse solidus
+                        case '\\':
+                            add('\\');
+                            break;
+                        // solidus
+                        case '/':
+                            add('/');
+                            break;
+                        // backspace
+                        case 'b':
+                            add('\b');
+                            break;
+                        // form feed
+                        case 'f':
+                            add('\f');
+                            break;
+                        // line feed
+                        case 'n':
+                            add('\n');
+                            break;
+                        // carriage return
+                        case 'r':
+                            add('\r');
+                            break;
+                        // tab
+                        case 't':
+                            add('\t');
+                            break;
+
+                        // unicode escapes
+                        case 'u':
+                        {
+                            const int codepoint1 = get_codepoint();
+                            int codepoint = codepoint1; // start with codepoint1
+
+                            if (JSON_UNLIKELY(codepoint1 == -1))
+                            {
+                                error_message = "invalid string: '\\u' must be followed by 4 hex digits";
+                                return token_type::parse_error;
+                            }
+
+                            // check if code point is a high surrogate
+                            if (0xD800 <= codepoint1 and codepoint1 <= 0xDBFF)
+                            {
+                                // expect next \uxxxx entry
+                                if (JSON_LIKELY(get() == '\\' and get() == 'u'))
+                                {
+                                    const int codepoint2 = get_codepoint();
+
+                                    if (JSON_UNLIKELY(codepoint2 == -1))
+                                    {
+                                        error_message = "invalid string: '\\u' must be followed by 4 hex digits";
+                                        return token_type::parse_error;
+                                    }
+
+                                    // check if codepoint2 is a low surrogate
+                                    if (JSON_LIKELY(0xDC00 <= codepoint2 and codepoint2 <= 0xDFFF))
+                                    {
+                                        // overwrite codepoint
+                                        codepoint =
+                                            // high surrogate occupies the most significant 22 bits
+                                            (codepoint1 << 10)
+                                            // low surrogate occupies the least significant 15 bits
+                                            + codepoint2
+                                            // there is still the 0xD800, 0xDC00 and 0x10000 noise
+                                            // in the result so we have to subtract with:
+                                            // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00
+                                            - 0x35FDC00;
+                                    }
+                                    else
+                                    {
+                                        error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF";
+                                        return token_type::parse_error;
+                                    }
+                                }
+                                else
+                                {
+                                    error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF";
+                                    return token_type::parse_error;
+                                }
+                            }
+                            else
+                            {
+                                if (JSON_UNLIKELY(0xDC00 <= codepoint1 and codepoint1 <= 0xDFFF))
+                                {
+                                    error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF";
+                                    return token_type::parse_error;
+                                }
+                            }
+
+                            // result of the above calculation yields a proper codepoint
+                            assert(0x00 <= codepoint and codepoint <= 0x10FFFF);
+
+                            // translate codepoint into bytes
+                            if (codepoint < 0x80)
+                            {
+                                // 1-byte characters: 0xxxxxxx (ASCII)
+                                add(codepoint);
+                            }
+                            else if (codepoint <= 0x7FF)
+                            {
+                                // 2-byte characters: 110xxxxx 10xxxxxx
+                                add(0xC0 | (codepoint >> 6));
+                                add(0x80 | (codepoint & 0x3F));
+                            }
+                            else if (codepoint <= 0xFFFF)
+                            {
+                                // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx
+                                add(0xE0 | (codepoint >> 12));
+                                add(0x80 | ((codepoint >> 6) & 0x3F));
+                                add(0x80 | (codepoint & 0x3F));
+                            }
+                            else
+                            {
+                                // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+                                add(0xF0 | (codepoint >> 18));
+                                add(0x80 | ((codepoint >> 12) & 0x3F));
+                                add(0x80 | ((codepoint >> 6) & 0x3F));
+                                add(0x80 | (codepoint & 0x3F));
+                            }
+
+                            break;
+                        }
+
+                        // other characters after escape
+                        default:
+                            error_message = "invalid string: forbidden character after backslash";
+                            return token_type::parse_error;
+                    }
+
+                    break;
+                }
+
+                // invalid control characters
+                case 0x00:
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x04:
+                case 0x05:
+                case 0x06:
+                case 0x07:
+                case 0x08:
+                case 0x09:
+                case 0x0A:
+                case 0x0B:
+                case 0x0C:
+                case 0x0D:
+                case 0x0E:
+                case 0x0F:
+                case 0x10:
+                case 0x11:
+                case 0x12:
+                case 0x13:
+                case 0x14:
+                case 0x15:
+                case 0x16:
+                case 0x17:
+                case 0x18:
+                case 0x19:
+                case 0x1A:
+                case 0x1B:
+                case 0x1C:
+                case 0x1D:
+                case 0x1E:
+                case 0x1F:
+                {
+                    error_message = "invalid string: control character must be escaped";
+                    return token_type::parse_error;
+                }
+
+                // U+0020..U+007F (except U+0022 (quote) and U+005C (backspace))
+                case 0x20:
+                case 0x21:
+                case 0x23:
+                case 0x24:
+                case 0x25:
+                case 0x26:
+                case 0x27:
+                case 0x28:
+                case 0x29:
+                case 0x2A:
+                case 0x2B:
+                case 0x2C:
+                case 0x2D:
+                case 0x2E:
+                case 0x2F:
+                case 0x30:
+                case 0x31:
+                case 0x32:
+                case 0x33:
+                case 0x34:
+                case 0x35:
+                case 0x36:
+                case 0x37:
+                case 0x38:
+                case 0x39:
+                case 0x3A:
+                case 0x3B:
+                case 0x3C:
+                case 0x3D:
+                case 0x3E:
+                case 0x3F:
+                case 0x40:
+                case 0x41:
+                case 0x42:
+                case 0x43:
+                case 0x44:
+                case 0x45:
+                case 0x46:
+                case 0x47:
+                case 0x48:
+                case 0x49:
+                case 0x4A:
+                case 0x4B:
+                case 0x4C:
+                case 0x4D:
+                case 0x4E:
+                case 0x4F:
+                case 0x50:
+                case 0x51:
+                case 0x52:
+                case 0x53:
+                case 0x54:
+                case 0x55:
+                case 0x56:
+                case 0x57:
+                case 0x58:
+                case 0x59:
+                case 0x5A:
+                case 0x5B:
+                case 0x5D:
+                case 0x5E:
+                case 0x5F:
+                case 0x60:
+                case 0x61:
+                case 0x62:
+                case 0x63:
+                case 0x64:
+                case 0x65:
+                case 0x66:
+                case 0x67:
+                case 0x68:
+                case 0x69:
+                case 0x6A:
+                case 0x6B:
+                case 0x6C:
+                case 0x6D:
+                case 0x6E:
+                case 0x6F:
+                case 0x70:
+                case 0x71:
+                case 0x72:
+                case 0x73:
+                case 0x74:
+                case 0x75:
+                case 0x76:
+                case 0x77:
+                case 0x78:
+                case 0x79:
+                case 0x7A:
+                case 0x7B:
+                case 0x7C:
+                case 0x7D:
+                case 0x7E:
+                case 0x7F:
+                {
+                    add(current);
+                    break;
+                }
+
+                // U+0080..U+07FF: bytes C2..DF 80..BF
+                case 0xC2:
+                case 0xC3:
+                case 0xC4:
+                case 0xC5:
+                case 0xC6:
+                case 0xC7:
+                case 0xC8:
+                case 0xC9:
+                case 0xCA:
+                case 0xCB:
+                case 0xCC:
+                case 0xCD:
+                case 0xCE:
+                case 0xCF:
+                case 0xD0:
+                case 0xD1:
+                case 0xD2:
+                case 0xD3:
+                case 0xD4:
+                case 0xD5:
+                case 0xD6:
+                case 0xD7:
+                case 0xD8:
+                case 0xD9:
+                case 0xDA:
+                case 0xDB:
+                case 0xDC:
+                case 0xDD:
+                case 0xDE:
+                case 0xDF:
+                {
+                    if (JSON_UNLIKELY(not next_byte_in_range({0x80, 0xBF})))
+                    {
+                        return token_type::parse_error;
+                    }
+                    break;
+                }
+
+                // U+0800..U+0FFF: bytes E0 A0..BF 80..BF
+                case 0xE0:
+                {
+                    if (JSON_UNLIKELY(not (next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF}))))
+                    {
+                        return token_type::parse_error;
+                    }
+                    break;
+                }
+
+                // U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF
+                // U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF
+                case 0xE1:
+                case 0xE2:
+                case 0xE3:
+                case 0xE4:
+                case 0xE5:
+                case 0xE6:
+                case 0xE7:
+                case 0xE8:
+                case 0xE9:
+                case 0xEA:
+                case 0xEB:
+                case 0xEC:
+                case 0xEE:
+                case 0xEF:
+                {
+                    if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF}))))
+                    {
+                        return token_type::parse_error;
+                    }
+                    break;
+                }
+
+                // U+D000..U+D7FF: bytes ED 80..9F 80..BF
+                case 0xED:
+                {
+                    if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0x9F, 0x80, 0xBF}))))
+                    {
+                        return token_type::parse_error;
+                    }
+                    break;
+                }
+
+                // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
+                case 0xF0:
+                {
+                    if (JSON_UNLIKELY(not (next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
+                    {
+                        return token_type::parse_error;
+                    }
+                    break;
+                }
+
+                // U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
+                case 0xF1:
+                case 0xF2:
+                case 0xF3:
+                {
+                    if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
+                    {
+                        return token_type::parse_error;
+                    }
+                    break;
+                }
+
+                // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
+                case 0xF4:
+                {
+                    if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF}))))
+                    {
+                        return token_type::parse_error;
+                    }
+                    break;
+                }
+
+                // remaining bytes (80..C1 and F5..FF) are ill-formed
+                default:
+                {
+                    error_message = "invalid string: ill-formed UTF-8 byte";
+                    return token_type::parse_error;
+                }
+            }
+        }
+    }
 
-static void strtof(float& f, const char* str, char** endptr) noexcept
-{
-f = std::strtof(str, endptr);
-}
+    static void strtof(float& f, const char* str, char** endptr) noexcept
+    {
+        f = std::strtof(str, endptr);
+    }
 
-static void strtof(double& f, const char* str, char** endptr) noexcept
-{
-f = std::strtod(str, endptr);
-}
+    static void strtof(double& f, const char* str, char** endptr) noexcept
+    {
+        f = std::strtod(str, endptr);
+    }
 
-static void strtof(long double& f, const char* str, char** endptr) noexcept
-{
-f = std::strtold(str, endptr);
-}
+    static void strtof(long double& f, const char* str, char** endptr) noexcept
+    {
+        f = std::strtold(str, endptr);
+    }
 
-/*!
+    /*!
     @brief scan a number literal
 
     This function scans a string according to Sect. 6 of RFC 7159.
@@ -2738,366 +2548,366 @@ f = std::strtold(str, endptr);
           locale's decimal point is used instead of `.` to work with the
           locale-dependent converters.
     */
-token_type scan_number()
-{
-// reset token_buffer to store the number's bytes
-reset();
+    token_type scan_number()
+    {
+        // reset token_buffer to store the number's bytes
+        reset();
+
+        // the type of the parsed number; initially set to unsigned; will be
+        // changed if minus sign, decimal point or exponent is read
+        token_type number_type = token_type::value_unsigned;
+
+        // state (init): we just found out we need to scan a number
+        switch (current)
+        {
+            case '-':
+            {
+                add(current);
+                goto scan_number_minus;
+            }
+
+            case '0':
+            {
+                add(current);
+                goto scan_number_zero;
+            }
+
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            {
+                add(current);
+                goto scan_number_any1;
+            }
+
+            default:
+            {
+                // all other characters are rejected outside scan_number()
+                assert(false); // LCOV_EXCL_LINE
+            }
+        }
 
-// the type of the parsed number; initially set to unsigned; will be
-// changed if minus sign, decimal point or exponent is read
-token_type number_type = token_type::value_unsigned;
+scan_number_minus:
+        // state: we just parsed a leading minus sign
+        number_type = token_type::value_integer;
+        switch (get())
+        {
+            case '0':
+            {
+                add(current);
+                goto scan_number_zero;
+            }
+
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            {
+                add(current);
+                goto scan_number_any1;
+            }
+
+            default:
+            {
+                error_message = "invalid number; expected digit after '-'";
+                return token_type::parse_error;
+            }
+        }
 
-// state (init): we just found out we need to scan a number
-switch (current)
-{
-case '-':
-{
-add(current);
-goto scan_number_minus;
-}
+scan_number_zero:
+        // state: we just parse a zero (maybe with a leading minus sign)
+        switch (get())
+        {
+            case '.':
+            {
+                add(decimal_point_char);
+                goto scan_number_decimal1;
+            }
+
+            case 'e':
+            case 'E':
+            {
+                add(current);
+                goto scan_number_exponent;
+            }
+
+            default:
+                goto scan_number_done;
+        }
 
-case '0':
-{
-add(current);
-goto scan_number_zero;
-}
+scan_number_any1:
+        // state: we just parsed a number 0-9 (maybe with a leading minus sign)
+        switch (get())
+        {
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            {
+                add(current);
+                goto scan_number_any1;
+            }
+
+            case '.':
+            {
+                add(decimal_point_char);
+                goto scan_number_decimal1;
+            }
+
+            case 'e':
+            case 'E':
+            {
+                add(current);
+                goto scan_number_exponent;
+            }
+
+            default:
+                goto scan_number_done;
+        }
 
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-{
-add(current);
-goto scan_number_any1;
-}
+scan_number_decimal1:
+        // state: we just parsed a decimal point
+        number_type = token_type::value_float;
+        switch (get())
+        {
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            {
+                add(current);
+                goto scan_number_decimal2;
+            }
+
+            default:
+            {
+                error_message = "invalid number; expected digit after '.'";
+                return token_type::parse_error;
+            }
+        }
 
-default:
-{
-// all other characters are rejected outside scan_number()
-assert(false); // LCOV_EXCL_LINE
-}
-}
+scan_number_decimal2:
+        // we just parsed at least one number after a decimal point
+        switch (get())
+        {
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            {
+                add(current);
+                goto scan_number_decimal2;
+            }
+
+            case 'e':
+            case 'E':
+            {
+                add(current);
+                goto scan_number_exponent;
+            }
+
+            default:
+                goto scan_number_done;
+        }
 
-scan_number_minus:
-// state: we just parsed a leading minus sign
-number_type = token_type::value_integer;
-switch (get())
-{
-case '0':
-{
-add(current);
-goto scan_number_zero;
-}
+scan_number_exponent:
+        // we just parsed an exponent
+        number_type = token_type::value_float;
+        switch (get())
+        {
+            case '+':
+            case '-':
+            {
+                add(current);
+                goto scan_number_sign;
+            }
+
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            {
+                add(current);
+                goto scan_number_any2;
+            }
+
+            default:
+            {
+                error_message =
+                    "invalid number; expected '+', '-', or digit after exponent";
+                return token_type::parse_error;
+            }
+        }
 
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-{
-add(current);
-goto scan_number_any1;
-}
+scan_number_sign:
+        // we just parsed an exponent sign
+        switch (get())
+        {
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            {
+                add(current);
+                goto scan_number_any2;
+            }
+
+            default:
+            {
+                error_message = "invalid number; expected digit after exponent sign";
+                return token_type::parse_error;
+            }
+        }
 
-default:
-{
-error_message = "invalid number; expected digit after '-'";
-return token_type::parse_error;
-}
-}
+scan_number_any2:
+        // we just parsed a number after the exponent or exponent sign
+        switch (get())
+        {
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            {
+                add(current);
+                goto scan_number_any2;
+            }
+
+            default:
+                goto scan_number_done;
+        }
 
-scan_number_zero:
-// state: we just parse a zero (maybe with a leading minus sign)
-switch (get())
-{
-case '.':
-{
-add(decimal_point_char);
-goto scan_number_decimal1;
-}
+scan_number_done:
+        // unget the character after the number (we only read it to know that
+        // we are done scanning a number)
+        unget();
+
+        char* endptr = nullptr;
+        errno = 0;
+
+        // try to parse integers first and fall back to floats
+        if (number_type == token_type::value_unsigned)
+        {
+            const auto x = std::strtoull(token_buffer.data(), &endptr, 10);
+
+            // we checked the number format before
+            assert(endptr == token_buffer.data() + token_buffer.size());
+
+            if (errno == 0)
+            {
+                value_unsigned = static_cast<number_unsigned_t>(x);
+                if (value_unsigned == x)
+                {
+                    return token_type::value_unsigned;
+                }
+            }
+        }
+        else if (number_type == token_type::value_integer)
+        {
+            const auto x = std::strtoll(token_buffer.data(), &endptr, 10);
+
+            // we checked the number format before
+            assert(endptr == token_buffer.data() + token_buffer.size());
+
+            if (errno == 0)
+            {
+                value_integer = static_cast<number_integer_t>(x);
+                if (value_integer == x)
+                {
+                    return token_type::value_integer;
+                }
+            }
+        }
+
+        // this code is reached if we parse a floating-point number or if an
+        // integer conversion above failed
+        strtof(value_float, token_buffer.data(), &endptr);
+
+        // we checked the number format before
+        assert(endptr == token_buffer.data() + token_buffer.size());
+
+        return token_type::value_float;
+    }
 
-case 'e':
-case 'E':
-{
-add(current);
-goto scan_number_exponent;
-}
+    /*!
+    @param[in] literal_text  the literal text to expect
+    @param[in] length        the length of the passed literal text
+    @param[in] return_type   the token type to return on success
+    */
+    token_type scan_literal(const char* literal_text, const std::size_t length,
+                            token_type return_type)
+    {
+        assert(current == literal_text[0]);
+        for (std::size_t i = 1; i < length; ++i)
+        {
+            if (JSON_UNLIKELY(get() != literal_text[i]))
+            {
+                error_message = "invalid literal";
+                return token_type::parse_error;
+            }
+        }
+        return return_type;
+    }
 
-default:
-goto scan_number_done;
-}
+    /////////////////////
+    // input management
+    /////////////////////
 
-scan_number_any1:
-// state: we just parsed a number 0-9 (maybe with a leading minus sign)
-switch (get())
-{
-case '0':
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-{
-add(current);
-goto scan_number_any1;
-}
-
-case '.':
-{
-add(decimal_point_char);
-goto scan_number_decimal1;
-}
-
-case 'e':
-case 'E':
-{
-add(current);
-goto scan_number_exponent;
-}
-
-default:
-goto scan_number_done;
-}
-
-scan_number_decimal1:
-// state: we just parsed a decimal point
-number_type = token_type::value_float;
-switch (get())
-{
-case '0':
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-{
-add(current);
-goto scan_number_decimal2;
-}
-
-default:
-{
-error_message = "invalid number; expected digit after '.'";
-return token_type::parse_error;
-}
-}
-
-scan_number_decimal2:
-// we just parsed at least one number after a decimal point
-switch (get())
-{
-case '0':
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-{
-add(current);
-goto scan_number_decimal2;
-}
-
-case 'e':
-case 'E':
-{
-add(current);
-goto scan_number_exponent;
-}
-
-default:
-goto scan_number_done;
-}
-
-scan_number_exponent:
-// we just parsed an exponent
-number_type = token_type::value_float;
-switch (get())
-{
-case '+':
-case '-':
-{
-add(current);
-goto scan_number_sign;
-}
-
-case '0':
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-{
-add(current);
-goto scan_number_any2;
-}
-
-default:
-{
-error_message =
-"invalid number; expected '+', '-', or digit after exponent";
-return token_type::parse_error;
-}
-}
-
-scan_number_sign:
-// we just parsed an exponent sign
-switch (get())
-{
-case '0':
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-{
-add(current);
-goto scan_number_any2;
-}
-
-default:
-{
-error_message = "invalid number; expected digit after exponent sign";
-return token_type::parse_error;
-}
-}
-
-scan_number_any2:
-// we just parsed a number after the exponent or exponent sign
-switch (get())
-{
-case '0':
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-{
-add(current);
-goto scan_number_any2;
-}
-
-default:
-goto scan_number_done;
-}
-
-scan_number_done:
-// unget the character after the number (we only read it to know that
-// we are done scanning a number)
-unget();
-
-char* endptr = nullptr;
-errno = 0;
-
-// try to parse integers first and fall back to floats
-if (number_type == token_type::value_unsigned)
-{
-const auto x = std::strtoull(token_buffer.data(), &endptr, 10);
-
-// we checked the number format before
-assert(endptr == token_buffer.data() + token_buffer.size());
-
-if (errno == 0)
-{
-value_unsigned = static_cast<number_unsigned_t>(x);
-if (value_unsigned == x)
-{
-return token_type::value_unsigned;
-}
-}
-}
-else if (number_type == token_type::value_integer)
-{
-const auto x = std::strtoll(token_buffer.data(), &endptr, 10);
-
-// we checked the number format before
-assert(endptr == token_buffer.data() + token_buffer.size());
-
-if (errno == 0)
-{
-value_integer = static_cast<number_integer_t>(x);
-if (value_integer == x)
-{
-return token_type::value_integer;
-}
-}
-}
-
-// this code is reached if we parse a floating-point number or if an
-// integer conversion above failed
-strtof(value_float, token_buffer.data(), &endptr);
-
-// we checked the number format before
-assert(endptr == token_buffer.data() + token_buffer.size());
-
-return token_type::value_float;
-}
-
-/*!
-    @param[in] literal_text  the literal text to expect
-    @param[in] length        the length of the passed literal text
-    @param[in] return_type   the token type to return on success
-    */
-token_type scan_literal(const char* literal_text, const std::size_t length,
-token_type return_type)
-{
-assert(current == literal_text[0]);
-for (std::size_t i = 1; i < length; ++i)
-{
-if (JSON_UNLIKELY(get() != literal_text[i]))
-{
-error_message = "invalid literal";
-return token_type::parse_error;
-}
-}
-return return_type;
-}
-
-/////////////////////
-// input management
-/////////////////////
-
-/// reset token_buffer; current character is beginning of token
-void reset() noexcept
-{
-token_buffer.clear();
-token_string.clear();
-token_string.push_back(std::char_traits<char>::to_char_type(current));
-}
+    /// reset token_buffer; current character is beginning of token
+    void reset() noexcept
+    {
+        token_buffer.clear();
+        token_string.clear();
+        token_string.push_back(std::char_traits<char>::to_char_type(current));
+    }
 
-/*
+    /*
     @brief get next character from the input
 
     This function provides the interface to the used input adapter. It does
@@ -3107,201 +2917,201 @@ token_string.push_back(std::char_traits<char>::to_char_type(current));
 
     @return character read from the input
     */
-std::char_traits<char>::int_type get()
-{
-++chars_read;
-current = ia->get_character();
-if (JSON_LIKELY(current != std::char_traits<char>::eof()))
-{
-token_string.push_back(std::char_traits<char>::to_char_type(current));
-}
-return current;
-}
-
-/// unget current character (return it again on next get)
-void unget()
-{
---chars_read;
-if (JSON_LIKELY(current != std::char_traits<char>::eof()))
-{
-ia->unget_character();
-assert(token_string.size() != 0);
-token_string.pop_back();
-}
-}
-
-/// add a character to token_buffer
-void add(int c)
-{
-token_buffer.push_back(std::char_traits<char>::to_char_type(c));
-}
+    std::char_traits<char>::int_type get()
+    {
+        ++chars_read;
+        current = ia->get_character();
+        if (JSON_LIKELY(current != std::char_traits<char>::eof()))
+        {
+            token_string.push_back(std::char_traits<char>::to_char_type(current));
+        }
+        return current;
+    }
 
-public:
-/////////////////////
-// value getters
-/////////////////////
+    /// unget current character (return it again on next get)
+    void unget()
+    {
+        --chars_read;
+        if (JSON_LIKELY(current != std::char_traits<char>::eof()))
+        {
+            ia->unget_character();
+            assert(token_string.size() != 0);
+            token_string.pop_back();
+        }
+    }
 
-/// return integer value
-constexpr number_integer_t get_number_integer() const noexcept
-{
-return value_integer;
-}
+    /// add a character to token_buffer
+    void add(int c)
+    {
+        token_buffer.push_back(std::char_traits<char>::to_char_type(c));
+    }
 
-/// return unsigned integer value
-constexpr number_unsigned_t get_number_unsigned() const noexcept
-{
-return value_unsigned;
-}
+  public:
+    /////////////////////
+    // value getters
+    /////////////////////
 
-/// return floating-point value
-constexpr number_float_t get_number_float() const noexcept
-{
-return value_float;
-}
+    /// return integer value
+    constexpr number_integer_t get_number_integer() const noexcept
+    {
+        return value_integer;
+    }
 
-/// return current string value (implicitly resets the token; useful only once)
-string_t&& move_string()
-{
-return std::move(token_buffer);
-}
+    /// return unsigned integer value
+    constexpr number_unsigned_t get_number_unsigned() const noexcept
+    {
+        return value_unsigned;
+    }
 
-/////////////////////
-// diagnostics
-/////////////////////
+    /// return floating-point value
+    constexpr number_float_t get_number_float() const noexcept
+    {
+        return value_float;
+    }
 
-/// return position of last read token
-constexpr std::size_t get_position() const noexcept
-{
-return chars_read;
-}
+    /// return current string value (implicitly resets the token; useful only once)
+    string_t&& move_string()
+    {
+        return std::move(token_buffer);
+    }
 
-/// return the last read token (for errors only).  Will never contain EOF
-/// (an arbitrary value that is not a valid char value, often -1), because
-/// 255 may legitimately occur.  May contain NUL, which should be escaped.
-std::string get_token_string() const
-{
-// escape control characters
-std::string result;
-for (const auto c : token_string)
-{
-if ('\x00' <= c and c <= '\x1F')
-{
-// escape control characters
-std::stringstream ss;
-ss << "<U+" << std::setw(4) << std::uppercase << std::setfill('0')
-<< std::hex << static_cast<int>(c) << ">";
-result += ss.str();
-}
-else
-{
-// add character as is
-result.push_back(c);
-}
-}
+    /////////////////////
+    // diagnostics
+    /////////////////////
 
-return result;
-}
+    /// return position of last read token
+    constexpr std::size_t get_position() const noexcept
+    {
+        return chars_read;
+    }
 
-/// return syntax error message
-constexpr const char* get_error_message() const noexcept
-{
-return error_message;
-}
+    /// return the last read token (for errors only).  Will never contain EOF
+    /// (an arbitrary value that is not a valid char value, often -1), because
+    /// 255 may legitimately occur.  May contain NUL, which should be escaped.
+    std::string get_token_string() const
+    {
+        // escape control characters
+        std::string result;
+        for (const auto c : token_string)
+        {
+            if ('\x00' <= c and c <= '\x1F')
+            {
+                // escape control characters
+                std::stringstream ss;
+                ss << "<U+" << std::setw(4) << std::uppercase << std::setfill('0')
+                   << std::hex << static_cast<int>(c) << ">";
+                result += ss.str();
+            }
+            else
+            {
+                // add character as is
+                result.push_back(c);
+            }
+        }
+
+        return result;
+    }
 
-/////////////////////
-// actual scanner
-/////////////////////
+    /// return syntax error message
+    constexpr const char* get_error_message() const noexcept
+    {
+        return error_message;
+    }
 
-token_type scan()
-{
-// read next character and ignore whitespace
-do
-{
-get();
-}
-while (current == ' ' or current == '\t' or current == '\n' or current == '\r');
+    /////////////////////
+    // actual scanner
+    /////////////////////
 
-switch (current)
-{
-// structural characters
-case '[':
-return token_type::begin_array;
-case ']':
-return token_type::end_array;
-case '{':
-return token_type::begin_object;
-case '}':
-return token_type::end_object;
-case ':':
-return token_type::name_separator;
-case ',':
-return token_type::value_separator;
-
-// literals
-case 't':
-return scan_literal("true", 4, token_type::literal_true);
-case 'f':
-return scan_literal("false", 5, token_type::literal_false);
-case 'n':
-return scan_literal("null", 4, token_type::literal_null);
-
-// string
-case '\"':
-return scan_string();
-
-// number
-case '-':
-case '0':
-case '1':
-case '2':
-case '3':
-case '4':
-case '5':
-case '6':
-case '7':
-case '8':
-case '9':
-return scan_number();
-
-// end of input (the null byte is needed when parsing from
-// string literals)
-case '\0':
-case std::char_traits<char>::eof():
-return token_type::end_of_input;
-
-// error
-default:
-error_message = "invalid literal";
-return token_type::parse_error;
-}
-}
+    token_type scan()
+    {
+        // read next character and ignore whitespace
+        do
+        {
+            get();
+        }
+        while (current == ' ' or current == '\t' or current == '\n' or current == '\r');
+
+        switch (current)
+        {
+            // structural characters
+            case '[':
+                return token_type::begin_array;
+            case ']':
+                return token_type::end_array;
+            case '{':
+                return token_type::begin_object;
+            case '}':
+                return token_type::end_object;
+            case ':':
+                return token_type::name_separator;
+            case ',':
+                return token_type::value_separator;
+
+            // literals
+            case 't':
+                return scan_literal("true", 4, token_type::literal_true);
+            case 'f':
+                return scan_literal("false", 5, token_type::literal_false);
+            case 'n':
+                return scan_literal("null", 4, token_type::literal_null);
+
+            // string
+            case '\"':
+                return scan_string();
+
+            // number
+            case '-':
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+                return scan_number();
+
+            // end of input (the null byte is needed when parsing from
+            // string literals)
+            case '\0':
+            case std::char_traits<char>::eof():
+                return token_type::end_of_input;
+
+            // error
+            default:
+                error_message = "invalid literal";
+                return token_type::parse_error;
+        }
+    }
 
-private:
-/// input adapter
-detail::input_adapter_t ia = nullptr;
+  private:
+    /// input adapter
+    detail::input_adapter_t ia = nullptr;
 
-/// the current character
-std::char_traits<char>::int_type current = std::char_traits<char>::eof();
+    /// the current character
+    std::char_traits<char>::int_type current = std::char_traits<char>::eof();
 
-/// the number of characters read
-std::size_t chars_read = 0;
+    /// the number of characters read
+    std::size_t chars_read = 0;
 
-/// raw input token string (for error messages)
-std::vector<char> token_string { };
+    /// raw input token string (for error messages)
+    std::vector<char> token_string {};
 
-/// buffer for variable-length tokens (numbers, strings)
-string_t token_buffer { };
+    /// buffer for variable-length tokens (numbers, strings)
+    string_t token_buffer {};
 
-/// a description of occurred lexer errors
-const char* error_message = "";
+    /// a description of occurred lexer errors
+    const char* error_message = "";
 
-// number values
-number_integer_t value_integer = 0;
-number_unsigned_t value_unsigned = 0;
-number_float_t value_float = 0;
+    // number values
+    number_integer_t value_integer = 0;
+    number_unsigned_t value_unsigned = 0;
+    number_float_t value_float = 0;
 
-/// the decimal point
-const char decimal_point_char = '.';
+    /// the decimal point
+    const char decimal_point_char = '.';
 };
 }
 }
@@ -3309,18 +3119,12 @@ const char decimal_point_char = '.';
 // #include <nlohmann/detail/input/parser.hpp>
 
 
-#include
-<cassert> // assert
-#include
-<cmath> // isfinite
-#include
-<cstdint> // uint8_t
-#include
-<functional> // function
-#include
-<string> // string
-#include
-<utility> // move
+#include <cassert> // assert
+#include <cmath> // isfinite
+#include <cstdint> // uint8_t
+#include <functional> // function
+#include <string> // string
+#include <utility> // move
 
 // #include <nlohmann/detail/exceptions.hpp>
 
@@ -3349,42 +3153,41 @@ This class implements a recursive decent parser.
 template<typename BasicJsonType>
 class parser
 {
-using number_integer_t = typename BasicJsonType::number_integer_t;
-using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
-using number_float_t = typename BasicJsonType::number_float_t;
-using string_t = typename BasicJsonType::string_t;
-using lexer_t = lexer<BasicJsonType>;
-using token_type = typename lexer_t::token_type;
-
-public:
-enum class parse_event_t : uint8_t
-{
-/// the parser read `{` and started to process a JSON object
-object_start,
-/// the parser read `}` and finished processing a JSON object
-object_end,
-/// the parser read `[` and started to process a JSON array
-array_start,
-/// the parser read `]` and finished processing a JSON array
-array_end,
-/// the parser read a key of a value in an object
-key,
-/// the parser finished reading a JSON value
-value
-};
-
-using parser_callback_t =
-std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>;
-
-/// a parser reading from an input adapter
-explicit parser(detail::input_adapter_t adapter,
-const parser_callback_t cb = nullptr,
-const bool allow_exceptions_ = true)
-: callback(cb), m_lexer(adapter), allow_exceptions(allow_exceptions_)
-{
-}
+    using number_integer_t = typename BasicJsonType::number_integer_t;
+    using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+    using number_float_t = typename BasicJsonType::number_float_t;
+    using string_t = typename BasicJsonType::string_t;
+    using lexer_t = lexer<BasicJsonType>;
+    using token_type = typename lexer_t::token_type;
 
-/*!
+  public:
+    enum class parse_event_t : uint8_t
+    {
+        /// the parser read `{` and started to process a JSON object
+        object_start,
+        /// the parser read `}` and finished processing a JSON object
+        object_end,
+        /// the parser read `[` and started to process a JSON array
+        array_start,
+        /// the parser read `]` and finished processing a JSON array
+        array_end,
+        /// the parser read a key of a value in an object
+        key,
+        /// the parser finished reading a JSON value
+        value
+    };
+
+    using parser_callback_t =
+        std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>;
+
+    /// a parser reading from an input adapter
+    explicit parser(detail::input_adapter_t adapter,
+                    const parser_callback_t cb = nullptr,
+                    const bool allow_exceptions_ = true)
+        : callback(cb), m_lexer(adapter), allow_exceptions(allow_exceptions_)
+    {}
+
+    /*!
     @brief public parser interface
 
     @param[in] strict      whether to expect the last token to be EOF
@@ -3394,643 +3197,641 @@ const bool allow_exceptions_ = true)
     @throw parse_error.102 if to_unicode fails or surrogate error
     @throw parse_error.103 if to_unicode fails
     */
-void parse(const bool strict, BasicJsonType& result)
-{
-// read first token
-get_token();
-
-parse_internal(true, result);
-result.assert_invariant();
-
-// in strict mode, input must be completely read
-if (strict)
-{
-get_token();
-expect(token_type::end_of_input);
-}
-
-// in case of an error, return discarded value
-if (errored)
-{
-result = value_t::discarded;
-return;
-}
-
-// set top-level value to null if it was discarded by the callback
-// function
-if (result.is_discarded())
-{
-result = nullptr;
-}
-}
+    void parse(const bool strict, BasicJsonType& result)
+    {
+        // read first token
+        get_token();
+
+        parse_internal(true, result);
+        result.assert_invariant();
+
+        // in strict mode, input must be completely read
+        if (strict)
+        {
+            get_token();
+            expect(token_type::end_of_input);
+        }
+
+        // in case of an error, return discarded value
+        if (errored)
+        {
+            result = value_t::discarded;
+            return;
+        }
+
+        // set top-level value to null if it was discarded by the callback
+        // function
+        if (result.is_discarded())
+        {
+            result = nullptr;
+        }
+    }
 
-/*!
+    /*!
     @brief public accept interface
 
     @param[in] strict  whether to expect the last token to be EOF
     @return whether the input is a proper JSON text
     */
-bool accept(const bool strict = true)
-{
-// read first token
-get_token();
+    bool accept(const bool strict = true)
+    {
+        // read first token
+        get_token();
 
-if (not accept_internal())
-{
-return false;
-}
+        if (not accept_internal())
+        {
+            return false;
+        }
 
-// strict => last token must be EOF
-return not strict or (get_token() == token_type::end_of_input);
-}
+        // strict => last token must be EOF
+        return not strict or (get_token() == token_type::end_of_input);
+    }
 
-private:
-/*!
+  private:
+    /*!
     @brief the actual parser
     @throw parse_error.101 in case of an unexpected token
     @throw parse_error.102 if to_unicode fails or surrogate error
     @throw parse_error.103 if to_unicode fails
     */
-void parse_internal(bool keep, BasicJsonType& result)
-{
-// never parse after a parse error was detected
-assert(not errored);
+    void parse_internal(bool keep, BasicJsonType& result)
+    {
+        // never parse after a parse error was detected
+        assert(not errored);
+
+        // start with a discarded value
+        if (not result.is_discarded())
+        {
+            result.m_value.destroy(result.m_type);
+            result.m_type = value_t::discarded;
+        }
+
+        switch (last_token)
+        {
+            case token_type::begin_object:
+            {
+                if (keep)
+                {
+                    if (callback)
+                    {
+                        keep = callback(depth++, parse_event_t::object_start, result);
+                    }
+
+                    if (not callback or keep)
+                    {
+                        // explicitly set result to object to cope with {}
+                        result.m_type = value_t::object;
+                        result.m_value = value_t::object;
+                    }
+                }
+
+                // read next token
+                get_token();
+
+                // closing } -> we are done
+                if (last_token == token_type::end_object)
+                {
+                    if (keep and callback and not callback(--depth, parse_event_t::object_end, result))
+                    {
+                        result.m_value.destroy(result.m_type);
+                        result.m_type = value_t::discarded;
+                    }
+                    break;
+                }
+
+                // parse values
+                string_t key;
+                BasicJsonType value;
+                while (true)
+                {
+                    // store key
+                    if (not expect(token_type::value_string))
+                    {
+                        return;
+                    }
+                    key = m_lexer.move_string();
+
+                    bool keep_tag = false;
+                    if (keep)
+                    {
+                        if (callback)
+                        {
+                            BasicJsonType k(key);
+                            keep_tag = callback(depth, parse_event_t::key, k);
+                        }
+                        else
+                        {
+                            keep_tag = true;
+                        }
+                    }
+
+                    // parse separator (:)
+                    get_token();
+                    if (not expect(token_type::name_separator))
+                    {
+                        return;
+                    }
+
+                    // parse and add value
+                    get_token();
+                    value.m_value.destroy(value.m_type);
+                    value.m_type = value_t::discarded;
+                    parse_internal(keep, value);
+
+                    if (JSON_UNLIKELY(errored))
+                    {
+                        return;
+                    }
+
+                    if (keep and keep_tag and not value.is_discarded())
+                    {
+                        result.m_value.object->emplace(std::move(key), std::move(value));
+                    }
+
+                    // comma -> next value
+                    get_token();
+                    if (last_token == token_type::value_separator)
+                    {
+                        get_token();
+                        continue;
+                    }
+
+                    // closing }
+                    if (not expect(token_type::end_object))
+                    {
+                        return;
+                    }
+                    break;
+                }
+
+                if (keep and callback and not callback(--depth, parse_event_t::object_end, result))
+                {
+                    result.m_value.destroy(result.m_type);
+                    result.m_type = value_t::discarded;
+                }
+                break;
+            }
+
+            case token_type::begin_array:
+            {
+                if (keep)
+                {
+                    if (callback)
+                    {
+                        keep = callback(depth++, parse_event_t::array_start, result);
+                    }
+
+                    if (not callback or keep)
+                    {
+                        // explicitly set result to array to cope with []
+                        result.m_type = value_t::array;
+                        result.m_value = value_t::array;
+                    }
+                }
+
+                // read next token
+                get_token();
+
+                // closing ] -> we are done
+                if (last_token == token_type::end_array)
+                {
+                    if (callback and not callback(--depth, parse_event_t::array_end, result))
+                    {
+                        result.m_value.destroy(result.m_type);
+                        result.m_type = value_t::discarded;
+                    }
+                    break;
+                }
+
+                // parse values
+                BasicJsonType value;
+                while (true)
+                {
+                    // parse value
+                    value.m_value.destroy(value.m_type);
+                    value.m_type = value_t::discarded;
+                    parse_internal(keep, value);
+
+                    if (JSON_UNLIKELY(errored))
+                    {
+                        return;
+                    }
+
+                    if (keep and not value.is_discarded())
+                    {
+                        result.m_value.array->push_back(std::move(value));
+                    }
+
+                    // comma -> next value
+                    get_token();
+                    if (last_token == token_type::value_separator)
+                    {
+                        get_token();
+                        continue;
+                    }
+
+                    // closing ]
+                    if (not expect(token_type::end_array))
+                    {
+                        return;
+                    }
+                    break;
+                }
+
+                if (keep and callback and not callback(--depth, parse_event_t::array_end, result))
+                {
+                    result.m_value.destroy(result.m_type);
+                    result.m_type = value_t::discarded;
+                }
+                break;
+            }
+
+            case token_type::literal_null:
+            {
+                result.m_type = value_t::null;
+                break;
+            }
+
+            case token_type::value_string:
+            {
+                result.m_type = value_t::string;
+                result.m_value = m_lexer.move_string();
+                break;
+            }
+
+            case token_type::literal_true:
+            {
+                result.m_type = value_t::boolean;
+                result.m_value = true;
+                break;
+            }
+
+            case token_type::literal_false:
+            {
+                result.m_type = value_t::boolean;
+                result.m_value = false;
+                break;
+            }
+
+            case token_type::value_unsigned:
+            {
+                result.m_type = value_t::number_unsigned;
+                result.m_value = m_lexer.get_number_unsigned();
+                break;
+            }
+
+            case token_type::value_integer:
+            {
+                result.m_type = value_t::number_integer;
+                result.m_value = m_lexer.get_number_integer();
+                break;
+            }
+
+            case token_type::value_float:
+            {
+                result.m_type = value_t::number_float;
+                result.m_value = m_lexer.get_number_float();
+
+                // throw in case of infinity or NAN
+                if (JSON_UNLIKELY(not std::isfinite(result.m_value.number_float)))
+                {
+                    if (allow_exceptions)
+                    {
+                        JSON_THROW(out_of_range::create(406, "number overflow parsing '" +
+                                                        m_lexer.get_token_string() + "'"));
+                    }
+                    expect(token_type::uninitialized);
+                }
+                break;
+            }
+
+            case token_type::parse_error:
+            {
+                // using "uninitialized" to avoid "expected" message
+                if (not expect(token_type::uninitialized))
+                {
+                    return;
+                }
+                break; // LCOV_EXCL_LINE
+            }
+
+            default:
+            {
+                // the last token was unexpected; we expected a value
+                if (not expect(token_type::literal_or_value))
+                {
+                    return;
+                }
+                break; // LCOV_EXCL_LINE
+            }
+        }
+
+        if (keep and callback and not callback(depth, parse_event_t::value, result))
+        {
+            result.m_value.destroy(result.m_type);
+            result.m_type = value_t::discarded;
+        }
+    }
 
-// start with a discarded value
-if (not result.is_discarded())
-{
-result.m_value.destroy(result.m_type);
-result.m_type = value_t::discarded;
-}
+    /*!
+    @brief the actual acceptor
 
-switch (last_token)
-{
-case token_type::begin_object:
-{
-if (keep)
-{
-if (callback)
-{
-keep = callback(depth++, parse_event_t::object_start, result);
-}
+    @invariant 1. The last token is not yet processed. Therefore, the caller
+                  of this function must make sure a token has been read.
+               2. When this function returns, the last token is processed.
+                  That is, the last read character was already considered.
 
-if (not callback or keep)
-{
-// explicitly set result to object to cope with {}
-result.m_type = value_t::object;
-result.m_value = value_t::object;
-}
-}
+    This invariant makes sure that no token needs to be "unput".
+    */
+    bool accept_internal()
+    {
+        switch (last_token)
+        {
+            case token_type::begin_object:
+            {
+                // read next token
+                get_token();
+
+                // closing } -> we are done
+                if (last_token == token_type::end_object)
+                {
+                    return true;
+                }
+
+                // parse values
+                while (true)
+                {
+                    // parse key
+                    if (last_token != token_type::value_string)
+                    {
+                        return false;
+                    }
+
+                    // parse separator (:)
+                    get_token();
+                    if (last_token != token_type::name_separator)
+                    {
+                        return false;
+                    }
+
+                    // parse value
+                    get_token();
+                    if (not accept_internal())
+                    {
+                        return false;
+                    }
+
+                    // comma -> next value
+                    get_token();
+                    if (last_token == token_type::value_separator)
+                    {
+                        get_token();
+                        continue;
+                    }
+
+                    // closing }
+                    return (last_token == token_type::end_object);
+                }
+            }
+
+            case token_type::begin_array:
+            {
+                // read next token
+                get_token();
+
+                // closing ] -> we are done
+                if (last_token == token_type::end_array)
+                {
+                    return true;
+                }
+
+                // parse values
+                while (true)
+                {
+                    // parse value
+                    if (not accept_internal())
+                    {
+                        return false;
+                    }
+
+                    // comma -> next value
+                    get_token();
+                    if (last_token == token_type::value_separator)
+                    {
+                        get_token();
+                        continue;
+                    }
+
+                    // closing ]
+                    return (last_token == token_type::end_array);
+                }
+            }
+
+            case token_type::value_float:
+            {
+                // reject infinity or NAN
+                return std::isfinite(m_lexer.get_number_float());
+            }
+
+            case token_type::literal_false:
+            case token_type::literal_null:
+            case token_type::literal_true:
+            case token_type::value_integer:
+            case token_type::value_string:
+            case token_type::value_unsigned:
+                return true;
+
+            default: // the last token was unexpected
+                return false;
+        }
+    }
 
-// read next token
-get_token();
+    /// get next token from lexer
+    token_type get_token()
+    {
+        return (last_token = m_lexer.scan());
+    }
 
-// closing } -> we are done
-if (last_token == token_type::end_object)
-{
-if (keep and callback and not callback(--depth, parse_event_t::object_end, result))
-{
-result.m_value.destroy(result.m_type);
-result.m_type = value_t::discarded;
-}
-break;
-}
+    /*!
+    @throw parse_error.101 if expected token did not occur
+    */
+    bool expect(token_type t)
+    {
+        if (JSON_UNLIKELY(t != last_token))
+        {
+            errored = true;
+            expected = t;
+            if (allow_exceptions)
+            {
+                throw_exception();
+            }
+            else
+            {
+                return false;
+            }
+        }
+
+        return true;
+    }
 
-// parse values
-string_t key;
-BasicJsonType value;
-while (true)
-{
-// store key
-if (not expect(token_type::value_string))
-{
-return;
-}
-key = m_lexer.move_string();
+    [[noreturn]] void throw_exception() const
+    {
+        std::string error_msg = "syntax error - ";
+        if (last_token == token_type::parse_error)
+        {
+            error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" +
+                         m_lexer.get_token_string() + "'";
+        }
+        else
+        {
+            error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token));
+        }
+
+        if (expected != token_type::uninitialized)
+        {
+            error_msg += "; expected " + std::string(lexer_t::token_type_name(expected));
+        }
+
+        JSON_THROW(parse_error::create(101, m_lexer.get_position(), error_msg));
+    }
 
-bool keep_tag = false;
-if (keep)
-{
-if (callback)
-{
-BasicJsonType k(key);
-keep_tag = callback(depth, parse_event_t::key, k);
-}
-else
-{
-keep_tag = true;
+  private:
+    /// current level of recursion
+    int depth = 0;
+    /// callback function
+    const parser_callback_t callback = nullptr;
+    /// the type of the last read token
+    token_type last_token = token_type::uninitialized;
+    /// the lexer
+    lexer_t m_lexer;
+    /// whether a syntax error occurred
+    bool errored = false;
+    /// possible reason for the syntax error
+    token_type expected = token_type::uninitialized;
+    /// whether to throw exceptions in case of errors
+    const bool allow_exceptions = true;
+};
 }
 }
 
-// parse separator (:)
-get_token();
-if (not expect(token_type::name_separator))
-{
-return;
-}
+// #include <nlohmann/detail/iterators/primitive_iterator.hpp>
 
-// parse and add value
-get_token();
-value.m_value.destroy(value.m_type);
-value.m_type = value_t::discarded;
-parse_internal(keep, value);
 
-if (JSON_UNLIKELY(errored))
-{
-return;
-}
+#include <cstddef> // ptrdiff_t
+#include <limits>  // numeric_limits
 
-if (keep and keep_tag and not value.is_discarded())
+namespace nlohmann
 {
-result.m_value.object->emplace(std::move(key), std::move(value));
-}
-
-// comma -> next value
-get_token();
-if (last_token == token_type::value_separator)
+namespace detail
 {
-get_token();
-continue;
-}
+/*
+@brief an iterator for primitive JSON types
 
-// closing }
-if (not expect(token_type::end_object))
+This class models an iterator for primitive JSON types (boolean, number,
+string). It's only purpose is to allow the iterator/const_iterator classes
+to "iterate" over primitive values. Internally, the iterator is modeled by
+a `difference_type` variable. Value begin_value (`0`) models the begin,
+end_value (`1`) models past the end.
+*/
+class primitive_iterator_t
 {
-return;
-}
-break;
-}
+  private:
+    using difference_type = std::ptrdiff_t;
+    static constexpr difference_type begin_value = 0;
+    static constexpr difference_type end_value = begin_value + 1;
 
-if (keep and callback and not callback(--depth, parse_event_t::object_end, result))
-{
-result.m_value.destroy(result.m_type);
-result.m_type = value_t::discarded;
-}
-break;
-}
+    /// iterator as signed integer type
+    difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
 
-case token_type::begin_array:
-{
-if (keep)
-{
-if (callback)
-{
-keep = callback(depth++, parse_event_t::array_start, result);
-}
-
-if (not callback or keep)
-{
-// explicitly set result to array to cope with []
-result.m_type = value_t::array;
-result.m_value = value_t::array;
-}
-}
-
-// read next token
-get_token();
-
-// closing ] -> we are done
-if (last_token == token_type::end_array)
-{
-if (callback and not callback(--depth, parse_event_t::array_end, result))
-{
-result.m_value.destroy(result.m_type);
-result.m_type = value_t::discarded;
-}
-break;
-}
-
-// parse values
-BasicJsonType value;
-while (true)
-{
-// parse value
-value.m_value.destroy(value.m_type);
-value.m_type = value_t::discarded;
-parse_internal(keep, value);
-
-if (JSON_UNLIKELY(errored))
-{
-return;
-}
-
-if (keep and not value.is_discarded())
-{
-result.m_value.array->push_back(std::move(value));
-}
-
-// comma -> next value
-get_token();
-if (last_token == token_type::value_separator)
-{
-get_token();
-continue;
-}
-
-// closing ]
-if (not expect(token_type::end_array))
-{
-return;
-}
-break;
-}
-
-if (keep and callback and not callback(--depth, parse_event_t::array_end, result))
-{
-result.m_value.destroy(result.m_type);
-result.m_type = value_t::discarded;
-}
-break;
-}
-
-case token_type::literal_null:
-{
-result.m_type = value_t::null;
-break;
-}
-
-case token_type::value_string:
-{
-result.m_type = value_t::string;
-result.m_value = m_lexer.move_string();
-break;
-}
-
-case token_type::literal_true:
-{
-result.m_type = value_t::boolean;
-result.m_value = true;
-break;
-}
-
-case token_type::literal_false:
-{
-result.m_type = value_t::boolean;
-result.m_value = false;
-break;
-}
-
-case token_type::value_unsigned:
-{
-result.m_type = value_t::number_unsigned;
-result.m_value = m_lexer.get_number_unsigned();
-break;
-}
-
-case token_type::value_integer:
-{
-result.m_type = value_t::number_integer;
-result.m_value = m_lexer.get_number_integer();
-break;
-}
-
-case token_type::value_float:
-{
-result.m_type = value_t::number_float;
-result.m_value = m_lexer.get_number_float();
-
-// throw in case of infinity or NAN
-if (JSON_UNLIKELY(not std::isfinite(result.m_value.number_float)))
-{
-if (allow_exceptions)
-{
-JSON_THROW(out_of_range::create(406, "number overflow parsing '" +
-m_lexer.get_token_string() + "'"));
-}
-expect(token_type::uninitialized);
-}
-break;
-}
-
-case token_type::parse_error:
-{
-// using "uninitialized" to avoid "expected" message
-if (not expect(token_type::uninitialized))
-{
-return;
-}
-break; // LCOV_EXCL_LINE
-}
-
-default:
-{
-// the last token was unexpected; we expected a value
-if (not expect(token_type::literal_or_value))
-{
-return;
-}
-break; // LCOV_EXCL_LINE
-}
-}
-
-if (keep and callback and not callback(depth, parse_event_t::value, result))
-{
-result.m_value.destroy(result.m_type);
-result.m_type = value_t::discarded;
-}
-}
-
-/*!
-    @brief the actual acceptor
-
-    @invariant 1. The last token is not yet processed. Therefore, the caller
-                  of this function must make sure a token has been read.
-               2. When this function returns, the last token is processed.
-                  That is, the last read character was already considered.
-
-    This invariant makes sure that no token needs to be "unput".
-    */
-bool accept_internal()
-{
-switch (last_token)
-{
-case token_type::begin_object:
-{
-// read next token
-get_token();
-
-// closing } -> we are done
-if (last_token == token_type::end_object)
-{
-return true;
-}
-
-// parse values
-while (true)
-{
-// parse key
-if (last_token != token_type::value_string)
-{
-return false;
-}
-
-// parse separator (:)
-get_token();
-if (last_token != token_type::name_separator)
-{
-return false;
-}
-
-// parse value
-get_token();
-if (not accept_internal())
-{
-return false;
-}
-
-// comma -> next value
-get_token();
-if (last_token == token_type::value_separator)
-{
-get_token();
-continue;
-}
-
-// closing }
-return (last_token == token_type::end_object);
-}
-}
-
-case token_type::begin_array:
-{
-// read next token
-get_token();
-
-// closing ] -> we are done
-if (last_token == token_type::end_array)
-{
-return true;
-}
-
-// parse values
-while (true)
-{
-// parse value
-if (not accept_internal())
-{
-return false;
-}
-
-// comma -> next value
-get_token();
-if (last_token == token_type::value_separator)
-{
-get_token();
-continue;
-}
-
-// closing ]
-return (last_token == token_type::end_array);
-}
-}
-
-case token_type::value_float:
-{
-// reject infinity or NAN
-return std::isfinite(m_lexer.get_number_float());
-}
-
-case token_type::literal_false:
-case token_type::literal_null:
-case token_type::literal_true:
-case token_type::value_integer:
-case token_type::value_string:
-case token_type::value_unsigned:
-return true;
-
-default: // the last token was unexpected
-return false;
-}
-}
-
-/// get next token from lexer
-token_type get_token()
-{
-return (last_token = m_lexer.scan());
-}
-
-/*!
-    @throw parse_error.101 if expected token did not occur
-    */
-bool expect(token_type t)
-{
-if (JSON_UNLIKELY(t != last_token))
-{
-errored = true;
-expected = t;
-if (allow_exceptions)
-{
-throw_exception();
-}
-else
-{
-return false;
-}
-}
-
-return true;
-}
-
-[[noreturn]] void throw_exception() const
-{
-std::string error_msg = "syntax error - ";
-if (last_token == token_type::parse_error)
-{
-error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" +
-m_lexer.get_token_string() + "'";
-}
-else
-{
-error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token));
-}
-
-if (expected != token_type::uninitialized)
-{
-error_msg += "; expected " + std::string(lexer_t::token_type_name(expected));
-}
-
-JSON_THROW(parse_error::create(101, m_lexer.get_position(), error_msg));
-}
-
-private:
-/// current level of recursion
-int depth = 0;
-/// callback function
-const parser_callback_t callback = nullptr;
-/// the type of the last read token
-token_type last_token = token_type::uninitialized;
-/// the lexer
-lexer_t m_lexer;
-/// whether a syntax error occurred
-bool errored = false;
-/// possible reason for the syntax error
-token_type expected = token_type::uninitialized;
-/// whether to throw exceptions in case of errors
-const bool allow_exceptions = true;
-};
-}
-}
-
-// #include <nlohmann/detail/iterators/primitive_iterator.hpp>
-
-
-#include
-<cstddef> // ptrdiff_t
-#include
-<limits>  // numeric_limits
-
-namespace nlohmann
-{
-namespace detail
-{
-/*
-@brief an iterator for primitive JSON types
-
-This class models an iterator for primitive JSON types (boolean, number,
-string). It's only purpose is to allow the iterator/const_iterator classes
-to "iterate" over primitive values. Internally, the iterator is modeled by
-a `difference_type` variable. Value begin_value (`0`) models the begin,
-end_value (`1`) models past the end.
-*/
-class primitive_iterator_t
-{
-private:
-using difference_type = std::ptrdiff_t;
-static constexpr difference_type begin_value = 0;
-static constexpr difference_type end_value = begin_value + 1;
-
-/// iterator as signed integer type
-difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
-
-public:
-constexpr difference_type get_value() const noexcept
-{
-return m_it;
-}
+  public:
+    constexpr difference_type get_value() const noexcept
+    {
+        return m_it;
+    }
 
-/// set iterator to a defined beginning
-void set_begin() noexcept
-{
-m_it = begin_value;
-}
+    /// set iterator to a defined beginning
+    void set_begin() noexcept
+    {
+        m_it = begin_value;
+    }
 
-/// set iterator to a defined past the end
-void set_end() noexcept
-{
-m_it = end_value;
-}
+    /// set iterator to a defined past the end
+    void set_end() noexcept
+    {
+        m_it = end_value;
+    }
 
-/// return whether the iterator can be dereferenced
-constexpr bool is_begin() const noexcept
-{
-return m_it == begin_value;
-}
+    /// return whether the iterator can be dereferenced
+    constexpr bool is_begin() const noexcept
+    {
+        return m_it == begin_value;
+    }
 
-/// return whether the iterator is at end
-constexpr bool is_end() const noexcept
-{
-return m_it == end_value;
-}
+    /// return whether the iterator is at end
+    constexpr bool is_end() const noexcept
+    {
+        return m_it == end_value;
+    }
 
-friend constexpr bool operator ==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
-{
-return lhs.m_it == rhs.m_it;
-}
+    friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
+    {
+        return lhs.m_it == rhs.m_it;
+    }
 
-friend constexpr bool operator <(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
-{
-return lhs.m_it < rhs.m_it;
-}
+    friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
+    {
+        return lhs.m_it < rhs.m_it;
+    }
 
-primitive_iterator_t operator +(difference_type n) noexcept
-{
-auto result = *this;
-result += n;
-return result;
-}
+    primitive_iterator_t operator+(difference_type n) noexcept
+    {
+        auto result = *this;
+        result += n;
+        return result;
+    }
 
-friend constexpr difference_type operator -(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
-{
-return lhs.m_it - rhs.m_it;
-}
+    friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
+    {
+        return lhs.m_it - rhs.m_it;
+    }
 
-primitive_iterator_t& operator ++() noexcept
-{
-++m_it;
-return *this;
-}
+    primitive_iterator_t& operator++() noexcept
+    {
+        ++m_it;
+        return *this;
+    }
 
-primitive_iterator_t const operator ++(int) noexcept
-{
-auto result = *this;
-m_it++;
-return result;
-}
+    primitive_iterator_t const operator++(int) noexcept
+    {
+        auto result = *this;
+        m_it++;
+        return result;
+    }
 
-primitive_iterator_t& operator --() noexcept
-{
---m_it;
-return *this;
-}
+    primitive_iterator_t& operator--() noexcept
+    {
+        --m_it;
+        return *this;
+    }
 
-primitive_iterator_t const operator --(int) noexcept
-{
-auto result = *this;
-m_it--;
-return result;
-}
+    primitive_iterator_t const operator--(int) noexcept
+    {
+        auto result = *this;
+        m_it--;
+        return result;
+    }
 
-primitive_iterator_t& operator +=(difference_type n) noexcept
-{
-m_it += n;
-return *this;
-}
+    primitive_iterator_t& operator+=(difference_type n) noexcept
+    {
+        m_it += n;
+        return *this;
+    }
 
-primitive_iterator_t& operator -=(difference_type n) noexcept
-{
-m_it -= n;
-return *this;
-}
+    primitive_iterator_t& operator-=(difference_type n) noexcept
+    {
+        m_it -= n;
+        return *this;
+    }
 };
 }
 }
@@ -4053,13 +3854,12 @@ unions members with complex constructors, see https://github.com/nlohmann/json/p
 */
 template<typename BasicJsonType> struct internal_iterator
 {
-/// iterator for JSON objects
-typename BasicJsonType::object_t::iterator object_iterator {
-};
-/// iterator for JSON arrays
-typename BasicJsonType::array_t::iterator array_iterator { };
-/// generic iterator for all other types
-primitive_iterator_t primitive_iterator { };
+    /// iterator for JSON objects
+    typename BasicJsonType::object_t::iterator object_iterator {};
+    /// iterator for JSON arrays
+    typename BasicJsonType::array_t::iterator array_iterator {};
+    /// generic iterator for all other types
+    primitive_iterator_t primitive_iterator {};
 };
 }
 }
@@ -4067,12 +3867,9 @@ primitive_iterator_t primitive_iterator { };
 // #include <nlohmann/detail/iterators/iter_impl.hpp>
 
 
-#include
-<ciso646> // not
-#include
-<iterator> // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next
-#include
-<type_traits> // conditional, is_const, remove_const
+#include <ciso646> // not
+#include <iterator> // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next
+#include <type_traits> // conditional, is_const, remove_const
 
 // #include <nlohmann/detail/exceptions.hpp>
 
@@ -4117,76 +3914,76 @@ This class implements a both iterators (iterator and const_iterator) for the
 template<typename BasicJsonType>
 class iter_impl
 {
-/// allow basic_json to access private members
-friend iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>;
-friend BasicJsonType;
-friend iteration_proxy<iter_impl>;
-
-using object_t = typename BasicJsonType::object_t;
-using array_t = typename BasicJsonType::array_t;
-// make sure BasicJsonType is basic_json or const basic_json
-static_assert(is_basic_json<typename std::remove_const<BasicJsonType>::type>::value,
-"iter_impl only accepts (const) basic_json");
-
-public:
-
-/// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17.
-/// The C++ Standard has never required user-defined iterators to derive from std::iterator.
-/// A user-defined iterator should provide publicly accessible typedefs named
-/// iterator_category, value_type, difference_type, pointer, and reference.
-/// Note that value_type is required to be non-const, even for constant iterators.
-using iterator_category = std::bidirectional_iterator_tag;
-
-/// the type of the values when the iterator is dereferenced
-using value_type = typename BasicJsonType::value_type;
-/// a type to represent differences between iterators
-using difference_type = typename BasicJsonType::difference_type;
-/// defines a pointer to the type iterated over (value_type)
-using pointer = typename std::conditional<std::is_const<BasicJsonType>::value,
-typename BasicJsonType::const_pointer,
-typename BasicJsonType::pointer>::type;
-/// defines a reference to the type iterated over (value_type)
-using reference =
-typename std::conditional<std::is_const<BasicJsonType>::value,
-typename BasicJsonType::const_reference,
-typename BasicJsonType::reference>::type;
-
-/// default constructor
-iter_impl() = default;
-
-/*!
+    /// allow basic_json to access private members
+    friend iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>;
+    friend BasicJsonType;
+    friend iteration_proxy<iter_impl>;
+
+    using object_t = typename BasicJsonType::object_t;
+    using array_t = typename BasicJsonType::array_t;
+    // make sure BasicJsonType is basic_json or const basic_json
+    static_assert(is_basic_json<typename std::remove_const<BasicJsonType>::type>::value,
+                  "iter_impl only accepts (const) basic_json");
+
+  public:
+
+    /// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17.
+    /// The C++ Standard has never required user-defined iterators to derive from std::iterator.
+    /// A user-defined iterator should provide publicly accessible typedefs named
+    /// iterator_category, value_type, difference_type, pointer, and reference.
+    /// Note that value_type is required to be non-const, even for constant iterators.
+    using iterator_category = std::bidirectional_iterator_tag;
+
+    /// the type of the values when the iterator is dereferenced
+    using value_type = typename BasicJsonType::value_type;
+    /// a type to represent differences between iterators
+    using difference_type = typename BasicJsonType::difference_type;
+    /// defines a pointer to the type iterated over (value_type)
+    using pointer = typename std::conditional<std::is_const<BasicJsonType>::value,
+          typename BasicJsonType::const_pointer,
+          typename BasicJsonType::pointer>::type;
+    /// defines a reference to the type iterated over (value_type)
+    using reference =
+        typename std::conditional<std::is_const<BasicJsonType>::value,
+        typename BasicJsonType::const_reference,
+        typename BasicJsonType::reference>::type;
+
+    /// default constructor
+    iter_impl() = default;
+
+    /*!
     @brief constructor for a given JSON instance
     @param[in] object  pointer to a JSON object for this iterator
     @pre object != nullptr
     @post The iterator is initialized; i.e. `m_object != nullptr`.
     */
-explicit iter_impl(pointer object) noexcept : m_object(object)
-{
-assert(m_object != nullptr);
-
-switch (m_object->m_type)
-{
-case value_t::object:
-{
-m_it.object_iterator = typename object_t::iterator();
-break;
-}
-
-case value_t::array:
-{
-m_it.array_iterator = typename array_t::iterator();
-break;
-}
+    explicit iter_impl(pointer object) noexcept : m_object(object)
+    {
+        assert(m_object != nullptr);
+
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+            {
+                m_it.object_iterator = typename object_t::iterator();
+                break;
+            }
+
+            case value_t::array:
+            {
+                m_it.array_iterator = typename array_t::iterator();
+                break;
+            }
+
+            default:
+            {
+                m_it.primitive_iterator = primitive_iterator_t();
+                break;
+            }
+        }
+    }
 
-default:
-{
-m_it.primitive_iterator = primitive_iterator_t();
-break;
-}
-}
-}
-
-/*!
+    /*!
     @note The conventional copy constructor and copy assignment are implicitly
           defined. Combined with the following converting constructor and
           assignment, they support: (1) copy from iterator to iterator, (2)
@@ -4195,497 +3992,496 @@ break;
           to iterator is not defined.
     */
 
-/*!
+    /*!
     @brief converting constructor
     @param[in] other  non-const iterator to copy from
     @note It is not checked whether @a other is initialized.
     */
-iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
-: m_object(other.m_object), m_it(other.m_it) {
-}
+    iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
+        : m_object(other.m_object), m_it(other.m_it) {}
 
-/*!
+    /*!
     @brief converting assignment
     @param[in,out] other  non-const iterator to copy from
     @return const/non-const iterator
     @note It is not checked whether @a other is initialized.
     */
-iter_impl& operator =(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
-{
-m_object = other.m_object;
-m_it = other.m_it;
-return *this;
-}
+    iter_impl& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
+    {
+        m_object = other.m_object;
+        m_it = other.m_it;
+        return *this;
+    }
 
-private:
-/*!
+  private:
+    /*!
     @brief set the iterator to the first value
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-void set_begin() noexcept
-{
-assert(m_object != nullptr);
-
-switch (m_object->m_type)
-{
-case value_t::object:
-{
-m_it.object_iterator = m_object->m_value.object->begin();
-break;
-}
-
-case value_t::array:
-{
-m_it.array_iterator = m_object->m_value.array->begin();
-break;
-}
-
-case value_t::null:
-{
-// set to end so begin()==end() is true: null is empty
-m_it.primitive_iterator.set_end();
-break;
-}
-
-default:
-{
-m_it.primitive_iterator.set_begin();
-break;
-}
-}
-}
+    void set_begin() noexcept
+    {
+        assert(m_object != nullptr);
+
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+            {
+                m_it.object_iterator = m_object->m_value.object->begin();
+                break;
+            }
+
+            case value_t::array:
+            {
+                m_it.array_iterator = m_object->m_value.array->begin();
+                break;
+            }
+
+            case value_t::null:
+            {
+                // set to end so begin()==end() is true: null is empty
+                m_it.primitive_iterator.set_end();
+                break;
+            }
+
+            default:
+            {
+                m_it.primitive_iterator.set_begin();
+                break;
+            }
+        }
+    }
 
-/*!
+    /*!
     @brief set the iterator past the last value
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-void set_end() noexcept
-{
-assert(m_object != nullptr);
-
-switch (m_object->m_type)
-{
-case value_t::object:
-{
-m_it.object_iterator = m_object->m_value.object->end();
-break;
-}
-
-case value_t::array:
-{
-m_it.array_iterator = m_object->m_value.array->end();
-break;
-}
-
-default:
-{
-m_it.primitive_iterator.set_end();
-break;
-}
-}
-}
+    void set_end() noexcept
+    {
+        assert(m_object != nullptr);
+
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+            {
+                m_it.object_iterator = m_object->m_value.object->end();
+                break;
+            }
+
+            case value_t::array:
+            {
+                m_it.array_iterator = m_object->m_value.array->end();
+                break;
+            }
+
+            default:
+            {
+                m_it.primitive_iterator.set_end();
+                break;
+            }
+        }
+    }
 
-public:
-/*!
+  public:
+    /*!
     @brief return a reference to the value pointed to by the iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-reference operator *() const
-{
-assert(m_object != nullptr);
-
-switch (m_object->m_type)
-{
-case value_t::object:
-{
-assert(m_it.object_iterator != m_object->m_value.object->end());
-return m_it.object_iterator->second;
-}
-
-case value_t::array:
-{
-assert(m_it.array_iterator != m_object->m_value.array->end());
-return *m_it.array_iterator;
-}
-
-case value_t::null:
-JSON_THROW(invalid_iterator::create(214, "cannot get value"));
-
-default:
-{
-if (JSON_LIKELY(m_it.primitive_iterator.is_begin()))
-{
-return *m_object;
-}
-
-JSON_THROW(invalid_iterator::create(214, "cannot get value"));
-}
-}
-}
+    reference operator*() const
+    {
+        assert(m_object != nullptr);
+
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+            {
+                assert(m_it.object_iterator != m_object->m_value.object->end());
+                return m_it.object_iterator->second;
+            }
+
+            case value_t::array:
+            {
+                assert(m_it.array_iterator != m_object->m_value.array->end());
+                return *m_it.array_iterator;
+            }
+
+            case value_t::null:
+                JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+
+            default:
+            {
+                if (JSON_LIKELY(m_it.primitive_iterator.is_begin()))
+                {
+                    return *m_object;
+                }
+
+                JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+            }
+        }
+    }
 
-/*!
+    /*!
     @brief dereference the iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-pointer operator ->() const
-{
-assert(m_object != nullptr);
-
-switch (m_object->m_type)
-{
-case value_t::object:
-{
-assert(m_it.object_iterator != m_object->m_value.object->end());
-return &(m_it.object_iterator->second);
-}
-
-case value_t::array:
-{
-assert(m_it.array_iterator != m_object->m_value.array->end());
-return &*m_it.array_iterator;
-}
-
-default:
-{
-if (JSON_LIKELY(m_it.primitive_iterator.is_begin()))
-{
-return m_object;
-}
-
-JSON_THROW(invalid_iterator::create(214, "cannot get value"));
-}
-}
-}
+    pointer operator->() const
+    {
+        assert(m_object != nullptr);
+
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+            {
+                assert(m_it.object_iterator != m_object->m_value.object->end());
+                return &(m_it.object_iterator->second);
+            }
+
+            case value_t::array:
+            {
+                assert(m_it.array_iterator != m_object->m_value.array->end());
+                return &*m_it.array_iterator;
+            }
+
+            default:
+            {
+                if (JSON_LIKELY(m_it.primitive_iterator.is_begin()))
+                {
+                    return m_object;
+                }
+
+                JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+            }
+        }
+    }
 
-/*!
+    /*!
     @brief post-increment (it++)
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-iter_impl const operator ++(int)
-{
-auto result = *this;
-++(*this);
-return result;
-}
+    iter_impl const operator++(int)
+    {
+        auto result = *this;
+        ++(*this);
+        return result;
+    }
 
-/*!
+    /*!
     @brief pre-increment (++it)
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-iter_impl& operator ++()
-{
-assert(m_object != nullptr);
-
-switch (m_object->m_type)
-{
-case value_t::object:
-{
-std::advance(m_it.object_iterator, 1);
-break;
-}
-
-case value_t::array:
-{
-std::advance(m_it.array_iterator, 1);
-break;
-}
-
-default:
-{
-++m_it.primitive_iterator;
-break;
-}
-}
-
-return *this;
-}
+    iter_impl& operator++()
+    {
+        assert(m_object != nullptr);
+
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+            {
+                std::advance(m_it.object_iterator, 1);
+                break;
+            }
+
+            case value_t::array:
+            {
+                std::advance(m_it.array_iterator, 1);
+                break;
+            }
+
+            default:
+            {
+                ++m_it.primitive_iterator;
+                break;
+            }
+        }
+
+        return *this;
+    }
 
-/*!
+    /*!
     @brief post-decrement (it--)
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-iter_impl const operator --(int)
-{
-auto result = *this;
---(*this);
-return result;
-}
+    iter_impl const operator--(int)
+    {
+        auto result = *this;
+        --(*this);
+        return result;
+    }
 
-/*!
+    /*!
     @brief pre-decrement (--it)
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-iter_impl& operator --()
-{
-assert(m_object != nullptr);
-
-switch (m_object->m_type)
-{
-case value_t::object:
-{
-std::advance(m_it.object_iterator, -1);
-break;
-}
-
-case value_t::array:
-{
-std::advance(m_it.array_iterator, -1);
-break;
-}
-
-default:
-{
---m_it.primitive_iterator;
-break;
-}
-}
-
-return *this;
-}
+    iter_impl& operator--()
+    {
+        assert(m_object != nullptr);
+
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+            {
+                std::advance(m_it.object_iterator, -1);
+                break;
+            }
+
+            case value_t::array:
+            {
+                std::advance(m_it.array_iterator, -1);
+                break;
+            }
+
+            default:
+            {
+                --m_it.primitive_iterator;
+                break;
+            }
+        }
+
+        return *this;
+    }
 
-/*!
+    /*!
     @brief  comparison: equal
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-bool operator ==(const iter_impl& other) const
-{
-// if objects are not the same, the comparison is undefined
-if (JSON_UNLIKELY(m_object != other.m_object))
-{
-JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
-}
+    bool operator==(const iter_impl& other) const
+    {
+        // if objects are not the same, the comparison is undefined
+        if (JSON_UNLIKELY(m_object != other.m_object))
+        {
+            JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
+        }
 
-assert(m_object != nullptr);
+        assert(m_object != nullptr);
 
-switch (m_object->m_type)
-{
-case value_t::object:
-return (m_it.object_iterator == other.m_it.object_iterator);
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+                return (m_it.object_iterator == other.m_it.object_iterator);
 
-case value_t::array:
-return (m_it.array_iterator == other.m_it.array_iterator);
+            case value_t::array:
+                return (m_it.array_iterator == other.m_it.array_iterator);
 
-default:
-return (m_it.primitive_iterator == other.m_it.primitive_iterator);
-}
-}
+            default:
+                return (m_it.primitive_iterator == other.m_it.primitive_iterator);
+        }
+    }
 
-/*!
+    /*!
     @brief  comparison: not equal
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-bool operator !=(const iter_impl& other) const
-{
-return not operator ==(other);
-}
+    bool operator!=(const iter_impl& other) const
+    {
+        return not operator==(other);
+    }
 
-/*!
+    /*!
     @brief  comparison: smaller
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-bool operator <(const iter_impl& other) const
-{
-// if objects are not the same, the comparison is undefined
-if (JSON_UNLIKELY(m_object != other.m_object))
-{
-JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
-}
+    bool operator<(const iter_impl& other) const
+    {
+        // if objects are not the same, the comparison is undefined
+        if (JSON_UNLIKELY(m_object != other.m_object))
+        {
+            JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
+        }
 
-assert(m_object != nullptr);
+        assert(m_object != nullptr);
 
-switch (m_object->m_type)
-{
-case value_t::object:
-JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators"));
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+                JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators"));
 
-case value_t::array:
-return (m_it.array_iterator < other.m_it.array_iterator);
+            case value_t::array:
+                return (m_it.array_iterator < other.m_it.array_iterator);
 
-default:
-return (m_it.primitive_iterator < other.m_it.primitive_iterator);
-}
-}
+            default:
+                return (m_it.primitive_iterator < other.m_it.primitive_iterator);
+        }
+    }
 
-/*!
+    /*!
     @brief  comparison: less than or equal
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-bool operator <=(const iter_impl& other) const
-{
-return not other.operator < (*this);
-}
+    bool operator<=(const iter_impl& other) const
+    {
+        return not other.operator < (*this);
+    }
 
-/*!
+    /*!
     @brief  comparison: greater than
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-bool operator >(const iter_impl& other) const
-{
-return not operator <=(other);
-}
+    bool operator>(const iter_impl& other) const
+    {
+        return not operator<=(other);
+    }
 
-/*!
+    /*!
     @brief  comparison: greater than or equal
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-bool operator >=(const iter_impl& other) const
-{
-return not operator <(other);
-}
+    bool operator>=(const iter_impl& other) const
+    {
+        return not operator<(other);
+    }
 
-/*!
+    /*!
     @brief  add to iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-iter_impl& operator +=(difference_type i)
-{
-assert(m_object != nullptr);
-
-switch (m_object->m_type)
-{
-case value_t::object:
-JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
-
-case value_t::array:
-{
-std::advance(m_it.array_iterator, i);
-break;
-}
-
-default:
-{
-m_it.primitive_iterator += i;
-break;
-}
-}
-
-return *this;
-}
+    iter_impl& operator+=(difference_type i)
+    {
+        assert(m_object != nullptr);
+
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+                JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
+
+            case value_t::array:
+            {
+                std::advance(m_it.array_iterator, i);
+                break;
+            }
+
+            default:
+            {
+                m_it.primitive_iterator += i;
+                break;
+            }
+        }
+
+        return *this;
+    }
 
-/*!
+    /*!
     @brief  subtract from iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-iter_impl& operator -=(difference_type i)
-{
-return operator +=(-i);
-}
+    iter_impl& operator-=(difference_type i)
+    {
+        return operator+=(-i);
+    }
 
-/*!
+    /*!
     @brief  add to iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-iter_impl operator +(difference_type i) const
-{
-auto result = *this;
-result += i;
-return result;
-}
+    iter_impl operator+(difference_type i) const
+    {
+        auto result = *this;
+        result += i;
+        return result;
+    }
 
-/*!
+    /*!
     @brief  addition of distance and iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-friend iter_impl operator +(difference_type i, const iter_impl& it)
-{
-auto result = it;
-result += i;
-return result;
-}
+    friend iter_impl operator+(difference_type i, const iter_impl& it)
+    {
+        auto result = it;
+        result += i;
+        return result;
+    }
 
-/*!
+    /*!
     @brief  subtract from iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-iter_impl operator -(difference_type i) const
-{
-auto result = *this;
-result -= i;
-return result;
-}
+    iter_impl operator-(difference_type i) const
+    {
+        auto result = *this;
+        result -= i;
+        return result;
+    }
 
-/*!
+    /*!
     @brief  return difference
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-difference_type operator -(const iter_impl& other) const
-{
-assert(m_object != nullptr);
+    difference_type operator-(const iter_impl& other) const
+    {
+        assert(m_object != nullptr);
 
-switch (m_object->m_type)
-{
-case value_t::object:
-JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+                JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
 
-case value_t::array:
-return m_it.array_iterator - other.m_it.array_iterator;
+            case value_t::array:
+                return m_it.array_iterator - other.m_it.array_iterator;
 
-default:
-return m_it.primitive_iterator - other.m_it.primitive_iterator;
-}
-}
+            default:
+                return m_it.primitive_iterator - other.m_it.primitive_iterator;
+        }
+    }
 
-/*!
+    /*!
     @brief  access to successor
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-reference operator [](difference_type n) const
-{
-assert(m_object != nullptr);
+    reference operator[](difference_type n) const
+    {
+        assert(m_object != nullptr);
 
-switch (m_object->m_type)
-{
-case value_t::object:
-JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators"));
+        switch (m_object->m_type)
+        {
+            case value_t::object:
+                JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators"));
 
-case value_t::array:
-return *std::next(m_it.array_iterator, n);
+            case value_t::array:
+                return *std::next(m_it.array_iterator, n);
 
-case value_t::null:
-JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+            case value_t::null:
+                JSON_THROW(invalid_iterator::create(214, "cannot get value"));
 
-default:
-{
-if (JSON_LIKELY(m_it.primitive_iterator.get_value() == -n))
-{
-return *m_object;
-}
+            default:
+            {
+                if (JSON_LIKELY(m_it.primitive_iterator.get_value() == -n))
+                {
+                    return *m_object;
+                }
 
-JSON_THROW(invalid_iterator::create(214, "cannot get value"));
-}
-}
-}
+                JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+            }
+        }
+    }
 
-/*!
+    /*!
     @brief  return the key of an object iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-typename object_t::key_type key() const
-{
-assert(m_object != nullptr);
+    typename object_t::key_type key() const
+    {
+        assert(m_object != nullptr);
 
-if (JSON_LIKELY(m_object->is_object()))
-{
-return m_it.object_iterator->first;
-}
+        if (JSON_LIKELY(m_object->is_object()))
+        {
+            return m_it.object_iterator->first;
+        }
 
-JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators"));
-}
+        JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators"));
+    }
 
-/*!
+    /*!
     @brief  return the value of an iterator
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
     */
-reference value() const
-{
-return operator *();
-}
+    reference value() const
+    {
+        return operator*();
+    }
 
-private:
-/// associated JSON instance
-pointer m_object = nullptr;
-/// the actual iterator of the associated instance
-internal_iterator<typename std::remove_const<BasicJsonType>::type> m_it;
+  private:
+    /// associated JSON instance
+    pointer m_object = nullptr;
+    /// the actual iterator of the associated instance
+    internal_iterator<typename std::remove_const<BasicJsonType>::type> m_it;
 };
 }
 }
@@ -4693,10 +4489,8 @@ internal_iterator<typename std::remove_const<BasicJsonType>::type> m_it;
 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
 
 
-#include
-<cstddef> // size_t
-#include
-<string> // string, to_string
+#include <cstddef> // size_t
+#include <string> // string, to_string
 
 // #include <nlohmann/detail/value_t.hpp>
 
@@ -4708,113 +4502,108 @@ namespace detail
 /// proxy class for the items() function
 template<typename IteratorType> class iteration_proxy
 {
-private:
-/// helper class for iteration
-class iteration_proxy_internal
-{
-private:
-/// the iterator
-IteratorType anchor;
-/// an index for arrays (used to create key names)
-std::size_t array_index = 0;
-
-public:
-explicit iteration_proxy_internal(IteratorType it) noexcept : anchor(it) {
-}
+  private:
+    /// helper class for iteration
+    class iteration_proxy_internal
+    {
+      private:
+        /// the iterator
+        IteratorType anchor;
+        /// an index for arrays (used to create key names)
+        std::size_t array_index = 0;
+
+      public:
+        explicit iteration_proxy_internal(IteratorType it) noexcept : anchor(it) {}
+
+        /// dereference operator (needed for range-based for)
+        iteration_proxy_internal& operator*()
+        {
+            return *this;
+        }
+
+        /// increment operator (needed for range-based for)
+        iteration_proxy_internal& operator++()
+        {
+            ++anchor;
+            ++array_index;
+
+            return *this;
+        }
+
+        /// inequality operator (needed for range-based for)
+        bool operator!=(const iteration_proxy_internal& o) const noexcept
+        {
+            return anchor != o.anchor;
+        }
+
+        /// return key of the iterator
+        std::string key() const
+        {
+            assert(anchor.m_object != nullptr);
+
+            switch (anchor.m_object->type())
+            {
+                // use integer array index as key
+                case value_t::array:
+                    return std::to_string(array_index);
+
+                // use key from the object
+                case value_t::object:
+                    return anchor.key();
+
+                // use an empty key for all primitive types
+                default:
+                    return "";
+            }
+        }
+
+        /// return value of the iterator
+        typename IteratorType::reference value() const
+        {
+            return anchor.value();
+        }
+    };
+
+    /// the container to iterate
+    typename IteratorType::reference container;
+
+  public:
+    /// construct iteration proxy from a container
+    explicit iteration_proxy(typename IteratorType::reference cont) noexcept
+        : container(cont) {}
+
+    /// return iterator begin (needed for range-based for)
+    iteration_proxy_internal begin() noexcept
+    {
+        return iteration_proxy_internal(container.begin());
+    }
 
-/// dereference operator (needed for range-based for)
-iteration_proxy_internal& operator *()
-{
-return *this;
+    /// return iterator end (needed for range-based for)
+    iteration_proxy_internal end() noexcept
+    {
+        return iteration_proxy_internal(container.end());
+    }
+};
+}
 }
 
-/// increment operator (needed for range-based for)
-iteration_proxy_internal& operator ++()
-{
-++anchor;
-++array_index;
+// #include <nlohmann/detail/iterators/json_reverse_iterator.hpp>
 
-return *this;
-}
 
-/// inequality operator (needed for range-based for)
-bool operator !=(const iteration_proxy_internal& o) const noexcept
-{
-return anchor != o.anchor;
-}
+#include <cstddef> // ptrdiff_t
+#include <iterator> // reverse_iterator
+#include <utility> // declval
 
-/// return key of the iterator
-std::string key() const
+namespace nlohmann
 {
-assert(anchor.m_object != nullptr);
-
-switch (anchor.m_object->type())
+namespace detail
 {
-// use integer array index as key
-case value_t::array:
-return std::to_string(array_index);
+//////////////////////
+// reverse_iterator //
+//////////////////////
 
-// use key from the object
-case value_t::object:
-return anchor.key();
-
-// use an empty key for all primitive types
-default:
-return "";
-}
-}
-
-/// return value of the iterator
-typename IteratorType::reference value() const
-{
-return anchor.value();
-}
-};
-
-/// the container to iterate
-typename IteratorType::reference container;
-
-public:
-/// construct iteration proxy from a container
-explicit iteration_proxy(typename IteratorType::reference cont) noexcept
-: container(cont) {
-}
-
-/// return iterator begin (needed for range-based for)
-iteration_proxy_internal begin() noexcept
-{
-return iteration_proxy_internal(container.begin());
-}
-
-/// return iterator end (needed for range-based for)
-iteration_proxy_internal end() noexcept
-{
-return iteration_proxy_internal(container.end());
-}
-};
-}
-}
-
-// #include <nlohmann/detail/iterators/json_reverse_iterator.hpp>
-
-
-#include
-<cstddef> // ptrdiff_t
-#include
-<iterator> // reverse_iterator
-#include
-<utility> // declval
-
-namespace nlohmann
-{
-namespace detail
-{
-//////////////////////
-// reverse_iterator //
-//////////////////////
-
-/*!
-@brief a template for a reverse iterator class
+/*!
+@brief a template for a reverse iterator class
 
 @tparam Base the base iterator type to reverse. Valid types are @ref
 iterator (to create @ref reverse_iterator) and @ref const_iterator (to
@@ -4832,92 +4621,89 @@ create @ref const_reverse_iterator).
 @since version 1.0.0
 */
 template<typename Base>
-class json_reverse_iterator :
-public std::reverse_iterator<Base>
+class json_reverse_iterator : public std::reverse_iterator<Base>
 {
-public:
-using difference_type = std::ptrdiff_t;
-/// shortcut to the reverse iterator adapter
-using base_iterator = std::reverse_iterator<Base>;
-/// the reference type for the pointed-to element
-using reference = typename Base::reference;
-
-/// create reverse iterator from iterator
-json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
-: base_iterator(it) {
-}
+  public:
+    using difference_type = std::ptrdiff_t;
+    /// shortcut to the reverse iterator adapter
+    using base_iterator = std::reverse_iterator<Base>;
+    /// the reference type for the pointed-to element
+    using reference = typename Base::reference;
 
-/// create reverse iterator from base class
-json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {
-}
+    /// create reverse iterator from iterator
+    json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
+        : base_iterator(it) {}
 
-/// post-increment (it++)
-json_reverse_iterator const operator ++(int)
-{
-return static_cast<json_reverse_iterator>(base_iterator::operator++(1));
-}
+    /// create reverse iterator from base class
+    json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {}
 
-/// pre-increment (++it)
-json_reverse_iterator& operator ++()
-{
-return static_cast<json_reverse_iterator&>(base_iterator::operator ++());
-}
+    /// post-increment (it++)
+    json_reverse_iterator const operator++(int)
+    {
+        return static_cast<json_reverse_iterator>(base_iterator::operator++(1));
+    }
 
-/// post-decrement (it--)
-json_reverse_iterator const operator --(int)
-{
-return static_cast<json_reverse_iterator>(base_iterator::operator --(1));
-}
+    /// pre-increment (++it)
+    json_reverse_iterator& operator++()
+    {
+        return static_cast<json_reverse_iterator&>(base_iterator::operator++());
+    }
 
-/// pre-decrement (--it)
-json_reverse_iterator& operator --()
-{
-return static_cast<json_reverse_iterator&>(base_iterator::operator --());
-}
+    /// post-decrement (it--)
+    json_reverse_iterator const operator--(int)
+    {
+        return static_cast<json_reverse_iterator>(base_iterator::operator--(1));
+    }
 
-/// add to iterator
-json_reverse_iterator& operator +=(difference_type i)
-{
-return static_cast<json_reverse_iterator&>(base_iterator::operator +=(i));
-}
+    /// pre-decrement (--it)
+    json_reverse_iterator& operator--()
+    {
+        return static_cast<json_reverse_iterator&>(base_iterator::operator--());
+    }
 
-/// add to iterator
-json_reverse_iterator operator +(difference_type i) const
-{
-return static_cast<json_reverse_iterator>(base_iterator::operator +(i));
-}
+    /// add to iterator
+    json_reverse_iterator& operator+=(difference_type i)
+    {
+        return static_cast<json_reverse_iterator&>(base_iterator::operator+=(i));
+    }
 
-/// subtract from iterator
-json_reverse_iterator operator -(difference_type i) const
-{
-return static_cast<json_reverse_iterator>(base_iterator::operator -(i));
-}
+    /// add to iterator
+    json_reverse_iterator operator+(difference_type i) const
+    {
+        return static_cast<json_reverse_iterator>(base_iterator::operator+(i));
+    }
 
-/// return difference
-difference_type operator -(const json_reverse_iterator& other) const
-{
-return base_iterator(*this) - base_iterator(other);
-}
+    /// subtract from iterator
+    json_reverse_iterator operator-(difference_type i) const
+    {
+        return static_cast<json_reverse_iterator>(base_iterator::operator-(i));
+    }
 
-/// access to successor
-reference operator [](difference_type n) const
-{
-return *(this->operator +(n));
-}
+    /// return difference
+    difference_type operator-(const json_reverse_iterator& other) const
+    {
+        return base_iterator(*this) - base_iterator(other);
+    }
 
-/// return the key of an object iterator
-auto key() const -> decltype(std::declval<Base>().key())
-{
-auto it = --this->base();
-return it.key();
-}
+    /// access to successor
+    reference operator[](difference_type n) const
+    {
+        return *(this->operator+(n));
+    }
 
-/// return the value of an iterator
-reference value() const
-{
-auto it = --this->base();
-return it.operator * ();
-}
+    /// return the key of an object iterator
+    auto key() const -> decltype(std::declval<Base>().key())
+    {
+        auto it = --this->base();
+        return it.key();
+    }
+
+    /// return the value of an iterator
+    reference value() const
+    {
+        auto it = --this->base();
+        return it.operator * ();
+    }
 };
 }
 }
@@ -4925,22 +4711,14 @@ return it.operator * ();
 // #include <nlohmann/detail/output/output_adapters.hpp>
 
 
-#include
-<algorithm> // copy
-#include
-<cstddef> // size_t
-#include
-<ios> // streamsize
-#include
-<iterator> // back_inserter
-#include
-<memory> // shared_ptr, make_shared
-#include
-<ostream> // basic_ostream
-#include
-<string> // basic_string
-#include
-<vector> // vector
+#include <algorithm> // copy
+#include <cstddef> // size_t
+#include <ios> // streamsize
+#include <iterator> // back_inserter
+#include <memory> // shared_ptr, make_shared
+#include <ostream> // basic_ostream
+#include <string> // basic_string
+#include <vector> // vector
 
 namespace nlohmann
 {
@@ -4949,9 +4727,9 @@ namespace detail
 /// abstract output adapter interface
 template<typename CharType> struct output_adapter_protocol
 {
-virtual void write_character(CharType c) = 0;
-virtual void write_characters(const CharType* s, std::size_t length) = 0;
-virtual ~output_adapter_protocol() = default;
+    virtual void write_character(CharType c) = 0;
+    virtual void write_characters(const CharType* s, std::size_t length) = 0;
+    virtual ~output_adapter_protocol() = default;
 };
 
 /// a type to simplify interfaces
@@ -4960,96 +4738,87 @@ using output_adapter_t = std::shared_ptr<output_adapter_protocol<CharType>>;
 
 /// output adapter for byte vectors
 template<typename CharType>
-class output_vector_adapter :
-public output_adapter_protocol<CharType>
+class output_vector_adapter : public output_adapter_protocol<CharType>
 {
-public:
-explicit output_vector_adapter(std::vector<CharType>& vec) : v(vec) {
-}
+  public:
+    explicit output_vector_adapter(std::vector<CharType>& vec) : v(vec) {}
 
-void write_character(CharType c) override
-{
-v.push_back(c);
-}
+    void write_character(CharType c) override
+    {
+        v.push_back(c);
+    }
 
-void write_characters(const CharType* s, std::size_t length) override
-{
-std::copy(s, s + length, std::back_inserter(v));
-}
+    void write_characters(const CharType* s, std::size_t length) override
+    {
+        std::copy(s, s + length, std::back_inserter(v));
+    }
 
-private:
-std::vector<CharType>& v;
+  private:
+    std::vector<CharType>& v;
 };
 
 /// output adapter for output streams
 template<typename CharType>
-class output_stream_adapter :
-public output_adapter_protocol<CharType>
+class output_stream_adapter : public output_adapter_protocol<CharType>
 {
-public:
-explicit output_stream_adapter(std::basic_ostream<CharType>& s) : stream(s) {
-}
+  public:
+    explicit output_stream_adapter(std::basic_ostream<CharType>& s) : stream(s) {}
 
-void write_character(CharType c) override
-{
-stream.put(c);
-}
+    void write_character(CharType c) override
+    {
+        stream.put(c);
+    }
 
-void write_characters(const CharType* s, std::size_t length) override
-{
-stream.write(s, static_cast<std::streamsize>(length));
-}
+    void write_characters(const CharType* s, std::size_t length) override
+    {
+        stream.write(s, static_cast<std::streamsize>(length));
+    }
 
-private:
-std::basic_ostream<CharType>& stream;
+  private:
+    std::basic_ostream<CharType>& stream;
 };
 
 /// output adapter for basic_string
 template<typename CharType, typename StringType = std::basic_string<CharType>>
-class output_string_adapter :
-public output_adapter_protocol<CharType>
+class output_string_adapter : public output_adapter_protocol<CharType>
 {
-public:
-explicit output_string_adapter(StringType& s) : str(s) {
-}
+  public:
+    explicit output_string_adapter(StringType& s) : str(s) {}
 
-void write_character(CharType c) override
-{
-str.push_back(c);
-}
+    void write_character(CharType c) override
+    {
+        str.push_back(c);
+    }
 
-void write_characters(const CharType* s, std::size_t length) override
-{
-str.append(s, length);
-}
+    void write_characters(const CharType* s, std::size_t length) override
+    {
+        str.append(s, length);
+    }
 
-private:
-StringType& str;
+  private:
+    StringType& str;
 };
 
 template<typename CharType, typename StringType = std::basic_string<CharType>>
 class output_adapter
 {
-public:
-output_adapter(std::vector<CharType>& vec)
-: oa(std::make_shared<output_vector_adapter<CharType>>(vec)) {
-}
+  public:
+    output_adapter(std::vector<CharType>& vec)
+        : oa(std::make_shared<output_vector_adapter<CharType>>(vec)) {}
 
-output_adapter(std::basic_ostream<CharType>& s)
-: oa(std::make_shared<output_stream_adapter<CharType>>(s)) {
-}
+    output_adapter(std::basic_ostream<CharType>& s)
+        : oa(std::make_shared<output_stream_adapter<CharType>>(s)) {}
 
-output_adapter(StringType& s)
-: oa(std::make_shared<output_string_adapter<CharType, StringType>>(s)) {
-}
+    output_adapter(StringType& s)
+        : oa(std::make_shared<output_string_adapter<CharType, StringType>>(s)) {}
 
-operator output_adapter_t<CharType>()
-{
-return oa;
-}
+    operator output_adapter_t<CharType>()
+    {
+        return oa;
+    }
 
-private:
-output_adapter_t<CharType> oa = nullptr;
+  private:
+    output_adapter_t<CharType> oa = nullptr;
 };
 }
 }
@@ -5057,34 +4826,20 @@ output_adapter_t<CharType> oa = nullptr;
 // #include <nlohmann/detail/input/binary_reader.hpp>
 
 
-#include
-<algorithm> // generate_n
-#include
-<array> // array
-#include
-<cassert> // assert
-#include
-<cmath> // ldexp
-#include
-<cstddef> // size_t
-#include
-<cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
-#include
-<cstring> // memcpy
-#include
-<iomanip> // setw, setfill
-#include
-<ios> // hex
-#include
-<iterator> // back_inserter
-#include
-<limits> // numeric_limits
-#include
-<sstream> // stringstream
-#include
-<string> // char_traits, string
-#include
-<utility> // make_pair, move
+#include <algorithm> // generate_n
+#include <array> // array
+#include <cassert> // assert
+#include <cmath> // ldexp
+#include <cstddef> // size_t
+#include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
+#include <cstring> // memcpy
+#include <iomanip> // setw, setfill
+#include <ios> // hex
+#include <iterator> // back_inserter
+#include <limits> // numeric_limits
+#include <sstream> // stringstream
+#include <string> // char_traits, string
+#include <utility> // make_pair, move
 
 // #include <nlohmann/detail/input/input_adapters.hpp>
 
@@ -5109,22 +4864,22 @@ namespace detail
 template<typename BasicJsonType>
 class binary_reader
 {
-using number_integer_t = typename BasicJsonType::number_integer_t;
-using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
-using string_t = typename BasicJsonType::string_t;
+    using number_integer_t = typename BasicJsonType::number_integer_t;
+    using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+    using string_t = typename BasicJsonType::string_t;
 
-public:
-/*!
+  public:
+    /*!
     @brief create a binary reader
 
     @param[in] adapter  input adapter to read from
     */
-explicit binary_reader(input_adapter_t adapter) : ia(std::move(adapter))
-{
-assert(ia);
-}
+    explicit binary_reader(input_adapter_t adapter) : ia(std::move(adapter))
+    {
+        assert(ia);
+    }
 
-/*!
+    /*!
     @brief create a JSON value from CBOR input
 
     @param[in] strict  whether to expect the input to be consumed completed
@@ -5134,18 +4889,18 @@ assert(ia);
                            not reached when @a strict was set to true
     @throw parse_error.112 if unsupported byte was read
     */
-BasicJsonType parse_cbor(const bool strict)
-{
-const auto res = parse_cbor_internal();
-if (strict)
-{
-get();
-expect_eof();
-}
-return res;
-}
+    BasicJsonType parse_cbor(const bool strict)
+    {
+        const auto res = parse_cbor_internal();
+        if (strict)
+        {
+            get();
+            expect_eof();
+        }
+        return res;
+    }
 
-/*!
+    /*!
     @brief create a JSON value from MessagePack input
 
     @param[in] strict  whether to expect the input to be consumed completed
@@ -5155,18 +4910,18 @@ return res;
                            not reached when @a strict was set to true
     @throw parse_error.112 if unsupported byte was read
     */
-BasicJsonType parse_msgpack(const bool strict)
-{
-const auto res = parse_msgpack_internal();
-if (strict)
-{
-get();
-expect_eof();
-}
-return res;
-}
+    BasicJsonType parse_msgpack(const bool strict)
+    {
+        const auto res = parse_msgpack_internal();
+        if (strict)
+        {
+            get();
+            expect_eof();
+        }
+        return res;
+    }
 
-/*!
+    /*!
     @brief create a JSON value from UBJSON input
 
     @param[in] strict  whether to expect the input to be consumed completed
@@ -5176,895 +4931,895 @@ return res;
                            not reached when @a strict was set to true
     @throw parse_error.112 if unsupported byte was read
     */
-BasicJsonType parse_ubjson(const bool strict)
-{
-const auto res = parse_ubjson_internal();
-if (strict)
-{
-get_ignore_noop();
-expect_eof();
-}
-return res;
-}
+    BasicJsonType parse_ubjson(const bool strict)
+    {
+        const auto res = parse_ubjson_internal();
+        if (strict)
+        {
+            get_ignore_noop();
+            expect_eof();
+        }
+        return res;
+    }
 
-/*!
+    /*!
     @brief determine system byte order
 
     @return true if and only if system's byte order is little endian
 
     @note from http://stackoverflow.com/a/1001328/266378
     */
-static constexpr bool little_endianess(int num = 1) noexcept
-{
-return (*reinterpret_cast<char*>(&num) == 1);
-}
+    static constexpr bool little_endianess(int num = 1) noexcept
+    {
+        return (*reinterpret_cast<char*>(&num) == 1);
+    }
 
-private:
-/*!
+  private:
+    /*!
     @param[in] get_char  whether a new character should be retrieved from the
                          input (true, default) or whether the last read
                          character should be considered instead
     */
-BasicJsonType parse_cbor_internal(const bool get_char = true)
-{
-switch (get_char ? get() : current)
-{
-// EOF
-case std::char_traits<char>::eof():
-JSON_THROW(parse_error::create(110, chars_read, "unexpected end of input"));
-
-// Integer 0x00..0x17 (0..23)
-case 0x00:
-case 0x01:
-case 0x02:
-case 0x03:
-case 0x04:
-case 0x05:
-case 0x06:
-case 0x07:
-case 0x08:
-case 0x09:
-case 0x0A:
-case 0x0B:
-case 0x0C:
-case 0x0D:
-case 0x0E:
-case 0x0F:
-case 0x10:
-case 0x11:
-case 0x12:
-case 0x13:
-case 0x14:
-case 0x15:
-case 0x16:
-case 0x17:
-return static_cast<number_unsigned_t>(current);
-
-case 0x18: // Unsigned integer (one-byte uint8_t follows)
-return get_number<uint8_t>();
-
-case 0x19: // Unsigned integer (two-byte uint16_t follows)
-return get_number<uint16_t>();
-
-case 0x1A: // Unsigned integer (four-byte uint32_t follows)
-return get_number<uint32_t>();
-
-case 0x1B: // Unsigned integer (eight-byte uint64_t follows)
-return get_number<uint64_t>();
-
-// Negative integer -1-0x00..-1-0x17 (-1..-24)
-case 0x20:
-case 0x21:
-case 0x22:
-case 0x23:
-case 0x24:
-case 0x25:
-case 0x26:
-case 0x27:
-case 0x28:
-case 0x29:
-case 0x2A:
-case 0x2B:
-case 0x2C:
-case 0x2D:
-case 0x2E:
-case 0x2F:
-case 0x30:
-case 0x31:
-case 0x32:
-case 0x33:
-case 0x34:
-case 0x35:
-case 0x36:
-case 0x37:
-return static_cast<int8_t>(0x20 - 1 - current);
-
-case 0x38: // Negative integer (one-byte uint8_t follows)
-{
-return static_cast<number_integer_t>(-1) - get_number<uint8_t>();
-}
+    BasicJsonType parse_cbor_internal(const bool get_char = true)
+    {
+        switch (get_char ? get() : current)
+        {
+            // EOF
+            case std::char_traits<char>::eof():
+                JSON_THROW(parse_error::create(110, chars_read, "unexpected end of input"));
+
+            // Integer 0x00..0x17 (0..23)
+            case 0x00:
+            case 0x01:
+            case 0x02:
+            case 0x03:
+            case 0x04:
+            case 0x05:
+            case 0x06:
+            case 0x07:
+            case 0x08:
+            case 0x09:
+            case 0x0A:
+            case 0x0B:
+            case 0x0C:
+            case 0x0D:
+            case 0x0E:
+            case 0x0F:
+            case 0x10:
+            case 0x11:
+            case 0x12:
+            case 0x13:
+            case 0x14:
+            case 0x15:
+            case 0x16:
+            case 0x17:
+                return static_cast<number_unsigned_t>(current);
+
+            case 0x18: // Unsigned integer (one-byte uint8_t follows)
+                return get_number<uint8_t>();
+
+            case 0x19: // Unsigned integer (two-byte uint16_t follows)
+                return get_number<uint16_t>();
+
+            case 0x1A: // Unsigned integer (four-byte uint32_t follows)
+                return get_number<uint32_t>();
+
+            case 0x1B: // Unsigned integer (eight-byte uint64_t follows)
+                return get_number<uint64_t>();
+
+            // Negative integer -1-0x00..-1-0x17 (-1..-24)
+            case 0x20:
+            case 0x21:
+            case 0x22:
+            case 0x23:
+            case 0x24:
+            case 0x25:
+            case 0x26:
+            case 0x27:
+            case 0x28:
+            case 0x29:
+            case 0x2A:
+            case 0x2B:
+            case 0x2C:
+            case 0x2D:
+            case 0x2E:
+            case 0x2F:
+            case 0x30:
+            case 0x31:
+            case 0x32:
+            case 0x33:
+            case 0x34:
+            case 0x35:
+            case 0x36:
+            case 0x37:
+                return static_cast<int8_t>(0x20 - 1 - current);
+
+            case 0x38: // Negative integer (one-byte uint8_t follows)
+            {
+                return static_cast<number_integer_t>(-1) - get_number<uint8_t>();
+            }
+
+            case 0x39: // Negative integer -1-n (two-byte uint16_t follows)
+            {
+                return static_cast<number_integer_t>(-1) - get_number<uint16_t>();
+            }
+
+            case 0x3A: // Negative integer -1-n (four-byte uint32_t follows)
+            {
+                return static_cast<number_integer_t>(-1) - get_number<uint32_t>();
+            }
+
+            case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows)
+            {
+                return static_cast<number_integer_t>(-1) -
+                       static_cast<number_integer_t>(get_number<uint64_t>());
+            }
+
+            // UTF-8 string (0x00..0x17 bytes follow)
+            case 0x60:
+            case 0x61:
+            case 0x62:
+            case 0x63:
+            case 0x64:
+            case 0x65:
+            case 0x66:
+            case 0x67:
+            case 0x68:
+            case 0x69:
+            case 0x6A:
+            case 0x6B:
+            case 0x6C:
+            case 0x6D:
+            case 0x6E:
+            case 0x6F:
+            case 0x70:
+            case 0x71:
+            case 0x72:
+            case 0x73:
+            case 0x74:
+            case 0x75:
+            case 0x76:
+            case 0x77:
+            case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
+            case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
+            case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
+            case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
+            case 0x7F: // UTF-8 string (indefinite length)
+            {
+                return get_cbor_string();
+            }
+
+            // array (0x00..0x17 data items follow)
+            case 0x80:
+            case 0x81:
+            case 0x82:
+            case 0x83:
+            case 0x84:
+            case 0x85:
+            case 0x86:
+            case 0x87:
+            case 0x88:
+            case 0x89:
+            case 0x8A:
+            case 0x8B:
+            case 0x8C:
+            case 0x8D:
+            case 0x8E:
+            case 0x8F:
+            case 0x90:
+            case 0x91:
+            case 0x92:
+            case 0x93:
+            case 0x94:
+            case 0x95:
+            case 0x96:
+            case 0x97:
+            {
+                return get_cbor_array(current & 0x1F);
+            }
+
+            case 0x98: // array (one-byte uint8_t for n follows)
+            {
+                return get_cbor_array(get_number<uint8_t>());
+            }
+
+            case 0x99: // array (two-byte uint16_t for n follow)
+            {
+                return get_cbor_array(get_number<uint16_t>());
+            }
+
+            case 0x9A: // array (four-byte uint32_t for n follow)
+            {
+                return get_cbor_array(get_number<uint32_t>());
+            }
+
+            case 0x9B: // array (eight-byte uint64_t for n follow)
+            {
+                return get_cbor_array(get_number<uint64_t>());
+            }
+
+            case 0x9F: // array (indefinite length)
+            {
+                BasicJsonType result = value_t::array;
+                while (get() != 0xFF)
+                {
+                    result.push_back(parse_cbor_internal(false));
+                }
+                return result;
+            }
+
+            // map (0x00..0x17 pairs of data items follow)
+            case 0xA0:
+            case 0xA1:
+            case 0xA2:
+            case 0xA3:
+            case 0xA4:
+            case 0xA5:
+            case 0xA6:
+            case 0xA7:
+            case 0xA8:
+            case 0xA9:
+            case 0xAA:
+            case 0xAB:
+            case 0xAC:
+            case 0xAD:
+            case 0xAE:
+            case 0xAF:
+            case 0xB0:
+            case 0xB1:
+            case 0xB2:
+            case 0xB3:
+            case 0xB4:
+            case 0xB5:
+            case 0xB6:
+            case 0xB7:
+            {
+                return get_cbor_object(current & 0x1F);
+            }
+
+            case 0xB8: // map (one-byte uint8_t for n follows)
+            {
+                return get_cbor_object(get_number<uint8_t>());
+            }
+
+            case 0xB9: // map (two-byte uint16_t for n follow)
+            {
+                return get_cbor_object(get_number<uint16_t>());
+            }
+
+            case 0xBA: // map (four-byte uint32_t for n follow)
+            {
+                return get_cbor_object(get_number<uint32_t>());
+            }
+
+            case 0xBB: // map (eight-byte uint64_t for n follow)
+            {
+                return get_cbor_object(get_number<uint64_t>());
+            }
+
+            case 0xBF: // map (indefinite length)
+            {
+                BasicJsonType result = value_t::object;
+                while (get() != 0xFF)
+                {
+                    auto key = get_cbor_string();
+                    result[key] = parse_cbor_internal();
+                }
+                return result;
+            }
+
+            case 0xF4: // false
+            {
+                return false;
+            }
+
+            case 0xF5: // true
+            {
+                return true;
+            }
+
+            case 0xF6: // null
+            {
+                return value_t::null;
+            }
+
+            case 0xF9: // Half-Precision Float (two-byte IEEE 754)
+            {
+                const int byte1 = get();
+                unexpect_eof();
+                const int byte2 = get();
+                unexpect_eof();
+
+                // code from RFC 7049, Appendix D, Figure 3:
+                // As half-precision floating-point numbers were only added
+                // to IEEE 754 in 2008, today's programming platforms often
+                // still only have limited support for them. It is very
+                // easy to include at least decoding support for them even
+                // without such support. An example of a small decoder for
+                // half-precision floating-point numbers in the C language
+                // is shown in Fig. 3.
+                const int half = (byte1 << 8) + byte2;
+                const int exp = (half >> 10) & 0x1F;
+                const int mant = half & 0x3FF;
+                double val;
+                if (exp == 0)
+                {
+                    val = std::ldexp(mant, -24);
+                }
+                else if (exp != 31)
+                {
+                    val = std::ldexp(mant + 1024, exp - 25);
+                }
+                else
+                {
+                    val = (mant == 0) ? std::numeric_limits<double>::infinity()
+                          : std::numeric_limits<double>::quiet_NaN();
+                }
+                return (half & 0x8000) != 0 ? -val : val;
+            }
+
+            case 0xFA: // Single-Precision Float (four-byte IEEE 754)
+            {
+                return get_number<float>();
+            }
+
+            case 0xFB: // Double-Precision Float (eight-byte IEEE 754)
+            {
+                return get_number<double>();
+            }
+
+            default: // anything else (0xFF is handled inside the other types)
+            {
+                std::stringstream ss;
+                ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
+                JSON_THROW(parse_error::create(112, chars_read, "error reading CBOR; last byte: 0x" + ss.str()));
+            }
+        }
+    }
 
-case 0x39: // Negative integer -1-n (two-byte uint16_t follows)
-{
-return static_cast<number_integer_t>(-1) - get_number<uint16_t>();
-}
+    BasicJsonType parse_msgpack_internal()
+    {
+        switch (get())
+        {
+            // EOF
+            case std::char_traits<char>::eof():
+                JSON_THROW(parse_error::create(110, chars_read, "unexpected end of input"));
+
+            // positive fixint
+            case 0x00:
+            case 0x01:
+            case 0x02:
+            case 0x03:
+            case 0x04:
+            case 0x05:
+            case 0x06:
+            case 0x07:
+            case 0x08:
+            case 0x09:
+            case 0x0A:
+            case 0x0B:
+            case 0x0C:
+            case 0x0D:
+            case 0x0E:
+            case 0x0F:
+            case 0x10:
+            case 0x11:
+            case 0x12:
+            case 0x13:
+            case 0x14:
+            case 0x15:
+            case 0x16:
+            case 0x17:
+            case 0x18:
+            case 0x19:
+            case 0x1A:
+            case 0x1B:
+            case 0x1C:
+            case 0x1D:
+            case 0x1E:
+            case 0x1F:
+            case 0x20:
+            case 0x21:
+            case 0x22:
+            case 0x23:
+            case 0x24:
+            case 0x25:
+            case 0x26:
+            case 0x27:
+            case 0x28:
+            case 0x29:
+            case 0x2A:
+            case 0x2B:
+            case 0x2C:
+            case 0x2D:
+            case 0x2E:
+            case 0x2F:
+            case 0x30:
+            case 0x31:
+            case 0x32:
+            case 0x33:
+            case 0x34:
+            case 0x35:
+            case 0x36:
+            case 0x37:
+            case 0x38:
+            case 0x39:
+            case 0x3A:
+            case 0x3B:
+            case 0x3C:
+            case 0x3D:
+            case 0x3E:
+            case 0x3F:
+            case 0x40:
+            case 0x41:
+            case 0x42:
+            case 0x43:
+            case 0x44:
+            case 0x45:
+            case 0x46:
+            case 0x47:
+            case 0x48:
+            case 0x49:
+            case 0x4A:
+            case 0x4B:
+            case 0x4C:
+            case 0x4D:
+            case 0x4E:
+            case 0x4F:
+            case 0x50:
+            case 0x51:
+            case 0x52:
+            case 0x53:
+            case 0x54:
+            case 0x55:
+            case 0x56:
+            case 0x57:
+            case 0x58:
+            case 0x59:
+            case 0x5A:
+            case 0x5B:
+            case 0x5C:
+            case 0x5D:
+            case 0x5E:
+            case 0x5F:
+            case 0x60:
+            case 0x61:
+            case 0x62:
+            case 0x63:
+            case 0x64:
+            case 0x65:
+            case 0x66:
+            case 0x67:
+            case 0x68:
+            case 0x69:
+            case 0x6A:
+            case 0x6B:
+            case 0x6C:
+            case 0x6D:
+            case 0x6E:
+            case 0x6F:
+            case 0x70:
+            case 0x71:
+            case 0x72:
+            case 0x73:
+            case 0x74:
+            case 0x75:
+            case 0x76:
+            case 0x77:
+            case 0x78:
+            case 0x79:
+            case 0x7A:
+            case 0x7B:
+            case 0x7C:
+            case 0x7D:
+            case 0x7E:
+            case 0x7F:
+                return static_cast<number_unsigned_t>(current);
+
+            // fixmap
+            case 0x80:
+            case 0x81:
+            case 0x82:
+            case 0x83:
+            case 0x84:
+            case 0x85:
+            case 0x86:
+            case 0x87:
+            case 0x88:
+            case 0x89:
+            case 0x8A:
+            case 0x8B:
+            case 0x8C:
+            case 0x8D:
+            case 0x8E:
+            case 0x8F:
+            {
+                return get_msgpack_object(current & 0x0F);
+            }
+
+            // fixarray
+            case 0x90:
+            case 0x91:
+            case 0x92:
+            case 0x93:
+            case 0x94:
+            case 0x95:
+            case 0x96:
+            case 0x97:
+            case 0x98:
+            case 0x99:
+            case 0x9A:
+            case 0x9B:
+            case 0x9C:
+            case 0x9D:
+            case 0x9E:
+            case 0x9F:
+            {
+                return get_msgpack_array(current & 0x0F);
+            }
+
+            // fixstr
+            case 0xA0:
+            case 0xA1:
+            case 0xA2:
+            case 0xA3:
+            case 0xA4:
+            case 0xA5:
+            case 0xA6:
+            case 0xA7:
+            case 0xA8:
+            case 0xA9:
+            case 0xAA:
+            case 0xAB:
+            case 0xAC:
+            case 0xAD:
+            case 0xAE:
+            case 0xAF:
+            case 0xB0:
+            case 0xB1:
+            case 0xB2:
+            case 0xB3:
+            case 0xB4:
+            case 0xB5:
+            case 0xB6:
+            case 0xB7:
+            case 0xB8:
+            case 0xB9:
+            case 0xBA:
+            case 0xBB:
+            case 0xBC:
+            case 0xBD:
+            case 0xBE:
+            case 0xBF:
+                return get_msgpack_string();
+
+            case 0xC0: // nil
+                return value_t::null;
+
+            case 0xC2: // false
+                return false;
+
+            case 0xC3: // true
+                return true;
+
+            case 0xCA: // float 32
+                return get_number<float>();
+
+            case 0xCB: // float 64
+                return get_number<double>();
+
+            case 0xCC: // uint 8
+                return get_number<uint8_t>();
+
+            case 0xCD: // uint 16
+                return get_number<uint16_t>();
+
+            case 0xCE: // uint 32
+                return get_number<uint32_t>();
+
+            case 0xCF: // uint 64
+                return get_number<uint64_t>();
+
+            case 0xD0: // int 8
+                return get_number<int8_t>();
+
+            case 0xD1: // int 16
+                return get_number<int16_t>();
+
+            case 0xD2: // int 32
+                return get_number<int32_t>();
+
+            case 0xD3: // int 64
+                return get_number<int64_t>();
+
+            case 0xD9: // str 8
+            case 0xDA: // str 16
+            case 0xDB: // str 32
+                return get_msgpack_string();
+
+            case 0xDC: // array 16
+            {
+                return get_msgpack_array(get_number<uint16_t>());
+            }
+
+            case 0xDD: // array 32
+            {
+                return get_msgpack_array(get_number<uint32_t>());
+            }
+
+            case 0xDE: // map 16
+            {
+                return get_msgpack_object(get_number<uint16_t>());
+            }
+
+            case 0xDF: // map 32
+            {
+                return get_msgpack_object(get_number<uint32_t>());
+            }
+
+            // positive fixint
+            case 0xE0:
+            case 0xE1:
+            case 0xE2:
+            case 0xE3:
+            case 0xE4:
+            case 0xE5:
+            case 0xE6:
+            case 0xE7:
+            case 0xE8:
+            case 0xE9:
+            case 0xEA:
+            case 0xEB:
+            case 0xEC:
+            case 0xED:
+            case 0xEE:
+            case 0xEF:
+            case 0xF0:
+            case 0xF1:
+            case 0xF2:
+            case 0xF3:
+            case 0xF4:
+            case 0xF5:
+            case 0xF6:
+            case 0xF7:
+            case 0xF8:
+            case 0xF9:
+            case 0xFA:
+            case 0xFB:
+            case 0xFC:
+            case 0xFD:
+            case 0xFE:
+            case 0xFF:
+                return static_cast<int8_t>(current);
+
+            default: // anything else
+            {
+                std::stringstream ss;
+                ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
+                JSON_THROW(parse_error::create(112, chars_read,
+                                               "error reading MessagePack; last byte: 0x" + ss.str()));
+            }
+        }
+    }
 
-case 0x3A: // Negative integer -1-n (four-byte uint32_t follows)
-{
-return static_cast<number_integer_t>(-1) - get_number<uint32_t>();
-}
+    /*!
+    @param[in] get_char  whether a new character should be retrieved from the
+                         input (true, default) or whether the last read
+                         character should be considered instead
+    */
+    BasicJsonType parse_ubjson_internal(const bool get_char = true)
+    {
+        return get_ubjson_value(get_char ? get_ignore_noop() : current);
+    }
 
-case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows)
-{
-return static_cast<number_integer_t>(-1) -
-static_cast<number_integer_t>(get_number<uint64_t>());
-}
+    /*!
+    @brief get next character from the input
 
-// UTF-8 string (0x00..0x17 bytes follow)
-case 0x60:
-case 0x61:
-case 0x62:
-case 0x63:
-case 0x64:
-case 0x65:
-case 0x66:
-case 0x67:
-case 0x68:
-case 0x69:
-case 0x6A:
-case 0x6B:
-case 0x6C:
-case 0x6D:
-case 0x6E:
-case 0x6F:
-case 0x70:
-case 0x71:
-case 0x72:
-case 0x73:
-case 0x74:
-case 0x75:
-case 0x76:
-case 0x77:
-case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
-case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
-case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
-case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
-case 0x7F: // UTF-8 string (indefinite length)
-{
-return get_cbor_string();
-}
+    This function provides the interface to the used input adapter. It does
+    not throw in case the input reached EOF, but returns a -'ve valued
+    `std::char_traits<char>::eof()` in that case.
 
-// array (0x00..0x17 data items follow)
-case 0x80:
-case 0x81:
-case 0x82:
-case 0x83:
-case 0x84:
-case 0x85:
-case 0x86:
-case 0x87:
-case 0x88:
-case 0x89:
-case 0x8A:
-case 0x8B:
-case 0x8C:
-case 0x8D:
-case 0x8E:
-case 0x8F:
-case 0x90:
-case 0x91:
-case 0x92:
-case 0x93:
-case 0x94:
-case 0x95:
-case 0x96:
-case 0x97:
-{
-return get_cbor_array(current & 0x1F);
-}
+    @return character read from the input
+    */
+    int get()
+    {
+        ++chars_read;
+        return (current = ia->get_character());
+    }
 
-case 0x98: // array (one-byte uint8_t for n follows)
-{
-return get_cbor_array(get_number<uint8_t>());
-}
+    /*!
+    @return character read from the input after ignoring all 'N' entries
+    */
+    int get_ignore_noop()
+    {
+        do
+        {
+            get();
+        }
+        while (current == 'N');
 
-case 0x99: // array (two-byte uint16_t for n follow)
-{
-return get_cbor_array(get_number<uint16_t>());
-}
+        return current;
+    }
 
-case 0x9A: // array (four-byte uint32_t for n follow)
-{
-return get_cbor_array(get_number<uint32_t>());
-}
+    /*
+    @brief read a number from the input
 
-case 0x9B: // array (eight-byte uint64_t for n follow)
-{
-return get_cbor_array(get_number<uint64_t>());
-}
+    @tparam NumberType the type of the number
 
-case 0x9F: // array (indefinite length)
-{
-BasicJsonType result = value_t::array;
-while (get() != 0xFF)
-{
-result.push_back(parse_cbor_internal(false));
-}
-return result;
-}
+    @return number of type @a NumberType
 
-// map (0x00..0x17 pairs of data items follow)
-case 0xA0:
-case 0xA1:
-case 0xA2:
-case 0xA3:
-case 0xA4:
-case 0xA5:
-case 0xA6:
-case 0xA7:
-case 0xA8:
-case 0xA9:
-case 0xAA:
-case 0xAB:
-case 0xAC:
-case 0xAD:
-case 0xAE:
-case 0xAF:
-case 0xB0:
-case 0xB1:
-case 0xB2:
-case 0xB3:
-case 0xB4:
-case 0xB5:
-case 0xB6:
-case 0xB7:
-{
-return get_cbor_object(current & 0x1F);
-}
+    @note This function needs to respect the system's endianess, because
+          bytes in CBOR and MessagePack are stored in network order (big
+          endian) and therefore need reordering on little endian systems.
 
-case 0xB8: // map (one-byte uint8_t for n follows)
-{
-return get_cbor_object(get_number<uint8_t>());
-}
+    @throw parse_error.110 if input has less than `sizeof(NumberType)` bytes
+    */
+    template<typename NumberType> NumberType get_number()
+    {
+        // step 1: read input into array with system's byte order
+        std::array<uint8_t, sizeof(NumberType)> vec;
+        for (std::size_t i = 0; i < sizeof(NumberType); ++i)
+        {
+            get();
+            unexpect_eof();
+
+            // reverse byte order prior to conversion if necessary
+            if (is_little_endian)
+            {
+                vec[sizeof(NumberType) - i - 1] = static_cast<uint8_t>(current);
+            }
+            else
+            {
+                vec[i] = static_cast<uint8_t>(current); // LCOV_EXCL_LINE
+            }
+        }
+
+        // step 2: convert array into number of type T and return
+        NumberType result;
+        std::memcpy(&result, vec.data(), sizeof(NumberType));
+        return result;
+    }
 
-case 0xB9: // map (two-byte uint16_t for n follow)
-{
-return get_cbor_object(get_number<uint16_t>());
-}
+    /*!
+    @brief create a string by reading characters from the input
 
-case 0xBA: // map (four-byte uint32_t for n follow)
-{
-return get_cbor_object(get_number<uint32_t>());
-}
+    @param[in] len number of bytes to read
 
-case 0xBB: // map (eight-byte uint64_t for n follow)
-{
-return get_cbor_object(get_number<uint64_t>());
-}
+    @note We can not reserve @a len bytes for the result, because @a len
+          may be too large. Usually, @ref unexpect_eof() detects the end of
+          the input before we run out of string memory.
 
-case 0xBF: // map (indefinite length)
-{
-BasicJsonType result = value_t::object;
-while (get() != 0xFF)
-{
-auto key = get_cbor_string();
-result[key] = parse_cbor_internal();
-}
-return result;
-}
+    @return string created by reading @a len bytes
 
-case 0xF4: // false
-{
-return false;
-}
+    @throw parse_error.110 if input has less than @a len bytes
+    */
+    template<typename NumberType>
+    string_t get_string(const NumberType len)
+    {
+        string_t result;
+        std::generate_n(std::back_inserter(result), len, [this]()
+        {
+            get();
+            unexpect_eof();
+            return static_cast<char>(current);
+        });
+        return result;
+    }
 
-case 0xF5: // true
-{
-return true;
-}
+    /*!
+    @brief reads a CBOR string
 
-case 0xF6: // null
-{
-return value_t::null;
-}
+    This function first reads starting bytes to determine the expected
+    string length and then copies this number of bytes into a string.
+    Additionally, CBOR's strings with indefinite lengths are supported.
 
-case 0xF9: // Half-Precision Float (two-byte IEEE 754)
-{
-const int byte1 = get();
-unexpect_eof();
-const int byte2 = get();
-unexpect_eof();
-
-// code from RFC 7049, Appendix D, Figure 3:
-// As half-precision floating-point numbers were only added
-// to IEEE 754 in 2008, today's programming platforms often
-// still only have limited support for them. It is very
-// easy to include at least decoding support for them even
-// without such support. An example of a small decoder for
-// half-precision floating-point numbers in the C language
-// is shown in Fig. 3.
-const int half = (byte1 << 8) + byte2;
-const int exp = (half >> 10) & 0x1F;
-const int mant = half & 0x3FF;
-double val;
-if (exp == 0)
-{
-val = std::ldexp(mant, -24);
-}
-else if (exp != 31)
-{
-val = std::ldexp(mant + 1024, exp - 25);
-}
-else
-{
-val = (mant == 0) ? std::numeric_limits<double>::infinity()
-: std::numeric_limits<double>::quiet_NaN();
-}
-return (half & 0x8000) != 0 ? -val : val;
-}
+    @return string
 
-case 0xFA: // Single-Precision Float (four-byte IEEE 754)
-{
-return get_number<float>();
-}
+    @throw parse_error.110 if input ended
+    @throw parse_error.113 if an unexpected byte is read
+    */
+    string_t get_cbor_string()
+    {
+        unexpect_eof();
+
+        switch (current)
+        {
+            // UTF-8 string (0x00..0x17 bytes follow)
+            case 0x60:
+            case 0x61:
+            case 0x62:
+            case 0x63:
+            case 0x64:
+            case 0x65:
+            case 0x66:
+            case 0x67:
+            case 0x68:
+            case 0x69:
+            case 0x6A:
+            case 0x6B:
+            case 0x6C:
+            case 0x6D:
+            case 0x6E:
+            case 0x6F:
+            case 0x70:
+            case 0x71:
+            case 0x72:
+            case 0x73:
+            case 0x74:
+            case 0x75:
+            case 0x76:
+            case 0x77:
+            {
+                return get_string(current & 0x1F);
+            }
+
+            case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
+            {
+                return get_string(get_number<uint8_t>());
+            }
+
+            case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
+            {
+                return get_string(get_number<uint16_t>());
+            }
+
+            case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
+            {
+                return get_string(get_number<uint32_t>());
+            }
+
+            case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
+            {
+                return get_string(get_number<uint64_t>());
+            }
+
+            case 0x7F: // UTF-8 string (indefinite length)
+            {
+                string_t result;
+                while (get() != 0xFF)
+                {
+                    result.append(get_cbor_string());
+                }
+                return result;
+            }
+
+            default:
+            {
+                std::stringstream ss;
+                ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
+                JSON_THROW(parse_error::create(113, chars_read, "expected a CBOR string; last byte: 0x" + ss.str()));
+            }
+        }
+    }
 
-case 0xFB: // Double-Precision Float (eight-byte IEEE 754)
-{
-return get_number<double>();
-}
-
-default: // anything else (0xFF is handled inside the other types)
-{
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
-JSON_THROW(parse_error::create(112, chars_read, "error reading CBOR; last byte: 0x" + ss.str()));
-}
-}
-}
-
-BasicJsonType parse_msgpack_internal()
-{
-switch (get())
-{
-// EOF
-case std::char_traits<char>::eof():
-JSON_THROW(parse_error::create(110, chars_read, "unexpected end of input"));
-
-// positive fixint
-case 0x00:
-case 0x01:
-case 0x02:
-case 0x03:
-case 0x04:
-case 0x05:
-case 0x06:
-case 0x07:
-case 0x08:
-case 0x09:
-case 0x0A:
-case 0x0B:
-case 0x0C:
-case 0x0D:
-case 0x0E:
-case 0x0F:
-case 0x10:
-case 0x11:
-case 0x12:
-case 0x13:
-case 0x14:
-case 0x15:
-case 0x16:
-case 0x17:
-case 0x18:
-case 0x19:
-case 0x1A:
-case 0x1B:
-case 0x1C:
-case 0x1D:
-case 0x1E:
-case 0x1F:
-case 0x20:
-case 0x21:
-case 0x22:
-case 0x23:
-case 0x24:
-case 0x25:
-case 0x26:
-case 0x27:
-case 0x28:
-case 0x29:
-case 0x2A:
-case 0x2B:
-case 0x2C:
-case 0x2D:
-case 0x2E:
-case 0x2F:
-case 0x30:
-case 0x31:
-case 0x32:
-case 0x33:
-case 0x34:
-case 0x35:
-case 0x36:
-case 0x37:
-case 0x38:
-case 0x39:
-case 0x3A:
-case 0x3B:
-case 0x3C:
-case 0x3D:
-case 0x3E:
-case 0x3F:
-case 0x40:
-case 0x41:
-case 0x42:
-case 0x43:
-case 0x44:
-case 0x45:
-case 0x46:
-case 0x47:
-case 0x48:
-case 0x49:
-case 0x4A:
-case 0x4B:
-case 0x4C:
-case 0x4D:
-case 0x4E:
-case 0x4F:
-case 0x50:
-case 0x51:
-case 0x52:
-case 0x53:
-case 0x54:
-case 0x55:
-case 0x56:
-case 0x57:
-case 0x58:
-case 0x59:
-case 0x5A:
-case 0x5B:
-case 0x5C:
-case 0x5D:
-case 0x5E:
-case 0x5F:
-case 0x60:
-case 0x61:
-case 0x62:
-case 0x63:
-case 0x64:
-case 0x65:
-case 0x66:
-case 0x67:
-case 0x68:
-case 0x69:
-case 0x6A:
-case 0x6B:
-case 0x6C:
-case 0x6D:
-case 0x6E:
-case 0x6F:
-case 0x70:
-case 0x71:
-case 0x72:
-case 0x73:
-case 0x74:
-case 0x75:
-case 0x76:
-case 0x77:
-case 0x78:
-case 0x79:
-case 0x7A:
-case 0x7B:
-case 0x7C:
-case 0x7D:
-case 0x7E:
-case 0x7F:
-return static_cast<number_unsigned_t>(current);
-
-// fixmap
-case 0x80:
-case 0x81:
-case 0x82:
-case 0x83:
-case 0x84:
-case 0x85:
-case 0x86:
-case 0x87:
-case 0x88:
-case 0x89:
-case 0x8A:
-case 0x8B:
-case 0x8C:
-case 0x8D:
-case 0x8E:
-case 0x8F:
-{
-return get_msgpack_object(current & 0x0F);
-}
-
-// fixarray
-case 0x90:
-case 0x91:
-case 0x92:
-case 0x93:
-case 0x94:
-case 0x95:
-case 0x96:
-case 0x97:
-case 0x98:
-case 0x99:
-case 0x9A:
-case 0x9B:
-case 0x9C:
-case 0x9D:
-case 0x9E:
-case 0x9F:
-{
-return get_msgpack_array(current & 0x0F);
-}
-
-// fixstr
-case 0xA0:
-case 0xA1:
-case 0xA2:
-case 0xA3:
-case 0xA4:
-case 0xA5:
-case 0xA6:
-case 0xA7:
-case 0xA8:
-case 0xA9:
-case 0xAA:
-case 0xAB:
-case 0xAC:
-case 0xAD:
-case 0xAE:
-case 0xAF:
-case 0xB0:
-case 0xB1:
-case 0xB2:
-case 0xB3:
-case 0xB4:
-case 0xB5:
-case 0xB6:
-case 0xB7:
-case 0xB8:
-case 0xB9:
-case 0xBA:
-case 0xBB:
-case 0xBC:
-case 0xBD:
-case 0xBE:
-case 0xBF:
-return get_msgpack_string();
-
-case 0xC0: // nil
-return value_t::null;
-
-case 0xC2: // false
-return false;
-
-case 0xC3: // true
-return true;
-
-case 0xCA: // float 32
-return get_number<float>();
-
-case 0xCB: // float 64
-return get_number<double>();
-
-case 0xCC: // uint 8
-return get_number<uint8_t>();
-
-case 0xCD: // uint 16
-return get_number<uint16_t>();
-
-case 0xCE: // uint 32
-return get_number<uint32_t>();
-
-case 0xCF: // uint 64
-return get_number<uint64_t>();
-
-case 0xD0: // int 8
-return get_number<int8_t>();
-
-case 0xD1: // int 16
-return get_number<int16_t>();
-
-case 0xD2: // int 32
-return get_number<int32_t>();
-
-case 0xD3: // int 64
-return get_number<int64_t>();
-
-case 0xD9: // str 8
-case 0xDA: // str 16
-case 0xDB: // str 32
-return get_msgpack_string();
-
-case 0xDC: // array 16
-{
-return get_msgpack_array(get_number<uint16_t>());
-}
-
-case 0xDD: // array 32
-{
-return get_msgpack_array(get_number<uint32_t>());
-}
-
-case 0xDE: // map 16
-{
-return get_msgpack_object(get_number<uint16_t>());
-}
-
-case 0xDF: // map 32
-{
-return get_msgpack_object(get_number<uint32_t>());
-}
-
-// positive fixint
-case 0xE0:
-case 0xE1:
-case 0xE2:
-case 0xE3:
-case 0xE4:
-case 0xE5:
-case 0xE6:
-case 0xE7:
-case 0xE8:
-case 0xE9:
-case 0xEA:
-case 0xEB:
-case 0xEC:
-case 0xED:
-case 0xEE:
-case 0xEF:
-case 0xF0:
-case 0xF1:
-case 0xF2:
-case 0xF3:
-case 0xF4:
-case 0xF5:
-case 0xF6:
-case 0xF7:
-case 0xF8:
-case 0xF9:
-case 0xFA:
-case 0xFB:
-case 0xFC:
-case 0xFD:
-case 0xFE:
-case 0xFF:
-return static_cast<int8_t>(current);
-
-default: // anything else
-{
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
-JSON_THROW(parse_error::create(112, chars_read,
-"error reading MessagePack; last byte: 0x" + ss.str()));
-}
-}
-}
-
-/*!
-    @param[in] get_char  whether a new character should be retrieved from the
-                         input (true, default) or whether the last read
-                         character should be considered instead
-    */
-BasicJsonType parse_ubjson_internal(const bool get_char = true)
-{
-return get_ubjson_value(get_char ? get_ignore_noop() : current);
-}
-
-/*!
-    @brief get next character from the input
-
-    This function provides the interface to the used input adapter. It does
-    not throw in case the input reached EOF, but returns a -'ve valued
-    `std::char_traits<char>::eof()` in that case.
-
-    @return character read from the input
-    */
-int get()
-{
-++chars_read;
-return (current = ia->get_character());
-}
-
-/*!
-    @return character read from the input after ignoring all 'N' entries
-    */
-int get_ignore_noop()
-{
-do
-{
-get();
-}
-while (current == 'N');
-
-return current;
-}
-
-/*
-    @brief read a number from the input
-
-    @tparam NumberType the type of the number
-
-    @return number of type @a NumberType
-
-    @note This function needs to respect the system's endianess, because
-          bytes in CBOR and MessagePack are stored in network order (big
-          endian) and therefore need reordering on little endian systems.
-
-    @throw parse_error.110 if input has less than `sizeof(NumberType)` bytes
-    */
-template<typename NumberType> NumberType get_number()
-{
-// step 1: read input into array with system's byte order
-std::array<uint8_t, sizeof(NumberType)> vec;
-for (std::size_t i = 0; i < sizeof(NumberType); ++i)
-{
-get();
-unexpect_eof();
-
-// reverse byte order prior to conversion if necessary
-if (is_little_endian)
-{
-vec[sizeof(NumberType) - i - 1] = static_cast<uint8_t>(current);
-}
-else
-{
-vec[i] = static_cast<uint8_t>(current); // LCOV_EXCL_LINE
-}
-}
-
-// step 2: convert array into number of type T and return
-NumberType result;
-std::memcpy(&result, vec.data(), sizeof(NumberType));
-return result;
-}
-
-/*!
-    @brief create a string by reading characters from the input
-
-    @param[in] len number of bytes to read
-
-    @note We can not reserve @a len bytes for the result, because @a len
-          may be too large. Usually, @ref unexpect_eof() detects the end of
-          the input before we run out of string memory.
-
-    @return string created by reading @a len bytes
-
-    @throw parse_error.110 if input has less than @a len bytes
-    */
-template<typename NumberType>
-string_t get_string(const NumberType len)
-{
-string_t result;
-std::generate_n(std::back_inserter(result), len,[this]()
-{
-get();
-unexpect_eof();
-return static_cast<char>(current);
-});
-return result;
-}
-
-/*!
-    @brief reads a CBOR string
-
-    This function first reads starting bytes to determine the expected
-    string length and then copies this number of bytes into a string.
-    Additionally, CBOR's strings with indefinite lengths are supported.
-
-    @return string
-
-    @throw parse_error.110 if input ended
-    @throw parse_error.113 if an unexpected byte is read
-    */
-string_t get_cbor_string()
-{
-unexpect_eof();
-
-switch (current)
-{
-// UTF-8 string (0x00..0x17 bytes follow)
-case 0x60:
-case 0x61:
-case 0x62:
-case 0x63:
-case 0x64:
-case 0x65:
-case 0x66:
-case 0x67:
-case 0x68:
-case 0x69:
-case 0x6A:
-case 0x6B:
-case 0x6C:
-case 0x6D:
-case 0x6E:
-case 0x6F:
-case 0x70:
-case 0x71:
-case 0x72:
-case 0x73:
-case 0x74:
-case 0x75:
-case 0x76:
-case 0x77:
-{
-return get_string(current & 0x1F);
-}
-
-case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
-{
-return get_string(get_number<uint8_t>());
-}
-
-case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
-{
-return get_string(get_number<uint16_t>());
-}
-
-case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
-{
-return get_string(get_number<uint32_t>());
-}
-
-case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
-{
-return get_string(get_number<uint64_t>());
-}
-
-case 0x7F: // UTF-8 string (indefinite length)
-{
-string_t result;
-while (get() != 0xFF)
-{
-result.append(get_cbor_string());
-}
-return result;
-}
-
-default:
-{
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
-JSON_THROW(parse_error::create(113, chars_read, "expected a CBOR string; last byte: 0x" + ss.str()));
-}
-}
-}
-
-template<typename NumberType>
-BasicJsonType get_cbor_array(const NumberType len)
-{
-BasicJsonType result = value_t::array;
-std::generate_n(std::back_inserter(*result.m_value.array), len,[this]()
-{
-return parse_cbor_internal();
-});
-return result;
-}
+    template<typename NumberType>
+    BasicJsonType get_cbor_array(const NumberType len)
+    {
+        BasicJsonType result = value_t::array;
+        std::generate_n(std::back_inserter(*result.m_value.array), len, [this]()
+        {
+            return parse_cbor_internal();
+        });
+        return result;
+    }
 
-template<typename NumberType>
-BasicJsonType get_cbor_object(const NumberType len)
-{
-BasicJsonType result = value_t::object;
-std::generate_n(std::inserter(*result.m_value.object,
-result.m_value.object->end()),
-len,[this]()
-{
-get();
-auto key = get_cbor_string();
-auto val = parse_cbor_internal();
-return std::make_pair(std::move(key), std::move(val));
-});
-return result;
-}
+    template<typename NumberType>
+    BasicJsonType get_cbor_object(const NumberType len)
+    {
+        BasicJsonType result = value_t::object;
+        std::generate_n(std::inserter(*result.m_value.object,
+                                      result.m_value.object->end()),
+                        len, [this]()
+        {
+            get();
+            auto key = get_cbor_string();
+            auto val = parse_cbor_internal();
+            return std::make_pair(std::move(key), std::move(val));
+        });
+        return result;
+    }
 
-/*!
+    /*!
     @brief reads a MessagePack string
 
     This function first reads starting bytes to determine the expected
@@ -6075,102 +5830,102 @@ return result;
     @throw parse_error.110 if input ended
     @throw parse_error.113 if an unexpected byte is read
     */
-string_t get_msgpack_string()
-{
-unexpect_eof();
-
-switch (current)
-{
-// fixstr
-case 0xA0:
-case 0xA1:
-case 0xA2:
-case 0xA3:
-case 0xA4:
-case 0xA5:
-case 0xA6:
-case 0xA7:
-case 0xA8:
-case 0xA9:
-case 0xAA:
-case 0xAB:
-case 0xAC:
-case 0xAD:
-case 0xAE:
-case 0xAF:
-case 0xB0:
-case 0xB1:
-case 0xB2:
-case 0xB3:
-case 0xB4:
-case 0xB5:
-case 0xB6:
-case 0xB7:
-case 0xB8:
-case 0xB9:
-case 0xBA:
-case 0xBB:
-case 0xBC:
-case 0xBD:
-case 0xBE:
-case 0xBF:
-{
-return get_string(current & 0x1F);
-}
-
-case 0xD9: // str 8
-{
-return get_string(get_number<uint8_t>());
-}
-
-case 0xDA: // str 16
-{
-return get_string(get_number<uint16_t>());
-}
-
-case 0xDB: // str 32
-{
-return get_string(get_number<uint32_t>());
-}
-
-default:
-{
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
-JSON_THROW(parse_error::create(113, chars_read,
-"expected a MessagePack string; last byte: 0x" + ss.str()));
-}
-}
-}
+    string_t get_msgpack_string()
+    {
+        unexpect_eof();
+
+        switch (current)
+        {
+            // fixstr
+            case 0xA0:
+            case 0xA1:
+            case 0xA2:
+            case 0xA3:
+            case 0xA4:
+            case 0xA5:
+            case 0xA6:
+            case 0xA7:
+            case 0xA8:
+            case 0xA9:
+            case 0xAA:
+            case 0xAB:
+            case 0xAC:
+            case 0xAD:
+            case 0xAE:
+            case 0xAF:
+            case 0xB0:
+            case 0xB1:
+            case 0xB2:
+            case 0xB3:
+            case 0xB4:
+            case 0xB5:
+            case 0xB6:
+            case 0xB7:
+            case 0xB8:
+            case 0xB9:
+            case 0xBA:
+            case 0xBB:
+            case 0xBC:
+            case 0xBD:
+            case 0xBE:
+            case 0xBF:
+            {
+                return get_string(current & 0x1F);
+            }
+
+            case 0xD9: // str 8
+            {
+                return get_string(get_number<uint8_t>());
+            }
+
+            case 0xDA: // str 16
+            {
+                return get_string(get_number<uint16_t>());
+            }
+
+            case 0xDB: // str 32
+            {
+                return get_string(get_number<uint32_t>());
+            }
+
+            default:
+            {
+                std::stringstream ss;
+                ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
+                JSON_THROW(parse_error::create(113, chars_read,
+                                               "expected a MessagePack string; last byte: 0x" + ss.str()));
+            }
+        }
+    }
 
-template<typename NumberType>
-BasicJsonType get_msgpack_array(const NumberType len)
-{
-BasicJsonType result = value_t::array;
-std::generate_n(std::back_inserter(*result.m_value.array), len,[this]()
-{
-return parse_msgpack_internal();
-});
-return result;
-}
+    template<typename NumberType>
+    BasicJsonType get_msgpack_array(const NumberType len)
+    {
+        BasicJsonType result = value_t::array;
+        std::generate_n(std::back_inserter(*result.m_value.array), len, [this]()
+        {
+            return parse_msgpack_internal();
+        });
+        return result;
+    }
 
-template<typename NumberType>
-BasicJsonType get_msgpack_object(const NumberType len)
-{
-BasicJsonType result = value_t::object;
-std::generate_n(std::inserter(*result.m_value.object,
-result.m_value.object->end()),
-len,[this]()
-{
-get();
-auto key = get_msgpack_string();
-auto val = parse_msgpack_internal();
-return std::make_pair(std::move(key), std::move(val));
-});
-return result;
-}
+    template<typename NumberType>
+    BasicJsonType get_msgpack_object(const NumberType len)
+    {
+        BasicJsonType result = value_t::object;
+        std::generate_n(std::inserter(*result.m_value.object,
+                                      result.m_value.object->end()),
+                        len, [this]()
+        {
+            get();
+            auto key = get_msgpack_string();
+            auto val = parse_msgpack_internal();
+            return std::make_pair(std::move(key), std::move(val));
+        });
+        return result;
+    }
 
-/*!
+    /*!
     @brief reads a UBJSON string
 
     This function is either called after reading the 'S' byte explicitly
@@ -6186,956 +5941,951 @@ return result;
     @throw parse_error.110 if input ended
     @throw parse_error.113 if an unexpected byte is read
     */
-string_t get_ubjson_string(const bool get_char = true)
-{
-if (get_char)
-{
-get();  // TODO: may we ignore N here?
-}
-
-unexpect_eof();
-
-switch (current)
-{
-case 'U':
-return get_string(get_number<uint8_t>());
-case 'i':
-return get_string(get_number<int8_t>());
-case 'I':
-return get_string(get_number<int16_t>());
-case 'l':
-return get_string(get_number<int32_t>());
-case 'L':
-return get_string(get_number<int64_t>());
-default:
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
-JSON_THROW(parse_error::create(113, chars_read,
-"expected a UBJSON string; last byte: 0x" + ss.str()));
-}
-}
-
-/*!
-    @brief determine the type and size for a container
-
-    In the optimized UBJSON format, a type and a size can be provided to allow
-    for a more compact representation.
-
-    @return pair of the size and the type
-    */
-std::pair<std::size_t, int> get_ubjson_size_type()
-{
-std::size_t sz = string_t::npos;
-int tc = 0;
-
-get_ignore_noop();
-
-if (current == '$')
-{
-tc = get();  // must not ignore 'N', because 'N' maybe the type
-unexpect_eof();
-
-get_ignore_noop();
-if (current != '#')
-{
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
-JSON_THROW(parse_error::create(112, chars_read,
-"expected '#' after UBJSON type information; last byte: 0x" + ss.str()));
-}
-sz = parse_ubjson_internal();
-}
-else if (current == '#')
-{
-sz = parse_ubjson_internal();
-}
-
-return std::make_pair(sz, tc);
-}
-
-BasicJsonType get_ubjson_value(const int prefix)
-{
-switch (prefix)
-{
-case std::char_traits<char>::eof():  // EOF
-JSON_THROW(parse_error::create(110, chars_read, "unexpected end of input"));
-
-case 'T':  // true
-return true;
-case 'F':  // false
-return false;
-
-case 'Z':  // null
-return nullptr;
-
-case 'U':
-return get_number<uint8_t>();
-case 'i':
-return get_number<int8_t>();
-case 'I':
-return get_number<int16_t>();
-case 'l':
-return get_number<int32_t>();
-case 'L':
-return get_number<int64_t>();
-case 'd':
-return get_number<float>();
-case 'D':
-return get_number<double>();
-
-case 'C':  // char
-{
-get();
-unexpect_eof();
-if (JSON_UNLIKELY(current > 127))
-{
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
-JSON_THROW(parse_error::create(113, chars_read,
-"byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + ss.str()));
-}
-return string_t(1, static_cast<char>(current));
-}
-
-case 'S':  // string
-return get_ubjson_string();
-
-case '[':  // array
-return get_ubjson_array();
-
-case '{':  // object
-return get_ubjson_object();
-
-default: // anything else
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
-JSON_THROW(parse_error::create(112, chars_read,
-"error reading UBJSON; last byte: 0x" + ss.str()));
-}
-}
-
-BasicJsonType get_ubjson_array()
-{
-BasicJsonType result = value_t::array;
-const auto size_and_type = get_ubjson_size_type();
-
-if (size_and_type.first != string_t::npos)
-{
-if (JSON_UNLIKELY(size_and_type.first > result.max_size()))
-{
-JSON_THROW(out_of_range::create(408,
-"excessive array size: " + std::to_string(size_and_type.first)));
-}
-
-if (size_and_type.second != 0)
-{
-if (size_and_type.second != 'N')
-{
-std::generate_n(std::back_inserter(*result.m_value.array),
-size_and_type.first,[this, size_and_type]()
-{
-return get_ubjson_value(size_and_type.second);
-});
-}
-}
-else
-{
-std::generate_n(std::back_inserter(*result.m_value.array),
-size_and_type.first,[this]()
-{
-return parse_ubjson_internal();
-});
-}
-}
-else
-{
-while (current != ']')
-{
-result.push_back(parse_ubjson_internal(false));
-get_ignore_noop();
-}
-}
-
-return result;
-}
-
-BasicJsonType get_ubjson_object()
-{
-BasicJsonType result = value_t::object;
-const auto size_and_type = get_ubjson_size_type();
-
-if (size_and_type.first != string_t::npos)
-{
-if (JSON_UNLIKELY(size_and_type.first > result.max_size()))
-{
-JSON_THROW(out_of_range::create(408,
-"excessive object size: " + std::to_string(size_and_type.first)));
-}
-
-if (size_and_type.second != 0)
-{
-std::generate_n(std::inserter(*result.m_value.object,
-result.m_value.object->end()),
-size_and_type.first,[this, size_and_type]()
-{
-auto key = get_ubjson_string();
-auto val = get_ubjson_value(size_and_type.second);
-return std::make_pair(std::move(key), std::move(val));
-});
-}
-else
-{
-std::generate_n(std::inserter(*result.m_value.object,
-result.m_value.object->end()),
-size_and_type.first,[this]()
-{
-auto key = get_ubjson_string();
-auto val = parse_ubjson_internal();
-return std::make_pair(std::move(key), std::move(val));
-});
-}
-}
-else
-{
-while (current != '}')
-{
-auto key = get_ubjson_string(false);
-result[std::move(key)] = parse_ubjson_internal();
-get_ignore_noop();
-}
-}
-
-return result;
-}
-
-/*!
-    @brief throw if end of input is not reached
-    @throw parse_error.110 if input not ended
-    */
-void expect_eof() const
-{
-if (JSON_UNLIKELY(current != std::char_traits<char>::eof()))
-{
-JSON_THROW(parse_error::create(110, chars_read, "expected end of input"));
-}
-}
-
-/*!
-    @briefthrow if end of input is reached
-    @throw parse_error.110 if input ended
-    */
-void unexpect_eof() const
-{
-if (JSON_UNLIKELY(current == std::char_traits<char>::eof()))
-{
-JSON_THROW(parse_error::create(110, chars_read, "unexpected end of input"));
-}
-}
-
-private:
-/// input adapter
-input_adapter_t ia = nullptr;
-
-/// the current character
-int current = std::char_traits<char>::eof();
-
-/// the number of characters read
-std::size_t chars_read = 0;
-
-/// whether we can assume little endianess
-const bool is_little_endian = little_endianess();
-};
-}
-}
-
-// #include <nlohmann/detail/output/binary_writer.hpp>
-
-
-#include
-<algorithm> // reverse
-#include
-<array> // array
-#include
-<cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
-#include
-<cstring> // memcpy
-#include
-<limits> // numeric_limits
-
-// #include <nlohmann/detail/input/binary_reader.hpp>
-
-// #include <nlohmann/detail/output/output_adapters.hpp>
-
-
-namespace nlohmann
-{
-namespace detail
-{
-///////////////////
-// binary writer //
-///////////////////
-
-/*!
-@brief serialization to CBOR and MessagePack values
-*/
-template<typename BasicJsonType, typename CharType>
-class binary_writer
-{
-public:
-/*!
-    @brief create a binary writer
-
-    @param[in] adapter  output adapter to write to
-    */
-explicit binary_writer(output_adapter_t<CharType> adapter) : oa(adapter)
-{
-assert(oa);
-}
-
-/*!
-    @brief[in] j  JSON value to serialize
-    */
-void write_cbor(const BasicJsonType& j)
-{
-switch (j.type())
-{
-case value_t::null:
-{
-oa->write_character(static_cast<CharType>(0xF6));
-break;
-}
-
-case value_t::boolean:
-{
-oa->write_character(j.m_value.boolean
-? static_cast<CharType>(0xF5)
-: static_cast<CharType>(0xF4));
-break;
-}
-
-case value_t::number_integer:
-{
-if (j.m_value.number_integer >= 0)
-{
-// CBOR does not differentiate between positive signed
-// integers and unsigned integers. Therefore, we used the
-// code from the value_t::number_unsigned case here.
-if (j.m_value.number_integer <= 0x17)
-{
-write_number(static_cast<uint8_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_integer <= (std::numeric_limits<uint8_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x18));
-write_number(static_cast<uint8_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_integer <= (std::numeric_limits<uint16_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x19));
-write_number(static_cast<uint16_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_integer <= (std::numeric_limits<uint32_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x1A));
-write_number(static_cast<uint32_t>(j.m_value.number_integer));
-}
-else
-{
-oa->write_character(static_cast<CharType>(0x1B));
-write_number(static_cast<uint64_t>(j.m_value.number_integer));
-}
-}
-else
-{
-// The conversions below encode the sign in the first
-// byte, and the value is converted to a positive number.
-const auto positive_number = -1 - j.m_value.number_integer;
-if (j.m_value.number_integer >= -24)
-{
-write_number(static_cast<uint8_t>(0x20 + positive_number));
-}
-else if (positive_number <= (std::numeric_limits<uint8_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x38));
-write_number(static_cast<uint8_t>(positive_number));
-}
-else if (positive_number <= (std::numeric_limits<uint16_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x39));
-write_number(static_cast<uint16_t>(positive_number));
-}
-else if (positive_number <= (std::numeric_limits<uint32_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x3A));
-write_number(static_cast<uint32_t>(positive_number));
-}
-else
-{
-oa->write_character(static_cast<CharType>(0x3B));
-write_number(static_cast<uint64_t>(positive_number));
-}
-}
-break;
-}
-
-case value_t::number_unsigned:
-{
-if (j.m_value.number_unsigned <= 0x17)
-{
-write_number(static_cast<uint8_t>(j.m_value.number_unsigned));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint8_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x18));
-write_number(static_cast<uint8_t>(j.m_value.number_unsigned));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint16_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x19));
-write_number(static_cast<uint16_t>(j.m_value.number_unsigned));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint32_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x1A));
-write_number(static_cast<uint32_t>(j.m_value.number_unsigned));
-}
-else
-{
-oa->write_character(static_cast<CharType>(0x1B));
-write_number(static_cast<uint64_t>(j.m_value.number_unsigned));
-}
-break;
-}
-
-case value_t::number_float: // Double-Precision Float
-{
-oa->write_character(static_cast<CharType>(0xFB));
-write_number(j.m_value.number_float);
-break;
-}
-
-case value_t::string:
-{
-// step 1: write control byte and the string length
-const auto N = j.m_value.string->size();
-if (N <= 0x17)
-{
-write_number(static_cast<uint8_t>(0x60 + N));
-}
-else if (N <= (std::numeric_limits<uint8_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x78));
-write_number(static_cast<uint8_t>(N));
-}
-else if (N <= (std::numeric_limits<uint16_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x79));
-write_number(static_cast<uint16_t>(N));
-}
-else if (N <= (std::numeric_limits<uint32_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x7A));
-write_number(static_cast<uint32_t>(N));
-}
-// LCOV_EXCL_START
-else if (N <= (std::numeric_limits<uint64_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x7B));
-write_number(static_cast<uint64_t>(N));
-}
-// LCOV_EXCL_STOP
-
-// step 2: write the string
-oa->write_characters(
-reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
-j.m_value.string->size());
-break;
-}
-
-case value_t::array:
-{
-// step 1: write control byte and the array size
-const auto N = j.m_value.array->size();
-if (N <= 0x17)
-{
-write_number(static_cast<uint8_t>(0x80 + N));
-}
-else if (N <= (std::numeric_limits<uint8_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x98));
-write_number(static_cast<uint8_t>(N));
-}
-else if (N <= (std::numeric_limits<uint16_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x99));
-write_number(static_cast<uint16_t>(N));
-}
-else if (N <= (std::numeric_limits<uint32_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x9A));
-write_number(static_cast<uint32_t>(N));
-}
-// LCOV_EXCL_START
-else if (N <= (std::numeric_limits<uint64_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0x9B));
-write_number(static_cast<uint64_t>(N));
-}
-// LCOV_EXCL_STOP
-
-// step 2: write each element
-for (const auto& el : *j.m_value.array)
-{
-write_cbor(el);
-}
-break;
-}
-
-case value_t::object:
-{
-// step 1: write control byte and the object size
-const auto N = j.m_value.object->size();
-if (N <= 0x17)
-{
-write_number(static_cast<uint8_t>(0xA0 + N));
-}
-else if (N <= (std::numeric_limits<uint8_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0xB8));
-write_number(static_cast<uint8_t>(N));
-}
-else if (N <= (std::numeric_limits<uint16_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0xB9));
-write_number(static_cast<uint16_t>(N));
-}
-else if (N <= (std::numeric_limits<uint32_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0xBA));
-write_number(static_cast<uint32_t>(N));
-}
-// LCOV_EXCL_START
-else if (N <= (std::numeric_limits<uint64_t>::max)())
-{
-oa->write_character(static_cast<CharType>(0xBB));
-write_number(static_cast<uint64_t>(N));
-}
-// LCOV_EXCL_STOP
-
-// step 2: write each element
-for (const auto& el : *j.m_value.object)
-{
-write_cbor(el.first);
-write_cbor(el.second);
-}
-break;
-}
-
-default:
-break;
-}
-}
-
-/*!
-    @brief[in] j  JSON value to serialize
-    */
-void write_msgpack(const BasicJsonType& j)
-{
-switch (j.type())
-{
-case value_t::null: // nil
-{
-oa->write_character(static_cast<CharType>(0xC0));
-break;
-}
-
-case value_t::boolean: // true and false
-{
-oa->write_character(j.m_value.boolean
-? static_cast<CharType>(0xC3)
-: static_cast<CharType>(0xC2));
-break;
-}
-
-case value_t::number_integer:
-{
-if (j.m_value.number_integer >= 0)
-{
-// MessagePack does not differentiate between positive
-// signed integers and unsigned integers. Therefore, we used
-// the code from the value_t::number_unsigned case here.
-if (j.m_value.number_unsigned < 128)
-{
-// positive fixnum
-write_number(static_cast<uint8_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint8_t>::max)())
-{
-// uint 8
-oa->write_character(static_cast<CharType>(0xCC));
-write_number(static_cast<uint8_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint16_t>::max)())
-{
-// uint 16
-oa->write_character(static_cast<CharType>(0xCD));
-write_number(static_cast<uint16_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint32_t>::max)())
-{
-// uint 32
-oa->write_character(static_cast<CharType>(0xCE));
-write_number(static_cast<uint32_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint64_t>::max)())
-{
-// uint 64
-oa->write_character(static_cast<CharType>(0xCF));
-write_number(static_cast<uint64_t>(j.m_value.number_integer));
-}
-}
-else
-{
-if (j.m_value.number_integer >= -32)
-{
-// negative fixnum
-write_number(static_cast<int8_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_integer >= (std::numeric_limits<int8_t>::min)() and
-j.m_value.number_integer <= (std::numeric_limits<int8_t>::max)())
-{
-// int 8
-oa->write_character(static_cast<CharType>(0xD0));
-write_number(static_cast<int8_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_integer >= (std::numeric_limits<int16_t>::min)() and
-j.m_value.number_integer <= (std::numeric_limits<int16_t>::max)())
-{
-// int 16
-oa->write_character(static_cast<CharType>(0xD1));
-write_number(static_cast<int16_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_integer >= (std::numeric_limits<int32_t>::min)() and
-j.m_value.number_integer <= (std::numeric_limits<int32_t>::max)())
-{
-// int 32
-oa->write_character(static_cast<CharType>(0xD2));
-write_number(static_cast<int32_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_integer >= (std::numeric_limits<int64_t>::min)() and
-j.m_value.number_integer <= (std::numeric_limits<int64_t>::max)())
-{
-// int 64
-oa->write_character(static_cast<CharType>(0xD3));
-write_number(static_cast<int64_t>(j.m_value.number_integer));
-}
-}
-break;
-}
-
-case value_t::number_unsigned:
-{
-if (j.m_value.number_unsigned < 128)
-{
-// positive fixnum
-write_number(static_cast<uint8_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint8_t>::max)())
-{
-// uint 8
-oa->write_character(static_cast<CharType>(0xCC));
-write_number(static_cast<uint8_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint16_t>::max)())
-{
-// uint 16
-oa->write_character(static_cast<CharType>(0xCD));
-write_number(static_cast<uint16_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint32_t>::max)())
-{
-// uint 32
-oa->write_character(static_cast<CharType>(0xCE));
-write_number(static_cast<uint32_t>(j.m_value.number_integer));
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint64_t>::max)())
-{
-// uint 64
-oa->write_character(static_cast<CharType>(0xCF));
-write_number(static_cast<uint64_t>(j.m_value.number_integer));
-}
-break;
-}
-
-case value_t::number_float: // float 64
-{
-oa->write_character(static_cast<CharType>(0xCB));
-write_number(j.m_value.number_float);
-break;
-}
-
-case value_t::string:
-{
-// step 1: write control byte and the string length
-const auto N = j.m_value.string->size();
-if (N <= 31)
-{
-// fixstr
-write_number(static_cast<uint8_t>(0xA0 | N));
-}
-else if (N <= (std::numeric_limits<uint8_t>::max)())
-{
-// str 8
-oa->write_character(static_cast<CharType>(0xD9));
-write_number(static_cast<uint8_t>(N));
-}
-else if (N <= (std::numeric_limits<uint16_t>::max)())
-{
-// str 16
-oa->write_character(static_cast<CharType>(0xDA));
-write_number(static_cast<uint16_t>(N));
-}
-else if (N <= (std::numeric_limits<uint32_t>::max)())
-{
-// str 32
-oa->write_character(static_cast<CharType>(0xDB));
-write_number(static_cast<uint32_t>(N));
-}
-
-// step 2: write the string
-oa->write_characters(
-reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
-j.m_value.string->size());
-break;
-}
-
-case value_t::array:
-{
-// step 1: write control byte and the array size
-const auto N = j.m_value.array->size();
-if (N <= 15)
-{
-// fixarray
-write_number(static_cast<uint8_t>(0x90 | N));
-}
-else if (N <= (std::numeric_limits<uint16_t>::max)())
-{
-// array 16
-oa->write_character(static_cast<CharType>(0xDC));
-write_number(static_cast<uint16_t>(N));
-}
-else if (N <= (std::numeric_limits<uint32_t>::max)())
-{
-// array 32
-oa->write_character(static_cast<CharType>(0xDD));
-write_number(static_cast<uint32_t>(N));
-}
-
-// step 2: write each element
-for (const auto& el : *j.m_value.array)
-{
-write_msgpack(el);
-}
-break;
-}
-
-case value_t::object:
-{
-// step 1: write control byte and the object size
-const auto N = j.m_value.object->size();
-if (N <= 15)
-{
-// fixmap
-write_number(static_cast<uint8_t>(0x80 | (N & 0xF)));
-}
-else if (N <= (std::numeric_limits<uint16_t>::max)())
-{
-// map 16
-oa->write_character(static_cast<CharType>(0xDE));
-write_number(static_cast<uint16_t>(N));
-}
-else if (N <= (std::numeric_limits<uint32_t>::max)())
-{
-// map 32
-oa->write_character(static_cast<CharType>(0xDF));
-write_number(static_cast<uint32_t>(N));
-}
+    string_t get_ubjson_string(const bool get_char = true)
+    {
+        if (get_char)
+        {
+            get();  // TODO: may we ignore N here?
+        }
+
+        unexpect_eof();
+
+        switch (current)
+        {
+            case 'U':
+                return get_string(get_number<uint8_t>());
+            case 'i':
+                return get_string(get_number<int8_t>());
+            case 'I':
+                return get_string(get_number<int16_t>());
+            case 'l':
+                return get_string(get_number<int32_t>());
+            case 'L':
+                return get_string(get_number<int64_t>());
+            default:
+                std::stringstream ss;
+                ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
+                JSON_THROW(parse_error::create(113, chars_read,
+                                               "expected a UBJSON string; last byte: 0x" + ss.str()));
+        }
+    }
 
-// step 2: write each element
-for (const auto& el : *j.m_value.object)
-{
-write_msgpack(el.first);
-write_msgpack(el.second);
-}
-break;
-}
+    /*!
+    @brief determine the type and size for a container
 
-default:
-break;
-}
-}
+    In the optimized UBJSON format, a type and a size can be provided to allow
+    for a more compact representation.
 
-/*!
-    @param[in] j  JSON value to serialize
-    @param[in] use_count   whether to use '#' prefixes (optimized format)
-    @param[in] use_type    whether to use '$' prefixes (optimized format)
-    @param[in] add_prefix  whether prefixes need to be used for this value
+    @return pair of the size and the type
     */
-void write_ubjson(const BasicJsonType& j, const bool use_count,
-const bool use_type, const bool add_prefix = true)
-{
-switch (j.type())
-{
-case value_t::null:
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('Z'));
-}
-break;
-}
+    std::pair<std::size_t, int> get_ubjson_size_type()
+    {
+        std::size_t sz = string_t::npos;
+        int tc = 0;
+
+        get_ignore_noop();
+
+        if (current == '$')
+        {
+            tc = get();  // must not ignore 'N', because 'N' maybe the type
+            unexpect_eof();
+
+            get_ignore_noop();
+            if (current != '#')
+            {
+                std::stringstream ss;
+                ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
+                JSON_THROW(parse_error::create(112, chars_read,
+                                               "expected '#' after UBJSON type information; last byte: 0x" + ss.str()));
+            }
+            sz = parse_ubjson_internal();
+        }
+        else if (current == '#')
+        {
+            sz = parse_ubjson_internal();
+        }
+
+        return std::make_pair(sz, tc);
+    }
 
-case value_t::boolean:
-{
-if (add_prefix)
-oa->write_character(j.m_value.boolean
-? static_cast<CharType>('T')
-: static_cast<CharType>('F'));
-break;
-}
+    BasicJsonType get_ubjson_value(const int prefix)
+    {
+        switch (prefix)
+        {
+            case std::char_traits<char>::eof():  // EOF
+                JSON_THROW(parse_error::create(110, chars_read, "unexpected end of input"));
+
+            case 'T':  // true
+                return true;
+            case 'F':  // false
+                return false;
+
+            case 'Z':  // null
+                return nullptr;
+
+            case 'U':
+                return get_number<uint8_t>();
+            case 'i':
+                return get_number<int8_t>();
+            case 'I':
+                return get_number<int16_t>();
+            case 'l':
+                return get_number<int32_t>();
+            case 'L':
+                return get_number<int64_t>();
+            case 'd':
+                return get_number<float>();
+            case 'D':
+                return get_number<double>();
+
+            case 'C':  // char
+            {
+                get();
+                unexpect_eof();
+                if (JSON_UNLIKELY(current > 127))
+                {
+                    std::stringstream ss;
+                    ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
+                    JSON_THROW(parse_error::create(113, chars_read,
+                                                   "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + ss.str()));
+                }
+                return string_t(1, static_cast<char>(current));
+            }
+
+            case 'S':  // string
+                return get_ubjson_string();
+
+            case '[':  // array
+                return get_ubjson_array();
+
+            case '{':  // object
+                return get_ubjson_object();
+
+            default: // anything else
+                std::stringstream ss;
+                ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << current;
+                JSON_THROW(parse_error::create(112, chars_read,
+                                               "error reading UBJSON; last byte: 0x" + ss.str()));
+        }
+    }
 
-case value_t::number_integer:
-{
-write_number_with_ubjson_prefix(j.m_value.number_integer, add_prefix);
-break;
-}
+    BasicJsonType get_ubjson_array()
+    {
+        BasicJsonType result = value_t::array;
+        const auto size_and_type = get_ubjson_size_type();
+
+        if (size_and_type.first != string_t::npos)
+        {
+            if (JSON_UNLIKELY(size_and_type.first > result.max_size()))
+            {
+                JSON_THROW(out_of_range::create(408,
+                                                "excessive array size: " + std::to_string(size_and_type.first)));
+            }
+
+            if (size_and_type.second != 0)
+            {
+                if (size_and_type.second != 'N')
+                {
+                    std::generate_n(std::back_inserter(*result.m_value.array),
+                                    size_and_type.first, [this, size_and_type]()
+                    {
+                        return get_ubjson_value(size_and_type.second);
+                    });
+                }
+            }
+            else
+            {
+                std::generate_n(std::back_inserter(*result.m_value.array),
+                                size_and_type.first, [this]()
+                {
+                    return parse_ubjson_internal();
+                });
+            }
+        }
+        else
+        {
+            while (current != ']')
+            {
+                result.push_back(parse_ubjson_internal(false));
+                get_ignore_noop();
+            }
+        }
+
+        return result;
+    }
 
-case value_t::number_unsigned:
-{
-write_number_with_ubjson_prefix(j.m_value.number_unsigned, add_prefix);
-break;
-}
+    BasicJsonType get_ubjson_object()
+    {
+        BasicJsonType result = value_t::object;
+        const auto size_and_type = get_ubjson_size_type();
+
+        if (size_and_type.first != string_t::npos)
+        {
+            if (JSON_UNLIKELY(size_and_type.first > result.max_size()))
+            {
+                JSON_THROW(out_of_range::create(408,
+                                                "excessive object size: " + std::to_string(size_and_type.first)));
+            }
+
+            if (size_and_type.second != 0)
+            {
+                std::generate_n(std::inserter(*result.m_value.object,
+                                              result.m_value.object->end()),
+                                size_and_type.first, [this, size_and_type]()
+                {
+                    auto key = get_ubjson_string();
+                    auto val = get_ubjson_value(size_and_type.second);
+                    return std::make_pair(std::move(key), std::move(val));
+                });
+            }
+            else
+            {
+                std::generate_n(std::inserter(*result.m_value.object,
+                                              result.m_value.object->end()),
+                                size_and_type.first, [this]()
+                {
+                    auto key = get_ubjson_string();
+                    auto val = parse_ubjson_internal();
+                    return std::make_pair(std::move(key), std::move(val));
+                });
+            }
+        }
+        else
+        {
+            while (current != '}')
+            {
+                auto key = get_ubjson_string(false);
+                result[std::move(key)] = parse_ubjson_internal();
+                get_ignore_noop();
+            }
+        }
+
+        return result;
+    }
 
-case value_t::number_float:
-{
-write_number_with_ubjson_prefix(j.m_value.number_float, add_prefix);
-break;
-}
+    /*!
+    @brief throw if end of input is not reached
+    @throw parse_error.110 if input not ended
+    */
+    void expect_eof() const
+    {
+        if (JSON_UNLIKELY(current != std::char_traits<char>::eof()))
+        {
+            JSON_THROW(parse_error::create(110, chars_read, "expected end of input"));
+        }
+    }
 
-case value_t::string:
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('S'));
-}
-write_number_with_ubjson_prefix(j.m_value.string->size(), true);
-oa->write_characters(
-reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
-j.m_value.string->size());
-break;
-}
+    /*!
+    @briefthrow if end of input is reached
+    @throw parse_error.110 if input ended
+    */
+    void unexpect_eof() const
+    {
+        if (JSON_UNLIKELY(current == std::char_traits<char>::eof()))
+        {
+            JSON_THROW(parse_error::create(110, chars_read, "unexpected end of input"));
+        }
+    }
 
-case value_t::array:
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('['));
-}
+  private:
+    /// input adapter
+    input_adapter_t ia = nullptr;
 
-bool prefix_required = true;
-if (use_type and not j.m_value.array->empty())
-{
-assert(use_count);
-const char first_prefix = ubjson_prefix(j.front());
-const bool same_prefix = std::all_of(j.begin() + 1, j.end(),
-[this, first_prefix](const BasicJsonType & v)
-{
-return ubjson_prefix(v) == first_prefix;
-});
+    /// the current character
+    int current = std::char_traits<char>::eof();
 
-if (same_prefix)
-{
-prefix_required = false;
-oa->write_character(static_cast<CharType>('$'));
-oa->write_character(static_cast<CharType>(first_prefix));
+    /// the number of characters read
+    std::size_t chars_read = 0;
+
+    /// whether we can assume little endianess
+    const bool is_little_endian = little_endianess();
+};
 }
 }
 
-if (use_count)
-{
-oa->write_character(static_cast<CharType>('#'));
-write_number_with_ubjson_prefix(j.m_value.array->size(), true);
-}
+// #include <nlohmann/detail/output/binary_writer.hpp>
 
-for (const auto& el : *j.m_value.array)
-{
-write_ubjson(el, use_count, use_type, prefix_required);
-}
 
-if (not use_count)
-{
-oa->write_character(static_cast<CharType>(']'));
-}
+#include <algorithm> // reverse
+#include <array> // array
+#include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
+#include <cstring> // memcpy
+#include <limits> // numeric_limits
 
-break;
-}
+// #include <nlohmann/detail/input/binary_reader.hpp>
 
-case value_t::object:
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('{'));
-}
+// #include <nlohmann/detail/output/output_adapters.hpp>
 
-bool prefix_required = true;
-if (use_type and not j.m_value.object->empty())
-{
-assert(use_count);
-const char first_prefix = ubjson_prefix(j.front());
-const bool same_prefix = std::all_of(j.begin(), j.end(),
-[this, first_prefix](const BasicJsonType & v)
-{
-return ubjson_prefix(v) == first_prefix;
-});
 
-if (same_prefix)
+namespace nlohmann
 {
-prefix_required = false;
-oa->write_character(static_cast<CharType>('$'));
-oa->write_character(static_cast<CharType>(first_prefix));
-}
-}
-
-if (use_count)
+namespace detail
 {
-oa->write_character(static_cast<CharType>('#'));
-write_number_with_ubjson_prefix(j.m_value.object->size(), true);
-}
+///////////////////
+// binary writer //
+///////////////////
 
-for (const auto& el : *j.m_value.object)
+/*!
+@brief serialization to CBOR and MessagePack values
+*/
+template<typename BasicJsonType, typename CharType>
+class binary_writer
 {
-write_number_with_ubjson_prefix(el.first.size(), true);
-oa->write_characters(
-reinterpret_cast<const CharType*>(el.first.c_str()),
-el.first.size());
-write_ubjson(el.second, use_count, use_type, prefix_required);
-}
+  public:
+    /*!
+    @brief create a binary writer
 
-if (not use_count)
-{
-oa->write_character(static_cast<CharType>('}'));
-}
+    @param[in] adapter  output adapter to write to
+    */
+    explicit binary_writer(output_adapter_t<CharType> adapter) : oa(adapter)
+    {
+        assert(oa);
+    }
 
-break;
-}
+    /*!
+    @brief[in] j  JSON value to serialize
+    */
+    void write_cbor(const BasicJsonType& j)
+    {
+        switch (j.type())
+        {
+            case value_t::null:
+            {
+                oa->write_character(static_cast<CharType>(0xF6));
+                break;
+            }
+
+            case value_t::boolean:
+            {
+                oa->write_character(j.m_value.boolean
+                                    ? static_cast<CharType>(0xF5)
+                                    : static_cast<CharType>(0xF4));
+                break;
+            }
+
+            case value_t::number_integer:
+            {
+                if (j.m_value.number_integer >= 0)
+                {
+                    // CBOR does not differentiate between positive signed
+                    // integers and unsigned integers. Therefore, we used the
+                    // code from the value_t::number_unsigned case here.
+                    if (j.m_value.number_integer <= 0x17)
+                    {
+                        write_number(static_cast<uint8_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_integer <= (std::numeric_limits<uint8_t>::max)())
+                    {
+                        oa->write_character(static_cast<CharType>(0x18));
+                        write_number(static_cast<uint8_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_integer <= (std::numeric_limits<uint16_t>::max)())
+                    {
+                        oa->write_character(static_cast<CharType>(0x19));
+                        write_number(static_cast<uint16_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_integer <= (std::numeric_limits<uint32_t>::max)())
+                    {
+                        oa->write_character(static_cast<CharType>(0x1A));
+                        write_number(static_cast<uint32_t>(j.m_value.number_integer));
+                    }
+                    else
+                    {
+                        oa->write_character(static_cast<CharType>(0x1B));
+                        write_number(static_cast<uint64_t>(j.m_value.number_integer));
+                    }
+                }
+                else
+                {
+                    // The conversions below encode the sign in the first
+                    // byte, and the value is converted to a positive number.
+                    const auto positive_number = -1 - j.m_value.number_integer;
+                    if (j.m_value.number_integer >= -24)
+                    {
+                        write_number(static_cast<uint8_t>(0x20 + positive_number));
+                    }
+                    else if (positive_number <= (std::numeric_limits<uint8_t>::max)())
+                    {
+                        oa->write_character(static_cast<CharType>(0x38));
+                        write_number(static_cast<uint8_t>(positive_number));
+                    }
+                    else if (positive_number <= (std::numeric_limits<uint16_t>::max)())
+                    {
+                        oa->write_character(static_cast<CharType>(0x39));
+                        write_number(static_cast<uint16_t>(positive_number));
+                    }
+                    else if (positive_number <= (std::numeric_limits<uint32_t>::max)())
+                    {
+                        oa->write_character(static_cast<CharType>(0x3A));
+                        write_number(static_cast<uint32_t>(positive_number));
+                    }
+                    else
+                    {
+                        oa->write_character(static_cast<CharType>(0x3B));
+                        write_number(static_cast<uint64_t>(positive_number));
+                    }
+                }
+                break;
+            }
+
+            case value_t::number_unsigned:
+            {
+                if (j.m_value.number_unsigned <= 0x17)
+                {
+                    write_number(static_cast<uint8_t>(j.m_value.number_unsigned));
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<uint8_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x18));
+                    write_number(static_cast<uint8_t>(j.m_value.number_unsigned));
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<uint16_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x19));
+                    write_number(static_cast<uint16_t>(j.m_value.number_unsigned));
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<uint32_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x1A));
+                    write_number(static_cast<uint32_t>(j.m_value.number_unsigned));
+                }
+                else
+                {
+                    oa->write_character(static_cast<CharType>(0x1B));
+                    write_number(static_cast<uint64_t>(j.m_value.number_unsigned));
+                }
+                break;
+            }
+
+            case value_t::number_float: // Double-Precision Float
+            {
+                oa->write_character(static_cast<CharType>(0xFB));
+                write_number(j.m_value.number_float);
+                break;
+            }
+
+            case value_t::string:
+            {
+                // step 1: write control byte and the string length
+                const auto N = j.m_value.string->size();
+                if (N <= 0x17)
+                {
+                    write_number(static_cast<uint8_t>(0x60 + N));
+                }
+                else if (N <= (std::numeric_limits<uint8_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x78));
+                    write_number(static_cast<uint8_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint16_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x79));
+                    write_number(static_cast<uint16_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint32_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x7A));
+                    write_number(static_cast<uint32_t>(N));
+                }
+                // LCOV_EXCL_START
+                else if (N <= (std::numeric_limits<uint64_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x7B));
+                    write_number(static_cast<uint64_t>(N));
+                }
+                // LCOV_EXCL_STOP
+
+                // step 2: write the string
+                oa->write_characters(
+                    reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
+                    j.m_value.string->size());
+                break;
+            }
+
+            case value_t::array:
+            {
+                // step 1: write control byte and the array size
+                const auto N = j.m_value.array->size();
+                if (N <= 0x17)
+                {
+                    write_number(static_cast<uint8_t>(0x80 + N));
+                }
+                else if (N <= (std::numeric_limits<uint8_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x98));
+                    write_number(static_cast<uint8_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint16_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x99));
+                    write_number(static_cast<uint16_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint32_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x9A));
+                    write_number(static_cast<uint32_t>(N));
+                }
+                // LCOV_EXCL_START
+                else if (N <= (std::numeric_limits<uint64_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0x9B));
+                    write_number(static_cast<uint64_t>(N));
+                }
+                // LCOV_EXCL_STOP
+
+                // step 2: write each element
+                for (const auto& el : *j.m_value.array)
+                {
+                    write_cbor(el);
+                }
+                break;
+            }
+
+            case value_t::object:
+            {
+                // step 1: write control byte and the object size
+                const auto N = j.m_value.object->size();
+                if (N <= 0x17)
+                {
+                    write_number(static_cast<uint8_t>(0xA0 + N));
+                }
+                else if (N <= (std::numeric_limits<uint8_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0xB8));
+                    write_number(static_cast<uint8_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint16_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0xB9));
+                    write_number(static_cast<uint16_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint32_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0xBA));
+                    write_number(static_cast<uint32_t>(N));
+                }
+                // LCOV_EXCL_START
+                else if (N <= (std::numeric_limits<uint64_t>::max)())
+                {
+                    oa->write_character(static_cast<CharType>(0xBB));
+                    write_number(static_cast<uint64_t>(N));
+                }
+                // LCOV_EXCL_STOP
+
+                // step 2: write each element
+                for (const auto& el : *j.m_value.object)
+                {
+                    write_cbor(el.first);
+                    write_cbor(el.second);
+                }
+                break;
+            }
+
+            default:
+                break;
+        }
+    }
 
-default:
-break;
-}
-}
+    /*!
+    @brief[in] j  JSON value to serialize
+    */
+    void write_msgpack(const BasicJsonType& j)
+    {
+        switch (j.type())
+        {
+            case value_t::null: // nil
+            {
+                oa->write_character(static_cast<CharType>(0xC0));
+                break;
+            }
+
+            case value_t::boolean: // true and false
+            {
+                oa->write_character(j.m_value.boolean
+                                    ? static_cast<CharType>(0xC3)
+                                    : static_cast<CharType>(0xC2));
+                break;
+            }
+
+            case value_t::number_integer:
+            {
+                if (j.m_value.number_integer >= 0)
+                {
+                    // MessagePack does not differentiate between positive
+                    // signed integers and unsigned integers. Therefore, we used
+                    // the code from the value_t::number_unsigned case here.
+                    if (j.m_value.number_unsigned < 128)
+                    {
+                        // positive fixnum
+                        write_number(static_cast<uint8_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_unsigned <= (std::numeric_limits<uint8_t>::max)())
+                    {
+                        // uint 8
+                        oa->write_character(static_cast<CharType>(0xCC));
+                        write_number(static_cast<uint8_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_unsigned <= (std::numeric_limits<uint16_t>::max)())
+                    {
+                        // uint 16
+                        oa->write_character(static_cast<CharType>(0xCD));
+                        write_number(static_cast<uint16_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_unsigned <= (std::numeric_limits<uint32_t>::max)())
+                    {
+                        // uint 32
+                        oa->write_character(static_cast<CharType>(0xCE));
+                        write_number(static_cast<uint32_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_unsigned <= (std::numeric_limits<uint64_t>::max)())
+                    {
+                        // uint 64
+                        oa->write_character(static_cast<CharType>(0xCF));
+                        write_number(static_cast<uint64_t>(j.m_value.number_integer));
+                    }
+                }
+                else
+                {
+                    if (j.m_value.number_integer >= -32)
+                    {
+                        // negative fixnum
+                        write_number(static_cast<int8_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_integer >= (std::numeric_limits<int8_t>::min)() and
+                             j.m_value.number_integer <= (std::numeric_limits<int8_t>::max)())
+                    {
+                        // int 8
+                        oa->write_character(static_cast<CharType>(0xD0));
+                        write_number(static_cast<int8_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_integer >= (std::numeric_limits<int16_t>::min)() and
+                             j.m_value.number_integer <= (std::numeric_limits<int16_t>::max)())
+                    {
+                        // int 16
+                        oa->write_character(static_cast<CharType>(0xD1));
+                        write_number(static_cast<int16_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_integer >= (std::numeric_limits<int32_t>::min)() and
+                             j.m_value.number_integer <= (std::numeric_limits<int32_t>::max)())
+                    {
+                        // int 32
+                        oa->write_character(static_cast<CharType>(0xD2));
+                        write_number(static_cast<int32_t>(j.m_value.number_integer));
+                    }
+                    else if (j.m_value.number_integer >= (std::numeric_limits<int64_t>::min)() and
+                             j.m_value.number_integer <= (std::numeric_limits<int64_t>::max)())
+                    {
+                        // int 64
+                        oa->write_character(static_cast<CharType>(0xD3));
+                        write_number(static_cast<int64_t>(j.m_value.number_integer));
+                    }
+                }
+                break;
+            }
+
+            case value_t::number_unsigned:
+            {
+                if (j.m_value.number_unsigned < 128)
+                {
+                    // positive fixnum
+                    write_number(static_cast<uint8_t>(j.m_value.number_integer));
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<uint8_t>::max)())
+                {
+                    // uint 8
+                    oa->write_character(static_cast<CharType>(0xCC));
+                    write_number(static_cast<uint8_t>(j.m_value.number_integer));
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<uint16_t>::max)())
+                {
+                    // uint 16
+                    oa->write_character(static_cast<CharType>(0xCD));
+                    write_number(static_cast<uint16_t>(j.m_value.number_integer));
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<uint32_t>::max)())
+                {
+                    // uint 32
+                    oa->write_character(static_cast<CharType>(0xCE));
+                    write_number(static_cast<uint32_t>(j.m_value.number_integer));
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<uint64_t>::max)())
+                {
+                    // uint 64
+                    oa->write_character(static_cast<CharType>(0xCF));
+                    write_number(static_cast<uint64_t>(j.m_value.number_integer));
+                }
+                break;
+            }
+
+            case value_t::number_float: // float 64
+            {
+                oa->write_character(static_cast<CharType>(0xCB));
+                write_number(j.m_value.number_float);
+                break;
+            }
+
+            case value_t::string:
+            {
+                // step 1: write control byte and the string length
+                const auto N = j.m_value.string->size();
+                if (N <= 31)
+                {
+                    // fixstr
+                    write_number(static_cast<uint8_t>(0xA0 | N));
+                }
+                else if (N <= (std::numeric_limits<uint8_t>::max)())
+                {
+                    // str 8
+                    oa->write_character(static_cast<CharType>(0xD9));
+                    write_number(static_cast<uint8_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint16_t>::max)())
+                {
+                    // str 16
+                    oa->write_character(static_cast<CharType>(0xDA));
+                    write_number(static_cast<uint16_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint32_t>::max)())
+                {
+                    // str 32
+                    oa->write_character(static_cast<CharType>(0xDB));
+                    write_number(static_cast<uint32_t>(N));
+                }
+
+                // step 2: write the string
+                oa->write_characters(
+                    reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
+                    j.m_value.string->size());
+                break;
+            }
+
+            case value_t::array:
+            {
+                // step 1: write control byte and the array size
+                const auto N = j.m_value.array->size();
+                if (N <= 15)
+                {
+                    // fixarray
+                    write_number(static_cast<uint8_t>(0x90 | N));
+                }
+                else if (N <= (std::numeric_limits<uint16_t>::max)())
+                {
+                    // array 16
+                    oa->write_character(static_cast<CharType>(0xDC));
+                    write_number(static_cast<uint16_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint32_t>::max)())
+                {
+                    // array 32
+                    oa->write_character(static_cast<CharType>(0xDD));
+                    write_number(static_cast<uint32_t>(N));
+                }
+
+                // step 2: write each element
+                for (const auto& el : *j.m_value.array)
+                {
+                    write_msgpack(el);
+                }
+                break;
+            }
+
+            case value_t::object:
+            {
+                // step 1: write control byte and the object size
+                const auto N = j.m_value.object->size();
+                if (N <= 15)
+                {
+                    // fixmap
+                    write_number(static_cast<uint8_t>(0x80 | (N & 0xF)));
+                }
+                else if (N <= (std::numeric_limits<uint16_t>::max)())
+                {
+                    // map 16
+                    oa->write_character(static_cast<CharType>(0xDE));
+                    write_number(static_cast<uint16_t>(N));
+                }
+                else if (N <= (std::numeric_limits<uint32_t>::max)())
+                {
+                    // map 32
+                    oa->write_character(static_cast<CharType>(0xDF));
+                    write_number(static_cast<uint32_t>(N));
+                }
+
+                // step 2: write each element
+                for (const auto& el : *j.m_value.object)
+                {
+                    write_msgpack(el.first);
+                    write_msgpack(el.second);
+                }
+                break;
+            }
+
+            default:
+                break;
+        }
+    }
 
-private:
-/*
+    /*!
+    @param[in] j  JSON value to serialize
+    @param[in] use_count   whether to use '#' prefixes (optimized format)
+    @param[in] use_type    whether to use '$' prefixes (optimized format)
+    @param[in] add_prefix  whether prefixes need to be used for this value
+    */
+    void write_ubjson(const BasicJsonType& j, const bool use_count,
+                      const bool use_type, const bool add_prefix = true)
+    {
+        switch (j.type())
+        {
+            case value_t::null:
+            {
+                if (add_prefix)
+                {
+                    oa->write_character(static_cast<CharType>('Z'));
+                }
+                break;
+            }
+
+            case value_t::boolean:
+            {
+                if (add_prefix)
+                    oa->write_character(j.m_value.boolean
+                                        ? static_cast<CharType>('T')
+                                        : static_cast<CharType>('F'));
+                break;
+            }
+
+            case value_t::number_integer:
+            {
+                write_number_with_ubjson_prefix(j.m_value.number_integer, add_prefix);
+                break;
+            }
+
+            case value_t::number_unsigned:
+            {
+                write_number_with_ubjson_prefix(j.m_value.number_unsigned, add_prefix);
+                break;
+            }
+
+            case value_t::number_float:
+            {
+                write_number_with_ubjson_prefix(j.m_value.number_float, add_prefix);
+                break;
+            }
+
+            case value_t::string:
+            {
+                if (add_prefix)
+                {
+                    oa->write_character(static_cast<CharType>('S'));
+                }
+                write_number_with_ubjson_prefix(j.m_value.string->size(), true);
+                oa->write_characters(
+                    reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
+                    j.m_value.string->size());
+                break;
+            }
+
+            case value_t::array:
+            {
+                if (add_prefix)
+                {
+                    oa->write_character(static_cast<CharType>('['));
+                }
+
+                bool prefix_required = true;
+                if (use_type and not j.m_value.array->empty())
+                {
+                    assert(use_count);
+                    const char first_prefix = ubjson_prefix(j.front());
+                    const bool same_prefix = std::all_of(j.begin() + 1, j.end(),
+                                                         [this, first_prefix](const BasicJsonType & v)
+                    {
+                        return ubjson_prefix(v) == first_prefix;
+                    });
+
+                    if (same_prefix)
+                    {
+                        prefix_required = false;
+                        oa->write_character(static_cast<CharType>('$'));
+                        oa->write_character(static_cast<CharType>(first_prefix));
+                    }
+                }
+
+                if (use_count)
+                {
+                    oa->write_character(static_cast<CharType>('#'));
+                    write_number_with_ubjson_prefix(j.m_value.array->size(), true);
+                }
+
+                for (const auto& el : *j.m_value.array)
+                {
+                    write_ubjson(el, use_count, use_type, prefix_required);
+                }
+
+                if (not use_count)
+                {
+                    oa->write_character(static_cast<CharType>(']'));
+                }
+
+                break;
+            }
+
+            case value_t::object:
+            {
+                if (add_prefix)
+                {
+                    oa->write_character(static_cast<CharType>('{'));
+                }
+
+                bool prefix_required = true;
+                if (use_type and not j.m_value.object->empty())
+                {
+                    assert(use_count);
+                    const char first_prefix = ubjson_prefix(j.front());
+                    const bool same_prefix = std::all_of(j.begin(), j.end(),
+                                                         [this, first_prefix](const BasicJsonType & v)
+                    {
+                        return ubjson_prefix(v) == first_prefix;
+                    });
+
+                    if (same_prefix)
+                    {
+                        prefix_required = false;
+                        oa->write_character(static_cast<CharType>('$'));
+                        oa->write_character(static_cast<CharType>(first_prefix));
+                    }
+                }
+
+                if (use_count)
+                {
+                    oa->write_character(static_cast<CharType>('#'));
+                    write_number_with_ubjson_prefix(j.m_value.object->size(), true);
+                }
+
+                for (const auto& el : *j.m_value.object)
+                {
+                    write_number_with_ubjson_prefix(el.first.size(), true);
+                    oa->write_characters(
+                        reinterpret_cast<const CharType*>(el.first.c_str()),
+                        el.first.size());
+                    write_ubjson(el.second, use_count, use_type, prefix_required);
+                }
+
+                if (not use_count)
+                {
+                    oa->write_character(static_cast<CharType>('}'));
+                }
+
+                break;
+            }
+
+            default:
+                break;
+        }
+    }
+
+  private:
+    /*
     @brief write a number to output input
 
     @param[in] n number of type @a NumberType
@@ -7145,144 +6895,144 @@ private:
           in CBOR, MessagePack, and UBJSON are stored in network order (big
           endian) and therefore need reordering on little endian systems.
     */
-template<typename NumberType>
-void write_number(const NumberType n)
-{
-// step 1: write number to array of length NumberType
-std::array<CharType, sizeof(NumberType)> vec;
-std::memcpy(vec.data(), &n, sizeof(NumberType));
-
-// step 2: write array to output (with possible reordering)
-if (is_little_endian)
-{
-// reverse byte order prior to conversion if necessary
-std::reverse(vec.begin(), vec.end());
-}
-
-oa->write_characters(vec.data(), sizeof(NumberType));
-}
+    template<typename NumberType>
+    void write_number(const NumberType n)
+    {
+        // step 1: write number to array of length NumberType
+        std::array<CharType, sizeof(NumberType)> vec;
+        std::memcpy(vec.data(), &n, sizeof(NumberType));
+
+        // step 2: write array to output (with possible reordering)
+        if (is_little_endian)
+        {
+            // reverse byte order prior to conversion if necessary
+            std::reverse(vec.begin(), vec.end());
+        }
+
+        oa->write_characters(vec.data(), sizeof(NumberType));
+    }
 
-// UBJSON: write number (floating point)
-template<typename NumberType, typename std::enable_if<
-std::is_floating_point<NumberType>::value, int>::type = 0>
-void write_number_with_ubjson_prefix(const NumberType n,
-const bool add_prefix)
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('D'));  // float64
-}
-write_number(n);
-}
+    // UBJSON: write number (floating point)
+    template<typename NumberType, typename std::enable_if<
+                 std::is_floating_point<NumberType>::value, int>::type = 0>
+    void write_number_with_ubjson_prefix(const NumberType n,
+                                         const bool add_prefix)
+    {
+        if (add_prefix)
+        {
+            oa->write_character(static_cast<CharType>('D'));  // float64
+        }
+        write_number(n);
+    }
 
-// UBJSON: write number (unsigned integer)
-template<typename NumberType, typename std::enable_if<
-std::is_unsigned<NumberType>::value, int>::type = 0>
-void write_number_with_ubjson_prefix(const NumberType n,
-const bool add_prefix)
-{
-if (n <= static_cast<uint64_t>((std::numeric_limits<int8_t>::max)()))
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('i'));  // int8
-}
-write_number(static_cast<uint8_t>(n));
-}
-else if (n <= (std::numeric_limits<uint8_t>::max)())
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('U'));  // uint8
-}
-write_number(static_cast<uint8_t>(n));
-}
-else if (n <= static_cast<uint64_t>((std::numeric_limits<int16_t>::max)()))
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('I'));  // int16
-}
-write_number(static_cast<int16_t>(n));
-}
-else if (n <= static_cast<uint64_t>((std::numeric_limits<int32_t>::max)()))
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('l'));  // int32
-}
-write_number(static_cast<int32_t>(n));
-}
-else if (n <= static_cast<uint64_t>((std::numeric_limits<int64_t>::max)()))
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('L'));  // int64
-}
-write_number(static_cast<int64_t>(n));
-}
-else
-{
-JSON_THROW(out_of_range::create(407, "number overflow serializing " + std::to_string(n)));
-}
-}
+    // UBJSON: write number (unsigned integer)
+    template<typename NumberType, typename std::enable_if<
+                 std::is_unsigned<NumberType>::value, int>::type = 0>
+    void write_number_with_ubjson_prefix(const NumberType n,
+                                         const bool add_prefix)
+    {
+        if (n <= static_cast<uint64_t>((std::numeric_limits<int8_t>::max)()))
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('i'));  // int8
+            }
+            write_number(static_cast<uint8_t>(n));
+        }
+        else if (n <= (std::numeric_limits<uint8_t>::max)())
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('U'));  // uint8
+            }
+            write_number(static_cast<uint8_t>(n));
+        }
+        else if (n <= static_cast<uint64_t>((std::numeric_limits<int16_t>::max)()))
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('I'));  // int16
+            }
+            write_number(static_cast<int16_t>(n));
+        }
+        else if (n <= static_cast<uint64_t>((std::numeric_limits<int32_t>::max)()))
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('l'));  // int32
+            }
+            write_number(static_cast<int32_t>(n));
+        }
+        else if (n <= static_cast<uint64_t>((std::numeric_limits<int64_t>::max)()))
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('L'));  // int64
+            }
+            write_number(static_cast<int64_t>(n));
+        }
+        else
+        {
+            JSON_THROW(out_of_range::create(407, "number overflow serializing " + std::to_string(n)));
+        }
+    }
 
-// UBJSON: write number (signed integer)
-template<typename NumberType, typename std::enable_if<
-std::is_signed<NumberType>::value and
-not std::is_floating_point<NumberType>::value, int>::type = 0>
-void write_number_with_ubjson_prefix(const NumberType n,
-const bool add_prefix)
-{
-if ((std::numeric_limits<int8_t>::min)() <= n and n <= (std::numeric_limits<int8_t>::max)())
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('i'));  // int8
-}
-write_number(static_cast<int8_t>(n));
-}
-else if (static_cast<int64_t>((std::numeric_limits<uint8_t>::min)()) <= n and n <= static_cast<int64_t>((std::numeric_limits<uint8_t>::max)()))
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('U'));  // uint8
-}
-write_number(static_cast<uint8_t>(n));
-}
-else if ((std::numeric_limits<int16_t>::min)() <= n and n <= (std::numeric_limits<int16_t>::max)())
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('I'));  // int16
-}
-write_number(static_cast<int16_t>(n));
-}
-else if ((std::numeric_limits<int32_t>::min)() <= n and n <= (std::numeric_limits<int32_t>::max)())
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('l'));  // int32
-}
-write_number(static_cast<int32_t>(n));
-}
-else if ((std::numeric_limits<int64_t>::min)() <= n and n <= (std::numeric_limits<int64_t>::max)())
-{
-if (add_prefix)
-{
-oa->write_character(static_cast<CharType>('L'));  // int64
-}
-write_number(static_cast<int64_t>(n));
-}
-// LCOV_EXCL_START
-else
-{
-JSON_THROW(out_of_range::create(407, "number overflow serializing " + std::to_string(n)));
-}
-// LCOV_EXCL_STOP
-}
+    // UBJSON: write number (signed integer)
+    template<typename NumberType, typename std::enable_if<
+                 std::is_signed<NumberType>::value and
+                 not std::is_floating_point<NumberType>::value, int>::type = 0>
+    void write_number_with_ubjson_prefix(const NumberType n,
+                                         const bool add_prefix)
+    {
+        if ((std::numeric_limits<int8_t>::min)() <= n and n <= (std::numeric_limits<int8_t>::max)())
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('i'));  // int8
+            }
+            write_number(static_cast<int8_t>(n));
+        }
+        else if (static_cast<int64_t>((std::numeric_limits<uint8_t>::min)()) <= n and n <= static_cast<int64_t>((std::numeric_limits<uint8_t>::max)()))
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('U'));  // uint8
+            }
+            write_number(static_cast<uint8_t>(n));
+        }
+        else if ((std::numeric_limits<int16_t>::min)() <= n and n <= (std::numeric_limits<int16_t>::max)())
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('I'));  // int16
+            }
+            write_number(static_cast<int16_t>(n));
+        }
+        else if ((std::numeric_limits<int32_t>::min)() <= n and n <= (std::numeric_limits<int32_t>::max)())
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('l'));  // int32
+            }
+            write_number(static_cast<int32_t>(n));
+        }
+        else if ((std::numeric_limits<int64_t>::min)() <= n and n <= (std::numeric_limits<int64_t>::max)())
+        {
+            if (add_prefix)
+            {
+                oa->write_character(static_cast<CharType>('L'));  // int64
+            }
+            write_number(static_cast<int64_t>(n));
+        }
+        // LCOV_EXCL_START
+        else
+        {
+            JSON_THROW(out_of_range::create(407, "number overflow serializing " + std::to_string(n)));
+        }
+        // LCOV_EXCL_STOP
+    }
 
-/*!
+    /*!
     @brief determine the type prefix of container values
 
     @note This function does not need to be 100% accurate when it comes to
@@ -7291,87 +7041,87 @@ JSON_THROW(out_of_range::create(407, "number overflow serializing " + std::to_st
           write_number_with_ubjson_prefix. Therefore, we return 'L' for any
           value that does not fit the previous limits.
     */
-char ubjson_prefix(const BasicJsonType& j) const noexcept
-{
-switch (j.type())
-{
-case value_t::null:
-return 'Z';
-
-case value_t::boolean:
-return j.m_value.boolean ? 'T' : 'F';
-
-case value_t::number_integer:
-{
-if ((std::numeric_limits<int8_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<int8_t>::max)())
-{
-return 'i';
-}
-else if ((std::numeric_limits<uint8_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<uint8_t>::max)())
-{
-return 'U';
-}
-else if ((std::numeric_limits<int16_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<int16_t>::max)())
-{
-return 'I';
-}
-else if ((std::numeric_limits<int32_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<int32_t>::max)())
-{
-return 'l';
-}
-else  // no check and assume int64_t (see note above)
-{
-return 'L';
-}
-}
-
-case value_t::number_unsigned:
-{
-if (j.m_value.number_unsigned <= (std::numeric_limits<int8_t>::max)())
-{
-return 'i';
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<uint8_t>::max)())
-{
-return 'U';
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<int16_t>::max)())
-{
-return 'I';
-}
-else if (j.m_value.number_unsigned <= (std::numeric_limits<int32_t>::max)())
-{
-return 'l';
-}
-else  // no check and assume int64_t (see note above)
-{
-return 'L';
-}
-}
-
-case value_t::number_float:
-return 'D';
-
-case value_t::string:
-return 'S';
-
-case value_t::array:
-return '[';
-
-case value_t::object:
-return '{';
-
-default:  // discarded values
-return 'N';
-}
-}
+    char ubjson_prefix(const BasicJsonType& j) const noexcept
+    {
+        switch (j.type())
+        {
+            case value_t::null:
+                return 'Z';
+
+            case value_t::boolean:
+                return j.m_value.boolean ? 'T' : 'F';
+
+            case value_t::number_integer:
+            {
+                if ((std::numeric_limits<int8_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<int8_t>::max)())
+                {
+                    return 'i';
+                }
+                else if ((std::numeric_limits<uint8_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<uint8_t>::max)())
+                {
+                    return 'U';
+                }
+                else if ((std::numeric_limits<int16_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<int16_t>::max)())
+                {
+                    return 'I';
+                }
+                else if ((std::numeric_limits<int32_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<int32_t>::max)())
+                {
+                    return 'l';
+                }
+                else  // no check and assume int64_t (see note above)
+                {
+                    return 'L';
+                }
+            }
+
+            case value_t::number_unsigned:
+            {
+                if (j.m_value.number_unsigned <= (std::numeric_limits<int8_t>::max)())
+                {
+                    return 'i';
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<uint8_t>::max)())
+                {
+                    return 'U';
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<int16_t>::max)())
+                {
+                    return 'I';
+                }
+                else if (j.m_value.number_unsigned <= (std::numeric_limits<int32_t>::max)())
+                {
+                    return 'l';
+                }
+                else  // no check and assume int64_t (see note above)
+                {
+                    return 'L';
+                }
+            }
+
+            case value_t::number_float:
+                return 'D';
+
+            case value_t::string:
+                return 'S';
+
+            case value_t::array:
+                return '[';
+
+            case value_t::object:
+                return '{';
+
+            default:  // discarded values
+                return 'N';
+        }
+    }
 
-private:
-/// whether we can assume little endianess
-const bool is_little_endian = binary_reader<BasicJsonType>::little_endianess();
+  private:
+    /// whether we can assume little endianess
+    const bool is_little_endian = binary_reader<BasicJsonType>::little_endianess();
 
-/// the output
-output_adapter_t<CharType> oa = nullptr;
+    /// the output
+    output_adapter_t<CharType> oa = nullptr;
 };
 }
 }
@@ -7379,52 +7129,32 @@ output_adapter_t<CharType> oa = nullptr;
 // #include <nlohmann/detail/output/serializer.hpp>
 
 
-#include
-<algorithm> // reverse, remove, fill, find, none_of
-#include
-<array> // array
-#include
-<cassert> // assert
-#include
-<ciso646> // and, or
-#include
-<clocale> // localeconv, lconv
-#include
-<cmath> // labs, isfinite, isnan, signbit
-#include
-<cstddef> // size_t, ptrdiff_t
-#include
-<cstdint> // uint8_t
-#include
-<cstdio> // snprintf
-#include
-<iomanip> // setfill
-#include
-<iterator> // next
-#include
-<limits> // numeric_limits
-#include
-<string> // string
-#include
-<sstream> // stringstream
-#include
-<type_traits> // is_same
+#include <algorithm> // reverse, remove, fill, find, none_of
+#include <array> // array
+#include <cassert> // assert
+#include <ciso646> // and, or
+#include <clocale> // localeconv, lconv
+#include <cmath> // labs, isfinite, isnan, signbit
+#include <cstddef> // size_t, ptrdiff_t
+#include <cstdint> // uint8_t
+#include <cstdio> // snprintf
+#include <iomanip> // setfill
+#include <iterator> // next
+#include <limits> // numeric_limits
+#include <string> // string
+#include <sstream> // stringstream
+#include <type_traits> // is_same
 
 // #include <nlohmann/detail/exceptions.hpp>
 
 // #include <nlohmann/detail/conversions/to_chars.hpp>
 
 
-#include
-<cassert> // assert
-#include
-<ciso646> // or, and, not
-#include
-<cmath>   // signbit, isfinite
-#include
-<cstdint> // intN_t, uintN_t
-#include
-<cstring> // memcpy, memmove
+#include <cassert> // assert
+#include <ciso646> // or, and, not
+#include <cmath>   // signbit, isfinite
+#include <cstdint> // intN_t, uintN_t
+#include <cstring> // memcpy, memmove
 
 namespace nlohmann
 {
@@ -7456,139 +7186,137 @@ namespace dtoa_impl
 template <typename Target, typename Source>
 Target reinterpret_bits(const Source source)
 {
-static_assert(sizeof(Target) == sizeof(Source), "size mismatch");
+    static_assert(sizeof(Target) == sizeof(Source), "size mismatch");
 
-Target target;
-std::memcpy(&target, &source, sizeof(Source));
-return target;
+    Target target;
+    std::memcpy(&target, &source, sizeof(Source));
+    return target;
 }
 
 struct diyfp // f * 2^e
 {
-static constexpr int kPrecision = 64; // = q
+    static constexpr int kPrecision = 64; // = q
 
-uint64_t f;
-int e;
+    uint64_t f;
+    int e;
 
-constexpr diyfp() noexcept : f(0), e(0) {
-}
-constexpr diyfp(uint64_t f_, int e_) noexcept : f(f_), e(e_) {
-}
+    constexpr diyfp() noexcept : f(0), e(0) {}
+    constexpr diyfp(uint64_t f_, int e_) noexcept : f(f_), e(e_) {}
 
-/*!
+    /*!
     @brief returns x - y
     @pre x.e == y.e and x.f >= y.f
     */
-static diyfp sub(const diyfp& x, const diyfp& y) noexcept
-{
-assert(x.e == y.e);
-assert(x.f >= y.f);
+    static diyfp sub(const diyfp& x, const diyfp& y) noexcept
+    {
+        assert(x.e == y.e);
+        assert(x.f >= y.f);
 
-return diyfp(x.f - y.f, x.e);
-}
+        return diyfp(x.f - y.f, x.e);
+    }
 
-/*!
+    /*!
     @brief returns x * y
     @note The result is rounded. (Only the upper q bits are returned.)
     */
-static diyfp mul(const diyfp& x, const diyfp& y) noexcept
-{
-static_assert(kPrecision == 64, "internal error");
-
-// Computes:
-//  f = round((x.f * y.f) / 2^q)
-//  e = x.e + y.e + q
-
-// Emulate the 64-bit * 64-bit multiplication:
-//
-// p = u * v
-//   = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi)
-//   = (u_lo v_lo         ) + 2^32 ((u_lo v_hi         ) + (u_hi v_lo         )) + 2^64 (u_hi v_hi         )
-//   = (p0                ) + 2^32 ((p1                ) + (p2                )) + 2^64 (p3                )
-//   = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3                )
-//   = (p0_lo             ) + 2^32 (p0_hi + p1_lo + p2_lo                      ) + 2^64 (p1_hi + p2_hi + p3)
-//   = (p0_lo             ) + 2^32 (Q                                          ) + 2^64 (H                 )
-//   = (p0_lo             ) + 2^32 (Q_lo + 2^32 Q_hi                           ) + 2^64 (H                 )
-//
-// (Since Q might be larger than 2^32 - 1)
-//
-//   = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H)
-//
-// (Q_hi + H does not overflow a 64-bit int)
-//
-//   = p_lo + 2^64 p_hi
-
-const uint64_t u_lo = x.f & 0xFFFFFFFF;
-const uint64_t u_hi = x.f >> 32;
-const uint64_t v_lo = y.f & 0xFFFFFFFF;
-const uint64_t v_hi = y.f >> 32;
-
-const uint64_t p0 = u_lo * v_lo;
-const uint64_t p1 = u_lo * v_hi;
-const uint64_t p2 = u_hi * v_lo;
-const uint64_t p3 = u_hi * v_hi;
-
-const uint64_t p0_hi = p0 >> 32;
-const uint64_t p1_lo = p1 & 0xFFFFFFFF;
-const uint64_t p1_hi = p1 >> 32;
-const uint64_t p2_lo = p2 & 0xFFFFFFFF;
-const uint64_t p2_hi = p2 >> 32;
-
-uint64_t Q = p0_hi + p1_lo + p2_lo;
-
-// The full product might now be computed as
-//
-// p_hi = p3 + p2_hi + p1_hi + (Q >> 32)
-// p_lo = p0_lo + (Q << 32)
-//
-// But in this particular case here, the full p_lo is not required.
-// Effectively we only need to add the highest bit in p_lo to p_hi (and
-// Q_hi + 1 does not overflow).
-
-Q += uint64_t{ 1 } << (64 - 32 - 1); // round, ties up
-
-const uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32);
-
-return diyfp(h, x.e + y.e + 64);
-}
+    static diyfp mul(const diyfp& x, const diyfp& y) noexcept
+    {
+        static_assert(kPrecision == 64, "internal error");
+
+        // Computes:
+        //  f = round((x.f * y.f) / 2^q)
+        //  e = x.e + y.e + q
+
+        // Emulate the 64-bit * 64-bit multiplication:
+        //
+        // p = u * v
+        //   = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi)
+        //   = (u_lo v_lo         ) + 2^32 ((u_lo v_hi         ) + (u_hi v_lo         )) + 2^64 (u_hi v_hi         )
+        //   = (p0                ) + 2^32 ((p1                ) + (p2                )) + 2^64 (p3                )
+        //   = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3                )
+        //   = (p0_lo             ) + 2^32 (p0_hi + p1_lo + p2_lo                      ) + 2^64 (p1_hi + p2_hi + p3)
+        //   = (p0_lo             ) + 2^32 (Q                                          ) + 2^64 (H                 )
+        //   = (p0_lo             ) + 2^32 (Q_lo + 2^32 Q_hi                           ) + 2^64 (H                 )
+        //
+        // (Since Q might be larger than 2^32 - 1)
+        //
+        //   = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H)
+        //
+        // (Q_hi + H does not overflow a 64-bit int)
+        //
+        //   = p_lo + 2^64 p_hi
+
+        const uint64_t u_lo = x.f & 0xFFFFFFFF;
+        const uint64_t u_hi = x.f >> 32;
+        const uint64_t v_lo = y.f & 0xFFFFFFFF;
+        const uint64_t v_hi = y.f >> 32;
+
+        const uint64_t p0 = u_lo * v_lo;
+        const uint64_t p1 = u_lo * v_hi;
+        const uint64_t p2 = u_hi * v_lo;
+        const uint64_t p3 = u_hi * v_hi;
+
+        const uint64_t p0_hi = p0 >> 32;
+        const uint64_t p1_lo = p1 & 0xFFFFFFFF;
+        const uint64_t p1_hi = p1 >> 32;
+        const uint64_t p2_lo = p2 & 0xFFFFFFFF;
+        const uint64_t p2_hi = p2 >> 32;
+
+        uint64_t Q = p0_hi + p1_lo + p2_lo;
+
+        // The full product might now be computed as
+        //
+        // p_hi = p3 + p2_hi + p1_hi + (Q >> 32)
+        // p_lo = p0_lo + (Q << 32)
+        //
+        // But in this particular case here, the full p_lo is not required.
+        // Effectively we only need to add the highest bit in p_lo to p_hi (and
+        // Q_hi + 1 does not overflow).
+
+        Q += uint64_t{1} << (64 - 32 - 1); // round, ties up
+
+        const uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32);
+
+        return diyfp(h, x.e + y.e + 64);
+    }
 
-/*!
+    /*!
     @brief normalize x such that the significand is >= 2^(q-1)
     @pre x.f != 0
     */
-static diyfp normalize(diyfp x) noexcept
-{
-assert(x.f != 0);
+    static diyfp normalize(diyfp x) noexcept
+    {
+        assert(x.f != 0);
 
-while ((x.f >> 63) == 0)
-{
-x.f <<= 1;
-x.e--;
-}
+        while ((x.f >> 63) == 0)
+        {
+            x.f <<= 1;
+            x.e--;
+        }
 
-return x;
-}
+        return x;
+    }
 
-/*!
+    /*!
     @brief normalize x such that the result has the exponent E
     @pre e >= x.e and the upper e - x.e bits of x.f must be zero.
     */
-static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
-{
-const int delta = x.e - target_exponent;
+    static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
+    {
+        const int delta = x.e - target_exponent;
 
-assert(delta >= 0);
-assert(((x.f << delta) >> delta) == x.f);
+        assert(delta >= 0);
+        assert(((x.f << delta) >> delta) == x.f);
 
-return diyfp(x.f << delta, target_exponent);
-}
+        return diyfp(x.f << delta, target_exponent);
+    }
 };
 
 struct boundaries
 {
-diyfp w;
-diyfp minus;
-diyfp plus;
+    diyfp w;
+    diyfp minus;
+    diyfp plus;
 };
 
 /*!
@@ -7600,69 +7328,69 @@ boundaries.
 template <typename FloatType>
 boundaries compute_boundaries(FloatType value)
 {
-assert(std::isfinite(value));
-assert(value > 0);
-
-// Convert the IEEE representation into a diyfp.
-//
-// If v is denormal:
-//      value = 0.F * 2^(1 - bias) = (          F) * 2^(1 - bias - (p-1))
-// If v is normalized:
-//      value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1))
-
-static_assert(std::numeric_limits<FloatType>::is_iec559,
-"internal error: dtoa_short requires an IEEE-754 floating-point implementation");
-
-constexpr int kPrecision = std::numeric_limits<FloatType>::digits; // = p (includes the hidden bit)
-constexpr int kBias      = std::numeric_limits<FloatType>::max_exponent - 1 + (kPrecision - 1);
-constexpr int kMinExp    = 1 - kBias;
-constexpr uint64_t kHiddenBit = uint64_t{ 1 } << (kPrecision - 1); // = 2^(p-1)
-
-using bits_type = typename std::conditional< kPrecision == 24, uint32_t, uint64_t >::type;
-
-const uint64_t bits = reinterpret_bits<bits_type>(value);
-const uint64_t E = bits >> (kPrecision - 1);
-const uint64_t F = bits & (kHiddenBit - 1);
-
-const bool is_denormal = (E == 0);
-const diyfp v = is_denormal
-? diyfp(F, kMinExp)
-: diyfp(F + kHiddenBit, static_cast<int>(E) - kBias);
-
-// Compute the boundaries m- and m+ of the floating-point value
-// v = f * 2^e.
-//
-// Determine v- and v+, the floating-point predecessor and successor if v,
-// respectively.
-//
-//      v- = v - 2^e        if f != 2^(p-1) or e == e_min                (A)
-//         = v - 2^(e-1)    if f == 2^(p-1) and e > e_min                (B)
-//
-//      v+ = v + 2^e
-//
-// Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_
-// between m- and m+ round to v, regardless of how the input rounding
-// algorithm breaks ties.
-//
-//      ---+-------------+-------------+-------------+-------------+---  (A)
-//         v-            m-            v             m+            v+
-//
-//      -----------------+------+------+-------------+-------------+---  (B)
-//                       v-     m-     v             m+            v+
-
-const bool lower_boundary_is_closer = (F == 0 and E > 1);
-const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1);
-const diyfp m_minus = lower_boundary_is_closer
-? diyfp(4 * v.f - 1, v.e - 2)  // (B)
-: diyfp(2 * v.f - 1, v.e - 1); // (A)
-
-// Determine the normalized w+ = m+.
-const diyfp w_plus = diyfp::normalize(m_plus);
-
-// Determine w- = m- such that e_(w-) = e_(w+).
-const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e);
-
-return { diyfp::normalize(v), w_minus, w_plus };
+    assert(std::isfinite(value));
+    assert(value > 0);
+
+    // Convert the IEEE representation into a diyfp.
+    //
+    // If v is denormal:
+    //      value = 0.F * 2^(1 - bias) = (          F) * 2^(1 - bias - (p-1))
+    // If v is normalized:
+    //      value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1))
+
+    static_assert(std::numeric_limits<FloatType>::is_iec559,
+                  "internal error: dtoa_short requires an IEEE-754 floating-point implementation");
+
+    constexpr int      kPrecision = std::numeric_limits<FloatType>::digits; // = p (includes the hidden bit)
+    constexpr int      kBias      = std::numeric_limits<FloatType>::max_exponent - 1 + (kPrecision - 1);
+    constexpr int      kMinExp    = 1 - kBias;
+    constexpr uint64_t kHiddenBit = uint64_t{1} << (kPrecision - 1); // = 2^(p-1)
+
+    using bits_type = typename std::conditional< kPrecision == 24, uint32_t, uint64_t >::type;
+
+    const uint64_t bits = reinterpret_bits<bits_type>(value);
+    const uint64_t E = bits >> (kPrecision - 1);
+    const uint64_t F = bits & (kHiddenBit - 1);
+
+    const bool is_denormal = (E == 0);
+    const diyfp v = is_denormal
+                    ? diyfp(F, kMinExp)
+                    : diyfp(F + kHiddenBit, static_cast<int>(E) - kBias);
+
+    // Compute the boundaries m- and m+ of the floating-point value
+    // v = f * 2^e.
+    //
+    // Determine v- and v+, the floating-point predecessor and successor if v,
+    // respectively.
+    //
+    //      v- = v - 2^e        if f != 2^(p-1) or e == e_min                (A)
+    //         = v - 2^(e-1)    if f == 2^(p-1) and e > e_min                (B)
+    //
+    //      v+ = v + 2^e
+    //
+    // Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_
+    // between m- and m+ round to v, regardless of how the input rounding
+    // algorithm breaks ties.
+    //
+    //      ---+-------------+-------------+-------------+-------------+---  (A)
+    //         v-            m-            v             m+            v+
+    //
+    //      -----------------+------+------+-------------+-------------+---  (B)
+    //                       v-     m-     v             m+            v+
+
+    const bool lower_boundary_is_closer = (F == 0 and E > 1);
+    const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1);
+    const diyfp m_minus = lower_boundary_is_closer
+                          ? diyfp(4 * v.f - 1, v.e - 2)  // (B)
+                          : diyfp(2 * v.f - 1, v.e - 1); // (A)
+
+    // Determine the normalized w+ = m+.
+    const diyfp w_plus = diyfp::normalize(m_plus);
+
+    // Determine w- = m- such that e_(w-) = e_(w+).
+    const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e);
+
+    return {diyfp::normalize(v), w_minus, w_plus};
 }
 
 // Given normalized diyfp w, Grisu needs to find a (normalized) cached
@@ -7725,9 +7453,9 @@ constexpr int kGamma = -32;
 
 struct cached_power // c = f * 2^e ~= 10^k
 {
-uint64_t f;
-int e;
-int k;
+    uint64_t f;
+    int e;
+    int k;
 };
 
 /*!
@@ -7739,318 +7467,162 @@ satisfies (Definition 3.2 from [1])
 */
 inline cached_power get_cached_power_for_binary_exponent(int e)
 {
-// Now
-//
-//      alpha <= e_c + e + q <= gamma                                    (1)
-//      ==> f_c * 2^alpha <= c * 2^e * 2^q
-//
-// and since the c's are normalized, 2^(q-1) <= f_c,
-//
-//      ==> 2^(q - 1 + alpha) <= c * 2^(e + q)
-//      ==> 2^(alpha - e - 1) <= c
-//
-// If c were an exakt power of ten, i.e. c = 10^k, one may determine k as
-//
-//      k = ceil( log_10( 2^(alpha - e - 1) ) )
-//        = ceil( (alpha - e - 1) * log_10(2) )
-//
-// From the paper:
-// "In theory the result of the procedure could be wrong since c is rounded,
-//  and the computation itself is approximated [...]. In practice, however,
-//  this simple function is sufficient."
-//
-// For IEEE double precision floating-point numbers converted into
-// normalized diyfp's w = f * 2^e, with q = 64,
-//
-//      e >= -1022      (min IEEE exponent)
-//           -52        (p - 1)
-//           -52        (p - 1, possibly normalize denormal IEEE numbers)
-//           -11        (normalize the diyfp)
-//         = -1137
-//
-// and
-//
-//      e <= +1023      (max IEEE exponent)
-//           -52        (p - 1)
-//           -11        (normalize the diyfp)
-//         = 960
-//
-// This binary exponent range [-1137,960] results in a decimal exponent
-// range [-307,324]. One does not need to store a cached power for each
-// k in this range. For each such k it suffices to find a cached power
-// such that the exponent of the product lies in [alpha,gamma].
-// This implies that the difference of the decimal exponents of adjacent
-// table entries must be less than or equal to
-//
-//      floor( (gamma - alpha) * log_10(2) ) = 8.
-//
-// (A smaller distance gamma-alpha would require a larger table.)
-
-// NB:
-// Actually this function returns c, such that -60 <= e_c + e + 64 <= -34.
-
-constexpr int kCachedPowersSize = 79;
-constexpr int kCachedPowersMinDecExp = -300;
-constexpr int kCachedPowersDecStep = 8;
-
-static constexpr cached_power kCachedPowers[] =
-{
-{
-0xAB70FE17C79AC6CA, -1060, -300
-},
-{
-0xFF77B1FCBEBCDC4F, -1034, -292
-},
-{
-0xBE5691EF416BD60C, -1007, -284
-},
-{
-0x8DD01FAD907FFC3C, -980, -276
-},
-{
-0xD3515C2831559A83, -954, -268
-},
-{
-0x9D71AC8FADA6C9B5, -927, -260
-},
-{
-0xEA9C227723EE8BCB, -901, -252
-},
-{
-0xAECC49914078536D, -874, -244
-},
-{
-0x823C12795DB6CE57, -847, -236
-},
-{
-0xC21094364DFB5637, -821, -228
-},
-{
-0x9096EA6F3848984F, -794, -220
-},
-{
-0xD77485CB25823AC7, -768, -212
-},
-{
-0xA086CFCD97BF97F4, -741, -204
-},
-{
-0xEF340A98172AACE5, -715, -196
-},
-{
-0xB23867FB2A35B28E, -688, -188
-},
-{
-0x84C8D4DFD2C63F3B, -661, -180
-},
-{
-0xC5DD44271AD3CDBA, -635, -172
-},
-{
-0x936B9FCEBB25C996, -608, -164
-},
-{
-0xDBAC6C247D62A584, -582, -156
-},
-{
-0xA3AB66580D5FDAF6, -555, -148
-},
-{
-0xF3E2F893DEC3F126, -529, -140
-},
-{
-0xB5B5ADA8AAFF80B8, -502, -132
-},
-{
-0x87625F056C7C4A8B, -475, -124
-},
-{
-0xC9BCFF6034C13053, -449, -116
-},
-{
-0x964E858C91BA2655, -422, -108
-},
-{
-0xDFF9772470297EBD, -396, -100
-},
-{
-0xA6DFBD9FB8E5B88F, -369, -92
-},
-{
-0xF8A95FCF88747D94, -343, -84
-},
-{
-0xB94470938FA89BCF, -316, -76
-},
-{
-0x8A08F0F8BF0F156B, -289, -68
-},
-{
-0xCDB02555653131B6, -263, -60
-},
-{
-0x993FE2C6D07B7FAC, -236, -52
-},
-{
-0xE45C10C42A2B3B06, -210, -44
-},
-{
-0xAA242499697392D3, -183, -36
-},
-{
-0xFD87B5F28300CA0E, -157, -28
-},
-{
-0xBCE5086492111AEB, -130, -20
-},
-{
-0x8CBCCC096F5088CC, -103, -12
-},
-{
-0xD1B71758E219652C, -77, -4
-},
-{
-0x9C40000000000000, -50, 4
-},
-{
-0xE8D4A51000000000,   -24, 12
-},
-{
-0xAD78EBC5AC620000, 3, 20
-},
-{
-0x813F3978F8940984, 30, 28
-},
-{
-0xC097CE7BC90715B3, 56, 36
-},
-{
-0x8F7E32CE7BEA5C70, 83, 44
-},
-{
-0xD5D238A4ABE98068, 109, 52
-},
-{
-0x9F4F2726179A2245, 136, 60
-},
-{
-0xED63A231D4C4FB27, 162, 68
-},
-{
-0xB0DE65388CC8ADA8, 189, 76
-},
-{
-0x83C7088E1AAB65DB, 216, 84
-},
-{
-0xC45D1DF942711D9A, 242, 92
-},
-{
-0x924D692CA61BE758, 269, 100
-},
-{
-0xDA01EE641A708DEA, 295, 108 },
-{
-0xA26DA3999AEF774A, 322, 116
-},
-{
-0xF209787BB47D6B85, 348, 124
-},
-{
-0xB454E4A179DD1877, 375, 132
-},
-{
-0x865B86925B9BC5C2, 402, 140
-},
-{
-0xC83553C5C8965D3D, 428, 148
-},
-{
-0x952AB45CFA97A0B3, 455, 156
-},
-{
-0xDE469FBD99A05FE3, 481, 164
-},
-{
-0xA59BC234DB398C25, 508, 172
-},
-{
-0xF6C69A72A3989F5C, 534, 180
-},
-{
-0xB7DCBF5354E9BECE, 561, 188
-},
-{
-0x88FCF317F22241E2, 588, 196
-},
-{
-0xCC20CE9BD35C78A5, 614, 204
-},
-{
-0x98165AF37B2153DF, 641, 212
-},
-{
-0xE2A0B5DC971F303A, 667, 220
-},
-{
-0xA8D9D1535CE3B396, 694, 228
-},
-{
-0xFB9B7CD9A4A7443C, 720, 236
-},
-{
-0xBB764C4CA7A44410, 747, 244
-},
-{
-0x8BAB8EEFB6409C1A, 774, 252
-},
-{
-0xD01FEF10A657842C, 800, 260
-},
-{
-0x9B10A4E5E9913129, 827, 268
-},
-{
-0xE7109BFBA19C0C9D, 853, 276
-},
-{
-0xAC2820D9623BF429, 880, 284
-},
-{
-0x80444B5E7AA7CF85, 907, 292
-},
-{
-0xBF21E44003ACDD2D, 933, 300
-},
-{
-0x8E679C2F5E44FF8F, 960, 308 },
-{
-0xD433179D9C8CB841, 986, 316
-},
-{
-0x9E19DB92B4E31BA9, 1013, 324
-},
-};
-
-// This computation gives exactly the same results for k as
-//      k = ceil((kAlpha - e - 1) * 0.30102999566398114)
-// for |e| <= 1500, but doesn't require floating-point operations.
-// NB: log_10(2) ~= 78913 / 2^18
-assert(e >= -1500);
-assert(e <=  1500);
-const int f = kAlpha - e - 1;
-const int k = (f * 78913) / (1 << 18) + (f > 0);
-
-const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep;
-assert(index >= 0);
-assert(index < kCachedPowersSize);
-static_cast<void>(kCachedPowersSize); // Fix warning.
-
-const cached_power cached = kCachedPowers[index];
-assert(kAlpha <= cached.e + e + 64);
-assert(kGamma >= cached.e + e + 64);
-
-return cached;
+    // Now
+    //
+    //      alpha <= e_c + e + q <= gamma                                    (1)
+    //      ==> f_c * 2^alpha <= c * 2^e * 2^q
+    //
+    // and since the c's are normalized, 2^(q-1) <= f_c,
+    //
+    //      ==> 2^(q - 1 + alpha) <= c * 2^(e + q)
+    //      ==> 2^(alpha - e - 1) <= c
+    //
+    // If c were an exakt power of ten, i.e. c = 10^k, one may determine k as
+    //
+    //      k = ceil( log_10( 2^(alpha - e - 1) ) )
+    //        = ceil( (alpha - e - 1) * log_10(2) )
+    //
+    // From the paper:
+    // "In theory the result of the procedure could be wrong since c is rounded,
+    //  and the computation itself is approximated [...]. In practice, however,
+    //  this simple function is sufficient."
+    //
+    // For IEEE double precision floating-point numbers converted into
+    // normalized diyfp's w = f * 2^e, with q = 64,
+    //
+    //      e >= -1022      (min IEEE exponent)
+    //           -52        (p - 1)
+    //           -52        (p - 1, possibly normalize denormal IEEE numbers)
+    //           -11        (normalize the diyfp)
+    //         = -1137
+    //
+    // and
+    //
+    //      e <= +1023      (max IEEE exponent)
+    //           -52        (p - 1)
+    //           -11        (normalize the diyfp)
+    //         = 960
+    //
+    // This binary exponent range [-1137,960] results in a decimal exponent
+    // range [-307,324]. One does not need to store a cached power for each
+    // k in this range. For each such k it suffices to find a cached power
+    // such that the exponent of the product lies in [alpha,gamma].
+    // This implies that the difference of the decimal exponents of adjacent
+    // table entries must be less than or equal to
+    //
+    //      floor( (gamma - alpha) * log_10(2) ) = 8.
+    //
+    // (A smaller distance gamma-alpha would require a larger table.)
+
+    // NB:
+    // Actually this function returns c, such that -60 <= e_c + e + 64 <= -34.
+
+    constexpr int kCachedPowersSize = 79;
+    constexpr int kCachedPowersMinDecExp = -300;
+    constexpr int kCachedPowersDecStep = 8;
+
+    static constexpr cached_power kCachedPowers[] =
+    {
+        { 0xAB70FE17C79AC6CA, -1060, -300 },
+        { 0xFF77B1FCBEBCDC4F, -1034, -292 },
+        { 0xBE5691EF416BD60C, -1007, -284 },
+        { 0x8DD01FAD907FFC3C,  -980, -276 },
+        { 0xD3515C2831559A83,  -954, -268 },
+        { 0x9D71AC8FADA6C9B5,  -927, -260 },
+        { 0xEA9C227723EE8BCB,  -901, -252 },
+        { 0xAECC49914078536D,  -874, -244 },
+        { 0x823C12795DB6CE57,  -847, -236 },
+        { 0xC21094364DFB5637,  -821, -228 },
+        { 0x9096EA6F3848984F,  -794, -220 },
+        { 0xD77485CB25823AC7,  -768, -212 },
+        { 0xA086CFCD97BF97F4,  -741, -204 },
+        { 0xEF340A98172AACE5,  -715, -196 },
+        { 0xB23867FB2A35B28E,  -688, -188 },
+        { 0x84C8D4DFD2C63F3B,  -661, -180 },
+        { 0xC5DD44271AD3CDBA,  -635, -172 },
+        { 0x936B9FCEBB25C996,  -608, -164 },
+        { 0xDBAC6C247D62A584,  -582, -156 },
+        { 0xA3AB66580D5FDAF6,  -555, -148 },
+        { 0xF3E2F893DEC3F126,  -529, -140 },
+        { 0xB5B5ADA8AAFF80B8,  -502, -132 },
+        { 0x87625F056C7C4A8B,  -475, -124 },
+        { 0xC9BCFF6034C13053,  -449, -116 },
+        { 0x964E858C91BA2655,  -422, -108 },
+        { 0xDFF9772470297EBD,  -396, -100 },
+        { 0xA6DFBD9FB8E5B88F,  -369,  -92 },
+        { 0xF8A95FCF88747D94,  -343,  -84 },
+        { 0xB94470938FA89BCF,  -316,  -76 },
+        { 0x8A08F0F8BF0F156B,  -289,  -68 },
+        { 0xCDB02555653131B6,  -263,  -60 },
+        { 0x993FE2C6D07B7FAC,  -236,  -52 },
+        { 0xE45C10C42A2B3B06,  -210,  -44 },
+        { 0xAA242499697392D3,  -183,  -36 },
+        { 0xFD87B5F28300CA0E,  -157,  -28 },
+        { 0xBCE5086492111AEB,  -130,  -20 },
+        { 0x8CBCCC096F5088CC,  -103,  -12 },
+        { 0xD1B71758E219652C,   -77,   -4 },
+        { 0x9C40000000000000,   -50,    4 },
+        { 0xE8D4A51000000000,   -24,   12 },
+        { 0xAD78EBC5AC620000,     3,   20 },
+        { 0x813F3978F8940984,    30,   28 },
+        { 0xC097CE7BC90715B3,    56,   36 },
+        { 0x8F7E32CE7BEA5C70,    83,   44 },
+        { 0xD5D238A4ABE98068,   109,   52 },
+        { 0x9F4F2726179A2245,   136,   60 },
+        { 0xED63A231D4C4FB27,   162,   68 },
+        { 0xB0DE65388CC8ADA8,   189,   76 },
+        { 0x83C7088E1AAB65DB,   216,   84 },
+        { 0xC45D1DF942711D9A,   242,   92 },
+        { 0x924D692CA61BE758,   269,  100 },
+        { 0xDA01EE641A708DEA,   295,  108 },
+        { 0xA26DA3999AEF774A,   322,  116 },
+        { 0xF209787BB47D6B85,   348,  124 },
+        { 0xB454E4A179DD1877,   375,  132 },
+        { 0x865B86925B9BC5C2,   402,  140 },
+        { 0xC83553C5C8965D3D,   428,  148 },
+        { 0x952AB45CFA97A0B3,   455,  156 },
+        { 0xDE469FBD99A05FE3,   481,  164 },
+        { 0xA59BC234DB398C25,   508,  172 },
+        { 0xF6C69A72A3989F5C,   534,  180 },
+        { 0xB7DCBF5354E9BECE,   561,  188 },
+        { 0x88FCF317F22241E2,   588,  196 },
+        { 0xCC20CE9BD35C78A5,   614,  204 },
+        { 0x98165AF37B2153DF,   641,  212 },
+        { 0xE2A0B5DC971F303A,   667,  220 },
+        { 0xA8D9D1535CE3B396,   694,  228 },
+        { 0xFB9B7CD9A4A7443C,   720,  236 },
+        { 0xBB764C4CA7A44410,   747,  244 },
+        { 0x8BAB8EEFB6409C1A,   774,  252 },
+        { 0xD01FEF10A657842C,   800,  260 },
+        { 0x9B10A4E5E9913129,   827,  268 },
+        { 0xE7109BFBA19C0C9D,   853,  276 },
+        { 0xAC2820D9623BF429,   880,  284 },
+        { 0x80444B5E7AA7CF85,   907,  292 },
+        { 0xBF21E44003ACDD2D,   933,  300 },
+        { 0x8E679C2F5E44FF8F,   960,  308 },
+        { 0xD433179D9C8CB841,   986,  316 },
+        { 0x9E19DB92B4E31BA9,  1013,  324 },
+    };
+
+    // This computation gives exactly the same results for k as
+    //      k = ceil((kAlpha - e - 1) * 0.30102999566398114)
+    // for |e| <= 1500, but doesn't require floating-point operations.
+    // NB: log_10(2) ~= 78913 / 2^18
+    assert(e >= -1500);
+    assert(e <=  1500);
+    const int f = kAlpha - e - 1;
+    const int k = (f * 78913) / (1 << 18) + (f > 0);
+
+    const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep;
+    assert(index >= 0);
+    assert(index < kCachedPowersSize);
+    static_cast<void>(kCachedPowersSize); // Fix warning.
+
+    const cached_power cached = kCachedPowers[index];
+    assert(kAlpha <= cached.e + e + 64);
+    assert(kGamma >= cached.e + e + 64);
+
+    return cached;
 }
 
 /*!
@@ -8059,95 +7631,95 @@ For n == 0, returns 1 and sets pow10 := 1.
 */
 inline int find_largest_pow10(const uint32_t n, uint32_t& pow10)
 {
-// LCOV_EXCL_START
-if (n >= 1000000000)
-{
-pow10 = 1000000000;
-return 10;
-}
-// LCOV_EXCL_STOP
-else if (n >= 100000000)
-{
-pow10 = 100000000;
-return  9;
-}
-else if (n >= 10000000)
-{
-pow10 = 10000000;
-return  8;
-}
-else if (n >= 1000000)
-{
-pow10 = 1000000;
-return  7;
-}
-else if (n >= 100000)
-{
-pow10 = 100000;
-return  6;
-}
-else if (n >= 10000)
-{
-pow10 = 10000;
-return  5;
-}
-else if (n >= 1000)
-{
-pow10 = 1000;
-return  4;
-}
-else if (n >= 100)
-{
-pow10 = 100;
-return  3;
-}
-else if (n >= 10)
-{
-pow10 = 10;
-return  2;
-}
-else
-{
-pow10 = 1;
-return 1;
-}
+    // LCOV_EXCL_START
+    if (n >= 1000000000)
+    {
+        pow10 = 1000000000;
+        return 10;
+    }
+    // LCOV_EXCL_STOP
+    else if (n >= 100000000)
+    {
+        pow10 = 100000000;
+        return  9;
+    }
+    else if (n >= 10000000)
+    {
+        pow10 = 10000000;
+        return  8;
+    }
+    else if (n >= 1000000)
+    {
+        pow10 = 1000000;
+        return  7;
+    }
+    else if (n >= 100000)
+    {
+        pow10 = 100000;
+        return  6;
+    }
+    else if (n >= 10000)
+    {
+        pow10 = 10000;
+        return  5;
+    }
+    else if (n >= 1000)
+    {
+        pow10 = 1000;
+        return  4;
+    }
+    else if (n >= 100)
+    {
+        pow10 = 100;
+        return  3;
+    }
+    else if (n >= 10)
+    {
+        pow10 = 10;
+        return  2;
+    }
+    else
+    {
+        pow10 = 1;
+        return 1;
+    }
 }
 
 inline void grisu2_round(char* buf, int len, uint64_t dist, uint64_t delta,
-uint64_t rest, uint64_t ten_k)
-{
-assert(len >= 1);
-assert(dist <= delta);
-assert(rest <= delta);
-assert(ten_k > 0);
-
-//               <--------------------------- delta ---->
-//                                  <---- dist --------->
-// --------------[------------------+-------------------]--------------
-//               M-                 w                   M+
-//
-//                                  ten_k
-//                                <------>
-//                                       <---- rest ---->
-// --------------[------------------+----+--------------]--------------
-//                                  w    V
-//                                       = buf * 10^k
-//
-// ten_k represents a unit-in-the-last-place in the decimal representation
-// stored in buf.
-// Decrement buf by ten_k while this takes buf closer to w.
-
-// The tests are written in this order to avoid overflow in unsigned
-// integer arithmetic.
-
-while (rest < dist
-and delta - rest >= ten_k
-and (rest + ten_k < dist or dist - rest > rest + ten_k - dist))
-{
-assert(buf[len - 1] != '0');
-buf[len - 1]--;
-rest += ten_k;
-}
+                         uint64_t rest, uint64_t ten_k)
+{
+    assert(len >= 1);
+    assert(dist <= delta);
+    assert(rest <= delta);
+    assert(ten_k > 0);
+
+    //               <--------------------------- delta ---->
+    //                                  <---- dist --------->
+    // --------------[------------------+-------------------]--------------
+    //               M-                 w                   M+
+    //
+    //                                  ten_k
+    //                                <------>
+    //                                       <---- rest ---->
+    // --------------[------------------+----+--------------]--------------
+    //                                  w    V
+    //                                       = buf * 10^k
+    //
+    // ten_k represents a unit-in-the-last-place in the decimal representation
+    // stored in buf.
+    // Decrement buf by ten_k while this takes buf closer to w.
+
+    // The tests are written in this order to avoid overflow in unsigned
+    // integer arithmetic.
+
+    while (rest < dist
+            and delta - rest >= ten_k
+            and (rest + ten_k < dist or dist - rest > rest + ten_k - dist))
+    {
+        assert(buf[len - 1] != '0');
+        buf[len - 1]--;
+        rest += ten_k;
+    }
 }
 
 /*!
@@ -8155,238 +7727,238 @@ Generates V = buffer * 10^decimal_exponent, such that M- <= V <= M+.
 M- and M+ must be normalized and share the same exponent -60 <= e <= -32.
 */
 inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,
-diyfp M_minus, diyfp w, diyfp M_plus)
-{
-static_assert(kAlpha >= -60, "internal error");
-static_assert(kGamma <= -32, "internal error");
-
-// Generates the digits (and the exponent) of a decimal floating-point
-// number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's
-// w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma.
-//
-//               <--------------------------- delta ---->
-//                                  <---- dist --------->
-// --------------[------------------+-------------------]--------------
-//               M-                 w                   M+
-//
-// Grisu2 generates the digits of M+ from left to right and stops as soon as
-// V is in [M-,M+].
-
-assert(M_plus.e >= kAlpha);
-assert(M_plus.e <= kGamma);
-
-uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e)
-uint64_t dist  = diyfp::sub(M_plus, w      ).f; // (significand of (M+ - w ), implicit exponent is e)
-
-// Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0):
-//
-//      M+ = f * 2^e
-//         = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e
-//         = ((p1        ) * 2^-e + (p2        )) * 2^e
-//         = p1 + p2 * 2^e
-
-const diyfp one(uint64_t{ 1 } << -M_plus.e, M_plus.e);
-
-uint32_t p1 = static_cast<uint32_t>(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.)
-uint64_t p2 = M_plus.f & (one.f - 1);                    // p2 = f mod 2^-e
-
-// 1)
-//
-// Generate the digits of the integral part p1 = d[n-1]...d[1]d[0]
-
-assert(p1 > 0);
-
-uint32_t pow10;
-const int k = find_largest_pow10(p1, pow10);
-
-//      10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1)
-//
-//      p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1))
-//         = (d[k-1]         ) * 10^(k-1) + (p1 mod 10^(k-1))
-//
-//      M+ = p1                                             + p2 * 2^e
-//         = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1))          + p2 * 2^e
-//         = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e
-//         = d[k-1] * 10^(k-1) + (                         rest) * 2^e
-//
-// Now generate the digits d[n] of p1 from left to right (n = k-1,...,0)
-//
-//      p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0]
-//
-// but stop as soon as
-//
-//      rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e
-
-int n = k;
-while (n > 0)
-{
-// Invariants:
-//      M+ = buffer * 10^n + (p1 + p2 * 2^e)    (buffer = 0 for n = k)
-//      pow10 = 10^(n-1) <= p1 < 10^n
-//
-const uint32_t d = p1 / pow10;  // d = p1 div 10^(n-1)
-const uint32_t r = p1 % pow10;  // r = p1 mod 10^(n-1)
-//
-//      M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e
-//         = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e)
-//
-assert(d <= 9);
-buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
-//
-//      M+ = buffer * 10^(n-1) + (r + p2 * 2^e)
-//
-p1 = r;
-n--;
-//
-//      M+ = buffer * 10^n + (p1 + p2 * 2^e)
-//      pow10 = 10^n
-//
-
-// Now check if enough digits have been generated.
-// Compute
-//
-//      p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e
-//
-// Note:
-// Since rest and delta share the same exponent e, it suffices to
-// compare the significands.
-const uint64_t rest = (uint64_t{ p1 } << -one.e) + p2;
-if (rest <= delta)
-{
-// V = buffer * 10^n, with M- <= V <= M+.
-
-decimal_exponent += n;
-
-// We may now just stop. But instead look if the buffer could be
-// decremented to bring V closer to w.
-//
-// pow10 = 10^n is now 1 ulp in the decimal representation V.
-// The rounding procedure works with diyfp's with an implicit
-// exponent of e.
-//
-//      10^n = (10^n * 2^-e) * 2^e = ulp * 2^e
-//
-const uint64_t ten_n = uint64_t{ pow10 } << -one.e;
-grisu2_round(buffer, length, dist, delta, rest, ten_n);
-
-return;
-}
-
-pow10 /= 10;
-//
-//      pow10 = 10^(n-1) <= p1 < 10^n
-// Invariants restored.
-}
-
-// 2)
-//
-// The digits of the integral part have been generated:
-//
-//      M+ = d[k-1]...d[1]d[0] + p2 * 2^e
-//         = buffer            + p2 * 2^e
-//
-// Now generate the digits of the fractional part p2 * 2^e.
-//
-// Note:
-// No decimal point is generated: the exponent is adjusted instead.
-//
-// p2 actually represents the fraction
-//
-//      p2 * 2^e
-//          = p2 / 2^-e
-//          = d[-1] / 10^1 + d[-2] / 10^2 + ...
-//
-// Now generate the digits d[-m] of p1 from left to right (m = 1,2,...)
-//
-//      p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m
-//                      + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...)
-//
-// using
-//
-//      10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e)
-//                = (                   d) * 2^-e + (                   r)
-//
-// or
-//      10^m * p2 * 2^e = d + r * 2^e
-//
-// i.e.
-//
-//      M+ = buffer + p2 * 2^e
-//         = buffer + 10^-m * (d + r * 2^e)
-//         = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e
-//
-// and stop as soon as 10^-m * r * 2^e <= delta * 2^e
-
-assert(p2 > delta);
-
-int m = 0;
-for (;;)
-{
-// Invariant:
-//      M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e
-//         = buffer * 10^-m + 10^-m * (p2                                 ) * 2^e
-//         = buffer * 10^-m + 10^-m * (1/10 * (10 * p2)                   ) * 2^e
-//         = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e
-//
-assert(p2 <= UINT64_MAX / 10);
-p2 *= 10;
-const uint64_t d = p2 >> -one.e;     // d = (10 * p2) div 2^-e
-const uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e
-//
-//      M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e
-//         = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e))
-//         = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e
-//
-assert(d <= 9);
-buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
-//
-//      M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e
-//
-p2 = r;
-m++;
-//
-//      M+ = buffer * 10^-m + 10^-m * p2 * 2^e
-// Invariant restored.
-
-// Check if enough digits have been generated.
-//
-//      10^-m * p2 * 2^e <= delta * 2^e
-//              p2 * 2^e <= 10^m * delta * 2^e
-//                    p2 <= 10^m * delta
-delta *= 10;
-dist  *= 10;
-if (p2 <= delta)
-{
-break;
-}
-}
-
-// V = buffer * 10^-m, with M- <= V <= M+.
+                             diyfp M_minus, diyfp w, diyfp M_plus)
+{
+    static_assert(kAlpha >= -60, "internal error");
+    static_assert(kGamma <= -32, "internal error");
+
+    // Generates the digits (and the exponent) of a decimal floating-point
+    // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's
+    // w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma.
+    //
+    //               <--------------------------- delta ---->
+    //                                  <---- dist --------->
+    // --------------[------------------+-------------------]--------------
+    //               M-                 w                   M+
+    //
+    // Grisu2 generates the digits of M+ from left to right and stops as soon as
+    // V is in [M-,M+].
+
+    assert(M_plus.e >= kAlpha);
+    assert(M_plus.e <= kGamma);
+
+    uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e)
+    uint64_t dist  = diyfp::sub(M_plus, w      ).f; // (significand of (M+ - w ), implicit exponent is e)
+
+    // Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0):
+    //
+    //      M+ = f * 2^e
+    //         = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e
+    //         = ((p1        ) * 2^-e + (p2        )) * 2^e
+    //         = p1 + p2 * 2^e
+
+    const diyfp one(uint64_t{1} << -M_plus.e, M_plus.e);
+
+    uint32_t p1 = static_cast<uint32_t>(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.)
+    uint64_t p2 = M_plus.f & (one.f - 1);                    // p2 = f mod 2^-e
+
+    // 1)
+    //
+    // Generate the digits of the integral part p1 = d[n-1]...d[1]d[0]
+
+    assert(p1 > 0);
+
+    uint32_t pow10;
+    const int k = find_largest_pow10(p1, pow10);
+
+    //      10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1)
+    //
+    //      p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1))
+    //         = (d[k-1]         ) * 10^(k-1) + (p1 mod 10^(k-1))
+    //
+    //      M+ = p1                                             + p2 * 2^e
+    //         = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1))          + p2 * 2^e
+    //         = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e
+    //         = d[k-1] * 10^(k-1) + (                         rest) * 2^e
+    //
+    // Now generate the digits d[n] of p1 from left to right (n = k-1,...,0)
+    //
+    //      p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0]
+    //
+    // but stop as soon as
+    //
+    //      rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e
+
+    int n = k;
+    while (n > 0)
+    {
+        // Invariants:
+        //      M+ = buffer * 10^n + (p1 + p2 * 2^e)    (buffer = 0 for n = k)
+        //      pow10 = 10^(n-1) <= p1 < 10^n
+        //
+        const uint32_t d = p1 / pow10;  // d = p1 div 10^(n-1)
+        const uint32_t r = p1 % pow10;  // r = p1 mod 10^(n-1)
+        //
+        //      M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e
+        //         = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e)
+        //
+        assert(d <= 9);
+        buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
+        //
+        //      M+ = buffer * 10^(n-1) + (r + p2 * 2^e)
+        //
+        p1 = r;
+        n--;
+        //
+        //      M+ = buffer * 10^n + (p1 + p2 * 2^e)
+        //      pow10 = 10^n
+        //
+
+        // Now check if enough digits have been generated.
+        // Compute
+        //
+        //      p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e
+        //
+        // Note:
+        // Since rest and delta share the same exponent e, it suffices to
+        // compare the significands.
+        const uint64_t rest = (uint64_t{p1} << -one.e) + p2;
+        if (rest <= delta)
+        {
+            // V = buffer * 10^n, with M- <= V <= M+.
+
+            decimal_exponent += n;
+
+            // We may now just stop. But instead look if the buffer could be
+            // decremented to bring V closer to w.
+            //
+            // pow10 = 10^n is now 1 ulp in the decimal representation V.
+            // The rounding procedure works with diyfp's with an implicit
+            // exponent of e.
+            //
+            //      10^n = (10^n * 2^-e) * 2^e = ulp * 2^e
+            //
+            const uint64_t ten_n = uint64_t{pow10} << -one.e;
+            grisu2_round(buffer, length, dist, delta, rest, ten_n);
+
+            return;
+        }
+
+        pow10 /= 10;
+        //
+        //      pow10 = 10^(n-1) <= p1 < 10^n
+        // Invariants restored.
+    }
 
-decimal_exponent -= m;
+    // 2)
+    //
+    // The digits of the integral part have been generated:
+    //
+    //      M+ = d[k-1]...d[1]d[0] + p2 * 2^e
+    //         = buffer            + p2 * 2^e
+    //
+    // Now generate the digits of the fractional part p2 * 2^e.
+    //
+    // Note:
+    // No decimal point is generated: the exponent is adjusted instead.
+    //
+    // p2 actually represents the fraction
+    //
+    //      p2 * 2^e
+    //          = p2 / 2^-e
+    //          = d[-1] / 10^1 + d[-2] / 10^2 + ...
+    //
+    // Now generate the digits d[-m] of p1 from left to right (m = 1,2,...)
+    //
+    //      p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m
+    //                      + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...)
+    //
+    // using
+    //
+    //      10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e)
+    //                = (                   d) * 2^-e + (                   r)
+    //
+    // or
+    //      10^m * p2 * 2^e = d + r * 2^e
+    //
+    // i.e.
+    //
+    //      M+ = buffer + p2 * 2^e
+    //         = buffer + 10^-m * (d + r * 2^e)
+    //         = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e
+    //
+    // and stop as soon as 10^-m * r * 2^e <= delta * 2^e
+
+    assert(p2 > delta);
+
+    int m = 0;
+    for (;;)
+    {
+        // Invariant:
+        //      M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e
+        //         = buffer * 10^-m + 10^-m * (p2                                 ) * 2^e
+        //         = buffer * 10^-m + 10^-m * (1/10 * (10 * p2)                   ) * 2^e
+        //         = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e
+        //
+        assert(p2 <= UINT64_MAX / 10);
+        p2 *= 10;
+        const uint64_t d = p2 >> -one.e;     // d = (10 * p2) div 2^-e
+        const uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e
+        //
+        //      M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e
+        //         = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e))
+        //         = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e
+        //
+        assert(d <= 9);
+        buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
+        //
+        //      M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e
+        //
+        p2 = r;
+        m++;
+        //
+        //      M+ = buffer * 10^-m + 10^-m * p2 * 2^e
+        // Invariant restored.
+
+        // Check if enough digits have been generated.
+        //
+        //      10^-m * p2 * 2^e <= delta * 2^e
+        //              p2 * 2^e <= 10^m * delta * 2^e
+        //                    p2 <= 10^m * delta
+        delta *= 10;
+        dist  *= 10;
+        if (p2 <= delta)
+        {
+            break;
+        }
+    }
 
-// 1 ulp in the decimal representation is now 10^-m.
-// Since delta and dist are now scaled by 10^m, we need to do the
-// same with ulp in order to keep the units in sync.
-//
-//      10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e
-//
-const uint64_t ten_m = one.f;
-grisu2_round(buffer, length, dist, delta, p2, ten_m);
+    // V = buffer * 10^-m, with M- <= V <= M+.
 
-// By construction this algorithm generates the shortest possible decimal
-// number (Loitsch, Theorem 6.2) which rounds back to w.
-// For an input number of precision p, at least
-//
-//      N = 1 + ceil(p * log_10(2))
-//
-// decimal digits are sufficient to identify all binary floating-point
-// numbers (Matula, "In-and-Out conversions").
-// This implies that the algorithm does not produce more than N decimal
-// digits.
-//
-//      N = 17 for p = 53 (IEEE double precision)
-//      N = 9  for p = 24 (IEEE single precision)
+    decimal_exponent -= m;
+
+    // 1 ulp in the decimal representation is now 10^-m.
+    // Since delta and dist are now scaled by 10^m, we need to do the
+    // same with ulp in order to keep the units in sync.
+    //
+    //      10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e
+    //
+    const uint64_t ten_m = one.f;
+    grisu2_round(buffer, length, dist, delta, p2, ten_m);
+
+    // By construction this algorithm generates the shortest possible decimal
+    // number (Loitsch, Theorem 6.2) which rounds back to w.
+    // For an input number of precision p, at least
+    //
+    //      N = 1 + ceil(p * log_10(2))
+    //
+    // decimal digits are sufficient to identify all binary floating-point
+    // numbers (Matula, "In-and-Out conversions").
+    // This implies that the algorithm does not produce more than N decimal
+    // digits.
+    //
+    //      N = 17 for p = 53 (IEEE double precision)
+    //      N = 9  for p = 24 (IEEE single precision)
 }
 
 /*!
@@ -8395,56 +7967,56 @@ len is the length of the buffer (number of decimal digits)
 The buffer must be large enough, i.e. >= max_digits10.
 */
 inline void grisu2(char* buf, int& len, int& decimal_exponent,
-diyfp m_minus, diyfp v, diyfp m_plus)
-{
-assert(m_plus.e == m_minus.e);
-assert(m_plus.e == v.e);
-
-//  --------(-----------------------+-----------------------)--------    (A)
-//          m-                      v                       m+
-//
-//  --------------------(-----------+-----------------------)--------    (B)
-//                      m-          v                       m+
-//
-// First scale v (and m- and m+) such that the exponent is in the range
-// [alpha, gamma].
-
-const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e);
-
-const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k
-
-// The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma]
-const diyfp w       = diyfp::mul(v, c_minus_k);
-const diyfp w_minus = diyfp::mul(m_minus, c_minus_k);
-const diyfp w_plus  = diyfp::mul(m_plus, c_minus_k);
-
-//  ----(---+---)---------------(---+---)---------------(---+---)----
-//          w-                      w                       w+
-//          = c*m-                  = c*v                   = c*m+
-//
-// diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and
-// w+ are now off by a small amount.
-// In fact:
-//
-//      w - v * 10^k < 1 ulp
-//
-// To account for this inaccuracy, add resp. subtract 1 ulp.
-//
-//  --------+---[---------------(---+---)---------------]---+--------
-//          w-  M-                  w                   M+  w+
-//
-// Now any number in [M-, M+] (bounds included) will round to w when input,
-// regardless of how the input rounding algorithm breaks ties.
-//
-// And digit_gen generates the shortest possible such number in [M-, M+].
-// Note that this does not mean that Grisu2 always generates the shortest
-// possible number in the interval (m-, m+).
-const diyfp M_minus(w_minus.f + 1, w_minus.e);
-const diyfp M_plus (w_plus.f  - 1, w_plus.e );
-
-decimal_exponent = -cached.k; // = -(-k) = k
-
-grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus);
+                   diyfp m_minus, diyfp v, diyfp m_plus)
+{
+    assert(m_plus.e == m_minus.e);
+    assert(m_plus.e == v.e);
+
+    //  --------(-----------------------+-----------------------)--------    (A)
+    //          m-                      v                       m+
+    //
+    //  --------------------(-----------+-----------------------)--------    (B)
+    //                      m-          v                       m+
+    //
+    // First scale v (and m- and m+) such that the exponent is in the range
+    // [alpha, gamma].
+
+    const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e);
+
+    const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k
+
+    // The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma]
+    const diyfp w       = diyfp::mul(v,       c_minus_k);
+    const diyfp w_minus = diyfp::mul(m_minus, c_minus_k);
+    const diyfp w_plus  = diyfp::mul(m_plus,  c_minus_k);
+
+    //  ----(---+---)---------------(---+---)---------------(---+---)----
+    //          w-                      w                       w+
+    //          = c*m-                  = c*v                   = c*m+
+    //
+    // diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and
+    // w+ are now off by a small amount.
+    // In fact:
+    //
+    //      w - v * 10^k < 1 ulp
+    //
+    // To account for this inaccuracy, add resp. subtract 1 ulp.
+    //
+    //  --------+---[---------------(---+---)---------------]---+--------
+    //          w-  M-                  w                   M+  w+
+    //
+    // Now any number in [M-, M+] (bounds included) will round to w when input,
+    // regardless of how the input rounding algorithm breaks ties.
+    //
+    // And digit_gen generates the shortest possible such number in [M-, M+].
+    // Note that this does not mean that Grisu2 always generates the shortest
+    // possible number in the interval (m-, m+).
+    const diyfp M_minus(w_minus.f + 1, w_minus.e);
+    const diyfp M_plus (w_plus.f  - 1, w_plus.e );
+
+    decimal_exponent = -cached.k; // = -(-k) = k
+
+    grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus);
 }
 
 /*!
@@ -8455,36 +8027,35 @@ The buffer must be large enough, i.e. >= max_digits10.
 template <typename FloatType>
 void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)
 {
-static_assert(diyfp::kPrecision >= std::numeric_limits<FloatType>::digits + 3,
-"internal error: not enough precision");
-
-assert(std::isfinite(value));
-assert(value > 0);
-
-// If the neighbors (and boundaries) of 'value' are always computed for double-precision
-// numbers, all float's can be recovered using strtod (and strtof). However, the resulting
-// decimal representations are not exactly "short".
-//
-// The documentation for 'std::to_chars' (http://en.cppreference.com/w/cpp/utility/to_chars)
-// says "value is converted to a string as if by std::sprintf in the default ("C") locale"
-// and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars'
-// does.
-// On the other hand, the documentation for 'std::to_chars' requires that "parsing the
-// representation using the corresponding std::from_chars function recovers value exactly". That
-// indicates that single precision floating-point numbers should be recovered using
-// 'std::strtof'.
-//
-// NB: If the neighbors are computed for single-precision numbers, there is a single float
-//     (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision
-//     value is off by 1 ulp.
-#if
-0
-const boundaries w = compute_boundaries(static_cast<double>(value));
+    static_assert(diyfp::kPrecision >= std::numeric_limits<FloatType>::digits + 3,
+                  "internal error: not enough precision");
+
+    assert(std::isfinite(value));
+    assert(value > 0);
+
+    // If the neighbors (and boundaries) of 'value' are always computed for double-precision
+    // numbers, all float's can be recovered using strtod (and strtof). However, the resulting
+    // decimal representations are not exactly "short".
+    //
+    // The documentation for 'std::to_chars' (http://en.cppreference.com/w/cpp/utility/to_chars)
+    // says "value is converted to a string as if by std::sprintf in the default ("C") locale"
+    // and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars'
+    // does.
+    // On the other hand, the documentation for 'std::to_chars' requires that "parsing the
+    // representation using the corresponding std::from_chars function recovers value exactly". That
+    // indicates that single precision floating-point numbers should be recovered using
+    // 'std::strtof'.
+    //
+    // NB: If the neighbors are computed for single-precision numbers, there is a single float
+    //     (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision
+    //     value is off by 1 ulp.
+#if 0
+    const boundaries w = compute_boundaries(static_cast<double>(value));
 #else
-const boundaries w = compute_boundaries(value);
+    const boundaries w = compute_boundaries(value);
 #endif
 
-grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus);
+    grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus);
 }
 
 /*!
@@ -8494,43 +8065,43 @@ grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus);
 */
 inline char* append_exponent(char* buf, int e)
 {
-assert(e > -1000);
-assert(e <  1000);
+    assert(e > -1000);
+    assert(e <  1000);
 
-if (e < 0)
-{
-e = -e;
-*buf++ = '-';
-}
-else
-{
-*buf++ = '+';
-}
+    if (e < 0)
+    {
+        e = -e;
+        *buf++ = '-';
+    }
+    else
+    {
+        *buf++ = '+';
+    }
 
-uint32_t k = static_cast<uint32_t>(e);
-if (k < 10)
-{
-// Always print at least two digits in the exponent.
-// This is for compatibility with printf("%g").
-*buf++ = '0';
-*buf++ = static_cast<char>('0' + k);
-}
-else if (k < 100)
-{
-*buf++ = static_cast<char>('0' + k / 10);
-k %= 10;
-*buf++ = static_cast<char>('0' + k);
-}
-else
-{
-*buf++ = static_cast<char>('0' + k / 100);
-k %= 100;
-*buf++ = static_cast<char>('0' + k / 10);
-k %= 10;
-*buf++ = static_cast<char>('0' + k);
-}
+    uint32_t k = static_cast<uint32_t>(e);
+    if (k < 10)
+    {
+        // Always print at least two digits in the exponent.
+        // This is for compatibility with printf("%g").
+        *buf++ = '0';
+        *buf++ = static_cast<char>('0' + k);
+    }
+    else if (k < 100)
+    {
+        *buf++ = static_cast<char>('0' + k / 10);
+        k %= 10;
+        *buf++ = static_cast<char>('0' + k);
+    }
+    else
+    {
+        *buf++ = static_cast<char>('0' + k / 100);
+        k %= 100;
+        *buf++ = static_cast<char>('0' + k / 10);
+        k %= 10;
+        *buf++ = static_cast<char>('0' + k);
+    }
 
-return buf;
+    return buf;
 }
 
 /*!
@@ -8543,73 +8114,73 @@ notation. Otherwise it will be printed in exponential notation.
 @pre max_exp > 0
 */
 inline char* format_buffer(char* buf, int len, int decimal_exponent,
-int min_exp, int max_exp)
+                           int min_exp, int max_exp)
 {
-assert(min_exp < 0);
-assert(max_exp > 0);
+    assert(min_exp < 0);
+    assert(max_exp > 0);
 
-const int k = len;
-const int n = len + decimal_exponent;
+    const int k = len;
+    const int n = len + decimal_exponent;
 
-// v = buf * 10^(n-k)
-// k is the length of the buffer (number of decimal digits)
-// n is the position of the decimal point relative to the start of the buffer.
+    // v = buf * 10^(n-k)
+    // k is the length of the buffer (number of decimal digits)
+    // n is the position of the decimal point relative to the start of the buffer.
 
-if (k <= n and n <= max_exp)
-{
-// digits[000]
-// len <= max_exp + 2
-
-std::memset(buf + k, '0', static_cast<size_t>(n - k));
-// Make it look like a floating-point number (#362, #378)
-buf[n + 0] = '.';
-buf[n + 1] = '0';
-return buf + (n + 2);
-}
+    if (k <= n and n <= max_exp)
+    {
+        // digits[000]
+        // len <= max_exp + 2
+
+        std::memset(buf + k, '0', static_cast<size_t>(n - k));
+        // Make it look like a floating-point number (#362, #378)
+        buf[n + 0] = '.';
+        buf[n + 1] = '0';
+        return buf + (n + 2);
+    }
 
-if (0 < n and n <= max_exp)
-{
-// dig.its
-// len <= max_digits10 + 1
+    if (0 < n and n <= max_exp)
+    {
+        // dig.its
+        // len <= max_digits10 + 1
 
-assert(k > n);
+        assert(k > n);
 
-std::memmove(buf + (n + 1), buf + n, static_cast<size_t>(k - n));
-buf[n] = '.';
-return buf + (k + 1);
-}
+        std::memmove(buf + (n + 1), buf + n, static_cast<size_t>(k - n));
+        buf[n] = '.';
+        return buf + (k + 1);
+    }
 
-if (min_exp < n and n <= 0)
-{
-// 0.[000]digits
-// len <= 2 + (-min_exp - 1) + max_digits10
-
-std::memmove(buf + (2 + -n), buf, static_cast<size_t>(k));
-buf[0] = '0';
-buf[1] = '.';
-std::memset(buf + 2, '0', static_cast<size_t>(-n));
-return buf + (2 + (-n) + k);
-}
+    if (min_exp < n and n <= 0)
+    {
+        // 0.[000]digits
+        // len <= 2 + (-min_exp - 1) + max_digits10
+
+        std::memmove(buf + (2 + -n), buf, static_cast<size_t>(k));
+        buf[0] = '0';
+        buf[1] = '.';
+        std::memset(buf + 2, '0', static_cast<size_t>(-n));
+        return buf + (2 + (-n) + k);
+    }
 
-if (k == 1)
-{
-// dE+123
-// len <= 1 + 5
+    if (k == 1)
+    {
+        // dE+123
+        // len <= 1 + 5
 
-buf += 1;
-}
-else
-{
-// d.igitsE+123
-// len <= max_digits10 + 1 + 5
+        buf += 1;
+    }
+    else
+    {
+        // d.igitsE+123
+        // len <= max_digits10 + 1 + 5
 
-std::memmove(buf + 2, buf + 1, static_cast<size_t>(k - 1));
-buf[1] = '.';
-buf += 1 + k;
-}
+        std::memmove(buf + 2, buf + 1, static_cast<size_t>(k - 1));
+        buf[1] = '.';
+        buf += 1 + k;
+    }
 
-*buf++ = 'e';
-return append_exponent(buf, n - 1);
+    *buf++ = 'e';
+    return append_exponent(buf, n - 1);
 }
 
 } // namespace dtoa_impl
@@ -8627,47 +8198,47 @@ format. Returns an iterator pointing past-the-end of the decimal representation.
 template <typename FloatType>
 char* to_chars(char* first, char* last, FloatType value)
 {
-static_cast<void>(last); // maybe unused - fix warning
-assert(std::isfinite(value));
+    static_cast<void>(last); // maybe unused - fix warning
+    assert(std::isfinite(value));
 
-// Use signbit(value) instead of (value < 0) since signbit works for -0.
-if (std::signbit(value))
-{
-value = -value;
-*first++ = '-';
-}
+    // Use signbit(value) instead of (value < 0) since signbit works for -0.
+    if (std::signbit(value))
+    {
+        value = -value;
+        *first++ = '-';
+    }
 
-if (value == 0) // +-0
-{
-*first++ = '0';
-// Make it look like a floating-point number (#362, #378)
-*first++ = '.';
-*first++ = '0';
-return first;
-}
+    if (value == 0) // +-0
+    {
+        *first++ = '0';
+        // Make it look like a floating-point number (#362, #378)
+        *first++ = '.';
+        *first++ = '0';
+        return first;
+    }
 
-assert(last - first >= std::numeric_limits<FloatType>::max_digits10);
+    assert(last - first >= std::numeric_limits<FloatType>::max_digits10);
 
-// Compute v = buffer * 10^decimal_exponent.
-// The decimal digits are stored in the buffer, which needs to be interpreted
-// as an unsigned decimal integer.
-// len is the length of the buffer, i.e. the number of decimal digits.
-int len = 0;
-int decimal_exponent = 0;
-dtoa_impl::grisu2(first, len, decimal_exponent, value);
+    // Compute v = buffer * 10^decimal_exponent.
+    // The decimal digits are stored in the buffer, which needs to be interpreted
+    // as an unsigned decimal integer.
+    // len is the length of the buffer, i.e. the number of decimal digits.
+    int len = 0;
+    int decimal_exponent = 0;
+    dtoa_impl::grisu2(first, len, decimal_exponent, value);
 
-assert(len <= std::numeric_limits<FloatType>::max_digits10);
+    assert(len <= std::numeric_limits<FloatType>::max_digits10);
 
-// Format the buffer like printf("%.*g", prec, value)
-constexpr int kMinExp = -4;
-// Use digits10 here to increase compatibility with version 2.
-constexpr int kMaxExp = std::numeric_limits<FloatType>::digits10;
+    // Format the buffer like printf("%.*g", prec, value)
+    constexpr int kMinExp = -4;
+    // Use digits10 here to increase compatibility with version 2.
+    constexpr int kMaxExp = std::numeric_limits<FloatType>::digits10;
 
-assert(last - first >= kMaxExp + 2);
-assert(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits<FloatType>::max_digits10);
-assert(last - first >= std::numeric_limits<FloatType>::max_digits10 + 6);
+    assert(last - first >= kMaxExp + 2);
+    assert(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits<FloatType>::max_digits10);
+    assert(last - first >= std::numeric_limits<FloatType>::max_digits10 + 6);
 
-return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp);
+    return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp);
 }
 
 } // namespace detail
@@ -8693,31 +8264,30 @@ namespace detail
 template<typename BasicJsonType>
 class serializer
 {
-using string_t = typename BasicJsonType::string_t;
-using number_float_t = typename BasicJsonType::number_float_t;
-using number_integer_t = typename BasicJsonType::number_integer_t;
-using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
-static constexpr uint8_t UTF8_ACCEPT = 0;
-static constexpr uint8_t UTF8_REJECT = 1;
-
-public:
-/*!
+    using string_t = typename BasicJsonType::string_t;
+    using number_float_t = typename BasicJsonType::number_float_t;
+    using number_integer_t = typename BasicJsonType::number_integer_t;
+    using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+    static constexpr uint8_t UTF8_ACCEPT = 0;
+    static constexpr uint8_t UTF8_REJECT = 1;
+
+  public:
+    /*!
     @param[in] s  output stream to serialize to
     @param[in] ichar  indentation character to use
     */
-serializer(output_adapter_t<char> s, const char ichar)
-: o(std::move(s)), loc(std::localeconv()),
-thousands_sep(loc->thousands_sep == nullptr ? '\0' : * (loc->thousands_sep)),
-decimal_point(loc->decimal_point == nullptr ? '\0' : * (loc->decimal_point)),
-indent_char(ichar), indent_string(512, indent_char)
-{
-}
-
-// delete because of pointer members
-serializer(const serializer&) = delete;
-serializer& operator =(const serializer&) = delete;
-
-/*!
+    serializer(output_adapter_t<char> s, const char ichar)
+        : o(std::move(s)), loc(std::localeconv()),
+          thousands_sep(loc->thousands_sep == nullptr ? '\0' : * (loc->thousands_sep)),
+          decimal_point(loc->decimal_point == nullptr ? '\0' : * (loc->decimal_point)),
+          indent_char(ichar), indent_string(512, indent_char)
+    {}
+
+    // delete because of pointer members
+    serializer(const serializer&) = delete;
+    serializer& operator=(const serializer&) = delete;
+
+    /*!
     @brief internal implementation of the serialization function
 
     This function is called by the public member function dump and organizes
@@ -8734,200 +8304,200 @@ serializer& operator =(const serializer&) = delete;
     @param[in] indent_step     the indent level
     @param[in] current_indent  the current indent level (only used internally)
     */
-void dump(const BasicJsonType& val, const bool pretty_print,
-const bool ensure_ascii,
-const unsigned int indent_step,
-const unsigned int current_indent = 0)
-{
-switch (val.m_type)
-{
-case value_t::object:
-{
-if (val.m_value.object->empty())
-{
-o->write_characters("{}", 2);
-return;
-}
-
-if (pretty_print)
-{
-o->write_characters("{\n", 2);
-
-// variable to hold indentation for recursive calls
-const auto new_indent = current_indent + indent_step;
-if (JSON_UNLIKELY(indent_string.size() < new_indent))
-{
-indent_string.resize(indent_string.size() * 2, ' ');
-}
-
-// first n-1 elements
-auto i = val.m_value.object->cbegin();
-for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
-{
-o->write_characters(indent_string.c_str(), new_indent);
-o->write_character('\"');
-dump_escaped(i->first, ensure_ascii);
-o->write_characters("\": ", 3);
-dump(i->second, true, ensure_ascii, indent_step, new_indent);
-o->write_characters(",\n", 2);
-}
-
-// last element
-assert(i != val.m_value.object->cend());
-assert(std::next(i) == val.m_value.object->cend());
-o->write_characters(indent_string.c_str(), new_indent);
-o->write_character('\"');
-dump_escaped(i->first, ensure_ascii);
-o->write_characters("\": ", 3);
-dump(i->second, true, ensure_ascii, indent_step, new_indent);
-
-o->write_character('\n');
-o->write_characters(indent_string.c_str(), current_indent);
-o->write_character('}');
-}
-else
-{
-o->write_character('{');
-
-// first n-1 elements
-auto i = val.m_value.object->cbegin();
-for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
-{
-o->write_character('\"');
-dump_escaped(i->first, ensure_ascii);
-o->write_characters("\":", 2);
-dump(i->second, false, ensure_ascii, indent_step, current_indent);
-o->write_character(',');
-}
-
-// last element
-assert(i != val.m_value.object->cend());
-assert(std::next(i) == val.m_value.object->cend());
-o->write_character('\"');
-dump_escaped(i->first, ensure_ascii);
-o->write_characters("\":", 2);
-dump(i->second, false, ensure_ascii, indent_step, current_indent);
-
-o->write_character('}');
-}
-
-return;
-}
-
-case value_t::array:
-{
-if (val.m_value.array->empty())
-{
-o->write_characters("[]", 2);
-return;
-}
-
-if (pretty_print)
-{
-o->write_characters("[\n", 2);
-
-// variable to hold indentation for recursive calls
-const auto new_indent = current_indent + indent_step;
-if (JSON_UNLIKELY(indent_string.size() < new_indent))
-{
-indent_string.resize(indent_string.size() * 2, ' ');
-}
-
-// first n-1 elements
-for (auto i = val.m_value.array->cbegin();
-i != val.m_value.array->cend() - 1; ++i)
-{
-o->write_characters(indent_string.c_str(), new_indent);
-dump(*i, true, ensure_ascii, indent_step, new_indent);
-o->write_characters(",\n", 2);
-}
-
-// last element
-assert(not val.m_value.array->empty());
-o->write_characters(indent_string.c_str(), new_indent);
-dump(val.m_value.array->back(), true, ensure_ascii, indent_step, new_indent);
-
-o->write_character('\n');
-o->write_characters(indent_string.c_str(), current_indent);
-o->write_character(']');
-}
-else
-{
-o->write_character('[');
-
-// first n-1 elements
-for (auto i = val.m_value.array->cbegin();
-i != val.m_value.array->cend() - 1; ++i)
-{
-dump(*i, false, ensure_ascii, indent_step, current_indent);
-o->write_character(',');
-}
-
-// last element
-assert(not val.m_value.array->empty());
-dump(val.m_value.array->back(), false, ensure_ascii, indent_step, current_indent);
-
-o->write_character(']');
-}
-
-return;
-}
-
-case value_t::string:
-{
-o->write_character('\"');
-dump_escaped(*val.m_value.string, ensure_ascii);
-o->write_character('\"');
-return;
-}
-
-case value_t::boolean:
-{
-if (val.m_value.boolean)
-{
-o->write_characters("true", 4);
-}
-else
-{
-o->write_characters("false", 5);
-}
-return;
-}
-
-case value_t::number_integer:
-{
-dump_integer(val.m_value.number_integer);
-return;
-}
-
-case value_t::number_unsigned:
-{
-dump_integer(val.m_value.number_unsigned);
-return;
-}
-
-case value_t::number_float:
-{
-dump_float(val.m_value.number_float);
-return;
-}
-
-case value_t::discarded:
-{
-o->write_characters("<discarded>", 11);
-return;
-}
-
-case value_t::null:
-{
-o->write_characters("null", 4);
-return;
-}
-}
-}
+    void dump(const BasicJsonType& val, const bool pretty_print,
+              const bool ensure_ascii,
+              const unsigned int indent_step,
+              const unsigned int current_indent = 0)
+    {
+        switch (val.m_type)
+        {
+            case value_t::object:
+            {
+                if (val.m_value.object->empty())
+                {
+                    o->write_characters("{}", 2);
+                    return;
+                }
+
+                if (pretty_print)
+                {
+                    o->write_characters("{\n", 2);
+
+                    // variable to hold indentation for recursive calls
+                    const auto new_indent = current_indent + indent_step;
+                    if (JSON_UNLIKELY(indent_string.size() < new_indent))
+                    {
+                        indent_string.resize(indent_string.size() * 2, ' ');
+                    }
+
+                    // first n-1 elements
+                    auto i = val.m_value.object->cbegin();
+                    for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
+                    {
+                        o->write_characters(indent_string.c_str(), new_indent);
+                        o->write_character('\"');
+                        dump_escaped(i->first, ensure_ascii);
+                        o->write_characters("\": ", 3);
+                        dump(i->second, true, ensure_ascii, indent_step, new_indent);
+                        o->write_characters(",\n", 2);
+                    }
+
+                    // last element
+                    assert(i != val.m_value.object->cend());
+                    assert(std::next(i) == val.m_value.object->cend());
+                    o->write_characters(indent_string.c_str(), new_indent);
+                    o->write_character('\"');
+                    dump_escaped(i->first, ensure_ascii);
+                    o->write_characters("\": ", 3);
+                    dump(i->second, true, ensure_ascii, indent_step, new_indent);
+
+                    o->write_character('\n');
+                    o->write_characters(indent_string.c_str(), current_indent);
+                    o->write_character('}');
+                }
+                else
+                {
+                    o->write_character('{');
+
+                    // first n-1 elements
+                    auto i = val.m_value.object->cbegin();
+                    for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
+                    {
+                        o->write_character('\"');
+                        dump_escaped(i->first, ensure_ascii);
+                        o->write_characters("\":", 2);
+                        dump(i->second, false, ensure_ascii, indent_step, current_indent);
+                        o->write_character(',');
+                    }
+
+                    // last element
+                    assert(i != val.m_value.object->cend());
+                    assert(std::next(i) == val.m_value.object->cend());
+                    o->write_character('\"');
+                    dump_escaped(i->first, ensure_ascii);
+                    o->write_characters("\":", 2);
+                    dump(i->second, false, ensure_ascii, indent_step, current_indent);
+
+                    o->write_character('}');
+                }
+
+                return;
+            }
+
+            case value_t::array:
+            {
+                if (val.m_value.array->empty())
+                {
+                    o->write_characters("[]", 2);
+                    return;
+                }
+
+                if (pretty_print)
+                {
+                    o->write_characters("[\n", 2);
+
+                    // variable to hold indentation for recursive calls
+                    const auto new_indent = current_indent + indent_step;
+                    if (JSON_UNLIKELY(indent_string.size() < new_indent))
+                    {
+                        indent_string.resize(indent_string.size() * 2, ' ');
+                    }
+
+                    // first n-1 elements
+                    for (auto i = val.m_value.array->cbegin();
+                            i != val.m_value.array->cend() - 1; ++i)
+                    {
+                        o->write_characters(indent_string.c_str(), new_indent);
+                        dump(*i, true, ensure_ascii, indent_step, new_indent);
+                        o->write_characters(",\n", 2);
+                    }
+
+                    // last element
+                    assert(not val.m_value.array->empty());
+                    o->write_characters(indent_string.c_str(), new_indent);
+                    dump(val.m_value.array->back(), true, ensure_ascii, indent_step, new_indent);
+
+                    o->write_character('\n');
+                    o->write_characters(indent_string.c_str(), current_indent);
+                    o->write_character(']');
+                }
+                else
+                {
+                    o->write_character('[');
+
+                    // first n-1 elements
+                    for (auto i = val.m_value.array->cbegin();
+                            i != val.m_value.array->cend() - 1; ++i)
+                    {
+                        dump(*i, false, ensure_ascii, indent_step, current_indent);
+                        o->write_character(',');
+                    }
+
+                    // last element
+                    assert(not val.m_value.array->empty());
+                    dump(val.m_value.array->back(), false, ensure_ascii, indent_step, current_indent);
+
+                    o->write_character(']');
+                }
+
+                return;
+            }
+
+            case value_t::string:
+            {
+                o->write_character('\"');
+                dump_escaped(*val.m_value.string, ensure_ascii);
+                o->write_character('\"');
+                return;
+            }
+
+            case value_t::boolean:
+            {
+                if (val.m_value.boolean)
+                {
+                    o->write_characters("true", 4);
+                }
+                else
+                {
+                    o->write_characters("false", 5);
+                }
+                return;
+            }
+
+            case value_t::number_integer:
+            {
+                dump_integer(val.m_value.number_integer);
+                return;
+            }
+
+            case value_t::number_unsigned:
+            {
+                dump_integer(val.m_value.number_unsigned);
+                return;
+            }
+
+            case value_t::number_float:
+            {
+                dump_float(val.m_value.number_float);
+                return;
+            }
+
+            case value_t::discarded:
+            {
+                o->write_characters("<discarded>", 11);
+                return;
+            }
+
+            case value_t::null:
+            {
+                o->write_characters("null", 4);
+                return;
+            }
+        }
+    }
 
-private:
-/*!
+  private:
+    /*!
     @brief dump escaped string
 
     Escape a string by replacing certain special characters by a sequence of an
@@ -8941,149 +8511,149 @@ private:
 
     @complexity Linear in the length of string @a s.
     */
-void dump_escaped(const string_t& s, const bool ensure_ascii)
-{
-uint32_t codepoint;
-uint8_t state = UTF8_ACCEPT;
-std::size_t bytes = 0;  // number of bytes written to string_buffer
-
-for (std::size_t i = 0; i < s.size(); ++i)
-{
-const auto byte = static_cast<uint8_t>(s[i]);
-
-switch (decode(state, codepoint, byte))
-{
-case UTF8_ACCEPT:  // decode found a new code point
-{
-switch (codepoint)
-{
-case 0x08: // backspace
-{
-string_buffer[bytes++] = '\\';
-string_buffer[bytes++] = 'b';
-break;
-}
-
-case 0x09: // horizontal tab
-{
-string_buffer[bytes++] = '\\';
-string_buffer[bytes++] = 't';
-break;
-}
-
-case 0x0A: // newline
-{
-string_buffer[bytes++] = '\\';
-string_buffer[bytes++] = 'n';
-break;
-}
-
-case 0x0C: // formfeed
-{
-string_buffer[bytes++] = '\\';
-string_buffer[bytes++] = 'f';
-break;
-}
-
-case 0x0D: // carriage return
-{
-string_buffer[bytes++] = '\\';
-string_buffer[bytes++] = 'r';
-break;
-}
-
-case 0x22: // quotation mark
-{
-string_buffer[bytes++] = '\\';
-string_buffer[bytes++] = '\"';
-break;
-}
-
-case 0x5C: // reverse solidus
-{
-string_buffer[bytes++] = '\\';
-string_buffer[bytes++] = '\\';
-break;
-}
-
-default:
-{
-// escape control characters (0x00..0x1F) or, if
-// ensure_ascii parameter is used, non-ASCII characters
-if ((codepoint <= 0x1F) or (ensure_ascii and (codepoint >= 0x7F)))
-{
-if (codepoint <= 0xFFFF)
-{
-std::snprintf(string_buffer.data() + bytes, 7, "\\u%04x",
-static_cast<uint16_t>(codepoint));
-bytes += 6;
-}
-else
-{
-std::snprintf(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x",
-static_cast<uint16_t>(0xD7C0 + (codepoint >> 10)),
-static_cast<uint16_t>(0xDC00 + (codepoint & 0x3FF)));
-bytes += 12;
-}
-}
-else
-{
-// copy byte to buffer (all previous bytes
-// been copied have in default case above)
-string_buffer[bytes++] = s[i];
-}
-break;
-}
-}
-
-// write buffer and reset index; there must be 13 bytes
-// left, as this is the maximal number of bytes to be
-// written ("\uxxxx\uxxxx\0") for one code point
-if (string_buffer.size() - bytes < 13)
-{
-o->write_characters(string_buffer.data(), bytes);
-bytes = 0;
-}
-break;
-}
-
-case UTF8_REJECT:  // decode found invalid UTF-8 byte
-{
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << static_cast<int>(byte);
-JSON_THROW(type_error::create(316, "invalid UTF-8 byte at index " + std::to_string(i) + ": 0x" + ss.str()));
-}
-
-default:  // decode found yet incomplete multi-byte code point
-{
-if (not ensure_ascii)
-{
-// code point will not be escaped - copy byte to buffer
-string_buffer[bytes++] = s[i];
-}
-break;
-}
-}
-}
-
-if (JSON_LIKELY(state == UTF8_ACCEPT))
-{
-// write buffer
-if (bytes > 0)
-{
-o->write_characters(string_buffer.data(), bytes);
-}
-}
-else
-{
-// we finish reading, but do not accept: string was incomplete
-std::stringstream ss;
-ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << static_cast<int>(static_cast<uint8_t>(s.back()));
-JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + ss.str()));
-}
-}
+    void dump_escaped(const string_t& s, const bool ensure_ascii)
+    {
+        uint32_t codepoint;
+        uint8_t state = UTF8_ACCEPT;
+        std::size_t bytes = 0;  // number of bytes written to string_buffer
+
+        for (std::size_t i = 0; i < s.size(); ++i)
+        {
+            const auto byte = static_cast<uint8_t>(s[i]);
+
+            switch (decode(state, codepoint, byte))
+            {
+                case UTF8_ACCEPT:  // decode found a new code point
+                {
+                    switch (codepoint)
+                    {
+                        case 0x08: // backspace
+                        {
+                            string_buffer[bytes++] = '\\';
+                            string_buffer[bytes++] = 'b';
+                            break;
+                        }
+
+                        case 0x09: // horizontal tab
+                        {
+                            string_buffer[bytes++] = '\\';
+                            string_buffer[bytes++] = 't';
+                            break;
+                        }
+
+                        case 0x0A: // newline
+                        {
+                            string_buffer[bytes++] = '\\';
+                            string_buffer[bytes++] = 'n';
+                            break;
+                        }
+
+                        case 0x0C: // formfeed
+                        {
+                            string_buffer[bytes++] = '\\';
+                            string_buffer[bytes++] = 'f';
+                            break;
+                        }
+
+                        case 0x0D: // carriage return
+                        {
+                            string_buffer[bytes++] = '\\';
+                            string_buffer[bytes++] = 'r';
+                            break;
+                        }
+
+                        case 0x22: // quotation mark
+                        {
+                            string_buffer[bytes++] = '\\';
+                            string_buffer[bytes++] = '\"';
+                            break;
+                        }
+
+                        case 0x5C: // reverse solidus
+                        {
+                            string_buffer[bytes++] = '\\';
+                            string_buffer[bytes++] = '\\';
+                            break;
+                        }
+
+                        default:
+                        {
+                            // escape control characters (0x00..0x1F) or, if
+                            // ensure_ascii parameter is used, non-ASCII characters
+                            if ((codepoint <= 0x1F) or (ensure_ascii and (codepoint >= 0x7F)))
+                            {
+                                if (codepoint <= 0xFFFF)
+                                {
+                                    std::snprintf(string_buffer.data() + bytes, 7, "\\u%04x",
+                                                  static_cast<uint16_t>(codepoint));
+                                    bytes += 6;
+                                }
+                                else
+                                {
+                                    std::snprintf(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x",
+                                                  static_cast<uint16_t>(0xD7C0 + (codepoint >> 10)),
+                                                  static_cast<uint16_t>(0xDC00 + (codepoint & 0x3FF)));
+                                    bytes += 12;
+                                }
+                            }
+                            else
+                            {
+                                // copy byte to buffer (all previous bytes
+                                // been copied have in default case above)
+                                string_buffer[bytes++] = s[i];
+                            }
+                            break;
+                        }
+                    }
+
+                    // write buffer and reset index; there must be 13 bytes
+                    // left, as this is the maximal number of bytes to be
+                    // written ("\uxxxx\uxxxx\0") for one code point
+                    if (string_buffer.size() - bytes < 13)
+                    {
+                        o->write_characters(string_buffer.data(), bytes);
+                        bytes = 0;
+                    }
+                    break;
+                }
+
+                case UTF8_REJECT:  // decode found invalid UTF-8 byte
+                {
+                    std::stringstream ss;
+                    ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << static_cast<int>(byte);
+                    JSON_THROW(type_error::create(316, "invalid UTF-8 byte at index " + std::to_string(i) + ": 0x" + ss.str()));
+                }
+
+                default:  // decode found yet incomplete multi-byte code point
+                {
+                    if (not ensure_ascii)
+                    {
+                        // code point will not be escaped - copy byte to buffer
+                        string_buffer[bytes++] = s[i];
+                    }
+                    break;
+                }
+            }
+        }
+
+        if (JSON_LIKELY(state == UTF8_ACCEPT))
+        {
+            // write buffer
+            if (bytes > 0)
+            {
+                o->write_characters(string_buffer.data(), bytes);
+            }
+        }
+        else
+        {
+            // we finish reading, but do not accept: string was incomplete
+            std::stringstream ss;
+            ss << std::setw(2) << std::uppercase << std::setfill('0') << std::hex << static_cast<int>(static_cast<uint8_t>(s.back()));
+            JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + ss.str()));
+        }
+    }
 
-/*!
+    /*!
     @brief dump an integer
 
     Dump a given integer to output stream @a o. Works internally with
@@ -9092,130 +8662,130 @@ JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + ss
     @param[in] x  integer number (signed or unsigned) to dump
     @tparam NumberType either @a number_integer_t or @a number_unsigned_t
     */
-template<typename NumberType, detail::enable_if_t<
-std::is_same<NumberType, number_unsigned_t>::value or
-std::is_same<NumberType, number_integer_t>::value,
-int> = 0>
-void dump_integer(NumberType x)
-{
-// special case for "0"
-if (x == 0)
-{
-o->write_character('0');
-return;
-}
-
-const bool is_negative = (x <= 0) and (x != 0);  // see issue #755
-std::size_t i = 0;
-
-while (x != 0)
-{
-// spare 1 byte for '\0'
-assert(i < number_buffer.size() - 1);
-
-const auto digit = std::labs(static_cast<long>(x % 10));
-number_buffer[i++] = static_cast<char>('0' + digit);
-x /= 10;
-}
-
-if (is_negative)
-{
-// make sure there is capacity for the '-'
-assert(i < number_buffer.size() - 2);
-number_buffer[i++] = '-';
-}
-
-std::reverse(number_buffer.begin(), number_buffer.begin() + i);
-o->write_characters(number_buffer.data(), i);
-}
-
-/*!
-    @brief dump a floating-point number
-
-    Dump a given floating-point number to output stream @a o. Works internally
-    with @a number_buffer.
-
-    @param[in] x  floating-point number to dump
-    */
-void dump_float(number_float_t x)
-{
-// NaN / inf
-if (not std::isfinite(x))
-{
-o->write_characters("null", 4);
-return;
-}
-
-// If number_float_t is an IEEE-754 single or double precision number,
-// use the Grisu2 algorithm to produce short numbers which are
-// guaranteed to round-trip, using strtof and strtod, resp.
-//
-// NB: The test below works if <long double> == <double>.
-static constexpr bool is_ieee_single_or_double
-= (std::numeric_limits<number_float_t>::is_iec559 and std::numeric_limits<number_float_t>::digits == 24 and std::numeric_limits<number_float_t>::max_exponent == 128) or
-(std::numeric_limits<number_float_t>::is_iec559 and std::numeric_limits<number_float_t>::digits == 53 and std::numeric_limits<number_float_t>::max_exponent == 1024);
-
-dump_float(x, std::integral_constant<bool, is_ieee_single_or_double>());
-}
-
-void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
-{
-char* begin = number_buffer.data();
-char* end =::nlohmann::detail::to_chars(begin, begin + number_buffer.size(), x);
-
-o->write_characters(begin, static_cast<size_t>(end - begin));
-}
-
-void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
-{
-// get number of digits for a float -> text -> float round-trip
-static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
-
-// the actual conversion
-std::ptrdiff_t len = snprintf(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
+    template<typename NumberType, detail::enable_if_t<
+                 std::is_same<NumberType, number_unsigned_t>::value or
+                 std::is_same<NumberType, number_integer_t>::value,
+                 int> = 0>
+    void dump_integer(NumberType x)
+    {
+        // special case for "0"
+        if (x == 0)
+        {
+            o->write_character('0');
+            return;
+        }
+
+        const bool is_negative = (x <= 0) and (x != 0);  // see issue #755
+        std::size_t i = 0;
+
+        while (x != 0)
+        {
+            // spare 1 byte for '\0'
+            assert(i < number_buffer.size() - 1);
+
+            const auto digit = std::labs(static_cast<long>(x % 10));
+            number_buffer[i++] = static_cast<char>('0' + digit);
+            x /= 10;
+        }
+
+        if (is_negative)
+        {
+            // make sure there is capacity for the '-'
+            assert(i < number_buffer.size() - 2);
+            number_buffer[i++] = '-';
+        }
+
+        std::reverse(number_buffer.begin(), number_buffer.begin() + i);
+        o->write_characters(number_buffer.data(), i);
+    }
 
-// negative value indicates an error
-assert(len > 0);
-// check if buffer was large enough
-assert(static_cast<std::size_t>(len) < number_buffer.size());
+    /*!
+    @brief dump a floating-point number
 
-// erase thousands separator
-if (thousands_sep != '\0')
-{
-const auto end = std::remove(number_buffer.begin(),
-number_buffer.begin() + len, thousands_sep);
-std::fill(end, number_buffer.end(), '\0');
-assert((end - number_buffer.begin()) <= len);
-len = (end - number_buffer.begin());
-}
+    Dump a given floating-point number to output stream @a o. Works internally
+    with @a number_buffer.
 
-// convert decimal point to '.'
-if (decimal_point != '\0' and decimal_point != '.')
-{
-const auto dec_pos = std::find(number_buffer.begin(), number_buffer.end(), decimal_point);
-if (dec_pos != number_buffer.end())
-{
-*dec_pos = '.';
-}
-}
+    @param[in] x  floating-point number to dump
+    */
+    void dump_float(number_float_t x)
+    {
+        // NaN / inf
+        if (not std::isfinite(x))
+        {
+            o->write_characters("null", 4);
+            return;
+        }
+
+        // If number_float_t is an IEEE-754 single or double precision number,
+        // use the Grisu2 algorithm to produce short numbers which are
+        // guaranteed to round-trip, using strtof and strtod, resp.
+        //
+        // NB: The test below works if <long double> == <double>.
+        static constexpr bool is_ieee_single_or_double
+            = (std::numeric_limits<number_float_t>::is_iec559 and std::numeric_limits<number_float_t>::digits == 24 and std::numeric_limits<number_float_t>::max_exponent == 128) or
+              (std::numeric_limits<number_float_t>::is_iec559 and std::numeric_limits<number_float_t>::digits == 53 and std::numeric_limits<number_float_t>::max_exponent == 1024);
+
+        dump_float(x, std::integral_constant<bool, is_ieee_single_or_double>());
+    }
 
-o->write_characters(number_buffer.data(), static_cast<std::size_t>(len));
+    void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
+    {
+        char* begin = number_buffer.data();
+        char* end = ::nlohmann::detail::to_chars(begin, begin + number_buffer.size(), x);
 
-// determine if need to append ".0"
-const bool value_is_int_like =
-std::none_of(number_buffer.begin(), number_buffer.begin() + len + 1,
-[](char c)
-{
-return (c == '.' or c == 'e');
-});
+        o->write_characters(begin, static_cast<size_t>(end - begin));
+    }
 
-if (value_is_int_like)
-{
-o->write_characters(".0", 2);
-}
-}
+    void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
+    {
+        // get number of digits for a float -> text -> float round-trip
+        static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
+
+        // the actual conversion
+        std::ptrdiff_t len = snprintf(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
+
+        // negative value indicates an error
+        assert(len > 0);
+        // check if buffer was large enough
+        assert(static_cast<std::size_t>(len) < number_buffer.size());
+
+        // erase thousands separator
+        if (thousands_sep != '\0')
+        {
+            const auto end = std::remove(number_buffer.begin(),
+                                         number_buffer.begin() + len, thousands_sep);
+            std::fill(end, number_buffer.end(), '\0');
+            assert((end - number_buffer.begin()) <= len);
+            len = (end - number_buffer.begin());
+        }
+
+        // convert decimal point to '.'
+        if (decimal_point != '\0' and decimal_point != '.')
+        {
+            const auto dec_pos = std::find(number_buffer.begin(), number_buffer.end(), decimal_point);
+            if (dec_pos != number_buffer.end())
+            {
+                *dec_pos = '.';
+            }
+        }
+
+        o->write_characters(number_buffer.data(), static_cast<std::size_t>(len));
+
+        // determine if need to append ".0"
+        const bool value_is_int_like =
+            std::none_of(number_buffer.begin(), number_buffer.begin() + len + 1,
+                         [](char c)
+        {
+            return (c == '.' or c == 'e');
+        });
+
+        if (value_is_int_like)
+        {
+            o->write_characters(".0", 2);
+        }
+    }
 
-/*!
+    /*!
     @brief check whether a string is UTF-8 encoded
 
     The function checks each byte of a string whether it is UTF-8 encoded. The
@@ -9236,59 +8806,59 @@ o->write_characters(".0", 2);
     @copyright Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern@hoehrmann.de>
     @sa http://bjoern.hoehrmann.de/utf-8/decoder/dfa/
     */
-static uint8_t decode(uint8_t& state, uint32_t& codep, const uint8_t byte) noexcept
-{
-static const std::array<uint8_t, 400> utf8d =
-{
-{
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1F
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3F
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5F
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7F
-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9F
-7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // A0..BF
-8, 8, 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, // C0..DF
-0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // E0..EF
-0xB, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // F0..FF
-0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0
-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2
-1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4
-1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6
-1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // s7..s8
-}
-};
-
-const uint8_t type = utf8d[byte];
-
-codep = (state != UTF8_ACCEPT)
-? (byte & 0x3fu) | (codep << 6)
-: static_cast<uint32_t>(0xff >> type) & (byte);
-
-state = utf8d[256u + state * 16u + type];
-return state;
-}
+    static uint8_t decode(uint8_t& state, uint32_t& codep, const uint8_t byte) noexcept
+    {
+        static const std::array<uint8_t, 400> utf8d =
+        {
+            {
+                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1F
+                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3F
+                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5F
+                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7F
+                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9F
+                7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // A0..BF
+                8, 8, 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, // C0..DF
+                0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // E0..EF
+                0xB, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // F0..FF
+                0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0
+                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2
+                1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4
+                1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6
+                1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // s7..s8
+            }
+        };
+
+        const uint8_t type = utf8d[byte];
+
+        codep = (state != UTF8_ACCEPT)
+                ? (byte & 0x3fu) | (codep << 6)
+                : static_cast<uint32_t>(0xff >> type) & (byte);
+
+        state = utf8d[256u + state * 16u + type];
+        return state;
+    }
 
-private:
-/// the output of the serializer
-output_adapter_t<char> o = nullptr;
+  private:
+    /// the output of the serializer
+    output_adapter_t<char> o = nullptr;
 
-/// a (hopefully) large enough character buffer
-std::array<char, 64> number_buffer{ { } };
+    /// a (hopefully) large enough character buffer
+    std::array<char, 64> number_buffer{{}};
 
-/// the locale
-const std::lconv* loc = nullptr;
-/// the locale's thousand separator character
-const char thousands_sep = '\0';
-/// the locale's decimal point character
-const char decimal_point = '\0';
+    /// the locale
+    const std::lconv* loc = nullptr;
+    /// the locale's thousand separator character
+    const char thousands_sep = '\0';
+    /// the locale's decimal point character
+    const char decimal_point = '\0';
 
-/// string buffer
-std::array<char, 512> string_buffer{ { } };
+    /// string buffer
+    std::array<char, 512> string_buffer{{}};
 
-/// the indentation character
-const char indent_char;
-/// the indentation string
-string_t indent_string;
+    /// the indentation character
+    const char indent_char;
+    /// the indentation string
+    string_t indent_string;
 };
 }
 }
@@ -9296,10 +8866,8 @@ string_t indent_string;
 // #include <nlohmann/detail/json_ref.hpp>
 
 
-#include
-<initializer_list>
-#include
-<utility>
+#include <initializer_list>
+#include <utility>
 
 namespace nlohmann
 {
@@ -9308,58 +8876,54 @@ namespace detail
 template<typename BasicJsonType>
 class json_ref
 {
-public:
-using value_type = BasicJsonType;
+  public:
+    using value_type = BasicJsonType;
 
-json_ref(value_type&& value)
-: owned_value(std::move(value)), value_ref(&owned_value), is_rvalue(true)
-{
-}
+    json_ref(value_type&& value)
+        : owned_value(std::move(value)), value_ref(&owned_value), is_rvalue(true)
+    {}
 
-json_ref(const value_type& value)
-: value_ref(const_cast<value_type*>(&value)), is_rvalue(false)
-{
-}
+    json_ref(const value_type& value)
+        : value_ref(const_cast<value_type*>(&value)), is_rvalue(false)
+    {}
 
-json_ref(std::initializer_list<json_ref> init)
-: owned_value(init), value_ref(&owned_value), is_rvalue(true)
-{
-}
+    json_ref(std::initializer_list<json_ref> init)
+        : owned_value(init), value_ref(&owned_value), is_rvalue(true)
+    {}
 
-template<class... Args>
-json_ref(Args&& ... args)
-: owned_value(std::forward<Args>(args)...), value_ref(&owned_value), is_rvalue(true)
-{
-}
+    template<class... Args>
+    json_ref(Args&& ... args)
+        : owned_value(std::forward<Args>(args)...), value_ref(&owned_value), is_rvalue(true)
+    {}
 
-// class should be movable only
-json_ref(json_ref&&) = default;
-json_ref(const json_ref&) = delete;
-json_ref& operator =(const json_ref&) = delete;
+    // class should be movable only
+    json_ref(json_ref&&) = default;
+    json_ref(const json_ref&) = delete;
+    json_ref& operator=(const json_ref&) = delete;
 
-value_type moved_or_copied() const
-{
-if (is_rvalue)
-{
-return std::move(*value_ref);
-}
-return *value_ref;
-}
+    value_type moved_or_copied() const
+    {
+        if (is_rvalue)
+        {
+            return std::move(*value_ref);
+        }
+        return *value_ref;
+    }
 
-value_type const& operator *() const
-{
-return *static_cast<value_type const*>(value_ref);
-}
+    value_type const& operator*() const
+    {
+        return *static_cast<value_type const*>(value_ref);
+    }
 
-value_type const* operator ->() const
-{
-return static_cast<value_type const*>(value_ref);
-}
+    value_type const* operator->() const
+    {
+        return static_cast<value_type const*>(value_ref);
+    }
 
-private:
-mutable value_type owned_value = nullptr;
-value_type* value_ref = nullptr;
-const bool is_rvalue;
+  private:
+    mutable value_type owned_value = nullptr;
+    value_type* value_ref = nullptr;
+    const bool is_rvalue;
 };
 }
 }
@@ -9367,14 +8931,10 @@ const bool is_rvalue;
 // #include <nlohmann/detail/json_pointer.hpp>
 
 
-#include
-<cassert> // assert
-#include
-<numeric> // accumulate
-#include
-<string> // string
-#include
-<vector> // vector
+#include <cassert> // assert
+#include <numeric> // accumulate
+#include <string> // string
+#include <vector> // vector
 
 // #include <nlohmann/detail/macro_scope.hpp>
 
@@ -9388,12 +8948,12 @@ namespace nlohmann
 template<typename BasicJsonType>
 class json_pointer
 {
-// allow basic_json to access private members
-NLOHMANN_BASIC_JSON_TPL_DECLARATION
-friend class basic_json;
+    // allow basic_json to access private members
+    NLOHMANN_BASIC_JSON_TPL_DECLARATION
+    friend class basic_json;
 
-public:
-/*!
+  public:
+    /*!
     @brief create JSON pointer
 
     Create a JSON pointer according to the syntax described in
@@ -9414,12 +8974,11 @@ public:
 
     @since version 2.0.0
     */
-explicit json_pointer(const std::string& s = "")
-: reference_tokens(split(s))
-{
-}
+    explicit json_pointer(const std::string& s = "")
+        : reference_tokens(split(s))
+    {}
 
-/*!
+    /*!
     @brief return a string representation of the JSON pointer
 
     @invariant For each JSON pointer `ptr`, it holds:
@@ -9434,80 +8993,79 @@ explicit json_pointer(const std::string& s = "")
 
     @since version 2.0.0
     */
-std::string to_string() const noexcept
-{
-return std::accumulate(reference_tokens.begin(), reference_tokens.end(),
-std::string{
-},
-[](const std::string & a, const std::string & b)
-{
-return a + "/" + escape(b);
-});
-}
+    std::string to_string() const noexcept
+    {
+        return std::accumulate(reference_tokens.begin(), reference_tokens.end(),
+                               std::string{},
+                               [](const std::string & a, const std::string & b)
+        {
+            return a + "/" + escape(b);
+        });
+    }
 
-/// @copydoc to_string()
-operator std::string() const
-{
-return to_string();
-}
+    /// @copydoc to_string()
+    operator std::string() const
+    {
+        return to_string();
+    }
 
-/*!
+    /*!
     @param[in] s  reference token to be converted into an array index
 
     @return integer representation of @a s
 
     @throw out_of_range.404 if string @a s could not be converted to an integer
     */
-static int array_index(const std::string& s)
-{
-std::size_t processed_chars = 0;
-const int res = std::stoi(s, &processed_chars);
+    static int array_index(const std::string& s)
+    {
+        std::size_t processed_chars = 0;
+        const int res = std::stoi(s, &processed_chars);
 
-// check if the string was completely read
-if (JSON_UNLIKELY(processed_chars != s.size()))
-{
-JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'"));
-}
+        // check if the string was completely read
+        if (JSON_UNLIKELY(processed_chars != s.size()))
+        {
+            JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'"));
+        }
 
-return res;
-}
+        return res;
+    }
 
-private:
-/*!
+  private:
+    /*!
     @brief remove and return last reference pointer
     @throw out_of_range.405 if JSON pointer has no parent
     */
-std::string pop_back()
-{
-if (JSON_UNLIKELY(is_root()))
-{
-JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
-}
-
-auto last = reference_tokens.back();
-reference_tokens.pop_back();
-return last;
-}
-
-/// return whether pointer points to the root document
-bool is_root() const
-{
-return reference_tokens.empty();
-}
+    std::string pop_back()
+    {
+        if (JSON_UNLIKELY(is_root()))
+        {
+            JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
+        }
+
+        auto last = reference_tokens.back();
+        reference_tokens.pop_back();
+        return last;
+    }
 
-json_pointer top() const
-{
-if (JSON_UNLIKELY(is_root()))
-{
-JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
-}
+    /// return whether pointer points to the root document
+    bool is_root() const
+    {
+        return reference_tokens.empty();
+    }
 
-json_pointer result = *this;
-result.reference_tokens = { reference_tokens[0] };
-return result;
-}
+    json_pointer top() const
+    {
+        if (JSON_UNLIKELY(is_root()))
+        {
+            JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
+        }
+
+        json_pointer result = *this;
+        result.reference_tokens = {reference_tokens[0]};
+        return result;
+    }
 
-/*!
+    /*!
     @brief create and return a reference to the pointed to value
 
     @complexity Linear in the number of reference tokens.
@@ -9515,68 +9073,68 @@ return result;
     @throw parse_error.109 if array index is not a number
     @throw type_error.313 if value cannot be unflattened
     */
-BasicJsonType& get_and_create(BasicJsonType& j) const
-{
-using size_type = typename BasicJsonType::size_type;
-auto result = &j;
-
-// in case no reference tokens exist, return a reference to the JSON value
-// j which will be overwritten by a primitive value
-for (const auto& reference_token : reference_tokens)
-{
-switch (result->m_type)
-{
-case detail::value_t::null:
-{
-if (reference_token == "0")
-{
-// start a new array if reference token is 0
-result = &result->operator [](0);
-}
-else
-{
-// start a new object otherwise
-result = &result->operator [](reference_token);
-}
-break;
-}
-
-case detail::value_t::object:
-{
-// create an entry in the object
-result = &result->operator [](reference_token);
-break;
-}
-
-case detail::value_t::array:
-{
-// create an entry in the array
-JSON_TRY
-{
-result = &result->operator [](static_cast<size_type>(array_index(reference_token)));
-}
-JSON_CATCH(std::invalid_argument&)
-{
-JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
-}
-break;
-}
-
-/*
+    BasicJsonType& get_and_create(BasicJsonType& j) const
+    {
+        using size_type = typename BasicJsonType::size_type;
+        auto result = &j;
+
+        // in case no reference tokens exist, return a reference to the JSON value
+        // j which will be overwritten by a primitive value
+        for (const auto& reference_token : reference_tokens)
+        {
+            switch (result->m_type)
+            {
+                case detail::value_t::null:
+                {
+                    if (reference_token == "0")
+                    {
+                        // start a new array if reference token is 0
+                        result = &result->operator[](0);
+                    }
+                    else
+                    {
+                        // start a new object otherwise
+                        result = &result->operator[](reference_token);
+                    }
+                    break;
+                }
+
+                case detail::value_t::object:
+                {
+                    // create an entry in the object
+                    result = &result->operator[](reference_token);
+                    break;
+                }
+
+                case detail::value_t::array:
+                {
+                    // create an entry in the array
+                    JSON_TRY
+                    {
+                        result = &result->operator[](static_cast<size_type>(array_index(reference_token)));
+                    }
+                    JSON_CATCH(std::invalid_argument&)
+                    {
+                        JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+                    }
+                    break;
+                }
+
+                /*
                 The following code is only reached if there exists a reference
                 token _and_ the current value is primitive. In this case, we have
                 an error situation, because primitive values may only occur as
                 single value; that is, with an empty list of reference tokens.
                 */
-default:
-JSON_THROW(detail::type_error::create(313, "invalid value to unflatten"));
-}
-}
+                default:
+                    JSON_THROW(detail::type_error::create(313, "invalid value to unflatten"));
+            }
+        }
 
-return *result;
-}
+        return *result;
+    }
 
-/*!
+    /*!
     @brief return a reference to the pointed to value
 
     @note This version does not throw if a value is not present, but tries to
@@ -9595,135 +9153,135 @@ return *result;
     @throw parse_error.109   if an array index was not a number
     @throw out_of_range.404  if the JSON pointer can not be resolved
     */
-BasicJsonType& get_unchecked(BasicJsonType* ptr) const
-{
-using size_type = typename BasicJsonType::size_type;
-for (const auto& reference_token : reference_tokens)
-{
-// convert null values to arrays or objects before continuing
-if (ptr->m_type == detail::value_t::null)
-{
-// check if reference token is a number
-const bool nums =
-std::all_of(reference_token.begin(), reference_token.end(),
-[](const char x)
-{
-return (x >= '0' and x <= '9');
-});
-
-// change value to array for numbers or "-" or to object otherwise
-*ptr = (nums or reference_token == "-")
-? detail::value_t::array
-: detail::value_t::object;
-}
-
-switch (ptr->m_type)
-{
-case detail::value_t::object:
-{
-// use unchecked object access
-ptr = &ptr->operator [](reference_token);
-break;
-}
-
-case detail::value_t::array:
-{
-// error condition (cf. RFC 6901, Sect. 4)
-if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
-{
-JSON_THROW(detail::parse_error::create(106, 0,
-"array index '" + reference_token +
-"' must not begin with '0'"));
-}
-
-if (reference_token == "-")
-{
-// explicitly treat "-" as index beyond the end
-ptr = &ptr->operator [](ptr->m_value.array->size());
-}
-else
-{
-// convert array index to number; unchecked access
-JSON_TRY
-{
-ptr = &ptr->operator [](
-static_cast<size_type>(array_index(reference_token)));
-}
-JSON_CATCH(std::invalid_argument&)
-{
-JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
-}
-}
-break;
-}
-
-default:
-JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
-}
-}
-
-return *ptr;
-}
+    BasicJsonType& get_unchecked(BasicJsonType* ptr) const
+    {
+        using size_type = typename BasicJsonType::size_type;
+        for (const auto& reference_token : reference_tokens)
+        {
+            // convert null values to arrays or objects before continuing
+            if (ptr->m_type == detail::value_t::null)
+            {
+                // check if reference token is a number
+                const bool nums =
+                    std::all_of(reference_token.begin(), reference_token.end(),
+                                [](const char x)
+                {
+                    return (x >= '0' and x <= '9');
+                });
+
+                // change value to array for numbers or "-" or to object otherwise
+                *ptr = (nums or reference_token == "-")
+                       ? detail::value_t::array
+                       : detail::value_t::object;
+            }
+
+            switch (ptr->m_type)
+            {
+                case detail::value_t::object:
+                {
+                    // use unchecked object access
+                    ptr = &ptr->operator[](reference_token);
+                    break;
+                }
+
+                case detail::value_t::array:
+                {
+                    // error condition (cf. RFC 6901, Sect. 4)
+                    if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+                    {
+                        JSON_THROW(detail::parse_error::create(106, 0,
+                                                               "array index '" + reference_token +
+                                                               "' must not begin with '0'"));
+                    }
+
+                    if (reference_token == "-")
+                    {
+                        // explicitly treat "-" as index beyond the end
+                        ptr = &ptr->operator[](ptr->m_value.array->size());
+                    }
+                    else
+                    {
+                        // convert array index to number; unchecked access
+                        JSON_TRY
+                        {
+                            ptr = &ptr->operator[](
+                                static_cast<size_type>(array_index(reference_token)));
+                        }
+                        JSON_CATCH(std::invalid_argument&)
+                        {
+                            JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+                        }
+                    }
+                    break;
+                }
+
+                default:
+                    JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
+            }
+        }
+
+        return *ptr;
+    }
 
-/*!
+    /*!
     @throw parse_error.106   if an array index begins with '0'
     @throw parse_error.109   if an array index was not a number
     @throw out_of_range.402  if the array index '-' is used
     @throw out_of_range.404  if the JSON pointer can not be resolved
     */
-BasicJsonType& get_checked(BasicJsonType* ptr) const
-{
-using size_type = typename BasicJsonType::size_type;
-for (const auto& reference_token : reference_tokens)
-{
-switch (ptr->m_type)
-{
-case detail::value_t::object:
-{
-// note: at performs range check
-ptr = &ptr->at(reference_token);
-break;
-}
-
-case detail::value_t::array:
-{
-if (JSON_UNLIKELY(reference_token == "-"))
-{
-// "-" always fails the range check
-JSON_THROW(detail::out_of_range::create(402,
-"array index '-' (" + std::to_string(ptr->m_value.array->size()) +
-") is out of range"));
-}
-
-// error condition (cf. RFC 6901, Sect. 4)
-if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
-{
-JSON_THROW(detail::parse_error::create(106, 0,
-"array index '" + reference_token +
-"' must not begin with '0'"));
-}
-
-// note: at performs range check
-JSON_TRY
-{
-ptr = &ptr->at(static_cast<size_type>(array_index(reference_token)));
-}
-JSON_CATCH(std::invalid_argument&)
-{
-JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
-}
-break;
-}
-
-default:
-JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
-}
-}
-
-return *ptr;
-}
+    BasicJsonType& get_checked(BasicJsonType* ptr) const
+    {
+        using size_type = typename BasicJsonType::size_type;
+        for (const auto& reference_token : reference_tokens)
+        {
+            switch (ptr->m_type)
+            {
+                case detail::value_t::object:
+                {
+                    // note: at performs range check
+                    ptr = &ptr->at(reference_token);
+                    break;
+                }
+
+                case detail::value_t::array:
+                {
+                    if (JSON_UNLIKELY(reference_token == "-"))
+                    {
+                        // "-" always fails the range check
+                        JSON_THROW(detail::out_of_range::create(402,
+                                                                "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
+                                                                ") is out of range"));
+                    }
+
+                    // error condition (cf. RFC 6901, Sect. 4)
+                    if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+                    {
+                        JSON_THROW(detail::parse_error::create(106, 0,
+                                                               "array index '" + reference_token +
+                                                               "' must not begin with '0'"));
+                    }
+
+                    // note: at performs range check
+                    JSON_TRY
+                    {
+                        ptr = &ptr->at(static_cast<size_type>(array_index(reference_token)));
+                    }
+                    JSON_CATCH(std::invalid_argument&)
+                    {
+                        JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+                    }
+                    break;
+                }
+
+                default:
+                    JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
+            }
+        }
+
+        return *ptr;
+    }
 
-/*!
+    /*!
     @brief return a const reference to the pointed to value
 
     @param[in] ptr  a JSON value
@@ -9736,189 +9294,189 @@ return *ptr;
     @throw out_of_range.402  if the array index '-' is used
     @throw out_of_range.404  if the JSON pointer can not be resolved
     */
-const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const
-{
-using size_type = typename BasicJsonType::size_type;
-for (const auto& reference_token : reference_tokens)
-{
-switch (ptr->m_type)
-{
-case detail::value_t::object:
-{
-// use unchecked object access
-ptr = &ptr->operator [](reference_token);
-break;
-}
-
-case detail::value_t::array:
-{
-if (JSON_UNLIKELY(reference_token == "-"))
-{
-// "-" cannot be used for const access
-JSON_THROW(detail::out_of_range::create(402,
-"array index '-' (" + std::to_string(ptr->m_value.array->size()) +
-") is out of range"));
-}
-
-// error condition (cf. RFC 6901, Sect. 4)
-if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
-{
-JSON_THROW(detail::parse_error::create(106, 0,
-"array index '" + reference_token +
-"' must not begin with '0'"));
-}
-
-// use unchecked array access
-JSON_TRY
-{
-ptr = &ptr->operator [](
-static_cast<size_type>(array_index(reference_token)));
-}
-JSON_CATCH(std::invalid_argument&)
-{
-JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
-}
-break;
-}
-
-default:
-JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
-}
-}
-
-return *ptr;
-}
+    const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const
+    {
+        using size_type = typename BasicJsonType::size_type;
+        for (const auto& reference_token : reference_tokens)
+        {
+            switch (ptr->m_type)
+            {
+                case detail::value_t::object:
+                {
+                    // use unchecked object access
+                    ptr = &ptr->operator[](reference_token);
+                    break;
+                }
+
+                case detail::value_t::array:
+                {
+                    if (JSON_UNLIKELY(reference_token == "-"))
+                    {
+                        // "-" cannot be used for const access
+                        JSON_THROW(detail::out_of_range::create(402,
+                                                                "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
+                                                                ") is out of range"));
+                    }
+
+                    // error condition (cf. RFC 6901, Sect. 4)
+                    if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+                    {
+                        JSON_THROW(detail::parse_error::create(106, 0,
+                                                               "array index '" + reference_token +
+                                                               "' must not begin with '0'"));
+                    }
+
+                    // use unchecked array access
+                    JSON_TRY
+                    {
+                        ptr = &ptr->operator[](
+                            static_cast<size_type>(array_index(reference_token)));
+                    }
+                    JSON_CATCH(std::invalid_argument&)
+                    {
+                        JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+                    }
+                    break;
+                }
+
+                default:
+                    JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
+            }
+        }
+
+        return *ptr;
+    }
 
-/*!
+    /*!
     @throw parse_error.106   if an array index begins with '0'
     @throw parse_error.109   if an array index was not a number
     @throw out_of_range.402  if the array index '-' is used
     @throw out_of_range.404  if the JSON pointer can not be resolved
     */
-const BasicJsonType& get_checked(const BasicJsonType* ptr) const
-{
-using size_type = typename BasicJsonType::size_type;
-for (const auto& reference_token : reference_tokens)
-{
-switch (ptr->m_type)
-{
-case detail::value_t::object:
-{
-// note: at performs range check
-ptr = &ptr->at(reference_token);
-break;
-}
-
-case detail::value_t::array:
-{
-if (JSON_UNLIKELY(reference_token == "-"))
-{
-// "-" always fails the range check
-JSON_THROW(detail::out_of_range::create(402,
-"array index '-' (" + std::to_string(ptr->m_value.array->size()) +
-") is out of range"));
-}
-
-// error condition (cf. RFC 6901, Sect. 4)
-if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
-{
-JSON_THROW(detail::parse_error::create(106, 0,
-"array index '" + reference_token +
-"' must not begin with '0'"));
-}
-
-// note: at performs range check
-JSON_TRY
-{
-ptr = &ptr->at(static_cast<size_type>(array_index(reference_token)));
-}
-JSON_CATCH(std::invalid_argument&)
-{
-JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
-}
-break;
-}
-
-default:
-JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
-}
-}
-
-return *ptr;
-}
+    const BasicJsonType& get_checked(const BasicJsonType* ptr) const
+    {
+        using size_type = typename BasicJsonType::size_type;
+        for (const auto& reference_token : reference_tokens)
+        {
+            switch (ptr->m_type)
+            {
+                case detail::value_t::object:
+                {
+                    // note: at performs range check
+                    ptr = &ptr->at(reference_token);
+                    break;
+                }
+
+                case detail::value_t::array:
+                {
+                    if (JSON_UNLIKELY(reference_token == "-"))
+                    {
+                        // "-" always fails the range check
+                        JSON_THROW(detail::out_of_range::create(402,
+                                                                "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
+                                                                ") is out of range"));
+                    }
+
+                    // error condition (cf. RFC 6901, Sect. 4)
+                    if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+                    {
+                        JSON_THROW(detail::parse_error::create(106, 0,
+                                                               "array index '" + reference_token +
+                                                               "' must not begin with '0'"));
+                    }
+
+                    // note: at performs range check
+                    JSON_TRY
+                    {
+                        ptr = &ptr->at(static_cast<size_type>(array_index(reference_token)));
+                    }
+                    JSON_CATCH(std::invalid_argument&)
+                    {
+                        JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+                    }
+                    break;
+                }
+
+                default:
+                    JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
+            }
+        }
+
+        return *ptr;
+    }
 
-/*!
+    /*!
     @brief split the string input to reference tokens
 
     @note This function is only called by the json_pointer constructor.
           All exceptions below are documented there.
 
-    @throw parse_error.107  if the pointer is not empty or begins with '/'
-    @throw parse_error.108  if character '~' is not followed by '0' or '1'
-    */
-static std::vector<std::string> split(const std::string& reference_string)
-{
-std::vector<std::string> result;
-
-// special case: empty reference string -> no reference tokens
-if (reference_string.empty())
-{
-return result;
-}
-
-// check if nonempty reference string begins with slash
-if (JSON_UNLIKELY(reference_string[0] != '/'))
-{
-JSON_THROW(detail::parse_error::create(107, 1,
-"JSON pointer must be empty or begin with '/' - was: '" +
-reference_string + "'"));
-}
-
-// extract the reference tokens:
-// - slash: position of the last read slash (or end of string)
-// - start: position after the previous slash
-for (
-// search for the first slash after the first character
-std::size_t slash = reference_string.find_first_of('/', 1),
-// set the beginning of the first reference token
-start = 1;
-// we can stop if start == string::npos+1 = 0
-start != 0;
-// set the beginning of the next reference token
-// (will eventually be 0 if slash == std::string::npos)
-start = slash + 1,
-// find next slash
-slash = reference_string.find_first_of('/', start))
-{
-// use the text between the beginning of the reference token
-// (start) and the last slash (slash).
-auto reference_token = reference_string.substr(start, slash - start);
-
-// check reference tokens are properly escaped
-for (std::size_t pos = reference_token.find_first_of('~');
-pos != std::string::npos;
-pos = reference_token.find_first_of('~', pos + 1))
-{
-assert(reference_token[pos] == '~');
-
-// ~ must be followed by 0 or 1
-if (JSON_UNLIKELY(pos == reference_token.size() - 1 or
-(reference_token[pos + 1] != '0' and
-reference_token[pos + 1] != '1')))
-{
-JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'"));
-}
-}
-
-// finally, store the reference token
-unescape(reference_token);
-result.push_back(reference_token);
-}
-
-return result;
-}
+    @throw parse_error.107  if the pointer is not empty or begins with '/'
+    @throw parse_error.108  if character '~' is not followed by '0' or '1'
+    */
+    static std::vector<std::string> split(const std::string& reference_string)
+    {
+        std::vector<std::string> result;
+
+        // special case: empty reference string -> no reference tokens
+        if (reference_string.empty())
+        {
+            return result;
+        }
+
+        // check if nonempty reference string begins with slash
+        if (JSON_UNLIKELY(reference_string[0] != '/'))
+        {
+            JSON_THROW(detail::parse_error::create(107, 1,
+                                                   "JSON pointer must be empty or begin with '/' - was: '" +
+                                                   reference_string + "'"));
+        }
+
+        // extract the reference tokens:
+        // - slash: position of the last read slash (or end of string)
+        // - start: position after the previous slash
+        for (
+            // search for the first slash after the first character
+            std::size_t slash = reference_string.find_first_of('/', 1),
+            // set the beginning of the first reference token
+            start = 1;
+            // we can stop if start == string::npos+1 = 0
+            start != 0;
+            // set the beginning of the next reference token
+            // (will eventually be 0 if slash == std::string::npos)
+            start = slash + 1,
+            // find next slash
+            slash = reference_string.find_first_of('/', start))
+        {
+            // use the text between the beginning of the reference token
+            // (start) and the last slash (slash).
+            auto reference_token = reference_string.substr(start, slash - start);
+
+            // check reference tokens are properly escaped
+            for (std::size_t pos = reference_token.find_first_of('~');
+                    pos != std::string::npos;
+                    pos = reference_token.find_first_of('~', pos + 1))
+            {
+                assert(reference_token[pos] == '~');
+
+                // ~ must be followed by 0 or 1
+                if (JSON_UNLIKELY(pos == reference_token.size() - 1 or
+                                  (reference_token[pos + 1] != '0' and
+                                   reference_token[pos + 1] != '1')))
+                {
+                    JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'"));
+                }
+            }
+
+            // finally, store the reference token
+            unescape(reference_token);
+            result.push_back(reference_token);
+        }
+
+        return result;
+    }
 
-/*!
+    /*!
     @brief replace all occurrences of a substring by another string
 
     @param[in,out] s  the string to manipulate; changed so that all
@@ -9931,93 +9489,92 @@ return result;
 
     @since version 2.0.0
     */
-static void replace_substring(std::string& s, const std::string& f,
-const std::string& t)
-{
-assert(not f.empty());
-for (auto pos = s.find(f);                // find first occurrence of f
-pos != std::string::npos;         // make sure f was found
-s.replace(pos, f.size(), t),      // replace with t, and
-pos = s.find(f, pos + t.size()))  // find next occurrence of f
-{
-}
-}
+    static void replace_substring(std::string& s, const std::string& f,
+                                  const std::string& t)
+    {
+        assert(not f.empty());
+        for (auto pos = s.find(f);                // find first occurrence of f
+                pos != std::string::npos;         // make sure f was found
+                s.replace(pos, f.size(), t),      // replace with t, and
+                pos = s.find(f, pos + t.size()))  // find next occurrence of f
+        {}
+    }
 
-/// escape "~"" to "~0" and "/" to "~1"
-static std::string escape(std::string s)
-{
-replace_substring(s, "~", "~0");
-replace_substring(s, "/", "~1");
-return s;
-}
+    /// escape "~"" to "~0" and "/" to "~1"
+    static std::string escape(std::string s)
+    {
+        replace_substring(s, "~", "~0");
+        replace_substring(s, "/", "~1");
+        return s;
+    }
 
-/// unescape "~1" to tilde and "~0" to slash (order is important!)
-static void unescape(std::string& s)
-{
-replace_substring(s, "~1", "/");
-replace_substring(s, "~0", "~");
-}
+    /// unescape "~1" to tilde and "~0" to slash (order is important!)
+    static void unescape(std::string& s)
+    {
+        replace_substring(s, "~1", "/");
+        replace_substring(s, "~0", "~");
+    }
 
-/*!
+    /*!
     @param[in] reference_string  the reference string to the current value
     @param[in] value             the value to consider
     @param[in,out] result        the result object to insert values to
 
     @note Empty objects or arrays are flattened to `null`.
     */
-static void flatten(const std::string& reference_string,
-const BasicJsonType& value,
-BasicJsonType& result)
-{
-switch (value.m_type)
-{
-case detail::value_t::array:
-{
-if (value.m_value.array->empty())
-{
-// flatten empty array as null
-result[reference_string] = nullptr;
-}
-else
-{
-// iterate array and use index as reference string
-for (std::size_t i = 0; i < value.m_value.array->size(); ++i)
-{
-flatten(reference_string + "/" + std::to_string(i),
-value.m_value.array->operator [](i), result);
-}
-}
-break;
-}
-
-case detail::value_t::object:
-{
-if (value.m_value.object->empty())
-{
-// flatten empty object as null
-result[reference_string] = nullptr;
-}
-else
-{
-// iterate object and use keys as reference string
-for (const auto& element : *value.m_value.object)
-{
-flatten(reference_string + "/" + escape(element.first), element.second, result);
-}
-}
-break;
-}
-
-default:
-{
-// add primitive value with its reference string
-result[reference_string] = value;
-break;
-}
-}
-}
+    static void flatten(const std::string& reference_string,
+                        const BasicJsonType& value,
+                        BasicJsonType& result)
+    {
+        switch (value.m_type)
+        {
+            case detail::value_t::array:
+            {
+                if (value.m_value.array->empty())
+                {
+                    // flatten empty array as null
+                    result[reference_string] = nullptr;
+                }
+                else
+                {
+                    // iterate array and use index as reference string
+                    for (std::size_t i = 0; i < value.m_value.array->size(); ++i)
+                    {
+                        flatten(reference_string + "/" + std::to_string(i),
+                                value.m_value.array->operator[](i), result);
+                    }
+                }
+                break;
+            }
+
+            case detail::value_t::object:
+            {
+                if (value.m_value.object->empty())
+                {
+                    // flatten empty object as null
+                    result[reference_string] = nullptr;
+                }
+                else
+                {
+                    // iterate object and use keys as reference string
+                    for (const auto& element : *value.m_value.object)
+                    {
+                        flatten(reference_string + "/" + escape(element.first), element.second, result);
+                    }
+                }
+                break;
+            }
+
+            default:
+            {
+                // add primitive value with its reference string
+                result[reference_string] = value;
+                break;
+            }
+        }
+    }
 
-/*!
+    /*!
     @param[in] value  flattened JSON
 
     @return unflattened JSON
@@ -10027,56 +9584,55 @@ break;
     @throw type_error.315  if object values are not primitive
     @throw type_error.313  if value cannot be unflattened
     */
-static BasicJsonType
-unflatten(const BasicJsonType& value)
-{
-if (JSON_UNLIKELY(not value.is_object()))
-{
-JSON_THROW(detail::type_error::create(314, "only objects can be unflattened"));
-}
-
-BasicJsonType result;
-
-// iterate the JSON object values
-for (const auto& element : *value.m_value.object)
-{
-if (JSON_UNLIKELY(not element.second.is_primitive()))
-{
-JSON_THROW(detail::type_error::create(315, "values in object must be primitive"));
-}
-
-// assign value to reference pointed to by JSON pointer; Note that if
-// the JSON pointer is "" (i.e., points to the whole value), function
-// get_and_create returns a reference to result itself. An assignment
-// will then create a primitive value.
-json_pointer(element.first).get_and_create(result) = element.second;
-}
-
-return result;
-}
+    static BasicJsonType
+    unflatten(const BasicJsonType& value)
+    {
+        if (JSON_UNLIKELY(not value.is_object()))
+        {
+            JSON_THROW(detail::type_error::create(314, "only objects can be unflattened"));
+        }
+
+        BasicJsonType result;
+
+        // iterate the JSON object values
+        for (const auto& element : *value.m_value.object)
+        {
+            if (JSON_UNLIKELY(not element.second.is_primitive()))
+            {
+                JSON_THROW(detail::type_error::create(315, "values in object must be primitive"));
+            }
+
+            // assign value to reference pointed to by JSON pointer; Note that if
+            // the JSON pointer is "" (i.e., points to the whole value), function
+            // get_and_create returns a reference to result itself. An assignment
+            // will then create a primitive value.
+            json_pointer(element.first).get_and_create(result) = element.second;
+        }
+
+        return result;
+    }
 
-friend bool operator ==(json_pointer const& lhs,
-json_pointer const& rhs) noexcept
-{
-return (lhs.reference_tokens == rhs.reference_tokens);
-}
+    friend bool operator==(json_pointer const& lhs,
+                           json_pointer const& rhs) noexcept
+    {
+        return (lhs.reference_tokens == rhs.reference_tokens);
+    }
 
-friend bool operator !=(json_pointer const& lhs,
-json_pointer const& rhs) noexcept
-{
-return not (lhs == rhs);
-}
+    friend bool operator!=(json_pointer const& lhs,
+                           json_pointer const& rhs) noexcept
+    {
+        return not (lhs == rhs);
+    }
 
-/// the reference tokens
-std::vector<std::string> reference_tokens;
+    /// the reference tokens
+    std::vector<std::string> reference_tokens;
 };
 }
 
 // #include <nlohmann/adl_serializer.hpp>
 
 
-#include
-<utility>
+#include <utility>
 
 // #include <nlohmann/detail/conversions/from_json.hpp>
 
@@ -10088,7 +9644,7 @@ namespace nlohmann
 template<typename, typename>
 struct adl_serializer
 {
-/*!
+    /*!
     @brief convert a JSON value to any value type
 
     This function is usually called by the `get()` function of the
@@ -10097,14 +9653,14 @@ struct adl_serializer
     @param[in] j         JSON value to read from
     @param[in,out] val  value to write to
     */
-template<typename BasicJsonType, typename ValueType>
-static void from_json(BasicJsonType&& j, ValueType& val) noexcept(
-noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
-{
-::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
-}
+    template<typename BasicJsonType, typename ValueType>
+    static void from_json(BasicJsonType&& j, ValueType& val) noexcept(
+        noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
+    {
+        ::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
+    }
 
-/*!
+    /*!
     @brief convert any value type to a JSON value
 
     This function is usually called by the constructors of the @ref basic_json
@@ -10113,12 +9669,12 @@ noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
     @param[in,out] j  JSON value to write to
     @param[in] val     value to read from
     */
-template<typename BasicJsonType, typename ValueType>
-static void to_json(BasicJsonType& j, ValueType&& val) noexcept(
-noexcept(::nlohmann::to_json(j, std::forward<ValueType>(val))))
-{
-::nlohmann::to_json(j, std::forward<ValueType>(val));
-}
+    template<typename BasicJsonType, typename ValueType>
+    static void to_json(BasicJsonType& j, ValueType&& val) noexcept(
+        noexcept(::nlohmann::to_json(j, std::forward<ValueType>(val))))
+    {
+        ::nlohmann::to_json(j, std::forward<ValueType>(val));
+    }
 };
 }
 
@@ -10215,126 +9771,126 @@ Format](http://rfc7159.net/rfc7159)
 NLOHMANN_BASIC_JSON_TPL_DECLARATION
 class basic_json
 {
-private:
-template<detail::value_t> friend struct detail::external_constructor;
-friend::nlohmann::json_pointer<basic_json>;
-friend::nlohmann::detail::parser<basic_json>;
-friend::nlohmann::detail::serializer<basic_json>;
-template<typename BasicJsonType>
-friend class::nlohmann::detail::iter_impl;
-template<typename BasicJsonType, typename CharType>
-friend class::nlohmann::detail::binary_writer;
-template<typename BasicJsonType>
-friend class::nlohmann::detail::binary_reader;
-
-/// workaround type for MSVC
-using basic_json_t = NLOHMANN_BASIC_JSON_TPL;
-
-// convenience aliases for types residing in namespace detail;
-using lexer =::nlohmann::detail::lexer<basic_json>;
-using parser =::nlohmann::detail::parser<basic_json>;
-
-using primitive_iterator_t =::nlohmann::detail::primitive_iterator_t;
-template<typename BasicJsonType>
-using internal_iterator =::nlohmann::detail::internal_iterator<BasicJsonType>;
-template<typename BasicJsonType>
-using iter_impl =::nlohmann::detail::iter_impl<BasicJsonType>;
-template<typename Iterator>
-using iteration_proxy =::nlohmann::detail::iteration_proxy<Iterator>;
-template<typename Base> using json_reverse_iterator =::nlohmann::detail::json_reverse_iterator<Base>;
-
-template<typename CharType>
-using output_adapter_t =::nlohmann::detail::output_adapter_t<CharType>;
-
-using binary_reader =::nlohmann::detail::binary_reader<basic_json>;
-template<typename CharType> using binary_writer =::nlohmann::detail::binary_writer<basic_json, CharType>;
-
-using serializer =::nlohmann::detail::serializer<basic_json>;
-
-public:
-using value_t = detail::value_t;
-/// @copydoc nlohmann::json_pointer
-using json_pointer =::nlohmann::json_pointer<basic_json>;
-template<typename T, typename SFINAE>
-using json_serializer = JSONSerializer<T, SFINAE>;
-/// helper type for initializer lists of basic_json values
-using initializer_list_t = std::initializer_list<detail::json_ref<basic_json>>;
-
-////////////////
-// exceptions //
-////////////////
-
-/// @name exceptions
-/// Classes to implement user-defined exceptions.
-/// @{
-
-/// @copydoc detail::exception
-using exception = detail::exception;
-/// @copydoc detail::parse_error
-using parse_error = detail::parse_error;
-/// @copydoc detail::invalid_iterator
-using invalid_iterator = detail::invalid_iterator;
-/// @copydoc detail::type_error
-using type_error = detail::type_error;
-/// @copydoc detail::out_of_range
-using out_of_range = detail::out_of_range;
-/// @copydoc detail::other_error
-using other_error = detail::other_error;
-
-/// @}
-
-
-/////////////////////
-// container types //
-/////////////////////
-
-/// @name container types
-/// The canonic container types to use @ref basic_json like any other STL
-/// container.
-/// @{
-
-/// the type of elements in a basic_json container
-using value_type = basic_json;
-
-/// the type of an element reference
-using reference = value_type&;
-/// the type of an element const reference
-using const_reference = const value_type&;
-
-/// a type to represent differences between iterators
-using difference_type = std::ptrdiff_t;
-/// a type to represent container sizes
-using size_type = std::size_t;
-
-/// the allocator type
-using allocator_type = AllocatorType<basic_json>;
-
-/// the type of an element pointer
-using pointer = typename std::allocator_traits<allocator_type>::pointer;
-/// the type of an element const pointer
-using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer;
-
-/// an iterator for a basic_json container
-using iterator = iter_impl<basic_json>;
-/// a const iterator for a basic_json container
-using const_iterator = iter_impl<const basic_json>;
-/// a reverse iterator for a basic_json container
-using reverse_iterator = json_reverse_iterator<typename basic_json::iterator>;
-/// a const reverse iterator for a basic_json container
-using const_reverse_iterator = json_reverse_iterator<typename basic_json::const_iterator>;
-
-/// @}
-
-
-/*!
+  private:
+    template<detail::value_t> friend struct detail::external_constructor;
+    friend ::nlohmann::json_pointer<basic_json>;
+    friend ::nlohmann::detail::parser<basic_json>;
+    friend ::nlohmann::detail::serializer<basic_json>;
+    template<typename BasicJsonType>
+    friend class ::nlohmann::detail::iter_impl;
+    template<typename BasicJsonType, typename CharType>
+    friend class ::nlohmann::detail::binary_writer;
+    template<typename BasicJsonType>
+    friend class ::nlohmann::detail::binary_reader;
+
+    /// workaround type for MSVC
+    using basic_json_t = NLOHMANN_BASIC_JSON_TPL;
+
+    // convenience aliases for types residing in namespace detail;
+    using lexer = ::nlohmann::detail::lexer<basic_json>;
+    using parser = ::nlohmann::detail::parser<basic_json>;
+
+    using primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t;
+    template<typename BasicJsonType>
+    using internal_iterator = ::nlohmann::detail::internal_iterator<BasicJsonType>;
+    template<typename BasicJsonType>
+    using iter_impl = ::nlohmann::detail::iter_impl<BasicJsonType>;
+    template<typename Iterator>
+    using iteration_proxy = ::nlohmann::detail::iteration_proxy<Iterator>;
+    template<typename Base> using json_reverse_iterator = ::nlohmann::detail::json_reverse_iterator<Base>;
+
+    template<typename CharType>
+    using output_adapter_t = ::nlohmann::detail::output_adapter_t<CharType>;
+
+    using binary_reader = ::nlohmann::detail::binary_reader<basic_json>;
+    template<typename CharType> using binary_writer = ::nlohmann::detail::binary_writer<basic_json, CharType>;
+
+    using serializer = ::nlohmann::detail::serializer<basic_json>;
+
+  public:
+    using value_t = detail::value_t;
+    /// @copydoc nlohmann::json_pointer
+    using json_pointer = ::nlohmann::json_pointer<basic_json>;
+    template<typename T, typename SFINAE>
+    using json_serializer = JSONSerializer<T, SFINAE>;
+    /// helper type for initializer lists of basic_json values
+    using initializer_list_t = std::initializer_list<detail::json_ref<basic_json>>;
+
+    ////////////////
+    // exceptions //
+    ////////////////
+
+    /// @name exceptions
+    /// Classes to implement user-defined exceptions.
+    /// @{
+
+    /// @copydoc detail::exception
+    using exception = detail::exception;
+    /// @copydoc detail::parse_error
+    using parse_error = detail::parse_error;
+    /// @copydoc detail::invalid_iterator
+    using invalid_iterator = detail::invalid_iterator;
+    /// @copydoc detail::type_error
+    using type_error = detail::type_error;
+    /// @copydoc detail::out_of_range
+    using out_of_range = detail::out_of_range;
+    /// @copydoc detail::other_error
+    using other_error = detail::other_error;
+
+    /// @}
+
+
+    /////////////////////
+    // container types //
+    /////////////////////
+
+    /// @name container types
+    /// The canonic container types to use @ref basic_json like any other STL
+    /// container.
+    /// @{
+
+    /// the type of elements in a basic_json container
+    using value_type = basic_json;
+
+    /// the type of an element reference
+    using reference = value_type&;
+    /// the type of an element const reference
+    using const_reference = const value_type&;
+
+    /// a type to represent differences between iterators
+    using difference_type = std::ptrdiff_t;
+    /// a type to represent container sizes
+    using size_type = std::size_t;
+
+    /// the allocator type
+    using allocator_type = AllocatorType<basic_json>;
+
+    /// the type of an element pointer
+    using pointer = typename std::allocator_traits<allocator_type>::pointer;
+    /// the type of an element const pointer
+    using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer;
+
+    /// an iterator for a basic_json container
+    using iterator = iter_impl<basic_json>;
+    /// a const iterator for a basic_json container
+    using const_iterator = iter_impl<const basic_json>;
+    /// a reverse iterator for a basic_json container
+    using reverse_iterator = json_reverse_iterator<typename basic_json::iterator>;
+    /// a const reverse iterator for a basic_json container
+    using const_reverse_iterator = json_reverse_iterator<typename basic_json::const_iterator>;
+
+    /// @}
+
+
+    /*!
     @brief returns the allocator associated with the container
     */
-static allocator_type get_allocator()
-{
-return allocator_type();
-}
+    static allocator_type get_allocator()
+    {
+        return allocator_type();
+    }
 
-/*!
+    /*!
     @brief returns version information on the library
 
     This function returns a JSON object with information about the library,
@@ -10360,141 +9916,80 @@ return allocator_type();
 
     @since 2.1.0
     */
-static basic_json meta()
-{
-basic_json result;
-
-result["copyright"] = "(C) 2013-2017 Niels Lohmann";
-result["name"] = "JSON for Modern C++";
-result["url"] = "https://github.com/nlohmann/json";
-result["version"]["string"] =
-std::to_string(NLOHMANN_JSON_VERSION_MAJOR) + "." +
-std::to_string(NLOHMANN_JSON_VERSION_MINOR) + "." +
-std::to_string(NLOHMANN_JSON_VERSION_PATCH);
-result["version"]["major"] = NLOHMANN_JSON_VERSION_MAJOR;
-result["version"]["minor"] = NLOHMANN_JSON_VERSION_MINOR;
-result["version"]["patch"] = NLOHMANN_JSON_VERSION_PATCH;
-
-#ifdef
-_WIN32
-result["platform"] = "win32";
-#elif
-defined __linux__
-result["platform"] = "linux";
-#elif
-defined __APPLE__
-result["platform"] = "apple";
-#elif
-defined __unix__
-result["platform"] = "unix";
+    static basic_json meta()
+    {
+        basic_json result;
+
+        result["copyright"] = "(C) 2013-2017 Niels Lohmann";
+        result["name"] = "JSON for Modern C++";
+        result["url"] = "https://github.com/nlohmann/json";
+        result["version"]["string"] =
+            std::to_string(NLOHMANN_JSON_VERSION_MAJOR) + "." +
+            std::to_string(NLOHMANN_JSON_VERSION_MINOR) + "." +
+            std::to_string(NLOHMANN_JSON_VERSION_PATCH);
+        result["version"]["major"] = NLOHMANN_JSON_VERSION_MAJOR;
+        result["version"]["minor"] = NLOHMANN_JSON_VERSION_MINOR;
+        result["version"]["patch"] = NLOHMANN_JSON_VERSION_PATCH;
+
+#ifdef _WIN32
+        result["platform"] = "win32";
+#elif defined __linux__
+        result["platform"] = "linux";
+#elif defined __APPLE__
+        result["platform"] = "apple";
+#elif defined __unix__
+        result["platform"] = "unix";
 #else
-result["platform"] = "unknown";
+        result["platform"] = "unknown";
 #endif
 
-#if
-defined(__ICC) || defined(__INTEL_COMPILER)
-result["compiler"] = {
-{
-"family", "icc"
-}, {
-"version", __INTEL_COMPILER
-}
-};
-#elif
-defined(__clang__)
-result["compiler"] = {
-{
-"family", "clang"
-}, {
-"version", __clang_version__
-}
-};
-#elif
-defined(__GNUC__) || defined(__GNUG__)
-result["compiler"] = {
-{
-"family", "gcc"
-}, {
-"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)
-}};
-#elif
-defined(__HP_cc) || defined(__HP_aCC)
-result["compiler"] = "hp"
-#elif
-defined(__IBMCPP__)
-result["compiler"] = {
-{
-"family", "ilecpp"
-}, {
-"version", __IBMCPP__
-}
-};
-#elif
-defined(_MSC_VER)
-result["compiler"] = {
-{
-"family", "msvc"
-}, {
-"version", _MSC_VER
-}
-};
-#elif
-defined(__PGI)
-result["compiler"] = {
-{
-"family", "pgcpp"
-}, {
-"version", __PGI
-}
-};
-#elif
-defined(__SUNPRO_CC)
-result["compiler"] = {
-{
-"family", "sunpro"
-}, {
-"version", __SUNPRO_CC
-}
-};
+#if defined(__ICC) || defined(__INTEL_COMPILER)
+        result["compiler"] = {{"family", "icc"}, {"version", __INTEL_COMPILER}};
+#elif defined(__clang__)
+        result["compiler"] = {{"family", "clang"}, {"version", __clang_version__}};
+#elif defined(__GNUC__) || defined(__GNUG__)
+        result["compiler"] = {{"family", "gcc"}, {"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)}};
+#elif defined(__HP_cc) || defined(__HP_aCC)
+        result["compiler"] = "hp"
+#elif defined(__IBMCPP__)
+        result["compiler"] = {{"family", "ilecpp"}, {"version", __IBMCPP__}};
+#elif defined(_MSC_VER)
+        result["compiler"] = {{"family", "msvc"}, {"version", _MSC_VER}};
+#elif defined(__PGI)
+        result["compiler"] = {{"family", "pgcpp"}, {"version", __PGI}};
+#elif defined(__SUNPRO_CC)
+        result["compiler"] = {{"family", "sunpro"}, {"version", __SUNPRO_CC}};
 #else
-result["compiler"] = {
-{
-"family", "unknown"
-}, {
-"version", "unknown"
-}
-};
+        result["compiler"] = {{"family", "unknown"}, {"version", "unknown"}};
 #endif
 
-#ifdef
-__cplusplus
-result["compiler"]["c++"] = std::to_string(__cplusplus);
+#ifdef __cplusplus
+        result["compiler"]["c++"] = std::to_string(__cplusplus);
 #else
-result["compiler"]["c++"] = "unknown";
+        result["compiler"]["c++"] = "unknown";
 #endif
-return result;
-}
+        return result;
+    }
 
 
-///////////////////////////
-// JSON value data types //
-///////////////////////////
+    ///////////////////////////
+    // JSON value data types //
+    ///////////////////////////
 
-/// @name JSON value data types
-/// The data types to store a JSON value. These types are derived from
-/// the template arguments passed to class @ref basic_json.
-/// @{
+    /// @name JSON value data types
+    /// The data types to store a JSON value. These types are derived from
+    /// the template arguments passed to class @ref basic_json.
+    /// @{
 
-#if
-defined(JSON_HAS_CPP_14)
-// Use transparent comparator if possible, combined with perfect forwarding
-// on find() and count() calls prevents unnecessary string construction.
-using object_comparator_t = std::less<>;
+#if defined(JSON_HAS_CPP_14)
+    // Use transparent comparator if possible, combined with perfect forwarding
+    // on find() and count() calls prevents unnecessary string construction.
+    using object_comparator_t = std::less<>;
 #else
-using object_comparator_t = std::less<StringType>;
+    using object_comparator_t = std::less<StringType>;
 #endif
 
-/*!
+    /*!
     @brief a type for an object
 
     [RFC 7159](http://rfc7159.net/rfc7159) describes JSON objects as follows:
@@ -10577,13 +10072,13 @@ using object_comparator_t = std::less<StringType>;
     7159](http://rfc7159.net/rfc7159), because any order implements the
     specified "unordered" nature of JSON objects.
     */
-using object_t = ObjectType<StringType,
-basic_json,
-object_comparator_t,
-AllocatorType<std::pair<const StringType,
-basic_json>>>;
+    using object_t = ObjectType<StringType,
+          basic_json,
+          object_comparator_t,
+          AllocatorType<std::pair<const StringType,
+          basic_json>>>;
 
-/*!
+    /*!
     @brief a type for an array
 
     [RFC 7159](http://rfc7159.net/rfc7159) describes JSON arrays as follows:
@@ -10627,9 +10122,9 @@ basic_json>>>;
 
     @since version 1.0.0
     */
-using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
+    using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
 
-/*!
+    /*!
     @brief a type for a string
 
     [RFC 7159](http://rfc7159.net/rfc7159) describes JSON strings as follows:
@@ -10680,9 +10175,9 @@ using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
 
     @since version 1.0.0
     */
-using string_t = StringType;
+    using string_t = StringType;
 
-/*!
+    /*!
     @brief a type for a boolean
 
     [RFC 7159](http://rfc7159.net/rfc7159) implicitly describes a boolean as a
@@ -10706,9 +10201,9 @@ using string_t = StringType;
 
     @since version 1.0.0
     */
-using boolean_t = BooleanType;
+    using boolean_t = BooleanType;
 
-/*!
+    /*!
     @brief a type for a number (integer)
 
     [RFC 7159](http://rfc7159.net/rfc7159) describes numbers as follows:
@@ -10778,9 +10273,9 @@ using boolean_t = BooleanType;
 
     @since version 1.0.0
     */
-using number_integer_t = NumberIntegerType;
+    using number_integer_t = NumberIntegerType;
 
-/*!
+    /*!
     @brief a type for a number (unsigned)
 
     [RFC 7159](http://rfc7159.net/rfc7159) describes numbers as follows:
@@ -10849,9 +10344,9 @@ using number_integer_t = NumberIntegerType;
 
     @since version 2.0.0
     */
-using number_unsigned_t = NumberUnsignedType;
+    using number_unsigned_t = NumberUnsignedType;
 
-/*!
+    /*!
     @brief a type for a number (floating-point)
 
     [RFC 7159](http://rfc7159.net/rfc7159) describes numbers as follows:
@@ -10917,34 +10412,34 @@ using number_unsigned_t = NumberUnsignedType;
 
     @since version 1.0.0
     */
-using number_float_t = NumberFloatType;
-
-/// @}
+    using number_float_t = NumberFloatType;
 
-private:
+    /// @}
 
-/// helper for exception-safe object creation
-template<typename T, typename... Args>
-static T* create(Args&& ... args)
-{
-AllocatorType<T> alloc;
-using AllocatorTraits = std::allocator_traits<AllocatorType<T>>;
+  private:
 
-auto deleter =[&](T * object)
-{
-AllocatorTraits::deallocate(alloc, object, 1);
-};
-std::unique_ptr<T, decltype(deleter)> object(AllocatorTraits::allocate(alloc, 1), deleter);
-AllocatorTraits::construct(alloc, object.get(), std::forward<Args>(args)...);
-assert(object != nullptr);
-return object.release();
-}
+    /// helper for exception-safe object creation
+    template<typename T, typename... Args>
+    static T* create(Args&& ... args)
+    {
+        AllocatorType<T> alloc;
+        using AllocatorTraits = std::allocator_traits<AllocatorType<T>>;
+
+        auto deleter = [&](T * object)
+        {
+            AllocatorTraits::deallocate(alloc, object, 1);
+        };
+        std::unique_ptr<T, decltype(deleter)> object(AllocatorTraits::allocate(alloc, 1), deleter);
+        AllocatorTraits::construct(alloc, object.get(), std::forward<Args>(args)...);
+        assert(object != nullptr);
+        return object.release();
+    }
 
-////////////////////////
-// JSON value storage //
-////////////////////////
+    ////////////////////////
+    // JSON value storage //
+    ////////////////////////
 
-/*!
+    /*!
     @brief a JSON value
 
     The actual storage for a JSON value of the @ref basic_json class. This
@@ -10968,175 +10463,171 @@ return object.release();
 
     @since version 1.0.0
     */
-union json_value
-{
-/// object (stored with pointer to save storage)
-object_t* object;
-/// array (stored with pointer to save storage)
-array_t* array;
-/// string (stored with pointer to save storage)
-string_t* string;
-/// boolean
-boolean_t boolean;
-/// number (integer)
-number_integer_t number_integer;
-/// number (unsigned integer)
-number_unsigned_t number_unsigned;
-/// number (floating-point)
-number_float_t number_float;
-
-/// default constructor (for null values)
-json_value() = default;
-/// constructor for booleans
-json_value(boolean_t v) noexcept : boolean(v) {
-}
-/// constructor for numbers (integer)
-json_value(number_integer_t v) noexcept : number_integer(v) {
-}
-/// constructor for numbers (unsigned)
-json_value(number_unsigned_t v) noexcept : number_unsigned(v) {
-}
-/// constructor for numbers (floating-point)
-json_value(number_float_t v) noexcept : number_float(v) {
-}
-/// constructor for empty values of a given type
-json_value(value_t t)
-{
-switch (t)
-{
-case value_t::object:
-{
-object = create<object_t>();
-break;
-}
-
-case value_t::array:
-{
-array = create<array_t>();
-break;
-}
-
-case value_t::string:
-{
-string = create<string_t>("");
-break;
-}
-
-case value_t::boolean:
-{
-boolean = boolean_t(false);
-break;
-}
-
-case value_t::number_integer:
-{
-number_integer = number_integer_t(0);
-break;
-}
-
-case value_t::number_unsigned:
-{
-number_unsigned = number_unsigned_t(0);
-break;
-}
-
-case value_t::number_float:
-{
-number_float = number_float_t(0.0);
-break;
-}
-
-case value_t::null:
-{
-object = nullptr;  // silence warning, see #821
-break;
-}
-
-default:
-{
-object = nullptr;  // silence warning, see #821
-if (JSON_UNLIKELY(t == value_t::null))
-{
-JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.1.2")); // LCOV_EXCL_LINE
-}
-break;
-}
-}
-}
-
-/// constructor for strings
-json_value(const string_t& value)
-{
-string = create<string_t>(value);
-}
-
-/// constructor for rvalue strings
-json_value(string_t&& value)
-{
-string = create<string_t>(std::move(value));
-}
-
-/// constructor for objects
-json_value(const object_t& value)
-{
-object = create<object_t>(value);
-}
-
-/// constructor for rvalue objects
-json_value(object_t&& value)
-{
-object = create<object_t>(std::move(value));
-}
-
-/// constructor for arrays
-json_value(const array_t& value)
-{
-array = create<array_t>(value);
-}
-
-/// constructor for rvalue arrays
-json_value(array_t&& value)
-{
-array = create<array_t>(std::move(value));
-}
-
-void destroy(value_t t) noexcept
-{
-switch (t)
-{
-case value_t::object:
-{
-AllocatorType<object_t> alloc;
-std::allocator_traits<decltype(alloc)>::destroy(alloc, object);
-std::allocator_traits<decltype(alloc)>::deallocate(alloc, object, 1);
-break;
-}
-
-case value_t::array:
-{
-AllocatorType<array_t> alloc;
-std::allocator_traits<decltype(alloc)>::destroy(alloc, array);
-std::allocator_traits<decltype(alloc)>::deallocate(alloc, array, 1);
-break;
-}
-
-case value_t::string:
-{
-AllocatorType<string_t> alloc;
-std::allocator_traits<decltype(alloc)>::destroy(alloc, string);
-std::allocator_traits<decltype(alloc)>::deallocate(alloc, string, 1);
-break;
-}
-
-default:
-{
-break;
-}
-}
-}
-};
-
-/*!
+    union json_value
+    {
+        /// object (stored with pointer to save storage)
+        object_t* object;
+        /// array (stored with pointer to save storage)
+        array_t* array;
+        /// string (stored with pointer to save storage)
+        string_t* string;
+        /// boolean
+        boolean_t boolean;
+        /// number (integer)
+        number_integer_t number_integer;
+        /// number (unsigned integer)
+        number_unsigned_t number_unsigned;
+        /// number (floating-point)
+        number_float_t number_float;
+
+        /// default constructor (for null values)
+        json_value() = default;
+        /// constructor for booleans
+        json_value(boolean_t v) noexcept : boolean(v) {}
+        /// constructor for numbers (integer)
+        json_value(number_integer_t v) noexcept : number_integer(v) {}
+        /// constructor for numbers (unsigned)
+        json_value(number_unsigned_t v) noexcept : number_unsigned(v) {}
+        /// constructor for numbers (floating-point)
+        json_value(number_float_t v) noexcept : number_float(v) {}
+        /// constructor for empty values of a given type
+        json_value(value_t t)
+        {
+            switch (t)
+            {
+                case value_t::object:
+                {
+                    object = create<object_t>();
+                    break;
+                }
+
+                case value_t::array:
+                {
+                    array = create<array_t>();
+                    break;
+                }
+
+                case value_t::string:
+                {
+                    string = create<string_t>("");
+                    break;
+                }
+
+                case value_t::boolean:
+                {
+                    boolean = boolean_t(false);
+                    break;
+                }
+
+                case value_t::number_integer:
+                {
+                    number_integer = number_integer_t(0);
+                    break;
+                }
+
+                case value_t::number_unsigned:
+                {
+                    number_unsigned = number_unsigned_t(0);
+                    break;
+                }
+
+                case value_t::number_float:
+                {
+                    number_float = number_float_t(0.0);
+                    break;
+                }
+
+                case value_t::null:
+                {
+                    object = nullptr;  // silence warning, see #821
+                    break;
+                }
+
+                default:
+                {
+                    object = nullptr;  // silence warning, see #821
+                    if (JSON_UNLIKELY(t == value_t::null))
+                    {
+                        JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.1.2")); // LCOV_EXCL_LINE
+                    }
+                    break;
+                }
+            }
+        }
+
+        /// constructor for strings
+        json_value(const string_t& value)
+        {
+            string = create<string_t>(value);
+        }
+
+        /// constructor for rvalue strings
+        json_value(string_t&& value)
+        {
+            string = create<string_t>(std::move(value));
+        }
+
+        /// constructor for objects
+        json_value(const object_t& value)
+        {
+            object = create<object_t>(value);
+        }
+
+        /// constructor for rvalue objects
+        json_value(object_t&& value)
+        {
+            object = create<object_t>(std::move(value));
+        }
+
+        /// constructor for arrays
+        json_value(const array_t& value)
+        {
+            array = create<array_t>(value);
+        }
+
+        /// constructor for rvalue arrays
+        json_value(array_t&& value)
+        {
+            array = create<array_t>(std::move(value));
+        }
+
+        void destroy(value_t t) noexcept
+        {
+            switch (t)
+            {
+                case value_t::object:
+                {
+                    AllocatorType<object_t> alloc;
+                    std::allocator_traits<decltype(alloc)>::destroy(alloc, object);
+                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, object, 1);
+                    break;
+                }
+
+                case value_t::array:
+                {
+                    AllocatorType<array_t> alloc;
+                    std::allocator_traits<decltype(alloc)>::destroy(alloc, array);
+                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, array, 1);
+                    break;
+                }
+
+                case value_t::string:
+                {
+                    AllocatorType<string_t> alloc;
+                    std::allocator_traits<decltype(alloc)>::destroy(alloc, string);
+                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, string, 1);
+                    break;
+                }
+
+                default:
+                {
+                    break;
+                }
+            }
+        }
+    };
+
+    /*!
     @brief checks the class invariants
 
     This function asserts the class invariants. It needs to be called at the
@@ -11145,19 +10636,19 @@ break;
     value is changed, because the invariant expresses a relationship between
     @a m_type and @a m_value.
     */
-void assert_invariant() const noexcept
-{
-assert(m_type != value_t::object or m_value.object != nullptr);
-assert(m_type != value_t::array or m_value.array != nullptr);
-assert(m_type != value_t::string or m_value.string != nullptr);
-}
+    void assert_invariant() const noexcept
+    {
+        assert(m_type != value_t::object or m_value.object != nullptr);
+        assert(m_type != value_t::array or m_value.array != nullptr);
+        assert(m_type != value_t::string or m_value.string != nullptr);
+    }
 
-public:
-//////////////////////////
-// JSON parser callback //
-//////////////////////////
+  public:
+    //////////////////////////
+    // JSON parser callback //
+    //////////////////////////
 
-/*!
+    /*!
     @brief parser event types
 
     The parser callback distinguishes the following events:
@@ -11172,9 +10663,9 @@ public:
 
     @sa @ref parser_callback_t for more information and examples
     */
-using parse_event_t = typename parser::parse_event_t;
+    using parse_event_t = typename parser::parse_event_t;
 
-/*!
+    /*!
     @brief per-element parser callback type
 
     With a parser callback function, the result of parsing a JSON text can be
@@ -11223,19 +10714,19 @@ using parse_event_t = typename parser::parse_event_t;
 
     @since version 1.0.0
     */
-using parser_callback_t = typename parser::parser_callback_t;
+    using parser_callback_t = typename parser::parser_callback_t;
 
 
-//////////////////
-// constructors //
-//////////////////
+    //////////////////
+    // constructors //
+    //////////////////
 
-/// @name constructors and destructors
-/// Constructors of class @ref basic_json, copy/move constructor, copy
-/// assignment, static functions creating objects, and the destructor.
-/// @{
+    /// @name constructors and destructors
+    /// Constructors of class @ref basic_json, copy/move constructor, copy
+    /// assignment, static functions creating objects, and the destructor.
+    /// @{
 
-/*!
+    /*!
     @brief create an empty value with a given type
 
     Create an empty JSON value with a given type. The value will be default
@@ -11264,13 +10755,13 @@ using parser_callback_t = typename parser::parser_callback_t;
 
     @since version 1.0.0
     */
-basic_json(const value_t v)
-: m_type(v), m_value(v)
-{
-assert_invariant();
-}
+    basic_json(const value_t v)
+        : m_type(v), m_value(v)
+    {
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief create a null object
 
     Create a `null` JSON value. It either takes a null pointer as parameter
@@ -11288,13 +10779,13 @@ assert_invariant();
 
     @since version 1.0.0
     */
-basic_json(std::nullptr_t = nullptr) noexcept
-: basic_json(value_t::null)
-{
-assert_invariant();
-}
+    basic_json(std::nullptr_t = nullptr) noexcept
+        : basic_json(value_t::null)
+    {
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief create a JSON value
 
     This is a "catch all" constructor for all compatible JSON types; that is,
@@ -11351,19 +10842,19 @@ assert_invariant();
 
     @since version 2.1.0
     */
-template <typename CompatibleType,
-typename U = detail::uncvref_t<CompatibleType>,
-detail::enable_if_t<
-detail::is_compatible_type<basic_json_t, U>::value, int> = 0>
-basic_json(CompatibleType && val) noexcept(noexcept(
-JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),
-std::forward<CompatibleType>(val))))
-{
-JSONSerializer<U>::to_json(*this, std::forward<CompatibleType>(val));
-assert_invariant();
-}
+    template <typename CompatibleType,
+              typename U = detail::uncvref_t<CompatibleType>,
+              detail::enable_if_t<
+                  detail::is_compatible_type<basic_json_t, U>::value, int> = 0>
+    basic_json(CompatibleType && val) noexcept(noexcept(
+                JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),
+                                           std::forward<CompatibleType>(val))))
+    {
+        JSONSerializer<U>::to_json(*this, std::forward<CompatibleType>(val));
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief create a JSON value from an existing one
 
     This is a constructor for existing @ref basic_json types.
@@ -11389,53 +10880,53 @@ assert_invariant();
 
     @since version 3.1.2
     */
-template <typename BasicJsonType,
-detail::enable_if_t<
-detail::is_basic_json<BasicJsonType>::value and not std::is_same<basic_json, BasicJsonType>::value, int> = 0>
-basic_json(const BasicJsonType& val)
-{
-using other_boolean_t = typename BasicJsonType::boolean_t;
-using other_number_float_t = typename BasicJsonType::number_float_t;
-using other_number_integer_t = typename BasicJsonType::number_integer_t;
-using other_number_unsigned_t = typename BasicJsonType::number_unsigned_t;
-using other_string_t = typename BasicJsonType::string_t;
-using other_object_t = typename BasicJsonType::object_t;
-using other_array_t = typename BasicJsonType::array_t;
-
-switch (val.type())
-{
-case value_t::boolean:
-JSONSerializer<other_boolean_t>::to_json(*this, val.template get<other_boolean_t>());
-break;
-case value_t::number_float:
-JSONSerializer<other_number_float_t>::to_json(*this, val.template get<other_number_float_t>());
-break;
-case value_t::number_integer:
-JSONSerializer<other_number_integer_t>::to_json(*this, val.template get<other_number_integer_t>());
-break;
-case value_t::number_unsigned:
-JSONSerializer<other_number_unsigned_t>::to_json(*this, val.template get<other_number_unsigned_t>());
-break;
-case value_t::string:
-JSONSerializer<other_string_t>::to_json(*this, val.template get_ref<const other_string_t&>());
-break;
-case value_t::object:
-JSONSerializer<other_object_t>::to_json(*this, val.template get_ref<const other_object_t&>());
-break;
-case value_t::array:
-JSONSerializer<other_array_t>::to_json(*this, val.template get_ref<const other_array_t&>());
-break;
-case value_t::null:
-*this = nullptr;
-break;
-case value_t::discarded:
-m_type = value_t::discarded;
-break;
-}
-assert_invariant();
-}
+    template <typename BasicJsonType,
+              detail::enable_if_t<
+                  detail::is_basic_json<BasicJsonType>::value and not std::is_same<basic_json, BasicJsonType>::value, int> = 0>
+    basic_json(const BasicJsonType& val)
+    {
+        using other_boolean_t = typename BasicJsonType::boolean_t;
+        using other_number_float_t = typename BasicJsonType::number_float_t;
+        using other_number_integer_t = typename BasicJsonType::number_integer_t;
+        using other_number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+        using other_string_t = typename BasicJsonType::string_t;
+        using other_object_t = typename BasicJsonType::object_t;
+        using other_array_t = typename BasicJsonType::array_t;
+
+        switch (val.type())
+        {
+            case value_t::boolean:
+                JSONSerializer<other_boolean_t>::to_json(*this, val.template get<other_boolean_t>());
+                break;
+            case value_t::number_float:
+                JSONSerializer<other_number_float_t>::to_json(*this, val.template get<other_number_float_t>());
+                break;
+            case value_t::number_integer:
+                JSONSerializer<other_number_integer_t>::to_json(*this, val.template get<other_number_integer_t>());
+                break;
+            case value_t::number_unsigned:
+                JSONSerializer<other_number_unsigned_t>::to_json(*this, val.template get<other_number_unsigned_t>());
+                break;
+            case value_t::string:
+                JSONSerializer<other_string_t>::to_json(*this, val.template get_ref<const other_string_t&>());
+                break;
+            case value_t::object:
+                JSONSerializer<other_object_t>::to_json(*this, val.template get_ref<const other_object_t&>());
+                break;
+            case value_t::array:
+                JSONSerializer<other_array_t>::to_json(*this, val.template get_ref<const other_array_t&>());
+                break;
+            case value_t::null:
+                *this = nullptr;
+                break;
+            case value_t::discarded:
+                m_type = value_t::discarded;
+                break;
+        }
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief create a container (array or object) from an initializer list
 
     Creates a JSON value of type array or object from the passed initializer
@@ -11509,59 +11000,59 @@ assert_invariant();
 
     @since version 1.0.0
     */
-basic_json(initializer_list_t init,
-bool type_deduction = true,
-value_t manual_type = value_t::array)
-{
-// check if each element is an array with two elements whose first
-// element is a string
-bool is_an_object = std::all_of(init.begin(), init.end(),
-[](const detail::json_ref<basic_json>& element_ref)
-{
-return (element_ref->is_array() and element_ref->size() == 2 and (*element_ref)[0].is_string());
-});
-
-// adjust type if type deduction is not wanted
-if (not type_deduction)
-{
-// if array is wanted, do not create an object though possible
-if (manual_type == value_t::array)
-{
-is_an_object = false;
-}
-
-// if object is wanted but impossible, throw an exception
-if (JSON_UNLIKELY(manual_type == value_t::object and not is_an_object))
-{
-JSON_THROW(type_error::create(301, "cannot create object from initializer list"));
-}
-}
-
-if (is_an_object)
-{
-// the initializer list is a list of pairs -> create object
-m_type = value_t::object;
-m_value = value_t::object;
-
-std::for_each(init.begin(), init.end(),[this](const detail::json_ref<basic_json>& element_ref)
-{
-auto element = element_ref.moved_or_copied();
-m_value.object->emplace(
-std::move(*((*element.m_value.array)[0].m_value.string)),
-std::move((*element.m_value.array)[1]));
-});
-}
-else
-{
-// the initializer list describes an array -> create array
-m_type = value_t::array;
-m_value.array = create<array_t>(init.begin(), init.end());
-}
-
-assert_invariant();
-}
+    basic_json(initializer_list_t init,
+               bool type_deduction = true,
+               value_t manual_type = value_t::array)
+    {
+        // check if each element is an array with two elements whose first
+        // element is a string
+        bool is_an_object = std::all_of(init.begin(), init.end(),
+                                        [](const detail::json_ref<basic_json>& element_ref)
+        {
+            return (element_ref->is_array() and element_ref->size() == 2 and (*element_ref)[0].is_string());
+        });
+
+        // adjust type if type deduction is not wanted
+        if (not type_deduction)
+        {
+            // if array is wanted, do not create an object though possible
+            if (manual_type == value_t::array)
+            {
+                is_an_object = false;
+            }
+
+            // if object is wanted but impossible, throw an exception
+            if (JSON_UNLIKELY(manual_type == value_t::object and not is_an_object))
+            {
+                JSON_THROW(type_error::create(301, "cannot create object from initializer list"));
+            }
+        }
+
+        if (is_an_object)
+        {
+            // the initializer list is a list of pairs -> create object
+            m_type = value_t::object;
+            m_value = value_t::object;
+
+            std::for_each(init.begin(), init.end(), [this](const detail::json_ref<basic_json>& element_ref)
+            {
+                auto element = element_ref.moved_or_copied();
+                m_value.object->emplace(
+                    std::move(*((*element.m_value.array)[0].m_value.string)),
+                    std::move((*element.m_value.array)[1]));
+            });
+        }
+        else
+        {
+            // the initializer list describes an array -> create array
+            m_type = value_t::array;
+            m_value.array = create<array_t>(init.begin(), init.end());
+        }
+
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief explicitly create an array from an initializer list
 
     Creates a JSON array value from a given initializer list. That is, given a
@@ -11598,13 +11089,12 @@ assert_invariant();
 
     @since version 1.0.0
     */
-static basic_json array(initializer_list_t init = {
-})
-{
-return basic_json(init, false, value_t::array);
-}
+    static basic_json array(initializer_list_t init = {})
+    {
+        return basic_json(init, false, value_t::array);
+    }
 
-/*!
+    /*!
     @brief explicitly create an object from an initializer list
 
     Creates a JSON object value from a given initializer list. The initializer
@@ -11642,13 +11132,12 @@ return basic_json(init, false, value_t::array);
 
     @since version 1.0.0
     */
-static basic_json object(initializer_list_t init = {
-})
-{
-return basic_json(init, false, value_t::object);
-}
+    static basic_json object(initializer_list_t init = {})
+    {
+        return basic_json(init, false, value_t::object);
+    }
 
-/*!
+    /*!
     @brief construct an array with count copies of given value
 
     Constructs a JSON array value by creating @a cnt copies of a passed value.
@@ -11670,14 +11159,14 @@ return basic_json(init, false, value_t::object);
 
     @since version 1.0.0
     */
-basic_json(size_type cnt, const basic_json& val)
-: m_type(value_t::array)
-{
-m_value.array = create<array_t>(cnt, val);
-assert_invariant();
-}
+    basic_json(size_type cnt, const basic_json& val)
+        : m_type(value_t::array)
+    {
+        m_value.array = create<array_t>(cnt, val);
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief construct a JSON container given an iterator range
 
     Constructs the JSON value with the contents of the range `[first, last)`.
@@ -11732,110 +11221,109 @@ assert_invariant();
 
     @since version 1.0.0
     */
-template<class InputIT, typename std::enable_if<
-std::is_same<InputIT, typename basic_json_t::iterator>::value or
-std::is_same<InputIT, typename basic_json_t::const_iterator>::value, int>::type = 0>
-basic_json(InputIT first, InputIT last)
-{
-assert(first.m_object != nullptr);
-assert(last.m_object != nullptr);
-
-// make sure iterator fits the current value
-if (JSON_UNLIKELY(first.m_object != last.m_object))
-{
-JSON_THROW(invalid_iterator::create(201, "iterators are not compatible"));
-}
-
-// copy type from first iterator
-m_type = first.m_object->m_type;
-
-// check if iterator range is complete for primitive values
-switch (m_type)
-{
-case value_t::boolean:
-case value_t::number_float:
-case value_t::number_integer:
-case value_t::number_unsigned:
-case value_t::string:
-{
-if (JSON_UNLIKELY(not first.m_it.primitive_iterator.is_begin()
-or not last.m_it.primitive_iterator.is_end()))
-{
-JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
-}
-break;
-}
-
-default:
-break;
-}
-
-switch (m_type)
-{
-case value_t::number_integer:
-{
-m_value.number_integer = first.m_object->m_value.number_integer;
-break;
-}
-
-case value_t::number_unsigned:
-{
-m_value.number_unsigned = first.m_object->m_value.number_unsigned;
-break;
-}
-
-case value_t::number_float:
-{
-m_value.number_float = first.m_object->m_value.number_float;
-break;
-}
-
-case value_t::boolean:
-{
-m_value.boolean = first.m_object->m_value.boolean;
-break;
-}
-
-case value_t::string:
-{
-m_value = *first.m_object->m_value.string;
-break;
-}
-
-case value_t::object:
-{
-m_value.object = create<object_t>(first.m_it.object_iterator,
-last.m_it.object_iterator);
-break;
-}
-
-case value_t::array:
-{
-m_value.array = create<array_t>(first.m_it.array_iterator,
-last.m_it.array_iterator);
-break;
-}
-
-default:
-JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " +
-std::string(first.m_object->type_name())));
-}
-
-assert_invariant();
-}
+    template<class InputIT, typename std::enable_if<
+                 std::is_same<InputIT, typename basic_json_t::iterator>::value or
+                 std::is_same<InputIT, typename basic_json_t::const_iterator>::value, int>::type = 0>
+    basic_json(InputIT first, InputIT last)
+    {
+        assert(first.m_object != nullptr);
+        assert(last.m_object != nullptr);
+
+        // make sure iterator fits the current value
+        if (JSON_UNLIKELY(first.m_object != last.m_object))
+        {
+            JSON_THROW(invalid_iterator::create(201, "iterators are not compatible"));
+        }
+
+        // copy type from first iterator
+        m_type = first.m_object->m_type;
+
+        // check if iterator range is complete for primitive values
+        switch (m_type)
+        {
+            case value_t::boolean:
+            case value_t::number_float:
+            case value_t::number_integer:
+            case value_t::number_unsigned:
+            case value_t::string:
+            {
+                if (JSON_UNLIKELY(not first.m_it.primitive_iterator.is_begin()
+                                  or not last.m_it.primitive_iterator.is_end()))
+                {
+                    JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
+                }
+                break;
+            }
+
+            default:
+                break;
+        }
+
+        switch (m_type)
+        {
+            case value_t::number_integer:
+            {
+                m_value.number_integer = first.m_object->m_value.number_integer;
+                break;
+            }
+
+            case value_t::number_unsigned:
+            {
+                m_value.number_unsigned = first.m_object->m_value.number_unsigned;
+                break;
+            }
+
+            case value_t::number_float:
+            {
+                m_value.number_float = first.m_object->m_value.number_float;
+                break;
+            }
+
+            case value_t::boolean:
+            {
+                m_value.boolean = first.m_object->m_value.boolean;
+                break;
+            }
+
+            case value_t::string:
+            {
+                m_value = *first.m_object->m_value.string;
+                break;
+            }
+
+            case value_t::object:
+            {
+                m_value.object = create<object_t>(first.m_it.object_iterator,
+                                                  last.m_it.object_iterator);
+                break;
+            }
+
+            case value_t::array:
+            {
+                m_value.array = create<array_t>(first.m_it.array_iterator,
+                                                last.m_it.array_iterator);
+                break;
+            }
+
+            default:
+                JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " +
+                                                    std::string(first.m_object->type_name())));
+        }
+
+        assert_invariant();
+    }
 
 
-///////////////////////////////////////
-// other constructors and destructor //
-///////////////////////////////////////
+    ///////////////////////////////////////
+    // other constructors and destructor //
+    ///////////////////////////////////////
 
-/// @private
-basic_json(const detail::json_ref<basic_json>& ref)
-: basic_json(ref.moved_or_copied())
-{
-}
+    /// @private
+    basic_json(const detail::json_ref<basic_json>& ref)
+        : basic_json(ref.moved_or_copied())
+    {}
 
-/*!
+    /*!
     @brief copy constructor
 
     Creates a copy of a given JSON value.
@@ -11860,64 +11348,64 @@ basic_json(const detail::json_ref<basic_json>& ref)
 
     @since version 1.0.0
     */
-basic_json(const basic_json& other)
-: m_type(other.m_type)
-{
-// check of passed value is valid
-other.assert_invariant();
-
-switch (m_type)
-{
-case value_t::object:
-{
-m_value = *other.m_value.object;
-break;
-}
-
-case value_t::array:
-{
-m_value = *other.m_value.array;
-break;
-}
-
-case value_t::string:
-{
-m_value = *other.m_value.string;
-break;
-}
-
-case value_t::boolean:
-{
-m_value = other.m_value.boolean;
-break;
-}
-
-case value_t::number_integer:
-{
-m_value = other.m_value.number_integer;
-break;
-}
-
-case value_t::number_unsigned:
-{
-m_value = other.m_value.number_unsigned;
-break;
-}
-
-case value_t::number_float:
-{
-m_value = other.m_value.number_float;
-break;
-}
-
-default:
-break;
-}
-
-assert_invariant();
-}
+    basic_json(const basic_json& other)
+        : m_type(other.m_type)
+    {
+        // check of passed value is valid
+        other.assert_invariant();
+
+        switch (m_type)
+        {
+            case value_t::object:
+            {
+                m_value = *other.m_value.object;
+                break;
+            }
+
+            case value_t::array:
+            {
+                m_value = *other.m_value.array;
+                break;
+            }
+
+            case value_t::string:
+            {
+                m_value = *other.m_value.string;
+                break;
+            }
+
+            case value_t::boolean:
+            {
+                m_value = other.m_value.boolean;
+                break;
+            }
+
+            case value_t::number_integer:
+            {
+                m_value = other.m_value.number_integer;
+                break;
+            }
+
+            case value_t::number_unsigned:
+            {
+                m_value = other.m_value.number_unsigned;
+                break;
+            }
+
+            case value_t::number_float:
+            {
+                m_value = other.m_value.number_float;
+                break;
+            }
+
+            default:
+                break;
+        }
+
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief move constructor
 
     Move constructor. Constructs a JSON value with the contents of the given
@@ -11943,21 +11431,21 @@ assert_invariant();
 
     @since version 1.0.0
     */
-basic_json(basic_json&& other) noexcept
-: m_type(std::move(other.m_type)),
-m_value(std::move(other.m_value))
-{
-// check that passed value is valid
-other.assert_invariant();
+    basic_json(basic_json&& other) noexcept
+        : m_type(std::move(other.m_type)),
+          m_value(std::move(other.m_value))
+    {
+        // check that passed value is valid
+        other.assert_invariant();
 
-// invalidate payload
-other.m_type = value_t::null;
-other.m_value = { };
+        // invalidate payload
+        other.m_type = value_t::null;
+        other.m_value = {};
 
-assert_invariant();
-}
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief copy assignment
 
     Copy assignment operator. Copies a JSON value via the "copy and swap"
@@ -11980,25 +11468,25 @@ assert_invariant();
 
     @since version 1.0.0
     */
-reference& operator =(basic_json other) noexcept(
-std::is_nothrow_move_constructible<value_t>::value and
-std::is_nothrow_move_assignable<value_t>::value and
-std::is_nothrow_move_constructible<json_value>::value and
-std::is_nothrow_move_assignable<json_value>::value
-)
-{
-// check that passed value is valid
-other.assert_invariant();
+    reference& operator=(basic_json other) noexcept (
+        std::is_nothrow_move_constructible<value_t>::value and
+        std::is_nothrow_move_assignable<value_t>::value and
+        std::is_nothrow_move_constructible<json_value>::value and
+        std::is_nothrow_move_assignable<json_value>::value
+    )
+    {
+        // check that passed value is valid
+        other.assert_invariant();
 
-using std::swap;
-swap(m_type, other.m_type);
-swap(m_value, other.m_value);
+        using std::swap;
+        swap(m_type, other.m_type);
+        swap(m_value, other.m_value);
 
-assert_invariant();
-return *this;
-}
+        assert_invariant();
+        return *this;
+    }
 
-/*!
+    /*!
     @brief destructor
 
     Destroys the JSON value and frees all allocated memory.
@@ -12013,24 +11501,24 @@ return *this;
 
     @since version 1.0.0
     */
-~basic_json() noexcept
-{
-assert_invariant();
-m_value.destroy(m_type);
-}
+    ~basic_json() noexcept
+    {
+        assert_invariant();
+        m_value.destroy(m_type);
+    }
 
-/// @}
+    /// @}
 
-public:
-///////////////////////
-// object inspection //
-///////////////////////
+  public:
+    ///////////////////////
+    // object inspection //
+    ///////////////////////
 
-/// @name object inspection
-/// Functions to inspect the type of a JSON value.
-/// @{
+    /// @name object inspection
+    /// Functions to inspect the type of a JSON value.
+    /// @{
 
-/*!
+    /*!
     @brief serialization
 
     Serialization function for JSON values. The function tries to mimic
@@ -12066,25 +11554,25 @@ public:
     @since version 1.0.0; indentation character @a indent_char, option
            @a ensure_ascii and exceptions added in version 3.0.0
     */
-string_t dump(const int indent = -1, const char indent_char = ' ',
-const bool ensure_ascii = false) const
-{
-string_t result;
-serializer s(detail::output_adapter<char, string_t>(result), indent_char);
-
-if (indent >= 0)
-{
-s.dump(*this, true, ensure_ascii, static_cast<unsigned int>(indent));
-}
-else
-{
-s.dump(*this, false, ensure_ascii, 0);
-}
-
-return result;
-}
+    string_t dump(const int indent = -1, const char indent_char = ' ',
+                  const bool ensure_ascii = false) const
+    {
+        string_t result;
+        serializer s(detail::output_adapter<char, string_t>(result), indent_char);
+
+        if (indent >= 0)
+        {
+            s.dump(*this, true, ensure_ascii, static_cast<unsigned int>(indent));
+        }
+        else
+        {
+            s.dump(*this, false, ensure_ascii, 0);
+        }
+
+        return result;
+    }
 
-/*!
+    /*!
     @brief return the type of the JSON value (explicit)
 
     Return the type of the JSON value as a value from the @ref value_t
@@ -12116,12 +11604,12 @@ return result;
 
     @since version 1.0.0
     */
-constexpr value_t type() const noexcept
-{
-return m_type;
-}
+    constexpr value_t type() const noexcept
+    {
+        return m_type;
+    }
 
-/*!
+    /*!
     @brief return whether type is primitive
 
     This function returns true if and only if the JSON type is primitive
@@ -12146,12 +11634,12 @@ return m_type;
 
     @since version 1.0.0
     */
-constexpr bool is_primitive() const noexcept
-{
-return is_null() or is_string() or is_boolean() or is_number();
-}
+    constexpr bool is_primitive() const noexcept
+    {
+        return is_null() or is_string() or is_boolean() or is_number();
+    }
 
-/*!
+    /*!
     @brief return whether type is structured
 
     This function returns true if and only if the JSON type is structured
@@ -12173,12 +11661,12 @@ return is_null() or is_string() or is_boolean() or is_number();
 
     @since version 1.0.0
     */
-constexpr bool is_structured() const noexcept
-{
-return is_array() or is_object();
-}
+    constexpr bool is_structured() const noexcept
+    {
+        return is_array() or is_object();
+    }
 
-/*!
+    /*!
     @brief return whether value is null
 
     This function returns true if and only if the JSON value is null.
@@ -12195,12 +11683,12 @@ return is_array() or is_object();
 
     @since version 1.0.0
     */
-constexpr bool is_null() const noexcept
-{
-return (m_type == value_t::null);
-}
+    constexpr bool is_null() const noexcept
+    {
+        return (m_type == value_t::null);
+    }
 
-/*!
+    /*!
     @brief return whether value is a boolean
 
     This function returns true if and only if the JSON value is a boolean.
@@ -12217,12 +11705,12 @@ return (m_type == value_t::null);
 
     @since version 1.0.0
     */
-constexpr bool is_boolean() const noexcept
-{
-return (m_type == value_t::boolean);
-}
+    constexpr bool is_boolean() const noexcept
+    {
+        return (m_type == value_t::boolean);
+    }
 
-/*!
+    /*!
     @brief return whether value is a number
 
     This function returns true if and only if the JSON value is a number. This
@@ -12247,12 +11735,12 @@ return (m_type == value_t::boolean);
 
     @since version 1.0.0
     */
-constexpr bool is_number() const noexcept
-{
-return is_number_integer() or is_number_float();
-}
+    constexpr bool is_number() const noexcept
+    {
+        return is_number_integer() or is_number_float();
+    }
 
-/*!
+    /*!
     @brief return whether value is an integer number
 
     This function returns true if and only if the JSON value is a signed or
@@ -12276,12 +11764,12 @@ return is_number_integer() or is_number_float();
 
     @since version 1.0.0
     */
-constexpr bool is_number_integer() const noexcept
-{
-return (m_type == value_t::number_integer or m_type == value_t::number_unsigned);
-}
+    constexpr bool is_number_integer() const noexcept
+    {
+        return (m_type == value_t::number_integer or m_type == value_t::number_unsigned);
+    }
 
-/*!
+    /*!
     @brief return whether value is an unsigned integer number
 
     This function returns true if and only if the JSON value is an unsigned
@@ -12304,12 +11792,12 @@ return (m_type == value_t::number_integer or m_type == value_t::number_unsigned)
 
     @since version 2.0.0
     */
-constexpr bool is_number_unsigned() const noexcept
-{
-return (m_type == value_t::number_unsigned);
-}
+    constexpr bool is_number_unsigned() const noexcept
+    {
+        return (m_type == value_t::number_unsigned);
+    }
 
-/*!
+    /*!
     @brief return whether value is a floating-point number
 
     This function returns true if and only if the JSON value is a
@@ -12332,12 +11820,12 @@ return (m_type == value_t::number_unsigned);
 
     @since version 1.0.0
     */
-constexpr bool is_number_float() const noexcept
-{
-return (m_type == value_t::number_float);
-}
+    constexpr bool is_number_float() const noexcept
+    {
+        return (m_type == value_t::number_float);
+    }
 
-/*!
+    /*!
     @brief return whether value is an object
 
     This function returns true if and only if the JSON value is an object.
@@ -12354,12 +11842,12 @@ return (m_type == value_t::number_float);
 
     @since version 1.0.0
     */
-constexpr bool is_object() const noexcept
-{
-return (m_type == value_t::object);
-}
+    constexpr bool is_object() const noexcept
+    {
+        return (m_type == value_t::object);
+    }
 
-/*!
+    /*!
     @brief return whether value is an array
 
     This function returns true if and only if the JSON value is an array.
@@ -12376,12 +11864,12 @@ return (m_type == value_t::object);
 
     @since version 1.0.0
     */
-constexpr bool is_array() const noexcept
-{
-return (m_type == value_t::array);
-}
+    constexpr bool is_array() const noexcept
+    {
+        return (m_type == value_t::array);
+    }
 
-/*!
+    /*!
     @brief return whether value is a string
 
     This function returns true if and only if the JSON value is a string.
@@ -12398,12 +11886,12 @@ return (m_type == value_t::array);
 
     @since version 1.0.0
     */
-constexpr bool is_string() const noexcept
-{
-return (m_type == value_t::string);
-}
+    constexpr bool is_string() const noexcept
+    {
+        return (m_type == value_t::string);
+    }
 
-/*!
+    /*!
     @brief return whether value is discarded
 
     This function returns true if and only if the JSON value was discarded
@@ -12425,12 +11913,12 @@ return (m_type == value_t::string);
 
     @since version 1.0.0
     */
-constexpr bool is_discarded() const noexcept
-{
-return (m_type == value_t::discarded);
-}
+    constexpr bool is_discarded() const noexcept
+    {
+        return (m_type == value_t::discarded);
+    }
 
-/*!
+    /*!
     @brief return the type of the JSON value (implicit)
 
     Implicitly return the type of the JSON value as a value from the @ref
@@ -12451,114 +11939,114 @@ return (m_type == value_t::discarded);
 
     @since version 1.0.0
     */
-constexpr operator value_t() const noexcept
-{
-return m_type;
-}
+    constexpr operator value_t() const noexcept
+    {
+        return m_type;
+    }
 
-/// @}
+    /// @}
 
-private:
-//////////////////
-// value access //
-//////////////////
+  private:
+    //////////////////
+    // value access //
+    //////////////////
 
-/// get a boolean (explicit)
-boolean_t get_impl(boolean_t* /*unused*/) const
-{
-if (JSON_LIKELY(is_boolean()))
-{
-return m_value.boolean;
-}
+    /// get a boolean (explicit)
+    boolean_t get_impl(boolean_t* /*unused*/) const
+    {
+        if (JSON_LIKELY(is_boolean()))
+        {
+            return m_value.boolean;
+        }
 
-JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(type_name())));
-}
+        JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(type_name())));
+    }
 
-/// get a pointer to the value (object)
-object_t* get_impl_ptr(object_t* /*unused*/) noexcept
-{
-return is_object() ? m_value.object : nullptr;
-}
+    /// get a pointer to the value (object)
+    object_t* get_impl_ptr(object_t* /*unused*/) noexcept
+    {
+        return is_object() ? m_value.object : nullptr;
+    }
 
-/// get a pointer to the value (object)
-constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept
-{
-return is_object() ? m_value.object : nullptr;
-}
+    /// get a pointer to the value (object)
+    constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept
+    {
+        return is_object() ? m_value.object : nullptr;
+    }
 
-/// get a pointer to the value (array)
-array_t* get_impl_ptr(array_t* /*unused*/) noexcept
-{
-return is_array() ? m_value.array : nullptr;
-}
+    /// get a pointer to the value (array)
+    array_t* get_impl_ptr(array_t* /*unused*/) noexcept
+    {
+        return is_array() ? m_value.array : nullptr;
+    }
 
-/// get a pointer to the value (array)
-constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept
-{
-return is_array() ? m_value.array : nullptr;
-}
+    /// get a pointer to the value (array)
+    constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept
+    {
+        return is_array() ? m_value.array : nullptr;
+    }
 
-/// get a pointer to the value (string)
-string_t* get_impl_ptr(string_t* /*unused*/) noexcept
-{
-return is_string() ? m_value.string : nullptr;
-}
+    /// get a pointer to the value (string)
+    string_t* get_impl_ptr(string_t* /*unused*/) noexcept
+    {
+        return is_string() ? m_value.string : nullptr;
+    }
 
-/// get a pointer to the value (string)
-constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept
-{
-return is_string() ? m_value.string : nullptr;
-}
+    /// get a pointer to the value (string)
+    constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept
+    {
+        return is_string() ? m_value.string : nullptr;
+    }
 
-/// get a pointer to the value (boolean)
-boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept
-{
-return is_boolean() ? &m_value.boolean : nullptr;
-}
+    /// get a pointer to the value (boolean)
+    boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept
+    {
+        return is_boolean() ? &m_value.boolean : nullptr;
+    }
 
-/// get a pointer to the value (boolean)
-constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept
-{
-return is_boolean() ? &m_value.boolean : nullptr;
-}
+    /// get a pointer to the value (boolean)
+    constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept
+    {
+        return is_boolean() ? &m_value.boolean : nullptr;
+    }
 
-/// get a pointer to the value (integer number)
-number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept
-{
-return is_number_integer() ? &m_value.number_integer : nullptr;
-}
+    /// get a pointer to the value (integer number)
+    number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept
+    {
+        return is_number_integer() ? &m_value.number_integer : nullptr;
+    }
 
-/// get a pointer to the value (integer number)
-constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept
-{
-return is_number_integer() ? &m_value.number_integer : nullptr;
-}
+    /// get a pointer to the value (integer number)
+    constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept
+    {
+        return is_number_integer() ? &m_value.number_integer : nullptr;
+    }
 
-/// get a pointer to the value (unsigned number)
-number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
-{
-return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
-}
+    /// get a pointer to the value (unsigned number)
+    number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
+    {
+        return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
+    }
 
-/// get a pointer to the value (unsigned number)
-constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept
-{
-return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
-}
+    /// get a pointer to the value (unsigned number)
+    constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept
+    {
+        return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
+    }
 
-/// get a pointer to the value (floating-point number)
-number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept
-{
-return is_number_float() ? &m_value.number_float : nullptr;
-}
+    /// get a pointer to the value (floating-point number)
+    number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept
+    {
+        return is_number_float() ? &m_value.number_float : nullptr;
+    }
 
-/// get a pointer to the value (floating-point number)
-constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept
-{
-return is_number_float() ? &m_value.number_float : nullptr;
-}
+    /// get a pointer to the value (floating-point number)
+    constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept
+    {
+        return is_number_float() ? &m_value.number_float : nullptr;
+    }
 
-/*!
+    /*!
     @brief helper function to implement get_ref()
 
     This function helps to implement get_ref() without code duplication for
@@ -12569,27 +12057,26 @@ return is_number_float() ? &m_value.number_float : nullptr;
     @throw type_error.303 if ReferenceType does not match underlying value
     type of the current JSON
     */
-template<typename ReferenceType, typename ThisType>
-static ReferenceType get_ref_impl(ThisType& obj)
-{
-// delegate the call to get_ptr<>()
-auto ptr = obj.
-template get_ptr<typename std::add_pointer<ReferenceType>::type>();
+    template<typename ReferenceType, typename ThisType>
+    static ReferenceType get_ref_impl(ThisType& obj)
+    {
+        // delegate the call to get_ptr<>()
+        auto ptr = obj.template get_ptr<typename std::add_pointer<ReferenceType>::type>();
 
-if (JSON_LIKELY(ptr != nullptr))
-{
-return *ptr;
-}
+        if (JSON_LIKELY(ptr != nullptr))
+        {
+            return *ptr;
+        }
 
-JSON_THROW(type_error::create(303, "incompatible ReferenceType for get_ref, actual type is " + std::string(obj.type_name())));
-}
+        JSON_THROW(type_error::create(303, "incompatible ReferenceType for get_ref, actual type is " + std::string(obj.type_name())));
+    }
 
-public:
-/// @name value access
-/// Direct access to the stored value of a JSON value.
-/// @{
+  public:
+    /// @name value access
+    /// Direct access to the stored value of a JSON value.
+    /// @{
 
-/*!
+    /*!
     @brief get special-case overload
 
     This overloads avoids a lot of template boilerplate, it can be seen as the
@@ -12603,15 +12090,15 @@ public:
 
     @since version 2.1.0
     */
-template<typename BasicJsonType, detail::enable_if_t<
-std::is_same<typename std::remove_const<BasicJsonType>::type, basic_json_t>::value,
-int> = 0>
-basic_json get() const
-{
-return *this;
-}
+    template<typename BasicJsonType, detail::enable_if_t<
+                 std::is_same<typename std::remove_const<BasicJsonType>::type, basic_json_t>::value,
+                 int> = 0>
+    basic_json get() const
+    {
+        return *this;
+    }
 
-/*!
+    /*!
     @brief get special-case overload
 
     This overloads converts the current @ref basic_json in a different
@@ -12626,15 +12113,15 @@ return *this;
 
     @since version 3.1.2
     */
-template<typename BasicJsonType, detail::enable_if_t<
-not std::is_same<BasicJsonType, basic_json>::value and
-detail::is_basic_json<BasicJsonType>::value, int> = 0>
-BasicJsonType get() const
-{
-return *this;
-}
+    template<typename BasicJsonType, detail::enable_if_t<
+                 not std::is_same<BasicJsonType, basic_json>::value and
+                 detail::is_basic_json<BasicJsonType>::value, int> = 0>
+    BasicJsonType get() const
+    {
+        return *this;
+    }
 
-/*!
+    /*!
     @brief get a value (explicit)
 
     Explicit type conversion between the JSON value and a compatible value
@@ -12673,29 +12160,29 @@ return *this;
 
     @since version 2.1.0
     */
-template<typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
-detail::enable_if_t <
-not detail::is_basic_json<ValueType>::value and
-detail::has_from_json<basic_json_t, ValueType>::value and
-not detail::has_non_default_from_json<basic_json_t, ValueType>::value,
-int> = 0>
-ValueType get() const noexcept(noexcept(
-JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), std::declval<ValueType&>())))
-{
-// we cannot static_assert on ValueTypeCV being non-const, because
-// there is support for get<const basic_json_t>(), which is why we
-// still need the uncvref
-static_assert(not std::is_reference<ValueTypeCV>::value,
-"get() cannot be used with reference types, you might want to use get_ref()");
-static_assert(std::is_default_constructible<ValueType>::value,
-"types must be DefaultConstructible when used with get()");
-
-ValueType ret;
-JSONSerializer<ValueType>::from_json(*this, ret);
-return ret;
-}
+    template<typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
+             detail::enable_if_t <
+                 not detail::is_basic_json<ValueType>::value and
+                 detail::has_from_json<basic_json_t, ValueType>::value and
+                 not detail::has_non_default_from_json<basic_json_t, ValueType>::value,
+                 int> = 0>
+    ValueType get() const noexcept(noexcept(
+                                       JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), std::declval<ValueType&>())))
+    {
+        // we cannot static_assert on ValueTypeCV being non-const, because
+        // there is support for get<const basic_json_t>(), which is why we
+        // still need the uncvref
+        static_assert(not std::is_reference<ValueTypeCV>::value,
+                      "get() cannot be used with reference types, you might want to use get_ref()");
+        static_assert(std::is_default_constructible<ValueType>::value,
+                      "types must be DefaultConstructible when used with get()");
+
+        ValueType ret;
+        JSONSerializer<ValueType>::from_json(*this, ret);
+        return ret;
+    }
 
-/*!
+    /*!
     @brief get a value (explicit); special case
 
     Explicit type conversion between the JSON value and a compatible value
@@ -12726,19 +12213,19 @@ return ret;
 
     @since version 2.1.0
     */
-template<typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
-detail::enable_if_t<not std::is_same<basic_json_t, ValueType>::value and
-detail::has_non_default_from_json<basic_json_t, ValueType>::value,
-int> = 0>
-ValueType get() const noexcept(noexcept(
-JSONSerializer<ValueTypeCV>::from_json(std::declval<const basic_json_t&>())))
-{
-static_assert(not std::is_reference<ValueTypeCV>::value,
-"get() cannot be used with reference types, you might want to use get_ref()");
-return JSONSerializer<ValueTypeCV>::from_json(*this);
-}
+    template<typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
+             detail::enable_if_t<not std::is_same<basic_json_t, ValueType>::value and
+                                 detail::has_non_default_from_json<basic_json_t, ValueType>::value,
+                                 int> = 0>
+    ValueType get() const noexcept(noexcept(
+                                       JSONSerializer<ValueTypeCV>::from_json(std::declval<const basic_json_t&>())))
+    {
+        static_assert(not std::is_reference<ValueTypeCV>::value,
+                      "get() cannot be used with reference types, you might want to use get_ref()");
+        return JSONSerializer<ValueTypeCV>::from_json(*this);
+    }
 
-/*!
+    /*!
     @brief get a pointer value (explicit)
 
     Explicit pointer access to the internally stored JSON value. No copies are
@@ -12765,27 +12252,27 @@ return JSONSerializer<ValueTypeCV>::from_json(*this);
 
     @since version 1.0.0
     */
-template<typename PointerType, typename std::enable_if<
-std::is_pointer<PointerType>::value, int>::type = 0>
-PointerType get() noexcept
-{
-// delegate the call to get_ptr
-return get_ptr<PointerType>();
-}
+    template<typename PointerType, typename std::enable_if<
+                 std::is_pointer<PointerType>::value, int>::type = 0>
+    PointerType get() noexcept
+    {
+        // delegate the call to get_ptr
+        return get_ptr<PointerType>();
+    }
 
-/*!
+    /*!
     @brief get a pointer value (explicit)
     @copydoc get()
     */
-template<typename PointerType, typename std::enable_if<
-std::is_pointer<PointerType>::value, int>::type = 0>
-constexpr const PointerType get() const noexcept
-{
-// delegate the call to get_ptr
-return get_ptr<PointerType>();
-}
+    template<typename PointerType, typename std::enable_if<
+                 std::is_pointer<PointerType>::value, int>::type = 0>
+    constexpr const PointerType get() const noexcept
+    {
+        // delegate the call to get_ptr
+        return get_ptr<PointerType>();
+    }
 
-/*!
+    /*!
     @brief get a pointer value (implicit)
 
     Implicit pointer access to the internally stored JSON value. No copies are
@@ -12811,58 +12298,58 @@ return get_ptr<PointerType>();
 
     @since version 1.0.0
     */
-template<typename PointerType, typename std::enable_if<
-std::is_pointer<PointerType>::value, int>::type = 0>
-PointerType get_ptr() noexcept
-{
-// get the type of the PointerType (remove pointer and const)
-using pointee_t = typename std::remove_const<typename
-std::remove_pointer<typename
-std::remove_const<PointerType>::type>::type>::type;
-// make sure the type matches the allowed types
-static_assert(
-std::is_same<object_t, pointee_t>::value
-or std::is_same<array_t, pointee_t>::value
-or std::is_same<string_t, pointee_t>::value
-or std::is_same<boolean_t, pointee_t>::value
-or std::is_same<number_integer_t, pointee_t>::value
-or std::is_same<number_unsigned_t, pointee_t>::value
-or std::is_same<number_float_t, pointee_t>::value
-, "incompatible pointer type");
-
-// delegate the call to get_impl_ptr<>()
-return get_impl_ptr(static_cast<PointerType>(nullptr));
-}
+    template<typename PointerType, typename std::enable_if<
+                 std::is_pointer<PointerType>::value, int>::type = 0>
+    PointerType get_ptr() noexcept
+    {
+        // get the type of the PointerType (remove pointer and const)
+        using pointee_t = typename std::remove_const<typename
+                          std::remove_pointer<typename
+                          std::remove_const<PointerType>::type>::type>::type;
+        // make sure the type matches the allowed types
+        static_assert(
+            std::is_same<object_t, pointee_t>::value
+            or std::is_same<array_t, pointee_t>::value
+            or std::is_same<string_t, pointee_t>::value
+            or std::is_same<boolean_t, pointee_t>::value
+            or std::is_same<number_integer_t, pointee_t>::value
+            or std::is_same<number_unsigned_t, pointee_t>::value
+            or std::is_same<number_float_t, pointee_t>::value
+            , "incompatible pointer type");
+
+        // delegate the call to get_impl_ptr<>()
+        return get_impl_ptr(static_cast<PointerType>(nullptr));
+    }
 
-/*!
+    /*!
     @brief get a pointer value (implicit)
     @copydoc get_ptr()
     */
-template<typename PointerType, typename std::enable_if<
-std::is_pointer<PointerType>::value and
-std::is_const<typename std::remove_pointer<PointerType>::type>::value, int>::type = 0>
-constexpr const PointerType get_ptr() const noexcept
-{
-// get the type of the PointerType (remove pointer and const)
-using pointee_t = typename std::remove_const<typename
-std::remove_pointer<typename
-std::remove_const<PointerType>::type>::type>::type;
-// make sure the type matches the allowed types
-static_assert(
-std::is_same<object_t, pointee_t>::value
-or std::is_same<array_t, pointee_t>::value
-or std::is_same<string_t, pointee_t>::value
-or std::is_same<boolean_t, pointee_t>::value
-or std::is_same<number_integer_t, pointee_t>::value
-or std::is_same<number_unsigned_t, pointee_t>::value
-or std::is_same<number_float_t, pointee_t>::value
-, "incompatible pointer type");
-
-// delegate the call to get_impl_ptr<>() const
-return get_impl_ptr(static_cast<PointerType>(nullptr));
-}
+    template<typename PointerType, typename std::enable_if<
+                 std::is_pointer<PointerType>::value and
+                 std::is_const<typename std::remove_pointer<PointerType>::type>::value, int>::type = 0>
+    constexpr const PointerType get_ptr() const noexcept
+    {
+        // get the type of the PointerType (remove pointer and const)
+        using pointee_t = typename std::remove_const<typename
+                          std::remove_pointer<typename
+                          std::remove_const<PointerType>::type>::type>::type;
+        // make sure the type matches the allowed types
+        static_assert(
+            std::is_same<object_t, pointee_t>::value
+            or std::is_same<array_t, pointee_t>::value
+            or std::is_same<string_t, pointee_t>::value
+            or std::is_same<boolean_t, pointee_t>::value
+            or std::is_same<number_integer_t, pointee_t>::value
+            or std::is_same<number_unsigned_t, pointee_t>::value
+            or std::is_same<number_float_t, pointee_t>::value
+            , "incompatible pointer type");
+
+        // delegate the call to get_impl_ptr<>() const
+        return get_impl_ptr(static_cast<PointerType>(nullptr));
+    }
 
-/*!
+    /*!
     @brief get a reference value (implicit)
 
     Implicit reference access to the internally stored JSON value. No copies
@@ -12888,28 +12375,28 @@ return get_impl_ptr(static_cast<PointerType>(nullptr));
 
     @since version 1.1.0
     */
-template<typename ReferenceType, typename std::enable_if<
-std::is_reference<ReferenceType>::value, int>::type = 0>
-ReferenceType get_ref()
-{
-// delegate call to get_ref_impl
-return get_ref_impl<ReferenceType>(*this);
-}
+    template<typename ReferenceType, typename std::enable_if<
+                 std::is_reference<ReferenceType>::value, int>::type = 0>
+    ReferenceType get_ref()
+    {
+        // delegate call to get_ref_impl
+        return get_ref_impl<ReferenceType>(*this);
+    }
 
-/*!
+    /*!
     @brief get a reference value (implicit)
     @copydoc get_ref()
     */
-template<typename ReferenceType, typename std::enable_if<
-std::is_reference<ReferenceType>::value and
-std::is_const<typename std::remove_reference<ReferenceType>::type>::value, int>::type = 0>
-ReferenceType get_ref() const
-{
-// delegate call to get_ref_impl
-return get_ref_impl<ReferenceType>(*this);
-}
+    template<typename ReferenceType, typename std::enable_if<
+                 std::is_reference<ReferenceType>::value and
+                 std::is_const<typename std::remove_reference<ReferenceType>::type>::value, int>::type = 0>
+    ReferenceType get_ref() const
+    {
+        // delegate call to get_ref_impl
+        return get_ref_impl<ReferenceType>(*this);
+    }
 
-/*!
+    /*!
     @brief get a value (implicit)
 
     Implicit type conversion between the JSON value and a compatible value.
@@ -12938,38 +12425,36 @@ return get_ref_impl<ReferenceType>(*this);
 
     @since version 1.0.0
     */
-template < typename ValueType, typename std::enable_if <
-not std::is_pointer<ValueType>::value and
-not std::is_same<ValueType, detail::json_ref<basic_json>>::value and
-not std::is_same<ValueType, typename string_t::value_type>::value and
-not detail::is_basic_json<ValueType>::value
-#ifndef
-_MSC_VER  // fix for issue #167 operator<< ambiguity under VS2015
-and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
+    template < typename ValueType, typename std::enable_if <
+                   not std::is_pointer<ValueType>::value and
+                   not std::is_same<ValueType, detail::json_ref<basic_json>>::value and
+                   not std::is_same<ValueType, typename string_t::value_type>::value and
+                   not detail::is_basic_json<ValueType>::value
+#ifndef _MSC_VER  // fix for issue #167 operator<< ambiguity under VS2015
+                   and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
 #endif
-#if
-defined(JSON_HAS_CPP_17)
-and not std::is_same<ValueType, typename std::string_view>::value
+#if defined(JSON_HAS_CPP_17)
+                   and not std::is_same<ValueType, typename std::string_view>::value
 #endif
-, int >::type = 0 >
-operator ValueType() const
-{
-// delegate the call to get<>() const
-return get<ValueType>();
-}
+                   , int >::type = 0 >
+    operator ValueType() const
+    {
+        // delegate the call to get<>() const
+        return get<ValueType>();
+    }
 
-/// @}
+    /// @}
 
 
-////////////////////
-// element access //
-////////////////////
+    ////////////////////
+    // element access //
+    ////////////////////
 
-/// @name element access
-/// Access to the JSON value.
-/// @{
+    /// @name element access
+    /// Access to the JSON value.
+    /// @{
 
-/*!
+    /*!
     @brief access specified array element with bounds checking
 
     Returns a reference to the element at specified location @a idx, with
@@ -12995,28 +12480,28 @@ return get<ValueType>();
     written using `at()`. It also demonstrates the different exceptions that
     can be thrown.,at__size_type}
     */
-reference at(size_type idx)
-{
-// at only works for arrays
-if (JSON_LIKELY(is_array()))
-{
-JSON_TRY
-{
-return m_value.array->at(idx);
-}
-JSON_CATCH (std::out_of_range&)
-{
-// create better exception explanation
-JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
-}
-}
-else
-{
-JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
-}
-}
+    reference at(size_type idx)
+    {
+        // at only works for arrays
+        if (JSON_LIKELY(is_array()))
+        {
+            JSON_TRY
+            {
+                return m_value.array->at(idx);
+            }
+            JSON_CATCH (std::out_of_range&)
+            {
+                // create better exception explanation
+                JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
+            }
+        }
+        else
+        {
+            JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
+        }
+    }
 
-/*!
+    /*!
     @brief access specified array element with bounds checking
 
     Returns a const reference to the element at specified location @a idx,
@@ -13042,28 +12527,28 @@ JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_na
     `at()`. It also demonstrates the different exceptions that can be thrown.,
     at__size_type_const}
     */
-const_reference at(size_type idx) const
-{
-// at only works for arrays
-if (JSON_LIKELY(is_array()))
-{
-JSON_TRY
-{
-return m_value.array->at(idx);
-}
-JSON_CATCH (std::out_of_range&)
-{
-// create better exception explanation
-JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
-}
-}
-else
-{
-JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
-}
-}
+    const_reference at(size_type idx) const
+    {
+        // at only works for arrays
+        if (JSON_LIKELY(is_array()))
+        {
+            JSON_TRY
+            {
+                return m_value.array->at(idx);
+            }
+            JSON_CATCH (std::out_of_range&)
+            {
+                // create better exception explanation
+                JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
+            }
+        }
+        else
+        {
+            JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
+        }
+    }
 
-/*!
+    /*!
     @brief access specified object element with bounds checking
 
     Returns a reference to the element at with specified key @a key, with
@@ -13093,28 +12578,28 @@ JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_na
     written using `at()`. It also demonstrates the different exceptions that
     can be thrown.,at__object_t_key_type}
     */
-reference at(const typename object_t::key_type& key)
-{
-// at only works for objects
-if (JSON_LIKELY(is_object()))
-{
-JSON_TRY
-{
-return m_value.object->at(key);
-}
-JSON_CATCH (std::out_of_range&)
-{
-// create better exception explanation
-JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
-}
-}
-else
-{
-JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
-}
-}
+    reference at(const typename object_t::key_type& key)
+    {
+        // at only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            JSON_TRY
+            {
+                return m_value.object->at(key);
+            }
+            JSON_CATCH (std::out_of_range&)
+            {
+                // create better exception explanation
+                JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
+            }
+        }
+        else
+        {
+            JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
+        }
+    }
 
-/*!
+    /*!
     @brief access specified object element with bounds checking
 
     Returns a const reference to the element at with specified key @a key,
@@ -13144,28 +12629,28 @@ JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_na
     `at()`. It also demonstrates the different exceptions that can be thrown.,
     at__object_t_key_type_const}
     */
-const_reference at(const typename object_t::key_type& key) const
-{
-// at only works for objects
-if (JSON_LIKELY(is_object()))
-{
-JSON_TRY
-{
-return m_value.object->at(key);
-}
-JSON_CATCH (std::out_of_range&)
-{
-// create better exception explanation
-JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
-}
-}
-else
-{
-JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
-}
-}
+    const_reference at(const typename object_t::key_type& key) const
+    {
+        // at only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            JSON_TRY
+            {
+                return m_value.object->at(key);
+            }
+            JSON_CATCH (std::out_of_range&)
+            {
+                // create better exception explanation
+                JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
+            }
+        }
+        else
+        {
+            JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
+        }
+    }
 
-/*!
+    /*!
     @brief access specified array element
 
     Returns a reference to the element at specified location @a idx.
@@ -13190,34 +12675,34 @@ JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_na
 
     @since version 1.0.0
     */
-reference operator [](size_type idx)
-{
-// implicitly convert null value to an empty array
-if (is_null())
-{
-m_type = value_t::array;
-m_value.array = create<array_t>();
-assert_invariant();
-}
-
-// operator[] only works for arrays
-if (JSON_LIKELY(is_array()))
-{
-// fill up array with null values if given idx is outside range
-if (idx >= m_value.array->size())
-{
-m_value.array->insert(m_value.array->end(),
-idx - m_value.array->size() + 1,
-basic_json());
-}
-
-return m_value.array->operator [](idx);
-}
-
-JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
-}
+    reference operator[](size_type idx)
+    {
+        // implicitly convert null value to an empty array
+        if (is_null())
+        {
+            m_type = value_t::array;
+            m_value.array = create<array_t>();
+            assert_invariant();
+        }
+
+        // operator[] only works for arrays
+        if (JSON_LIKELY(is_array()))
+        {
+            // fill up array with null values if given idx is outside range
+            if (idx >= m_value.array->size())
+            {
+                m_value.array->insert(m_value.array->end(),
+                                      idx - m_value.array->size() + 1,
+                                      basic_json());
+            }
+
+            return m_value.array->operator[](idx);
+        }
+
+        JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief access specified array element
 
     Returns a const reference to the element at specified location @a idx.
@@ -13236,18 +12721,18 @@ JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(t
 
     @since version 1.0.0
     */
-const_reference operator [](size_type idx) const
-{
-// const operator[] only works for arrays
-if (JSON_LIKELY(is_array()))
-{
-return m_value.array->operator [](idx);
-}
+    const_reference operator[](size_type idx) const
+    {
+        // const operator[] only works for arrays
+        if (JSON_LIKELY(is_array()))
+        {
+            return m_value.array->operator[](idx);
+        }
 
-JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
-}
+        JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief access specified object element
 
     Returns a reference to the element at with specified key @a key.
@@ -13274,26 +12759,26 @@ JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(t
 
     @since version 1.0.0
     */
-reference operator [](const typename object_t::key_type& key)
-{
-// implicitly convert null value to an empty object
-if (is_null())
-{
-m_type = value_t::object;
-m_value.object = create<object_t>();
-assert_invariant();
-}
-
-// operator[] only works for objects
-if (JSON_LIKELY(is_object()))
-{
-return m_value.object->operator [](key);
-}
-
-JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
-}
+    reference operator[](const typename object_t::key_type& key)
+    {
+        // implicitly convert null value to an empty object
+        if (is_null())
+        {
+            m_type = value_t::object;
+            m_value.object = create<object_t>();
+            assert_invariant();
+        }
+
+        // operator[] only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            return m_value.object->operator[](key);
+        }
+
+        JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief read-only access specified object element
 
     Returns a const reference to the element at with specified key @a key. No
@@ -13323,19 +12808,19 @@ JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(t
 
     @since version 1.0.0
     */
-const_reference operator [](const typename object_t::key_type& key) const
-{
-// const operator[] only works for objects
-if (JSON_LIKELY(is_object()))
-{
-assert(m_value.object->find(key) != m_value.object->end());
-return m_value.object->find(key)->second;
-}
-
-JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
-}
+    const_reference operator[](const typename object_t::key_type& key) const
+    {
+        // const operator[] only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            assert(m_value.object->find(key) != m_value.object->end());
+            return m_value.object->find(key)->second;
+        }
+
+        JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief access specified object element
 
     Returns a reference to the element at with specified key @a key.
@@ -13362,27 +12847,27 @@ JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(t
 
     @since version 1.1.0
     */
-template<typename T>
-reference operator [](T* key)
-{
-// implicitly convert null to object
-if (is_null())
-{
-m_type = value_t::object;
-m_value = value_t::object;
-assert_invariant();
-}
-
-// at only works for objects
-if (JSON_LIKELY(is_object()))
-{
-return m_value.object->operator [](key);
-}
-
-JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
-}
+    template<typename T>
+    reference operator[](T* key)
+    {
+        // implicitly convert null to object
+        if (is_null())
+        {
+            m_type = value_t::object;
+            m_value = value_t::object;
+            assert_invariant();
+        }
+
+        // at only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            return m_value.object->operator[](key);
+        }
+
+        JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief read-only access specified object element
 
     Returns a const reference to the element at with specified key @a key. No
@@ -13412,20 +12897,20 @@ JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(t
 
     @since version 1.1.0
     */
-template<typename T>
-const_reference operator [](T* key) const
-{
-// at only works for objects
-if (JSON_LIKELY(is_object()))
-{
-assert(m_value.object->find(key) != m_value.object->end());
-return m_value.object->find(key)->second;
-}
-
-JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
-}
+    template<typename T>
+    const_reference operator[](T* key) const
+    {
+        // at only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            assert(m_value.object->find(key) != m_value.object->end());
+            return m_value.object->find(key)->second;
+        }
+
+        JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief access specified object element with default value
 
     Returns either a copy of an object's element at the specified key @a key
@@ -13473,36 +12958,36 @@ JSON_THROW(type_error::create(305, "cannot use operator[] with " + std::string(t
 
     @since version 1.0.0
     */
-template<class ValueType, typename std::enable_if<
-std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
-ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const
-{
-// at only works for objects
-if (JSON_LIKELY(is_object()))
-{
-// if key is found, return value and given default value otherwise
-const auto it = find(key);
-if (it != end())
-{
-return *it;
-}
-
-return default_value;
-}
-
-JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
-}
+    template<class ValueType, typename std::enable_if<
+                 std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
+    ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const
+    {
+        // at only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            // if key is found, return value and given default value otherwise
+            const auto it = find(key);
+            if (it != end())
+            {
+                return *it;
+            }
+
+            return default_value;
+        }
+
+        JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief overload for a default value of type const char*
     @copydoc basic_json::value(const typename object_t::key_type&, ValueType) const
     */
-string_t value(const typename object_t::key_type& key, const char* default_value) const
-{
-return value(key, string_t(default_value));
-}
+    string_t value(const typename object_t::key_type& key, const char* default_value) const
+    {
+        return value(key, string_t(default_value));
+    }
 
-/*!
+    /*!
     @brief access specified object element via JSON Pointer with default value
 
     Returns either a copy of an object's element at the specified key @a key
@@ -13543,37 +13028,37 @@ return value(key, string_t(default_value));
 
     @since version 2.0.2
     */
-template<class ValueType, typename std::enable_if<
-std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
-ValueType value(const json_pointer& ptr, const ValueType& default_value) const
-{
-// at only works for objects
-if (JSON_LIKELY(is_object()))
-{
-// if pointer resolves a value, return it or use default value
-JSON_TRY
-{
-return ptr.get_checked(this);
-}
-JSON_CATCH (out_of_range&)
-{
-return default_value;
-}
-}
-
-JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
-}
+    template<class ValueType, typename std::enable_if<
+                 std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
+    ValueType value(const json_pointer& ptr, const ValueType& default_value) const
+    {
+        // at only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            // if pointer resolves a value, return it or use default value
+            JSON_TRY
+            {
+                return ptr.get_checked(this);
+            }
+            JSON_CATCH (out_of_range&)
+            {
+                return default_value;
+            }
+        }
+
+        JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief overload for a default value of type const char*
     @copydoc basic_json::value(const json_pointer&, ValueType) const
     */
-string_t value(const json_pointer& ptr, const char* default_value) const
-{
-return value(ptr, string_t(default_value));
-}
+    string_t value(const json_pointer& ptr, const char* default_value) const
+    {
+        return value(ptr, string_t(default_value));
+    }
 
-/*!
+    /*!
     @brief access the first element
 
     Returns a reference to the first element in the container. For a JSON
@@ -13598,20 +13083,20 @@ return value(ptr, string_t(default_value));
 
     @since version 1.0.0
     */
-reference front()
-{
-return *begin();
-}
+    reference front()
+    {
+        return *begin();
+    }
 
-/*!
+    /*!
     @copydoc basic_json::front()
     */
-const_reference front() const
-{
-return *cbegin();
-}
+    const_reference front() const
+    {
+        return *cbegin();
+    }
 
-/*!
+    /*!
     @brief access the last element
 
     Returns a reference to the last element in the container. For a JSON
@@ -13642,24 +13127,24 @@ return *cbegin();
 
     @since version 1.0.0
     */
-reference back()
-{
-auto tmp = end();
---tmp;
-return *tmp;
-}
+    reference back()
+    {
+        auto tmp = end();
+        --tmp;
+        return *tmp;
+    }
 
-/*!
+    /*!
     @copydoc basic_json::back()
     */
-const_reference back() const
-{
-auto tmp = cend();
---tmp;
-return *tmp;
-}
+    const_reference back() const
+    {
+        auto tmp = cend();
+        --tmp;
+        return *tmp;
+    }
 
-/*!
+    /*!
     @brief remove element given an iterator
 
     Removes the element specified by iterator @a pos. The iterator @a pos must
@@ -13705,66 +13190,66 @@ return *tmp;
 
     @since version 1.0.0
     */
-template<class IteratorType, typename std::enable_if<
-std::is_same<IteratorType, typename basic_json_t::iterator>::value or
-std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
-= 0>
-IteratorType erase(IteratorType pos)
-{
-// make sure iterator fits the current value
-if (JSON_UNLIKELY(this != pos.m_object))
-{
-JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
-}
-
-IteratorType result = end();
-
-switch (m_type)
-{
-case value_t::boolean:
-case value_t::number_float:
-case value_t::number_integer:
-case value_t::number_unsigned:
-case value_t::string:
-{
-if (JSON_UNLIKELY(not pos.m_it.primitive_iterator.is_begin()))
-{
-JSON_THROW(invalid_iterator::create(205, "iterator out of range"));
-}
-
-if (is_string())
-{
-AllocatorType<string_t> alloc;
-std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
-std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
-m_value.string = nullptr;
-}
-
-m_type = value_t::null;
-assert_invariant();
-break;
-}
-
-case value_t::object:
-{
-result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
-break;
-}
-
-case value_t::array:
-{
-result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
-break;
-}
-
-default:
-JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
-}
-
-return result;
-}
+    template<class IteratorType, typename std::enable_if<
+                 std::is_same<IteratorType, typename basic_json_t::iterator>::value or
+                 std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
+             = 0>
+    IteratorType erase(IteratorType pos)
+    {
+        // make sure iterator fits the current value
+        if (JSON_UNLIKELY(this != pos.m_object))
+        {
+            JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+        }
+
+        IteratorType result = end();
+
+        switch (m_type)
+        {
+            case value_t::boolean:
+            case value_t::number_float:
+            case value_t::number_integer:
+            case value_t::number_unsigned:
+            case value_t::string:
+            {
+                if (JSON_UNLIKELY(not pos.m_it.primitive_iterator.is_begin()))
+                {
+                    JSON_THROW(invalid_iterator::create(205, "iterator out of range"));
+                }
+
+                if (is_string())
+                {
+                    AllocatorType<string_t> alloc;
+                    std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
+                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
+                    m_value.string = nullptr;
+                }
+
+                m_type = value_t::null;
+                assert_invariant();
+                break;
+            }
+
+            case value_t::object:
+            {
+                result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
+                break;
+            }
+
+            case value_t::array:
+            {
+                result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
+                break;
+            }
+
+            default:
+                JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
+        }
+
+        return result;
+    }
 
-/*!
+    /*!
     @brief remove elements given an iterator range
 
     Removes the element specified by the range `[first; last)`. The iterator
@@ -13810,69 +13295,69 @@ return result;
 
     @since version 1.0.0
     */
-template<class IteratorType, typename std::enable_if<
-std::is_same<IteratorType, typename basic_json_t::iterator>::value or
-std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
-= 0>
-IteratorType erase(IteratorType first, IteratorType last)
-{
-// make sure iterator fits the current value
-if (JSON_UNLIKELY(this != first.m_object or this != last.m_object))
-{
-JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value"));
-}
-
-IteratorType result = end();
-
-switch (m_type)
-{
-case value_t::boolean:
-case value_t::number_float:
-case value_t::number_integer:
-case value_t::number_unsigned:
-case value_t::string:
-{
-if (JSON_LIKELY(not first.m_it.primitive_iterator.is_begin()
-or not last.m_it.primitive_iterator.is_end()))
-{
-JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
-}
-
-if (is_string())
-{
-AllocatorType<string_t> alloc;
-std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
-std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
-m_value.string = nullptr;
-}
-
-m_type = value_t::null;
-assert_invariant();
-break;
-}
-
-case value_t::object:
-{
-result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
-last.m_it.object_iterator);
-break;
-}
-
-case value_t::array:
-{
-result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
-last.m_it.array_iterator);
-break;
-}
-
-default:
-JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
-}
-
-return result;
-}
+    template<class IteratorType, typename std::enable_if<
+                 std::is_same<IteratorType, typename basic_json_t::iterator>::value or
+                 std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
+             = 0>
+    IteratorType erase(IteratorType first, IteratorType last)
+    {
+        // make sure iterator fits the current value
+        if (JSON_UNLIKELY(this != first.m_object or this != last.m_object))
+        {
+            JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value"));
+        }
+
+        IteratorType result = end();
+
+        switch (m_type)
+        {
+            case value_t::boolean:
+            case value_t::number_float:
+            case value_t::number_integer:
+            case value_t::number_unsigned:
+            case value_t::string:
+            {
+                if (JSON_LIKELY(not first.m_it.primitive_iterator.is_begin()
+                                or not last.m_it.primitive_iterator.is_end()))
+                {
+                    JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
+                }
+
+                if (is_string())
+                {
+                    AllocatorType<string_t> alloc;
+                    std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
+                    std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
+                    m_value.string = nullptr;
+                }
+
+                m_type = value_t::null;
+                assert_invariant();
+                break;
+            }
+
+            case value_t::object:
+            {
+                result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
+                                              last.m_it.object_iterator);
+                break;
+            }
+
+            case value_t::array:
+            {
+                result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
+                                             last.m_it.array_iterator);
+                break;
+            }
+
+            default:
+                JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
+        }
+
+        return result;
+    }
 
-/*!
+    /*!
     @brief remove element from a JSON object given a key
 
     Removes elements from a JSON object with the key value @a key.
@@ -13901,18 +13386,18 @@ return result;
 
     @since version 1.0.0
     */
-size_type erase(const typename object_t::key_type& key)
-{
-// this erase only works for objects
-if (JSON_LIKELY(is_object()))
-{
-return m_value.object->erase(key);
-}
+    size_type erase(const typename object_t::key_type& key)
+    {
+        // this erase only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            return m_value.object->erase(key);
+        }
 
-JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
-}
+        JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief remove element from a JSON array given an index
 
     Removes element from a JSON array at the index @a idx.
@@ -13936,35 +13421,35 @@ JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type
 
     @since version 1.0.0
     */
-void erase(const size_type idx)
-{
-// this erase only works for arrays
-if (JSON_LIKELY(is_array()))
-{
-if (JSON_UNLIKELY(idx >= size()))
-{
-JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
-}
-
-m_value.array->erase(m_value.array->begin() + static_cast<difference_type>(idx));
-}
-else
-{
-JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
-}
-}
+    void erase(const size_type idx)
+    {
+        // this erase only works for arrays
+        if (JSON_LIKELY(is_array()))
+        {
+            if (JSON_UNLIKELY(idx >= size()))
+            {
+                JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
+            }
+
+            m_value.array->erase(m_value.array->begin() + static_cast<difference_type>(idx));
+        }
+        else
+        {
+            JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
+        }
+    }
 
-/// @}
+    /// @}
 
 
-////////////
-// lookup //
-////////////
+    ////////////
+    // lookup //
+    ////////////
 
-/// @name lookup
-/// @{
+    /// @name lookup
+    /// @{
 
-/*!
+    /*!
     @brief find an element in a JSON object
 
     Finds an element in a JSON object with key equivalent to @a key. If the
@@ -13986,37 +13471,37 @@ JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type
 
     @since version 1.0.0
     */
-template<typename KeyT>
-iterator find(KeyT&& key)
-{
-auto result = end();
+    template<typename KeyT>
+    iterator find(KeyT&& key)
+    {
+        auto result = end();
 
-if (is_object())
-{
-result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
-}
+        if (is_object())
+        {
+            result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
+        }
 
-return result;
-}
+        return result;
+    }
 
-/*!
+    /*!
     @brief find an element in a JSON object
     @copydoc find(KeyT&&)
     */
-template<typename KeyT>
-const_iterator find(KeyT&& key) const
-{
-auto result = cend();
+    template<typename KeyT>
+    const_iterator find(KeyT&& key) const
+    {
+        auto result = cend();
 
-if (is_object())
-{
-result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
-}
+        if (is_object())
+        {
+            result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
+        }
 
-return result;
-}
+        return result;
+    }
 
-/*!
+    /*!
     @brief returns the number of occurrences of a key in a JSON object
 
     Returns the number of elements with key @a key. If ObjectType is the
@@ -14037,24 +13522,24 @@ return result;
 
     @since version 1.0.0
     */
-template<typename KeyT>
-size_type count(KeyT&& key) const
-{
-// return 0 for all nonobject types
-return is_object() ? m_value.object->count(std::forward<KeyT>(key)) : 0;
-}
+    template<typename KeyT>
+    size_type count(KeyT&& key) const
+    {
+        // return 0 for all nonobject types
+        return is_object() ? m_value.object->count(std::forward<KeyT>(key)) : 0;
+    }
 
-/// @}
+    /// @}
 
 
-///////////////
-// iterators //
-///////////////
+    ///////////////
+    // iterators //
+    ///////////////
 
-/// @name iterators
-/// @{
+    /// @name iterators
+    /// @{
 
-/*!
+    /*!
     @brief returns an iterator to the first element
 
     Returns an iterator to the first element.
@@ -14078,22 +13563,22 @@ return is_object() ? m_value.object->count(std::forward<KeyT>(key)) : 0;
 
     @since version 1.0.0
     */
-iterator begin() noexcept
-{
-iterator result(this);
-result.set_begin();
-return result;
-}
+    iterator begin() noexcept
+    {
+        iterator result(this);
+        result.set_begin();
+        return result;
+    }
 
-/*!
+    /*!
     @copydoc basic_json::cbegin()
     */
-const_iterator begin() const noexcept
-{
-return cbegin();
-}
+    const_iterator begin() const noexcept
+    {
+        return cbegin();
+    }
 
-/*!
+    /*!
     @brief returns a const iterator to the first element
 
     Returns a const iterator to the first element.
@@ -14118,14 +13603,14 @@ return cbegin();
 
     @since version 1.0.0
     */
-const_iterator cbegin() const noexcept
-{
-const_iterator result(this);
-result.set_begin();
-return result;
-}
+    const_iterator cbegin() const noexcept
+    {
+        const_iterator result(this);
+        result.set_begin();
+        return result;
+    }
 
-/*!
+    /*!
     @brief returns an iterator to one past the last element
 
     Returns an iterator to one past the last element.
@@ -14149,22 +13634,22 @@ return result;
 
     @since version 1.0.0
     */
-iterator end() noexcept
-{
-iterator result(this);
-result.set_end();
-return result;
-}
+    iterator end() noexcept
+    {
+        iterator result(this);
+        result.set_end();
+        return result;
+    }
 
-/*!
+    /*!
     @copydoc basic_json::cend()
     */
-const_iterator end() const noexcept
-{
-return cend();
-}
+    const_iterator end() const noexcept
+    {
+        return cend();
+    }
 
-/*!
+    /*!
     @brief returns a const iterator to one past the last element
 
     Returns a const iterator to one past the last element.
@@ -14189,14 +13674,14 @@ return cend();
 
     @since version 1.0.0
     */
-const_iterator cend() const noexcept
-{
-const_iterator result(this);
-result.set_end();
-return result;
-}
+    const_iterator cend() const noexcept
+    {
+        const_iterator result(this);
+        result.set_end();
+        return result;
+    }
 
-/*!
+    /*!
     @brief returns an iterator to the reverse-beginning
 
     Returns an iterator to the reverse-beginning; that is, the last element.
@@ -14219,20 +13704,20 @@ return result;
 
     @since version 1.0.0
     */
-reverse_iterator rbegin() noexcept
-{
-return reverse_iterator(end());
-}
+    reverse_iterator rbegin() noexcept
+    {
+        return reverse_iterator(end());
+    }
 
-/*!
+    /*!
     @copydoc basic_json::crbegin()
     */
-const_reverse_iterator rbegin() const noexcept
-{
-return crbegin();
-}
+    const_reverse_iterator rbegin() const noexcept
+    {
+        return crbegin();
+    }
 
-/*!
+    /*!
     @brief returns an iterator to the reverse-end
 
     Returns an iterator to the reverse-end; that is, one before the first
@@ -14256,20 +13741,20 @@ return crbegin();
 
     @since version 1.0.0
     */
-reverse_iterator rend() noexcept
-{
-return reverse_iterator(begin());
-}
+    reverse_iterator rend() noexcept
+    {
+        return reverse_iterator(begin());
+    }
 
-/*!
+    /*!
     @copydoc basic_json::crend()
     */
-const_reverse_iterator rend() const noexcept
-{
-return crend();
-}
+    const_reverse_iterator rend() const noexcept
+    {
+        return crend();
+    }
 
-/*!
+    /*!
     @brief returns a const reverse iterator to the last element
 
     Returns a const iterator to the reverse-beginning; that is, the last
@@ -14293,12 +13778,12 @@ return crend();
 
     @since version 1.0.0
     */
-const_reverse_iterator crbegin() const noexcept
-{
-return const_reverse_iterator(cend());
-}
+    const_reverse_iterator crbegin() const noexcept
+    {
+        return const_reverse_iterator(cend());
+    }
 
-/*!
+    /*!
     @brief returns a const reverse iterator to one before the first
 
     Returns a const reverse iterator to the reverse-end; that is, one before
@@ -14322,13 +13807,13 @@ return const_reverse_iterator(cend());
 
     @since version 1.0.0
     */
-const_reverse_iterator crend() const noexcept
-{
-return const_reverse_iterator(cbegin());
-}
+    const_reverse_iterator crend() const noexcept
+    {
+        return const_reverse_iterator(cbegin());
+    }
 
-public:
-/*!
+  public:
+    /*!
     @brief wrapper to access iterator member functions in range-based for
 
     This function allows to access @ref iterator::key() and @ref
@@ -14385,22 +13870,22 @@ public:
                 future 4.0.0 of the library. Please use @ref items() instead;
                 that is, replace `json::iterator_wrapper(j)` with `j.items()`.
     */
-JSON_DEPRECATED
-static iteration_proxy<iterator> iterator_wrapper(reference ref) noexcept
-{
-return ref.items();
-}
+    JSON_DEPRECATED
+    static iteration_proxy<iterator> iterator_wrapper(reference ref) noexcept
+    {
+        return ref.items();
+    }
 
-/*!
+    /*!
     @copydoc iterator_wrapper(reference)
     */
-JSON_DEPRECATED
-static iteration_proxy<const_iterator> iterator_wrapper(const_reference ref) noexcept
-{
-return ref.items();
-}
+    JSON_DEPRECATED
+    static iteration_proxy<const_iterator> iterator_wrapper(const_reference ref) noexcept
+    {
+        return ref.items();
+    }
 
-/*!
+    /*!
     @brief helper to access iterator member functions in range-based for
 
     This function allows to access @ref iterator::key() and @ref
@@ -14452,30 +13937,30 @@ return ref.items();
 
     @since version 3.x.x.
     */
-iteration_proxy<iterator> items() noexcept
-{
-return iteration_proxy<iterator>(*this);
-}
+    iteration_proxy<iterator> items() noexcept
+    {
+        return iteration_proxy<iterator>(*this);
+    }
 
-/*!
+    /*!
     @copydoc items()
     */
-iteration_proxy<const_iterator> items() const noexcept
-{
-return iteration_proxy<const_iterator>(*this);
-}
+    iteration_proxy<const_iterator> items() const noexcept
+    {
+        return iteration_proxy<const_iterator>(*this);
+    }
 
-/// @}
+    /// @}
 
 
-//////////////
-// capacity //
-//////////////
+    //////////////
+    // capacity //
+    //////////////
 
-/// @name capacity
-/// @{
+    /// @name capacity
+    /// @{
 
-/*!
+    /*!
     @brief checks whether the container is empty.
 
     Checks if a JSON value has no elements (i.e. whether its @ref size is `0`).
@@ -14516,37 +14001,37 @@ return iteration_proxy<const_iterator>(*this);
 
     @since version 1.0.0
     */
-bool empty() const noexcept
-{
-switch (m_type)
-{
-case value_t::null:
-{
-// null values are empty
-return true;
-}
-
-case value_t::array:
-{
-// delegate call to array_t::empty()
-return m_value.array->empty();
-}
-
-case value_t::object:
-{
-// delegate call to object_t::empty()
-return m_value.object->empty();
-}
-
-default:
-{
-// all other types are nonempty
-return false;
-}
-}
-}
+    bool empty() const noexcept
+    {
+        switch (m_type)
+        {
+            case value_t::null:
+            {
+                // null values are empty
+                return true;
+            }
+
+            case value_t::array:
+            {
+                // delegate call to array_t::empty()
+                return m_value.array->empty();
+            }
+
+            case value_t::object:
+            {
+                // delegate call to object_t::empty()
+                return m_value.object->empty();
+            }
+
+            default:
+            {
+                // all other types are nonempty
+                return false;
+            }
+        }
+    }
 
-/*!
+    /*!
     @brief returns the number of elements
 
     Returns the number of elements in a JSON value.
@@ -14588,37 +14073,37 @@ return false;
 
     @since version 1.0.0
     */
-size_type size() const noexcept
-{
-switch (m_type)
-{
-case value_t::null:
-{
-// null values are empty
-return 0;
-}
-
-case value_t::array:
-{
-// delegate call to array_t::size()
-return m_value.array->size();
-}
-
-case value_t::object:
-{
-// delegate call to object_t::size()
-return m_value.object->size();
-}
-
-default:
-{
-// all other types have size 1
-return 1;
-}
-}
-}
+    size_type size() const noexcept
+    {
+        switch (m_type)
+        {
+            case value_t::null:
+            {
+                // null values are empty
+                return 0;
+            }
+
+            case value_t::array:
+            {
+                // delegate call to array_t::size()
+                return m_value.array->size();
+            }
+
+            case value_t::object:
+            {
+                // delegate call to object_t::size()
+                return m_value.object->size();
+            }
+
+            default:
+            {
+                // all other types have size 1
+                return 1;
+            }
+        }
+    }
 
-/*!
+    /*!
     @brief returns the maximum possible number of elements
 
     Returns the maximum number of elements a JSON value is able to hold due to
@@ -14658,41 +14143,41 @@ return 1;
 
     @since version 1.0.0
     */
-size_type max_size() const noexcept
-{
-switch (m_type)
-{
-case value_t::array:
-{
-// delegate call to array_t::max_size()
-return m_value.array->max_size();
-}
-
-case value_t::object:
-{
-// delegate call to object_t::max_size()
-return m_value.object->max_size();
-}
-
-default:
-{
-// all other types have max_size() == size()
-return size();
-}
-}
-}
+    size_type max_size() const noexcept
+    {
+        switch (m_type)
+        {
+            case value_t::array:
+            {
+                // delegate call to array_t::max_size()
+                return m_value.array->max_size();
+            }
+
+            case value_t::object:
+            {
+                // delegate call to object_t::max_size()
+                return m_value.object->max_size();
+            }
+
+            default:
+            {
+                // all other types have max_size() == size()
+                return size();
+            }
+        }
+    }
 
-/// @}
+    /// @}
 
 
-///////////////
-// modifiers //
-///////////////
+    ///////////////
+    // modifiers //
+    ///////////////
 
-/// @name modifiers
-/// @{
+    /// @name modifiers
+    /// @{
 
-/*!
+    /*!
     @brief clears the contents
 
     Clears the content of a JSON value and resets it to the default value as
@@ -14718,68 +14203,68 @@ return size();
 
     @complexity Linear in the size of the JSON value.
 
-    @iterators All iterators, pointers and references related to this container
-               are invalidated.
-
-    @exceptionsafety No-throw guarantee: this function never throws exceptions.
-
-    @sa @ref basic_json(value_t) -- constructor that creates an object with the
-        same value than calling `clear()`
-
-    @since version 1.0.0
-    */
-void clear() noexcept
-{
-switch (m_type)
-{
-case value_t::number_integer:
-{
-m_value.number_integer = 0;
-break;
-}
-
-case value_t::number_unsigned:
-{
-m_value.number_unsigned = 0;
-break;
-}
-
-case value_t::number_float:
-{
-m_value.number_float = 0.0;
-break;
-}
-
-case value_t::boolean:
-{
-m_value.boolean = false;
-break;
-}
-
-case value_t::string:
-{
-m_value.string->clear();
-break;
-}
+    @iterators All iterators, pointers and references related to this container
+               are invalidated.
 
-case value_t::array:
-{
-m_value.array->clear();
-break;
-}
+    @exceptionsafety No-throw guarantee: this function never throws exceptions.
 
-case value_t::object:
-{
-m_value.object->clear();
-break;
-}
+    @sa @ref basic_json(value_t) -- constructor that creates an object with the
+        same value than calling `clear()`
 
-default:
-break;
-}
-}
+    @since version 1.0.0
+    */
+    void clear() noexcept
+    {
+        switch (m_type)
+        {
+            case value_t::number_integer:
+            {
+                m_value.number_integer = 0;
+                break;
+            }
+
+            case value_t::number_unsigned:
+            {
+                m_value.number_unsigned = 0;
+                break;
+            }
+
+            case value_t::number_float:
+            {
+                m_value.number_float = 0.0;
+                break;
+            }
+
+            case value_t::boolean:
+            {
+                m_value.boolean = false;
+                break;
+            }
+
+            case value_t::string:
+            {
+                m_value.string->clear();
+                break;
+            }
+
+            case value_t::array:
+            {
+                m_value.array->clear();
+                break;
+            }
+
+            case value_t::object:
+            {
+                m_value.object->clear();
+                break;
+            }
+
+            default:
+                break;
+        }
+    }
 
-/*!
+    /*!
     @brief add an object to an array
 
     Appends the given element @a val to the end of the JSON value. If the
@@ -14799,73 +14284,73 @@ break;
 
     @since version 1.0.0
     */
-void push_back(basic_json&& val)
-{
-// push_back only works for null objects or arrays
-if (JSON_UNLIKELY(not(is_null() or is_array())))
-{
-JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
-}
-
-// transform null object into an array
-if (is_null())
-{
-m_type = value_t::array;
-m_value = value_t::array;
-assert_invariant();
-}
-
-// add element to array (move semantics)
-m_value.array->push_back(std::move(val));
-// invalidate object
-val.m_type = value_t::null;
-}
+    void push_back(basic_json&& val)
+    {
+        // push_back only works for null objects or arrays
+        if (JSON_UNLIKELY(not(is_null() or is_array())))
+        {
+            JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
+        }
+
+        // transform null object into an array
+        if (is_null())
+        {
+            m_type = value_t::array;
+            m_value = value_t::array;
+            assert_invariant();
+        }
+
+        // add element to array (move semantics)
+        m_value.array->push_back(std::move(val));
+        // invalidate object
+        val.m_type = value_t::null;
+    }
 
-/*!
+    /*!
     @brief add an object to an array
     @copydoc push_back(basic_json&&)
     */
-reference operator +=(basic_json&& val)
-{
-push_back(std::move(val));
-return *this;
-}
+    reference operator+=(basic_json&& val)
+    {
+        push_back(std::move(val));
+        return *this;
+    }
 
-/*!
+    /*!
     @brief add an object to an array
     @copydoc push_back(basic_json&&)
     */
-void push_back(const basic_json& val)
-{
-// push_back only works for null objects or arrays
-if (JSON_UNLIKELY(not(is_null() or is_array())))
-{
-JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
-}
-
-// transform null object into an array
-if (is_null())
-{
-m_type = value_t::array;
-m_value = value_t::array;
-assert_invariant();
-}
-
-// add element to array
-m_value.array->push_back(val);
-}
+    void push_back(const basic_json& val)
+    {
+        // push_back only works for null objects or arrays
+        if (JSON_UNLIKELY(not(is_null() or is_array())))
+        {
+            JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
+        }
+
+        // transform null object into an array
+        if (is_null())
+        {
+            m_type = value_t::array;
+            m_value = value_t::array;
+            assert_invariant();
+        }
+
+        // add element to array
+        m_value.array->push_back(val);
+    }
 
-/*!
+    /*!
     @brief add an object to an array
     @copydoc push_back(basic_json&&)
     */
-reference operator +=(const basic_json& val)
-{
-push_back(val);
-return *this;
-}
+    reference operator+=(const basic_json& val)
+    {
+        push_back(val);
+        return *this;
+    }
 
-/*!
+    /*!
     @brief add an object to an object
 
     Inserts the given element @a val to the JSON object. If the function is
@@ -14885,37 +14370,37 @@ return *this;
 
     @since version 1.0.0
     */
-void push_back(const typename object_t::value_type& val)
-{
-// push_back only works for null objects or objects
-if (JSON_UNLIKELY(not(is_null() or is_object())))
-{
-JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
-}
-
-// transform null object into an object
-if (is_null())
-{
-m_type = value_t::object;
-m_value = value_t::object;
-assert_invariant();
-}
-
-// add element to array
-m_value.object->insert(val);
-}
+    void push_back(const typename object_t::value_type& val)
+    {
+        // push_back only works for null objects or objects
+        if (JSON_UNLIKELY(not(is_null() or is_object())))
+        {
+            JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
+        }
+
+        // transform null object into an object
+        if (is_null())
+        {
+            m_type = value_t::object;
+            m_value = value_t::object;
+            assert_invariant();
+        }
+
+        // add element to array
+        m_value.object->insert(val);
+    }
 
-/*!
+    /*!
     @brief add an object to an object
     @copydoc push_back(const typename object_t::value_type&)
     */
-reference operator +=(const typename object_t::value_type& val)
-{
-push_back(val);
-return *this;
-}
+    reference operator+=(const typename object_t::value_type& val)
+    {
+        push_back(val);
+        return *this;
+    }
 
-/*!
+    /*!
     @brief add an object to an object
 
     This function allows to use `push_back` with an initializer list. In case
@@ -14940,31 +14425,31 @@ return *this;
     @liveexample{The example shows how initializer lists are treated as
     objects when possible.,push_back__initializer_list}
     */
-void push_back(initializer_list_t init)
-{
-if (is_object() and init.size() == 2 and (*init.begin())->is_string())
-{
-basic_json&& key = init.begin()->moved_or_copied();
-push_back(typename object_t::value_type(
-std::move(key.get_ref<string_t&>()), (init.begin() + 1)->moved_or_copied()));
-}
-else
-{
-push_back(basic_json(init));
-}
-}
+    void push_back(initializer_list_t init)
+    {
+        if (is_object() and init.size() == 2 and (*init.begin())->is_string())
+        {
+            basic_json&& key = init.begin()->moved_or_copied();
+            push_back(typename object_t::value_type(
+                          std::move(key.get_ref<string_t&>()), (init.begin() + 1)->moved_or_copied()));
+        }
+        else
+        {
+            push_back(basic_json(init));
+        }
+    }
 
-/*!
+    /*!
     @brief add an object to an object
     @copydoc push_back(initializer_list_t)
     */
-reference operator +=(initializer_list_t init)
-{
-push_back(init);
-return *this;
-}
+    reference operator+=(initializer_list_t init)
+    {
+        push_back(init);
+        return *this;
+    }
 
-/*!
+    /*!
     @brief add an object to an array
 
     Creates a JSON value from the passed parameters @a args to the end of the
@@ -14985,28 +14470,28 @@ return *this;
 
     @since version 2.0.8
     */
-template<class... Args>
-void emplace_back(Args&& ... args)
-{
-// emplace_back only works for null objects or arrays
-if (JSON_UNLIKELY(not(is_null() or is_array())))
-{
-JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name())));
-}
-
-// transform null object into an array
-if (is_null())
-{
-m_type = value_t::array;
-m_value = value_t::array;
-assert_invariant();
-}
-
-// add element to array (perfect forwarding)
-m_value.array->emplace_back(std::forward<Args>(args)...);
-}
+    template<class... Args>
+    void emplace_back(Args&& ... args)
+    {
+        // emplace_back only works for null objects or arrays
+        if (JSON_UNLIKELY(not(is_null() or is_array())))
+        {
+            JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name())));
+        }
+
+        // transform null object into an array
+        if (is_null())
+        {
+            m_type = value_t::array;
+            m_value = value_t::array;
+            assert_invariant();
+        }
+
+        // add element to array (perfect forwarding)
+        m_value.array->emplace_back(std::forward<Args>(args)...);
+    }
 
-/*!
+    /*!
     @brief add an object to an object if key does not exist
 
     Inserts a new element into a JSON object constructed in-place with the
@@ -15033,34 +14518,34 @@ m_value.array->emplace_back(std::forward<Args>(args)...);
 
     @since version 2.0.8
     */
-template<class... Args>
-std::pair<iterator, bool> emplace(Args&& ... args)
-{
-// emplace only works for null objects or arrays
-if (JSON_UNLIKELY(not(is_null() or is_object())))
-{
-JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name())));
-}
-
-// transform null object into an object
-if (is_null())
-{
-m_type = value_t::object;
-m_value = value_t::object;
-assert_invariant();
-}
-
-// add element to array (perfect forwarding)
-auto res = m_value.object->emplace(std::forward<Args>(args)...);
-// create result iterator and set iterator to the result of emplace
-auto it = begin();
-it.m_it.object_iterator = res.first;
-
-// return pair of iterator and boolean
-return { it, res.second };
-}
+    template<class... Args>
+    std::pair<iterator, bool> emplace(Args&& ... args)
+    {
+        // emplace only works for null objects or arrays
+        if (JSON_UNLIKELY(not(is_null() or is_object())))
+        {
+            JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name())));
+        }
+
+        // transform null object into an object
+        if (is_null())
+        {
+            m_type = value_t::object;
+            m_value = value_t::object;
+            assert_invariant();
+        }
+
+        // add element to array (perfect forwarding)
+        auto res = m_value.object->emplace(std::forward<Args>(args)...);
+        // create result iterator and set iterator to the result of emplace
+        auto it = begin();
+        it.m_it.object_iterator = res.first;
+
+        // return pair of iterator and boolean
+        return {it, res.second};
+    }
 
-/*!
+    /*!
     @brief inserts element
 
     Inserts element @a val before iterator @a pos.
@@ -15082,36 +14567,36 @@ return { it, res.second };
 
     @since version 1.0.0
     */
-iterator insert(const_iterator pos, const basic_json& val)
-{
-// insert only works for arrays
-if (JSON_LIKELY(is_array()))
-{
-// check if iterator pos fits to this JSON value
-if (JSON_UNLIKELY(pos.m_object != this))
-{
-JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
-}
-
-// insert to array and return iterator
-iterator result(this);
-result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, val);
-return result;
-}
-
-JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
-}
+    iterator insert(const_iterator pos, const basic_json& val)
+    {
+        // insert only works for arrays
+        if (JSON_LIKELY(is_array()))
+        {
+            // check if iterator pos fits to this JSON value
+            if (JSON_UNLIKELY(pos.m_object != this))
+            {
+                JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+            }
+
+            // insert to array and return iterator
+            iterator result(this);
+            result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, val);
+            return result;
+        }
+
+        JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief inserts element
     @copydoc insert(const_iterator, const basic_json&)
     */
-iterator insert(const_iterator pos, basic_json&& val)
-{
-return insert(pos, val);
-}
+    iterator insert(const_iterator pos, basic_json&& val)
+    {
+        return insert(pos, val);
+    }
 
-/*!
+    /*!
     @brief inserts elements
 
     Inserts @a cnt copies of @a val before iterator @a pos.
@@ -15135,27 +14620,27 @@ return insert(pos, val);
 
     @since version 1.0.0
     */
-iterator insert(const_iterator pos, size_type cnt, const basic_json& val)
-{
-// insert only works for arrays
-if (JSON_LIKELY(is_array()))
-{
-// check if iterator pos fits to this JSON value
-if (JSON_UNLIKELY(pos.m_object != this))
-{
-JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
-}
-
-// insert to array and return iterator
-iterator result(this);
-result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
-return result;
-}
-
-JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
-}
+    iterator insert(const_iterator pos, size_type cnt, const basic_json& val)
+    {
+        // insert only works for arrays
+        if (JSON_LIKELY(is_array()))
+        {
+            // check if iterator pos fits to this JSON value
+            if (JSON_UNLIKELY(pos.m_object != this))
+            {
+                JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+            }
+
+            // insert to array and return iterator
+            iterator result(this);
+            result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
+            return result;
+        }
+
+        JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+    }
 
-/*!
+    /*!
     @brief inserts elements
 
     Inserts elements from range `[first, last)` before iterator @a pos.
@@ -15185,41 +14670,41 @@ JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(typ
 
     @since version 1.0.0
     */
-iterator insert(const_iterator pos, const_iterator first, const_iterator last)
-{
-// insert only works for arrays
-if (JSON_UNLIKELY(not is_array()))
-{
-JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
-}
-
-// check if iterator pos fits to this JSON value
-if (JSON_UNLIKELY(pos.m_object != this))
-{
-JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
-}
-
-// check if range iterators belong to the same JSON object
-if (JSON_UNLIKELY(first.m_object != last.m_object))
-{
-JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
-}
-
-if (JSON_UNLIKELY(first.m_object == this))
-{
-JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container"));
-}
-
-// insert to array and return iterator
-iterator result(this);
-result.m_it.array_iterator = m_value.array->insert(
-pos.m_it.array_iterator,
-first.m_it.array_iterator,
-last.m_it.array_iterator);
-return result;
-}
+    iterator insert(const_iterator pos, const_iterator first, const_iterator last)
+    {
+        // insert only works for arrays
+        if (JSON_UNLIKELY(not is_array()))
+        {
+            JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+        }
+
+        // check if iterator pos fits to this JSON value
+        if (JSON_UNLIKELY(pos.m_object != this))
+        {
+            JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+        }
+
+        // check if range iterators belong to the same JSON object
+        if (JSON_UNLIKELY(first.m_object != last.m_object))
+        {
+            JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
+        }
+
+        if (JSON_UNLIKELY(first.m_object == this))
+        {
+            JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container"));
+        }
+
+        // insert to array and return iterator
+        iterator result(this);
+        result.m_it.array_iterator = m_value.array->insert(
+                                         pos.m_it.array_iterator,
+                                         first.m_it.array_iterator,
+                                         last.m_it.array_iterator);
+        return result;
+    }
 
-/*!
+    /*!
     @brief inserts elements
 
     Inserts elements from initializer list @a ilist before iterator @a pos.
@@ -15243,27 +14728,27 @@ return result;
 
     @since version 1.0.0
     */
-iterator insert(const_iterator pos, initializer_list_t ilist)
-{
-// insert only works for arrays
-if (JSON_UNLIKELY(not is_array()))
-{
-JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
-}
-
-// check if iterator pos fits to this JSON value
-if (JSON_UNLIKELY(pos.m_object != this))
-{
-JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
-}
-
-// insert to array and return iterator
-iterator result(this);
-result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist.begin(), ilist.end());
-return result;
-}
+    iterator insert(const_iterator pos, initializer_list_t ilist)
+    {
+        // insert only works for arrays
+        if (JSON_UNLIKELY(not is_array()))
+        {
+            JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+        }
+
+        // check if iterator pos fits to this JSON value
+        if (JSON_UNLIKELY(pos.m_object != this))
+        {
+            JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+        }
+
+        // insert to array and return iterator
+        iterator result(this);
+        result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist.begin(), ilist.end());
+        return result;
+    }
 
-/*!
+    /*!
     @brief inserts elements
 
     Inserts elements from range `[first, last)`.
@@ -15286,30 +14771,30 @@ return result;
 
     @since version 3.0.0
     */
-void insert(const_iterator first, const_iterator last)
-{
-// insert only works for objects
-if (JSON_UNLIKELY(not is_object()))
-{
-JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
-}
-
-// check if range iterators belong to the same JSON object
-if (JSON_UNLIKELY(first.m_object != last.m_object))
-{
-JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
-}
-
-// passed iterators must belong to objects
-if (JSON_UNLIKELY(not first.m_object->is_object()))
-{
-JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
-}
-
-m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
-}
+    void insert(const_iterator first, const_iterator last)
+    {
+        // insert only works for objects
+        if (JSON_UNLIKELY(not is_object()))
+        {
+            JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+        }
+
+        // check if range iterators belong to the same JSON object
+        if (JSON_UNLIKELY(first.m_object != last.m_object))
+        {
+            JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
+        }
+
+        // passed iterators must belong to objects
+        if (JSON_UNLIKELY(not first.m_object->is_object()))
+        {
+            JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
+        }
+
+        m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
+    }
 
-/*!
+    /*!
     @brief updates a JSON object from another object, overwriting existing keys
 
     Inserts all values from JSON object @a j and overwrites existing keys.
@@ -15328,32 +14813,32 @@ m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
 
     @since version 3.0.0
     */
-void update(const_reference j)
-{
-// implicitly convert null value to an empty object
-if (is_null())
-{
-m_type = value_t::object;
-m_value.object = create<object_t>();
-assert_invariant();
-}
-
-if (JSON_UNLIKELY(not is_object()))
-{
-JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
-}
-if (JSON_UNLIKELY(not j.is_object()))
-{
-JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name())));
-}
-
-for (auto it = j.cbegin(); it != j.cend(); ++it)
-{
-m_value.object->operator [](it.key()) = it.value();
-}
-}
+    void update(const_reference j)
+    {
+        // implicitly convert null value to an empty object
+        if (is_null())
+        {
+            m_type = value_t::object;
+            m_value.object = create<object_t>();
+            assert_invariant();
+        }
+
+        if (JSON_UNLIKELY(not is_object()))
+        {
+            JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
+        }
+        if (JSON_UNLIKELY(not j.is_object()))
+        {
+            JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name())));
+        }
+
+        for (auto it = j.cbegin(); it != j.cend(); ++it)
+        {
+            m_value.object->operator[](it.key()) = it.value();
+        }
+    }
 
-/*!
+    /*!
     @brief updates a JSON object from another object, overwriting existing keys
 
     Inserts all values from from range `[first, last)` and overwrites existing
@@ -15379,41 +14864,41 @@ m_value.object->operator [](it.key()) = it.value();
 
     @since version 3.0.0
     */
-void update(const_iterator first, const_iterator last)
-{
-// implicitly convert null value to an empty object
-if (is_null())
-{
-m_type = value_t::object;
-m_value.object = create<object_t>();
-assert_invariant();
-}
-
-if (JSON_UNLIKELY(not is_object()))
-{
-JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
-}
-
-// check if range iterators belong to the same JSON object
-if (JSON_UNLIKELY(first.m_object != last.m_object))
-{
-JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
-}
-
-// passed iterators must belong to objects
-if (JSON_UNLIKELY(not first.m_object->is_object()
-or not last.m_object->is_object()))
-{
-JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
-}
-
-for (auto it = first; it != last; ++it)
-{
-m_value.object->operator [](it.key()) = it.value();
-}
-}
+    void update(const_iterator first, const_iterator last)
+    {
+        // implicitly convert null value to an empty object
+        if (is_null())
+        {
+            m_type = value_t::object;
+            m_value.object = create<object_t>();
+            assert_invariant();
+        }
+
+        if (JSON_UNLIKELY(not is_object()))
+        {
+            JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
+        }
+
+        // check if range iterators belong to the same JSON object
+        if (JSON_UNLIKELY(first.m_object != last.m_object))
+        {
+            JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
+        }
+
+        // passed iterators must belong to objects
+        if (JSON_UNLIKELY(not first.m_object->is_object()
+                          or not last.m_object->is_object()))
+        {
+            JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
+        }
+
+        for (auto it = first; it != last; ++it)
+        {
+            m_value.object->operator[](it.key()) = it.value();
+        }
+    }
 
-/*!
+    /*!
     @brief exchanges the values
 
     Exchanges the contents of the JSON value with those of @a other. Does not
@@ -15430,19 +14915,19 @@ m_value.object->operator [](it.key()) = it.value();
 
     @since version 1.0.0
     */
-void swap(reference other) noexcept(
-std::is_nothrow_move_constructible<value_t>::value and
-std::is_nothrow_move_assignable<value_t>::value and
-std::is_nothrow_move_constructible<json_value>::value and
-std::is_nothrow_move_assignable<json_value>::value
-)
-{
-std::swap(m_type, other.m_type);
-std::swap(m_value, other.m_value);
-assert_invariant();
-}
+    void swap(reference other) noexcept (
+        std::is_nothrow_move_constructible<value_t>::value and
+        std::is_nothrow_move_assignable<value_t>::value and
+        std::is_nothrow_move_constructible<json_value>::value and
+        std::is_nothrow_move_assignable<json_value>::value
+    )
+    {
+        std::swap(m_type, other.m_type);
+        std::swap(m_value, other.m_value);
+        assert_invariant();
+    }
 
-/*!
+    /*!
     @brief exchanges the values
 
     Exchanges the contents of a JSON array with those of @a other. Does not
@@ -15462,20 +14947,20 @@ assert_invariant();
 
     @since version 1.0.0
     */
-void swap(array_t& other)
-{
-// swap only works for arrays
-if (JSON_LIKELY(is_array()))
-{
-std::swap(*(m_value.array), other);
-}
-else
-{
-JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
-}
-}
+    void swap(array_t& other)
+    {
+        // swap only works for arrays
+        if (JSON_LIKELY(is_array()))
+        {
+            std::swap(*(m_value.array), other);
+        }
+        else
+        {
+            JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
+        }
+    }
 
-/*!
+    /*!
     @brief exchanges the values
 
     Exchanges the contents of a JSON object with those of @a other. Does not
@@ -15495,20 +14980,20 @@ JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_
 
     @since version 1.0.0
     */
-void swap(object_t& other)
-{
-// swap only works for objects
-if (JSON_LIKELY(is_object()))
-{
-std::swap(*(m_value.object), other);
-}
-else
-{
-JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
-}
-}
+    void swap(object_t& other)
+    {
+        // swap only works for objects
+        if (JSON_LIKELY(is_object()))
+        {
+            std::swap(*(m_value.object), other);
+        }
+        else
+        {
+            JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
+        }
+    }
 
-/*!
+    /*!
     @brief exchanges the values
 
     Exchanges the contents of a JSON string with those of @a other. Does not
@@ -15528,30 +15013,30 @@ JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_
 
     @since version 1.0.0
     */
-void swap(string_t& other)
-{
-// swap only works for strings
-if (JSON_LIKELY(is_string()))
-{
-std::swap(*(m_value.string), other);
-}
-else
-{
-JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
-}
-}
+    void swap(string_t& other)
+    {
+        // swap only works for strings
+        if (JSON_LIKELY(is_string()))
+        {
+            std::swap(*(m_value.string), other);
+        }
+        else
+        {
+            JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
+        }
+    }
 
-/// @}
+    /// @}
 
-public:
-//////////////////////////////////////////
-// lexicographical comparison operators //
-//////////////////////////////////////////
+  public:
+    //////////////////////////////////////////
+    // lexicographical comparison operators //
+    //////////////////////////////////////////
 
-/// @name lexicographical comparison operators
-/// @{
+    /// @name lexicographical comparison operators
+    /// @{
 
-/*!
+    /*!
     @brief comparison: equal
 
     Compares two JSON values for equality according to the following rules:
@@ -15579,105 +15064,105 @@ public:
 
     @param[in] lhs  first JSON value to consider
     @param[in] rhs  second JSON value to consider
-    @return whether the values @a lhs and @a rhs are equal
-
-    @exceptionsafety No-throw guarantee: this function never throws exceptions.
-
-    @complexity Linear.
-
-    @liveexample{The example demonstrates comparing several JSON
-    types.,operator__equal}
-
-    @since version 1.0.0
-    */
-friend bool operator ==(const_reference lhs, const_reference rhs) noexcept
-{
-const auto lhs_type = lhs.type();
-const auto rhs_type = rhs.type();
-
-if (lhs_type == rhs_type)
-{
-switch (lhs_type)
-{
-case value_t::array:
-return (*lhs.m_value.array == *rhs.m_value.array);
-
-case value_t::object:
-return (*lhs.m_value.object == *rhs.m_value.object);
-
-case value_t::null:
-return true;
-
-case value_t::string:
-return (*lhs.m_value.string == *rhs.m_value.string);
-
-case value_t::boolean:
-return (lhs.m_value.boolean == rhs.m_value.boolean);
-
-case value_t::number_integer:
-return (lhs.m_value.number_integer == rhs.m_value.number_integer);
+    @return whether the values @a lhs and @a rhs are equal
 
-case value_t::number_unsigned:
-return (lhs.m_value.number_unsigned == rhs.m_value.number_unsigned);
+    @exceptionsafety No-throw guarantee: this function never throws exceptions.
 
-case value_t::number_float:
-return (lhs.m_value.number_float == rhs.m_value.number_float);
+    @complexity Linear.
 
-default:
-return false;
-}
-}
-else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
-{
-return (static_cast<number_float_t>(lhs.m_value.number_integer) == rhs.m_value.number_float);
-}
-else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
-{
-return (lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_integer));
-}
-else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
-{
-return (static_cast<number_float_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_float);
-}
-else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
-{
-return (lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_unsigned));
-}
-else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
-{
-return (static_cast<number_integer_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer);
-}
-else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
-{
-return (lhs.m_value.number_integer == static_cast<number_integer_t>(rhs.m_value.number_unsigned));
-}
+    @liveexample{The example demonstrates comparing several JSON
+    types.,operator__equal}
 
-return false;
-}
+    @since version 1.0.0
+    */
+    friend bool operator==(const_reference lhs, const_reference rhs) noexcept
+    {
+        const auto lhs_type = lhs.type();
+        const auto rhs_type = rhs.type();
+
+        if (lhs_type == rhs_type)
+        {
+            switch (lhs_type)
+            {
+                case value_t::array:
+                    return (*lhs.m_value.array == *rhs.m_value.array);
+
+                case value_t::object:
+                    return (*lhs.m_value.object == *rhs.m_value.object);
+
+                case value_t::null:
+                    return true;
+
+                case value_t::string:
+                    return (*lhs.m_value.string == *rhs.m_value.string);
+
+                case value_t::boolean:
+                    return (lhs.m_value.boolean == rhs.m_value.boolean);
+
+                case value_t::number_integer:
+                    return (lhs.m_value.number_integer == rhs.m_value.number_integer);
+
+                case value_t::number_unsigned:
+                    return (lhs.m_value.number_unsigned == rhs.m_value.number_unsigned);
+
+                case value_t::number_float:
+                    return (lhs.m_value.number_float == rhs.m_value.number_float);
+
+                default:
+                    return false;
+            }
+        }
+        else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
+        {
+            return (static_cast<number_float_t>(lhs.m_value.number_integer) == rhs.m_value.number_float);
+        }
+        else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
+        {
+            return (lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_integer));
+        }
+        else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
+        {
+            return (static_cast<number_float_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_float);
+        }
+        else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
+        {
+            return (lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_unsigned));
+        }
+        else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
+        {
+            return (static_cast<number_integer_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer);
+        }
+        else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
+        {
+            return (lhs.m_value.number_integer == static_cast<number_integer_t>(rhs.m_value.number_unsigned));
+        }
+
+        return false;
+    }
 
-/*!
+    /*!
     @brief comparison: equal
     @copydoc operator==(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator ==(const_reference lhs, const ScalarType rhs) noexcept
-{
-return (lhs == basic_json(rhs));
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
+    {
+        return (lhs == basic_json(rhs));
+    }
 
-/*!
+    /*!
     @brief comparison: equal
     @copydoc operator==(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator ==(const ScalarType lhs, const_reference rhs) noexcept
-{
-return (basic_json(lhs) == rhs);
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
+    {
+        return (basic_json(lhs) == rhs);
+    }
 
-/*!
+    /*!
     @brief comparison: not equal
 
     Compares two JSON values for inequality by calculating `not (lhs == rhs)`.
@@ -15695,34 +15180,34 @@ return (basic_json(lhs) == rhs);
 
     @since version 1.0.0
     */
-friend bool operator !=(const_reference lhs, const_reference rhs) noexcept
-{
-return not (lhs == rhs);
-}
+    friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
+    {
+        return not (lhs == rhs);
+    }
 
-/*!
+    /*!
     @brief comparison: not equal
     @copydoc operator!=(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator !=(const_reference lhs, const ScalarType rhs) noexcept
-{
-return (lhs != basic_json(rhs));
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
+    {
+        return (lhs != basic_json(rhs));
+    }
 
-/*!
+    /*!
     @brief comparison: not equal
     @copydoc operator!=(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator !=(const ScalarType lhs, const_reference rhs) noexcept
-{
-return (basic_json(lhs) != rhs);
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
+    {
+        return (basic_json(lhs) != rhs);
+    }
 
-/*!
+    /*!
     @brief comparison: less than
 
     Compares whether one JSON value @a lhs is less than another JSON value @a
@@ -15748,97 +15233,97 @@ return (basic_json(lhs) != rhs);
 
     @since version 1.0.0
     */
-friend bool operator <(const_reference lhs, const_reference rhs) noexcept
-{
-const auto lhs_type = lhs.type();
-const auto rhs_type = rhs.type();
-
-if (lhs_type == rhs_type)
-{
-switch (lhs_type)
-{
-case value_t::array:
-return (*lhs.m_value.array) < (*rhs.m_value.array);
-
-case value_t::object:
-return *lhs.m_value.object < *rhs.m_value.object;
-
-case value_t::null:
-return false;
-
-case value_t::string:
-return *lhs.m_value.string < *rhs.m_value.string;
-
-case value_t::boolean:
-return lhs.m_value.boolean < rhs.m_value.boolean;
-
-case value_t::number_integer:
-return lhs.m_value.number_integer < rhs.m_value.number_integer;
-
-case value_t::number_unsigned:
-return lhs.m_value.number_unsigned < rhs.m_value.number_unsigned;
-
-case value_t::number_float:
-return lhs.m_value.number_float < rhs.m_value.number_float;
-
-default:
-return false;
-}
-}
-else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
-{
-return static_cast<number_float_t>(lhs.m_value.number_integer) < rhs.m_value.number_float;
-}
-else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
-{
-return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_integer);
-}
-else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
-{
-return static_cast<number_float_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_float;
-}
-else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
-{
-return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_unsigned);
-}
-else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
-{
-return lhs.m_value.number_integer < static_cast<number_integer_t>(rhs.m_value.number_unsigned);
-}
-else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
-{
-return static_cast<number_integer_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_integer;
-}
-
-// We only reach this line if we cannot compare values. In that case,
-// we compare types. Note we have to call the operator explicitly,
-// because MSVC has problems otherwise.
-return operator <(lhs_type, rhs_type);
-}
+    friend bool operator<(const_reference lhs, const_reference rhs) noexcept
+    {
+        const auto lhs_type = lhs.type();
+        const auto rhs_type = rhs.type();
+
+        if (lhs_type == rhs_type)
+        {
+            switch (lhs_type)
+            {
+                case value_t::array:
+                    return (*lhs.m_value.array) < (*rhs.m_value.array);
+
+                case value_t::object:
+                    return *lhs.m_value.object < *rhs.m_value.object;
+
+                case value_t::null:
+                    return false;
+
+                case value_t::string:
+                    return *lhs.m_value.string < *rhs.m_value.string;
+
+                case value_t::boolean:
+                    return lhs.m_value.boolean < rhs.m_value.boolean;
+
+                case value_t::number_integer:
+                    return lhs.m_value.number_integer < rhs.m_value.number_integer;
+
+                case value_t::number_unsigned:
+                    return lhs.m_value.number_unsigned < rhs.m_value.number_unsigned;
+
+                case value_t::number_float:
+                    return lhs.m_value.number_float < rhs.m_value.number_float;
+
+                default:
+                    return false;
+            }
+        }
+        else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
+        {
+            return static_cast<number_float_t>(lhs.m_value.number_integer) < rhs.m_value.number_float;
+        }
+        else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
+        {
+            return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_integer);
+        }
+        else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
+        {
+            return static_cast<number_float_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_float;
+        }
+        else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
+        {
+            return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_unsigned);
+        }
+        else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
+        {
+            return lhs.m_value.number_integer < static_cast<number_integer_t>(rhs.m_value.number_unsigned);
+        }
+        else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
+        {
+            return static_cast<number_integer_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_integer;
+        }
+
+        // We only reach this line if we cannot compare values. In that case,
+        // we compare types. Note we have to call the operator explicitly,
+        // because MSVC has problems otherwise.
+        return operator<(lhs_type, rhs_type);
+    }
 
-/*!
+    /*!
     @brief comparison: less than
     @copydoc operator<(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator <(const_reference lhs, const ScalarType rhs) noexcept
-{
-return (lhs < basic_json(rhs));
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator<(const_reference lhs, const ScalarType rhs) noexcept
+    {
+        return (lhs < basic_json(rhs));
+    }
 
-/*!
+    /*!
     @brief comparison: less than
     @copydoc operator<(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator <(const ScalarType lhs, const_reference rhs) noexcept
-{
-return (basic_json(lhs) < rhs);
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator<(const ScalarType lhs, const_reference rhs) noexcept
+    {
+        return (basic_json(lhs) < rhs);
+    }
 
-/*!
+    /*!
     @brief comparison: less than or equal
 
     Compares whether one JSON value @a lhs is less than or equal to another
@@ -15857,34 +15342,34 @@ return (basic_json(lhs) < rhs);
 
     @since version 1.0.0
     */
-friend bool operator <=(const_reference lhs, const_reference rhs) noexcept
-{
-return not (rhs < lhs);
-}
+    friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
+    {
+        return not (rhs < lhs);
+    }
 
-/*!
+    /*!
     @brief comparison: less than or equal
     @copydoc operator<=(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator <=(const_reference lhs, const ScalarType rhs) noexcept
-{
-return (lhs <= basic_json(rhs));
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
+    {
+        return (lhs <= basic_json(rhs));
+    }
 
-/*!
+    /*!
     @brief comparison: less than or equal
     @copydoc operator<=(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator <=(const ScalarType lhs, const_reference rhs) noexcept
-{
-return (basic_json(lhs) <= rhs);
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
+    {
+        return (basic_json(lhs) <= rhs);
+    }
 
-/*!
+    /*!
     @brief comparison: greater than
 
     Compares whether one JSON value @a lhs is greater than another
@@ -15903,34 +15388,34 @@ return (basic_json(lhs) <= rhs);
 
     @since version 1.0.0
     */
-friend bool operator >(const_reference lhs, const_reference rhs) noexcept
-{
-return not (lhs <= rhs);
-}
+    friend bool operator>(const_reference lhs, const_reference rhs) noexcept
+    {
+        return not (lhs <= rhs);
+    }
 
-/*!
+    /*!
     @brief comparison: greater than
     @copydoc operator>(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator >(const_reference lhs, const ScalarType rhs) noexcept
-{
-return (lhs > basic_json(rhs));
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator>(const_reference lhs, const ScalarType rhs) noexcept
+    {
+        return (lhs > basic_json(rhs));
+    }
 
-/*!
+    /*!
     @brief comparison: greater than
     @copydoc operator>(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator >(const ScalarType lhs, const_reference rhs) noexcept
-{
-return (basic_json(lhs) > rhs);
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator>(const ScalarType lhs, const_reference rhs) noexcept
+    {
+        return (basic_json(lhs) > rhs);
+    }
 
-/*!
+    /*!
     @brief comparison: greater than or equal
 
     Compares whether one JSON value @a lhs is greater than or equal to another
@@ -15949,43 +15434,43 @@ return (basic_json(lhs) > rhs);
 
     @since version 1.0.0
     */
-friend bool operator >=(const_reference lhs, const_reference rhs) noexcept
-{
-return not (lhs < rhs);
-}
+    friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
+    {
+        return not (lhs < rhs);
+    }
 
-/*!
+    /*!
     @brief comparison: greater than or equal
     @copydoc operator>=(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator >=(const_reference lhs, const ScalarType rhs) noexcept
-{
-return (lhs >= basic_json(rhs));
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
+    {
+        return (lhs >= basic_json(rhs));
+    }
 
-/*!
+    /*!
     @brief comparison: greater than or equal
     @copydoc operator>=(const_reference, const_reference)
     */
-template<typename ScalarType, typename std::enable_if<
-std::is_scalar<ScalarType>::value, int>::type = 0>
-friend bool operator >=(const ScalarType lhs, const_reference rhs) noexcept
-{
-return (basic_json(lhs) >= rhs);
-}
+    template<typename ScalarType, typename std::enable_if<
+                 std::is_scalar<ScalarType>::value, int>::type = 0>
+    friend bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
+    {
+        return (basic_json(lhs) >= rhs);
+    }
 
-/// @}
+    /// @}
 
-///////////////////
-// serialization //
-///////////////////
+    ///////////////////
+    // serialization //
+    ///////////////////
 
-/// @name serialization
-/// @{
+    /// @name serialization
+    /// @{
 
-/*!
+    /*!
     @brief serialize to stream
 
     Serialize the given JSON value @a j to the output stream @a o. The JSON
@@ -16016,22 +15501,22 @@ return (basic_json(lhs) >= rhs);
 
     @since version 1.0.0; indentation character added in version 3.0.0
     */
-friend std::ostream& operator <<(std::ostream& o, const basic_json& j)
-{
-// read width member and use it as indentation parameter if nonzero
-const bool pretty_print = (o.width() > 0);
-const auto indentation = (pretty_print ? o.width() : 0);
+    friend std::ostream& operator<<(std::ostream& o, const basic_json& j)
+    {
+        // read width member and use it as indentation parameter if nonzero
+        const bool pretty_print = (o.width() > 0);
+        const auto indentation = (pretty_print ? o.width() : 0);
 
-// reset width to 0 for subsequent calls to this stream
-o.width(0);
+        // reset width to 0 for subsequent calls to this stream
+        o.width(0);
 
-// do the actual serialization
-serializer s(detail::output_adapter<char>(o), o.fill());
-s.dump(j, pretty_print, false, static_cast<unsigned int>(indentation));
-return o;
-}
+        // do the actual serialization
+        serializer s(detail::output_adapter<char>(o), o.fill());
+        s.dump(j, pretty_print, false, static_cast<unsigned int>(indentation));
+        return o;
+    }
 
-/*!
+    /*!
     @brief serialize to stream
     @deprecated This stream operator is deprecated and will be removed in
                 future 4.0.0 of the library. Please use
@@ -16039,23 +15524,23 @@ return o;
                 instead; that is, replace calls like `j >> o;` with `o << j;`.
     @since version 1.0.0; deprecated since version 3.0.0
     */
-JSON_DEPRECATED
-friend std::ostream& operator >>(const basic_json& j, std::ostream& o)
-{
-return o << j;
-}
+    JSON_DEPRECATED
+    friend std::ostream& operator>>(const basic_json& j, std::ostream& o)
+    {
+        return o << j;
+    }
 
-/// @}
+    /// @}
 
 
-/////////////////////
-// deserialization //
-/////////////////////
+    /////////////////////
+    // deserialization //
+    /////////////////////
 
-/// @name deserialization
-/// @{
+    /// @name deserialization
+    /// @{
 
-/*!
+    /*!
     @brief deserialize from a compatible input
 
     This function reads from a compatible input. Examples are:
@@ -16117,38 +15602,38 @@ return o << j;
 
     @since version 2.0.3 (contiguous containers)
     */
-static basic_json parse(detail::input_adapter i,
-const parser_callback_t cb = nullptr,
-const bool allow_exceptions = true)
-{
-basic_json result;
-parser(i, cb, allow_exceptions).parse(true, result);
-return result;
-}
+    static basic_json parse(detail::input_adapter i,
+                            const parser_callback_t cb = nullptr,
+                            const bool allow_exceptions = true)
+    {
+        basic_json result;
+        parser(i, cb, allow_exceptions).parse(true, result);
+        return result;
+    }
 
-/*!
+    /*!
     @copydoc basic_json parse(detail::input_adapter, const parser_callback_t)
     */
-static basic_json parse(detail::input_adapter& i,
-const parser_callback_t cb = nullptr,
-const bool allow_exceptions = true)
-{
-basic_json result;
-parser(i, cb, allow_exceptions).parse(true, result);
-return result;
-}
+    static basic_json parse(detail::input_adapter& i,
+                            const parser_callback_t cb = nullptr,
+                            const bool allow_exceptions = true)
+    {
+        basic_json result;
+        parser(i, cb, allow_exceptions).parse(true, result);
+        return result;
+    }
 
-static bool accept(detail::input_adapter i)
-{
-return parser(i).accept(true);
-}
+    static bool accept(detail::input_adapter i)
+    {
+        return parser(i).accept(true);
+    }
 
-static bool accept(detail::input_adapter& i)
-{
-return parser(i).accept(true);
-}
+    static bool accept(detail::input_adapter& i)
+    {
+        return parser(i).accept(true);
+    }
 
-/*!
+    /*!
     @brief deserialize from an iterator range with contiguous storage
 
     This function reads from an iterator range of a container with contiguous
@@ -16195,29 +15680,29 @@ return parser(i).accept(true);
 
     @since version 2.0.3
     */
-template<class IteratorType, typename std::enable_if<
-std::is_base_of<
-std::random_access_iterator_tag,
-typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
-static basic_json parse(IteratorType first, IteratorType last,
-const parser_callback_t cb = nullptr,
-const bool allow_exceptions = true)
-{
-basic_json result;
-parser(detail::input_adapter(first, last), cb, allow_exceptions).parse(true, result);
-return result;
-}
+    template<class IteratorType, typename std::enable_if<
+                 std::is_base_of<
+                     std::random_access_iterator_tag,
+                     typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
+    static basic_json parse(IteratorType first, IteratorType last,
+                            const parser_callback_t cb = nullptr,
+                            const bool allow_exceptions = true)
+    {
+        basic_json result;
+        parser(detail::input_adapter(first, last), cb, allow_exceptions).parse(true, result);
+        return result;
+    }
 
-template<class IteratorType, typename std::enable_if<
-std::is_base_of<
-std::random_access_iterator_tag,
-typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
-static bool accept(IteratorType first, IteratorType last)
-{
-return parser(detail::input_adapter(first, last)).accept(true);
-}
+    template<class IteratorType, typename std::enable_if<
+                 std::is_base_of<
+                     std::random_access_iterator_tag,
+                     typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
+    static bool accept(IteratorType first, IteratorType last)
+    {
+        return parser(detail::input_adapter(first, last)).accept(true);
+    }
 
-/*!
+    /*!
     @brief deserialize from stream
     @deprecated This stream operator is deprecated and will be removed in
                 version 4.0.0 of the library. Please use
@@ -16225,13 +15710,13 @@ return parser(detail::input_adapter(first, last)).accept(true);
                 instead; that is, replace calls like `j << i;` with `i >> j;`.
     @since version 1.0.0; deprecated since version 3.0.0
     */
-JSON_DEPRECATED
-friend std::istream& operator <<(basic_json& j, std::istream& i)
-{
-return operator >>(i, j);
-}
+    JSON_DEPRECATED
+    friend std::istream& operator<<(basic_json& j, std::istream& i)
+    {
+        return operator>>(i, j);
+    }
 
-/*!
+    /*!
     @brief deserialize from stream
 
     Deserializes an input stream to a JSON value.
@@ -16256,19 +15741,19 @@ return operator >>(i, j);
 
     @since version 1.0.0
     */
-friend std::istream& operator >>(std::istream& i, basic_json& j)
-{
-parser(detail::input_adapter(i)).parse(false, j);
-return i;
-}
+    friend std::istream& operator>>(std::istream& i, basic_json& j)
+    {
+        parser(detail::input_adapter(i)).parse(false, j);
+        return i;
+    }
 
-/// @}
+    /// @}
 
-///////////////////////////
-// convenience functions //
-///////////////////////////
+    ///////////////////////////
+    // convenience functions //
+    ///////////////////////////
 
-/*!
+    /*!
     @brief return the type as string
 
     Returns the type name as string to be used in error messages - usually to
@@ -16298,50 +15783,50 @@ return i;
     @since version 1.0.0, public since 2.1.0, `const char*` and `noexcept`
     since 3.0.0
     */
-const char* type_name() const noexcept
-{
-{
-switch (m_type)
-{
-case value_t::null:
-return "null";
-case value_t::object:
-return "object";
-case value_t::array:
-return "array";
-case value_t::string:
-return "string";
-case value_t::boolean:
-return "boolean";
-case value_t::discarded:
-return "discarded";
-default:
-return "number";
-}
-}
-}
+    const char* type_name() const noexcept
+    {
+        {
+            switch (m_type)
+            {
+                case value_t::null:
+                    return "null";
+                case value_t::object:
+                    return "object";
+                case value_t::array:
+                    return "array";
+                case value_t::string:
+                    return "string";
+                case value_t::boolean:
+                    return "boolean";
+                case value_t::discarded:
+                    return "discarded";
+                default:
+                    return "number";
+            }
+        }
+    }
 
 
-private:
-//////////////////////
-// member variables //
-//////////////////////
+  private:
+    //////////////////////
+    // member variables //
+    //////////////////////
 
-/// the type of the current element
-value_t m_type = value_t::null;
+    /// the type of the current element
+    value_t m_type = value_t::null;
 
-/// the value of the current element
-json_value m_value = { };
+    /// the value of the current element
+    json_value m_value = {};
 
-//////////////////////////////////////////
-// binary serialization/deserialization //
-//////////////////////////////////////////
+    //////////////////////////////////////////
+    // binary serialization/deserialization //
+    //////////////////////////////////////////
 
-/// @name binary serialization/deserialization support
-/// @{
+    /// @name binary serialization/deserialization support
+    /// @{
 
-public:
-/*!
+  public:
+    /*!
     @brief create a CBOR serialization of a given JSON value
 
     Serializes a given JSON value @a j to a byte vector using the CBOR (Concise
@@ -16429,24 +15914,24 @@ public:
 
     @since version 2.0.9
     */
-static std::vector<uint8_t> to_cbor(const basic_json& j)
-{
-std::vector<uint8_t> result;
-to_cbor(j, result);
-return result;
-}
+    static std::vector<uint8_t> to_cbor(const basic_json& j)
+    {
+        std::vector<uint8_t> result;
+        to_cbor(j, result);
+        return result;
+    }
 
-static void to_cbor(const basic_json& j, detail::output_adapter<uint8_t> o)
-{
-binary_writer<uint8_t>(o).write_cbor(j);
-}
+    static void to_cbor(const basic_json& j, detail::output_adapter<uint8_t> o)
+    {
+        binary_writer<uint8_t>(o).write_cbor(j);
+    }
 
-static void to_cbor(const basic_json& j, detail::output_adapter<char> o)
-{
-binary_writer<char>(o).write_cbor(j);
-}
+    static void to_cbor(const basic_json& j, detail::output_adapter<char> o)
+    {
+        binary_writer<char>(o).write_cbor(j);
+    }
 
-/*!
+    /*!
     @brief create a MessagePack serialization of a given JSON value
 
     Serializes a given JSON value @a j to a byte vector using the MessagePack
@@ -16526,24 +16011,24 @@ binary_writer<char>(o).write_cbor(j);
 
     @since version 2.0.9
     */
-static std::vector<uint8_t> to_msgpack(const basic_json& j)
-{
-std::vector<uint8_t> result;
-to_msgpack(j, result);
-return result;
-}
+    static std::vector<uint8_t> to_msgpack(const basic_json& j)
+    {
+        std::vector<uint8_t> result;
+        to_msgpack(j, result);
+        return result;
+    }
 
-static void to_msgpack(const basic_json& j, detail::output_adapter<uint8_t> o)
-{
-binary_writer<uint8_t>(o).write_msgpack(j);
-}
+    static void to_msgpack(const basic_json& j, detail::output_adapter<uint8_t> o)
+    {
+        binary_writer<uint8_t>(o).write_msgpack(j);
+    }
 
-static void to_msgpack(const basic_json& j, detail::output_adapter<char> o)
-{
-binary_writer<char>(o).write_msgpack(j);
-}
+    static void to_msgpack(const basic_json& j, detail::output_adapter<char> o)
+    {
+        binary_writer<char>(o).write_msgpack(j);
+    }
 
-/*!
+    /*!
     @brief create a UBJSON serialization of a given JSON value
 
     Serializes a given JSON value @a j to a byte vector using the UBJSON
@@ -16623,28 +16108,28 @@ binary_writer<char>(o).write_msgpack(j);
 
     @since version 3.1.0
     */
-static std::vector<uint8_t> to_ubjson(const basic_json& j,
-const bool use_size = false,
-const bool use_type = false)
-{
-std::vector<uint8_t> result;
-to_ubjson(j, result, use_size, use_type);
-return result;
-}
+    static std::vector<uint8_t> to_ubjson(const basic_json& j,
+                                          const bool use_size = false,
+                                          const bool use_type = false)
+    {
+        std::vector<uint8_t> result;
+        to_ubjson(j, result, use_size, use_type);
+        return result;
+    }
 
-static void to_ubjson(const basic_json& j, detail::output_adapter<uint8_t> o,
-const bool use_size = false, const bool use_type = false)
-{
-binary_writer<uint8_t>(o).write_ubjson(j, use_size, use_type);
-}
+    static void to_ubjson(const basic_json& j, detail::output_adapter<uint8_t> o,
+                          const bool use_size = false, const bool use_type = false)
+    {
+        binary_writer<uint8_t>(o).write_ubjson(j, use_size, use_type);
+    }
 
-static void to_ubjson(const basic_json& j, detail::output_adapter<char> o,
-const bool use_size = false, const bool use_type = false)
-{
-binary_writer<char>(o).write_ubjson(j, use_size, use_type);
-}
+    static void to_ubjson(const basic_json& j, detail::output_adapter<char> o,
+                          const bool use_size = false, const bool use_type = false)
+    {
+        binary_writer<char>(o).write_ubjson(j, use_size, use_type);
+    }
 
-/*!
+    /*!
     @brief create a JSON value from an input in CBOR format
 
     Deserializes a given input @a i to a JSON value using the CBOR (Concise
@@ -16737,23 +16222,23 @@ binary_writer<char>(o).write_ubjson(j, use_size, use_type);
            consume input adapters, removed start_index parameter, and added
            @a strict parameter since 3.0.0
     */
-static basic_json from_cbor(detail::input_adapter i,
-const bool strict = true)
-{
-return binary_reader(i).parse_cbor(strict);
-}
+    static basic_json from_cbor(detail::input_adapter i,
+                                const bool strict = true)
+    {
+        return binary_reader(i).parse_cbor(strict);
+    }
 
-/*!
+    /*!
     @copydoc from_cbor(detail::input_adapter, const bool)
     */
-template<typename A1, typename A2,
-detail::enable_if_t<std::is_constructible<detail::input_adapter, A1, A2>::value, int> = 0>
-static basic_json from_cbor(A1 && a1, A2 && a2, const bool strict = true)
-{
-return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).parse_cbor(strict);
-}
+    template<typename A1, typename A2,
+             detail::enable_if_t<std::is_constructible<detail::input_adapter, A1, A2>::value, int> = 0>
+    static basic_json from_cbor(A1 && a1, A2 && a2, const bool strict = true)
+    {
+        return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).parse_cbor(strict);
+    }
 
-/*!
+    /*!
     @brief create a JSON value from an input in MessagePack format
 
     Deserializes a given input @a i to a JSON value using the MessagePack
@@ -16826,23 +16311,23 @@ return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2
            consume input adapters, removed start_index parameter, and added
            @a strict parameter since 3.0.0
     */
-static basic_json from_msgpack(detail::input_adapter i,
-const bool strict = true)
-{
-return binary_reader(i).parse_msgpack(strict);
-}
+    static basic_json from_msgpack(detail::input_adapter i,
+                                   const bool strict = true)
+    {
+        return binary_reader(i).parse_msgpack(strict);
+    }
 
-/*!
+    /*!
     @copydoc from_msgpack(detail::input_adapter, const bool)
-    */
-template<typename A1, typename A2,
-detail::enable_if_t<std::is_constructible<detail::input_adapter, A1, A2>::value, int> = 0>
-static basic_json from_msgpack(A1 && a1, A2 && a2, const bool strict = true)
-{
-return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).parse_msgpack(strict);
-}
+    */
+    template<typename A1, typename A2,
+             detail::enable_if_t<std::is_constructible<detail::input_adapter, A1, A2>::value, int> = 0>
+    static basic_json from_msgpack(A1 && a1, A2 && a2, const bool strict = true)
+    {
+        return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).parse_msgpack(strict);
+    }
 
-/*!
+    /*!
     @brief create a JSON value from an input in UBJSON format
 
     Deserializes a given input @a i to a JSON value using the UBJSON (Universal
@@ -16895,29 +16380,29 @@ return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2
 
     @since version 3.1.0
     */
-static basic_json from_ubjson(detail::input_adapter i,
-const bool strict = true)
-{
-return binary_reader(i).parse_ubjson(strict);
-}
+    static basic_json from_ubjson(detail::input_adapter i,
+                                  const bool strict = true)
+    {
+        return binary_reader(i).parse_ubjson(strict);
+    }
 
-template<typename A1, typename A2,
-detail::enable_if_t<std::is_constructible<detail::input_adapter, A1, A2>::value, int> = 0>
-static basic_json from_ubjson(A1 && a1, A2 && a2, const bool strict = true)
-{
-return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).parse_ubjson(strict);
-}
+    template<typename A1, typename A2,
+             detail::enable_if_t<std::is_constructible<detail::input_adapter, A1, A2>::value, int> = 0>
+    static basic_json from_ubjson(A1 && a1, A2 && a2, const bool strict = true)
+    {
+        return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).parse_ubjson(strict);
+    }
 
-/// @}
+    /// @}
 
-//////////////////////////
-// JSON Pointer support //
-//////////////////////////
+    //////////////////////////
+    // JSON Pointer support //
+    //////////////////////////
 
-/// @name JSON Pointer functions
-/// @{
+    /// @name JSON Pointer functions
+    /// @{
 
-/*!
+    /*!
     @brief access specified element via JSON Pointer
 
     Uses a JSON pointer to retrieve a reference to the respective JSON value.
@@ -16950,12 +16435,12 @@ return binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2
 
     @since version 2.0.0
     */
-reference operator [](const json_pointer& ptr)
-{
-return ptr.get_unchecked(this);
-}
+    reference operator[](const json_pointer& ptr)
+    {
+        return ptr.get_unchecked(this);
+    }
 
-/*!
+    /*!
     @brief access specified element via JSON Pointer
 
     Uses a JSON pointer to retrieve a reference to the respective JSON value.
@@ -16978,12 +16463,12 @@ return ptr.get_unchecked(this);
 
     @since version 2.0.0
     */
-const_reference operator [](const json_pointer& ptr) const
-{
-return ptr.get_unchecked(this);
-}
+    const_reference operator[](const json_pointer& ptr) const
+    {
+        return ptr.get_unchecked(this);
+    }
 
-/*!
+    /*!
     @brief access specified element via JSON Pointer
 
     Returns a reference to the element at with specified JSON pointer @a ptr,
@@ -17021,12 +16506,12 @@ return ptr.get_unchecked(this);
 
     @liveexample{The behavior is shown in the example.,at_json_pointer}
     */
-reference at(const json_pointer& ptr)
-{
-return ptr.get_checked(this);
-}
+    reference at(const json_pointer& ptr)
+    {
+        return ptr.get_checked(this);
+    }
 
-/*!
+    /*!
     @brief access specified element via JSON Pointer
 
     Returns a const reference to the element at with specified JSON pointer @a
@@ -17064,12 +16549,12 @@ return ptr.get_checked(this);
 
     @liveexample{The behavior is shown in the example.,at_json_pointer_const}
     */
-const_reference at(const json_pointer& ptr) const
-{
-return ptr.get_checked(this);
-}
+    const_reference at(const json_pointer& ptr) const
+    {
+        return ptr.get_checked(this);
+    }
 
-/*!
+    /*!
     @brief return flattened JSON value
 
     The function creates a JSON object whose keys are JSON pointers (see [RFC
@@ -17091,14 +16576,14 @@ return ptr.get_checked(this);
 
     @since version 2.0.0
     */
-basic_json flatten() const
-{
-basic_json result(value_t::object);
-json_pointer::flatten("", *this, result);
-return result;
-}
+    basic_json flatten() const
+    {
+        basic_json result(value_t::object);
+        json_pointer::flatten("", *this, result);
+        return result;
+    }
 
-/*!
+    /*!
     @brief unflatten a previously flattened JSON value
 
     The function restores the arbitrary nesting of a JSON value that has been
@@ -17128,21 +16613,21 @@ return result;
 
     @since version 2.0.0
     */
-basic_json unflatten() const
-{
-return json_pointer::unflatten(*this);
-}
+    basic_json unflatten() const
+    {
+        return json_pointer::unflatten(*this);
+    }
 
-/// @}
+    /// @}
 
-//////////////////////////
-// JSON Patch functions //
-//////////////////////////
+    //////////////////////////
+    // JSON Patch functions //
+    //////////////////////////
 
-/// @name JSON Patch functions
-/// @{
+    /// @name JSON Patch functions
+    /// @{
 
-/*!
+    /*!
     @brief applies a JSON patch
 
     [JSON Patch](http://jsonpatch.com) defines a JSON document structure for
@@ -17189,272 +16674,272 @@ return json_pointer::unflatten(*this);
 
     @since version 2.0.0
     */
-basic_json patch(const basic_json& json_patch) const
-{
-// make a working copy to apply the patch to
-basic_json result = *this;
-
-// the valid JSON Patch operations
-enum class patch_operations { add, remove, replace, move, copy, test, invalid };
-
-const auto get_op =[](const std::string & op)
-{
-if (op == "add")
-{
-return patch_operations::add;
-}
-if (op == "remove")
-{
-return patch_operations::remove;
-}
-if (op == "replace")
-{
-return patch_operations::replace;
-}
-if (op == "move")
-{
-return patch_operations::move;
-}
-if (op == "copy")
-{
-return patch_operations::copy;
-}
-if (op == "test")
-{
-return patch_operations::test;
-}
-
-return patch_operations::invalid;
-};
-
-// wrapper for "add" operation; add value at ptr
-const auto operation_add =[&result](json_pointer & ptr, basic_json val)
-{
-// adding to the root of the target document means replacing it
-if (ptr.is_root())
-{
-result = val;
-}
-else
-{
-// make sure the top element of the pointer exists
-json_pointer top_pointer = ptr.top();
-if (top_pointer != ptr)
-{
-result.at(top_pointer);
-}
-
-// get reference to parent of JSON pointer ptr
-const auto last_path = ptr.pop_back();
-basic_json& parent = result[ptr];
-
-switch (parent.m_type)
-{
-case value_t::null:
-case value_t::object:
-{
-// use operator[] to add value
-parent[last_path] = val;
-break;
-}
-
-case value_t::array:
-{
-if (last_path == "-")
-{
-// special case: append to back
-parent.push_back(val);
-}
-else
-{
-const auto idx = json_pointer::array_index(last_path);
-if (JSON_UNLIKELY(static_cast<size_type>(idx) > parent.size()))
-{
-// avoid undefined behavior
-JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
-}
-else
-{
-// default case: insert add offset
-parent.insert(parent.begin() + static_cast<difference_type>(idx), val);
-}
-}
-break;
-}
-
-default:
-{
-// if there exists a parent it cannot be primitive
-assert(false);  // LCOV_EXCL_LINE
-}
-}
-}
-};
-
-// wrapper for "remove" operation; remove value at ptr
-const auto operation_remove =[&result](json_pointer & ptr)
-{
-// get reference to parent of JSON pointer ptr
-const auto last_path = ptr.pop_back();
-basic_json& parent = result.at(ptr);
-
-// remove child
-if (parent.is_object())
-{
-// perform range check
-auto it = parent.find(last_path);
-if (JSON_LIKELY(it != parent.end()))
-{
-parent.erase(it);
-}
-else
-{
-JSON_THROW(out_of_range::create(403, "key '" + last_path + "' not found"));
-}
-}
-else if (parent.is_array())
-{
-// note erase performs range check
-parent.erase(static_cast<size_type>(json_pointer::array_index(last_path)));
-}
-};
-
-// type check: top level value must be an array
-if (JSON_UNLIKELY(not json_patch.is_array()))
-{
-JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
-}
-
-// iterate and apply the operations
-for (const auto& val : json_patch)
-{
-// wrapper to get a value for an operation
-const auto get_value =[&val](const std::string & op,
-const std::string & member,
-bool string_type) -> basic_json &
-{
-// find value
-auto it = val.m_value.object->find(member);
-
-// context-sensitive error message
-const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'";
-
-// check if desired value is present
-if (JSON_UNLIKELY(it == val.m_value.object->end()))
-{
-JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'"));
-}
-
-// check if result is of type string
-if (JSON_UNLIKELY(string_type and not it->second.is_string()))
-{
-JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'"));
-}
-
-// no error: return value
-return it->second;
-};
-
-// type check: every element of the array must be an object
-if (JSON_UNLIKELY(not val.is_object()))
-{
-JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
-}
-
-// collect mandatory members
-const std::string op = get_value("op", "op", true);
-const std::string path = get_value(op, "path", true);
-json_pointer ptr(path);
-
-switch (get_op(op))
-{
-case patch_operations::add:
-{
-operation_add(ptr, get_value("add", "value", false));
-break;
-}
-
-case patch_operations::remove:
-{
-operation_remove(ptr);
-break;
-}
-
-case patch_operations::replace:
-{
-// the "path" location must exist - use at()
-result.at(ptr) = get_value("replace", "value", false);
-break;
-}
-
-case patch_operations::move:
-{
-const std::string from_path = get_value("move", "from", true);
-json_pointer from_ptr(from_path);
-
-// the "from" location must exist - use at()
-basic_json v = result.at(from_ptr);
-
-// The move operation is functionally identical to a
-// "remove" operation on the "from" location, followed
-// immediately by an "add" operation at the target
-// location with the value that was just removed.
-operation_remove(from_ptr);
-operation_add(ptr, v);
-break;
-}
-
-case patch_operations::copy:
-{
-const std::string from_path = get_value("copy", "from", true);
-const json_pointer from_ptr(from_path);
-
-// the "from" location must exist - use at()
-basic_json v = result.at(from_ptr);
-
-// The copy is functionally identical to an "add"
-// operation at the target location using the value
-// specified in the "from" member.
-operation_add(ptr, v);
-break;
-}
-
-case patch_operations::test:
-{
-bool success = false;
-JSON_TRY
-{
-// check if "value" matches the one at "path"
-// the "path" location must exist - use at()
-success = (result.at(ptr) == get_value("test", "value", false));
-}
-JSON_CATCH (out_of_range&)
-{
-// ignore out of range errors: success remains false
-}
-
-// throw an exception if test fails
-if (JSON_UNLIKELY(not success))
-{
-JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump()));
-}
-
-break;
-}
-
-case patch_operations::invalid:
-{
-// op must be "add", "remove", "replace", "move", "copy", or
-// "test"
-JSON_THROW(parse_error::create(105, 0, "operation value '" + op + "' is invalid"));
-}
-}
-}
-
-return result;
-}
+    basic_json patch(const basic_json& json_patch) const
+    {
+        // make a working copy to apply the patch to
+        basic_json result = *this;
+
+        // the valid JSON Patch operations
+        enum class patch_operations {add, remove, replace, move, copy, test, invalid};
+
+        const auto get_op = [](const std::string & op)
+        {
+            if (op == "add")
+            {
+                return patch_operations::add;
+            }
+            if (op == "remove")
+            {
+                return patch_operations::remove;
+            }
+            if (op == "replace")
+            {
+                return patch_operations::replace;
+            }
+            if (op == "move")
+            {
+                return patch_operations::move;
+            }
+            if (op == "copy")
+            {
+                return patch_operations::copy;
+            }
+            if (op == "test")
+            {
+                return patch_operations::test;
+            }
+
+            return patch_operations::invalid;
+        };
+
+        // wrapper for "add" operation; add value at ptr
+        const auto operation_add = [&result](json_pointer & ptr, basic_json val)
+        {
+            // adding to the root of the target document means replacing it
+            if (ptr.is_root())
+            {
+                result = val;
+            }
+            else
+            {
+                // make sure the top element of the pointer exists
+                json_pointer top_pointer = ptr.top();
+                if (top_pointer != ptr)
+                {
+                    result.at(top_pointer);
+                }
+
+                // get reference to parent of JSON pointer ptr
+                const auto last_path = ptr.pop_back();
+                basic_json& parent = result[ptr];
+
+                switch (parent.m_type)
+                {
+                    case value_t::null:
+                    case value_t::object:
+                    {
+                        // use operator[] to add value
+                        parent[last_path] = val;
+                        break;
+                    }
+
+                    case value_t::array:
+                    {
+                        if (last_path == "-")
+                        {
+                            // special case: append to back
+                            parent.push_back(val);
+                        }
+                        else
+                        {
+                            const auto idx = json_pointer::array_index(last_path);
+                            if (JSON_UNLIKELY(static_cast<size_type>(idx) > parent.size()))
+                            {
+                                // avoid undefined behavior
+                                JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
+                            }
+                            else
+                            {
+                                // default case: insert add offset
+                                parent.insert(parent.begin() + static_cast<difference_type>(idx), val);
+                            }
+                        }
+                        break;
+                    }
+
+                    default:
+                    {
+                        // if there exists a parent it cannot be primitive
+                        assert(false);  // LCOV_EXCL_LINE
+                    }
+                }
+            }
+        };
+
+        // wrapper for "remove" operation; remove value at ptr
+        const auto operation_remove = [&result](json_pointer & ptr)
+        {
+            // get reference to parent of JSON pointer ptr
+            const auto last_path = ptr.pop_back();
+            basic_json& parent = result.at(ptr);
+
+            // remove child
+            if (parent.is_object())
+            {
+                // perform range check
+                auto it = parent.find(last_path);
+                if (JSON_LIKELY(it != parent.end()))
+                {
+                    parent.erase(it);
+                }
+                else
+                {
+                    JSON_THROW(out_of_range::create(403, "key '" + last_path + "' not found"));
+                }
+            }
+            else if (parent.is_array())
+            {
+                // note erase performs range check
+                parent.erase(static_cast<size_type>(json_pointer::array_index(last_path)));
+            }
+        };
+
+        // type check: top level value must be an array
+        if (JSON_UNLIKELY(not json_patch.is_array()))
+        {
+            JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
+        }
+
+        // iterate and apply the operations
+        for (const auto& val : json_patch)
+        {
+            // wrapper to get a value for an operation
+            const auto get_value = [&val](const std::string & op,
+                                          const std::string & member,
+                                          bool string_type) -> basic_json &
+            {
+                // find value
+                auto it = val.m_value.object->find(member);
+
+                // context-sensitive error message
+                const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'";
+
+                // check if desired value is present
+                if (JSON_UNLIKELY(it == val.m_value.object->end()))
+                {
+                    JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'"));
+                }
+
+                // check if result is of type string
+                if (JSON_UNLIKELY(string_type and not it->second.is_string()))
+                {
+                    JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'"));
+                }
+
+                // no error: return value
+                return it->second;
+            };
+
+            // type check: every element of the array must be an object
+            if (JSON_UNLIKELY(not val.is_object()))
+            {
+                JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
+            }
+
+            // collect mandatory members
+            const std::string op = get_value("op", "op", true);
+            const std::string path = get_value(op, "path", true);
+            json_pointer ptr(path);
+
+            switch (get_op(op))
+            {
+                case patch_operations::add:
+                {
+                    operation_add(ptr, get_value("add", "value", false));
+                    break;
+                }
+
+                case patch_operations::remove:
+                {
+                    operation_remove(ptr);
+                    break;
+                }
+
+                case patch_operations::replace:
+                {
+                    // the "path" location must exist - use at()
+                    result.at(ptr) = get_value("replace", "value", false);
+                    break;
+                }
+
+                case patch_operations::move:
+                {
+                    const std::string from_path = get_value("move", "from", true);
+                    json_pointer from_ptr(from_path);
+
+                    // the "from" location must exist - use at()
+                    basic_json v = result.at(from_ptr);
+
+                    // The move operation is functionally identical to a
+                    // "remove" operation on the "from" location, followed
+                    // immediately by an "add" operation at the target
+                    // location with the value that was just removed.
+                    operation_remove(from_ptr);
+                    operation_add(ptr, v);
+                    break;
+                }
+
+                case patch_operations::copy:
+                {
+                    const std::string from_path = get_value("copy", "from", true);
+                    const json_pointer from_ptr(from_path);
+
+                    // the "from" location must exist - use at()
+                    basic_json v = result.at(from_ptr);
+
+                    // The copy is functionally identical to an "add"
+                    // operation at the target location using the value
+                    // specified in the "from" member.
+                    operation_add(ptr, v);
+                    break;
+                }
+
+                case patch_operations::test:
+                {
+                    bool success = false;
+                    JSON_TRY
+                    {
+                        // check if "value" matches the one at "path"
+                        // the "path" location must exist - use at()
+                        success = (result.at(ptr) == get_value("test", "value", false));
+                    }
+                    JSON_CATCH (out_of_range&)
+                    {
+                        // ignore out of range errors: success remains false
+                    }
+
+                    // throw an exception if test fails
+                    if (JSON_UNLIKELY(not success))
+                    {
+                        JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump()));
+                    }
+
+                    break;
+                }
+
+                case patch_operations::invalid:
+                {
+                    // op must be "add", "remove", "replace", "move", "copy", or
+                    // "test"
+                    JSON_THROW(parse_error::create(105, 0, "operation value '" + op + "' is invalid"));
+                }
+            }
+        }
+
+        return result;
+    }
 
-/*!
+    /*!
     @brief creates a diff as a JSON patch
 
     Creates a [JSON Patch](http://jsonpatch.com) so that value @a source can
@@ -17487,173 +16972,141 @@ return result;
 
     @since version 2.0.0
     */
-static basic_json diff(const basic_json& source, const basic_json& target,
-const std::string& path = "")
-{
-// the patch
-basic_json result(value_t::array);
-
-// if the values are the same, return empty patch
-if (source == target)
-{
-return result;
-}
-
-if (source.type() != target.type())
-{
-// different types: replace value
-result.push_back(
-{
-{
-"op", "replace"
-}, {
-"path", path
-}, {
-"value", target
-}
-});
-}
-else
-{
-switch (source.type())
-{
-case value_t::array:
-{
-// first pass: traverse common elements
-std::size_t i = 0;
-while (i < source.size() and i < target.size())
-{
-// recursive call to compare array values at index i
-auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i));
-result.insert(result.end(), temp_diff.begin(), temp_diff.end());
-++i;
-}
-
-// i now reached the end of at least one array
-// in a second pass, traverse the remaining elements
-
-// remove my remaining elements
-const auto end_index = static_cast<difference_type>(result.size());
-while (i < source.size())
-{
-// add operations in reverse order to avoid invalid
-// indices
-result.insert(result.begin() + end_index, object(
-{
-{
-"op", "remove"
-},
-{
-"path", path + "/" + std::to_string(i)
-}
-}));
-++i;
-}
-
-// add other remaining elements
-while (i < target.size())
-{
-result.push_back(
-{
-{
-"op", "add"
-},
-{
-"path", path + "/" + std::to_string(i)
-},
-{
-"value", target[i]
-}
-});
-++i;
-}
-
-break;
-}
-
-case value_t::object:
-{
-// first pass: traverse this object's elements
-for (auto it = source.cbegin(); it != source.cend(); ++it)
-{
-// escape the key name to be used in a JSON patch
-const auto key = json_pointer::escape(it.key());
-
-if (target.find(it.key()) != target.end())
-{
-// recursive call to compare object values at key it
-auto temp_diff = diff(it.value(), target[it.key()], path + "/" + key);
-result.insert(result.end(), temp_diff.begin(), temp_diff.end());
-}
-else
-{
-// found a key that is not in o -> remove it
-result.push_back(object(
-{
-{
-"op", "remove"
-}, {
-"path", path + "/" + key
-}
-}));
-}
-}
-
-// second pass: traverse other object's elements
-for (auto it = target.cbegin(); it != target.cend(); ++it)
-{
-if (source.find(it.key()) == source.end())
-{
-// found a key that is not in this -> add it
-const auto key = json_pointer::escape(it.key());
-result.push_back(
-{
-{
-"op", "add"
-}, {
-"path", path + "/" + key
-},
-{
-"value", it.value()
-}
-});
-}
-}
-
-break;
-}
-
-default:
-{
-// both primitive type: replace value
-result.push_back(
-{
-{
-"op", "replace"
-}, {
-"path", path
-}, {
-"value", target
-}
-});
-break;
-}
-}
-}
-
-return result;
-}
+    static basic_json diff(const basic_json& source, const basic_json& target,
+                           const std::string& path = "")
+    {
+        // the patch
+        basic_json result(value_t::array);
+
+        // if the values are the same, return empty patch
+        if (source == target)
+        {
+            return result;
+        }
+
+        if (source.type() != target.type())
+        {
+            // different types: replace value
+            result.push_back(
+            {
+                {"op", "replace"}, {"path", path}, {"value", target}
+            });
+        }
+        else
+        {
+            switch (source.type())
+            {
+                case value_t::array:
+                {
+                    // first pass: traverse common elements
+                    std::size_t i = 0;
+                    while (i < source.size() and i < target.size())
+                    {
+                        // recursive call to compare array values at index i
+                        auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i));
+                        result.insert(result.end(), temp_diff.begin(), temp_diff.end());
+                        ++i;
+                    }
+
+                    // i now reached the end of at least one array
+                    // in a second pass, traverse the remaining elements
+
+                    // remove my remaining elements
+                    const auto end_index = static_cast<difference_type>(result.size());
+                    while (i < source.size())
+                    {
+                        // add operations in reverse order to avoid invalid
+                        // indices
+                        result.insert(result.begin() + end_index, object(
+                        {
+                            {"op", "remove"},
+                            {"path", path + "/" + std::to_string(i)}
+                        }));
+                        ++i;
+                    }
+
+                    // add other remaining elements
+                    while (i < target.size())
+                    {
+                        result.push_back(
+                        {
+                            {"op", "add"},
+                            {"path", path + "/" + std::to_string(i)},
+                            {"value", target[i]}
+                        });
+                        ++i;
+                    }
+
+                    break;
+                }
+
+                case value_t::object:
+                {
+                    // first pass: traverse this object's elements
+                    for (auto it = source.cbegin(); it != source.cend(); ++it)
+                    {
+                        // escape the key name to be used in a JSON patch
+                        const auto key = json_pointer::escape(it.key());
+
+                        if (target.find(it.key()) != target.end())
+                        {
+                            // recursive call to compare object values at key it
+                            auto temp_diff = diff(it.value(), target[it.key()], path + "/" + key);
+                            result.insert(result.end(), temp_diff.begin(), temp_diff.end());
+                        }
+                        else
+                        {
+                            // found a key that is not in o -> remove it
+                            result.push_back(object(
+                            {
+                                {"op", "remove"}, {"path", path + "/" + key}
+                            }));
+                        }
+                    }
+
+                    // second pass: traverse other object's elements
+                    for (auto it = target.cbegin(); it != target.cend(); ++it)
+                    {
+                        if (source.find(it.key()) == source.end())
+                        {
+                            // found a key that is not in this -> add it
+                            const auto key = json_pointer::escape(it.key());
+                            result.push_back(
+                            {
+                                {"op", "add"}, {"path", path + "/" + key},
+                                {"value", it.value()}
+                            });
+                        }
+                    }
+
+                    break;
+                }
+
+                default:
+                {
+                    // both primitive type: replace value
+                    result.push_back(
+                    {
+                        {"op", "replace"}, {"path", path}, {"value", target}
+                    });
+                    break;
+                }
+            }
+        }
+
+        return result;
+    }
 
-/// @}
+    /// @}
 
-////////////////////////////////
-// JSON Merge Patch functions //
-////////////////////////////////
+    ////////////////////////////////
+    // JSON Merge Patch functions //
+    ////////////////////////////////
 
-/// @name JSON Merge Patch functions
-/// @{
+    /// @name JSON Merge Patch functions
+    /// @{
 
-/*!
+    /*!
     @brief applies a JSON Merge Patch
 
     The merge patch format is primarily intended for use with the HTTP PATCH
@@ -17695,33 +17148,33 @@ return result;
 
     @since version 3.0.0
     */
-void merge_patch(const basic_json& patch)
-{
-if (patch.is_object())
-{
-if (not is_object())
-{
-*this = object();
-}
-for (auto it = patch.begin(); it != patch.end(); ++it)
-{
-if (it.value().is_null())
-{
-erase(it.key());
-}
-else
-{
-operator [](it.key()).merge_patch(it.value());
-}
-}
-}
-else
-{
-*this = patch;
-}
-}
+    void merge_patch(const basic_json& patch)
+    {
+        if (patch.is_object())
+        {
+            if (not is_object())
+            {
+                *this = object();
+            }
+            for (auto it = patch.begin(); it != patch.end(); ++it)
+            {
+                if (it.value().is_null())
+                {
+                    erase(it.key());
+                }
+                else
+                {
+                    operator[](it.key()).merge_patch(it.value());
+                }
+            }
+        }
+        else
+        {
+            *this = patch;
+        }
+    }
 
-/// @}
+    /// @}
 };
 } // namespace nlohmann
 
@@ -17739,46 +17192,46 @@ namespace std
 */
 template<>
 inline void swap(nlohmann::json& j1,
-nlohmann::json& j2) noexcept(
-is_nothrow_move_constructible<nlohmann::json>::value and
-is_nothrow_move_assignable<nlohmann::json>::value
-)
+                 nlohmann::json& j2) noexcept(
+                     is_nothrow_move_constructible<nlohmann::json>::value and
+                     is_nothrow_move_assignable<nlohmann::json>::value
+                 )
 {
-j1.swap(j2);
+    j1.swap(j2);
 }
 
 /// hash value for JSON objects
 template<>
 struct hash<nlohmann::json>
 {
-/*!
+    /*!
     @brief return a hash value for a JSON object
 
     @since version 1.0.0
     */
-std::size_t operator ()(const nlohmann::json& j) const
-{
-// a naive hashing via the string representation
-const auto& h = hash<nlohmann::json::string_t>();
-return h(j.dump());
-}
+    std::size_t operator()(const nlohmann::json& j) const
+    {
+        // a naive hashing via the string representation
+        const auto& h = hash<nlohmann::json::string_t>();
+        return h(j.dump());
+    }
 };
 
 /// specialization for std::less<value_t>
 /// @note: do not remove the space after '<',
 ///        see https://github.com/nlohmann/json/pull/679
 template<>
-struct less<::nlohmann::detail::value_t>
+struct less< ::nlohmann::detail::value_t>
 {
-/*!
+    /*!
     @brief compare two value_t enum values
     @since version 3.0.0
     */
-bool operator ()(nlohmann::detail::value_t lhs,
-nlohmann::detail::value_t rhs) const noexcept
-{
-return nlohmann::detail::operator <(lhs, rhs);
-}
+    bool operator()(nlohmann::detail::value_t lhs,
+                    nlohmann::detail::value_t rhs) const noexcept
+    {
+        return nlohmann::detail::operator<(lhs, rhs);
+    }
 };
 
 } // namespace std
@@ -17798,7 +17251,7 @@ if no parse error occurred.
 */
 inline nlohmann::json operator "" _json(const char* s, std::size_t n)
 {
-return nlohmann::json::parse(s, s + n);
+    return nlohmann::json::parse(s, s + n);
 }
 
 /*!
@@ -17816,46 +17269,32 @@ object if no parse error occurred.
 */
 inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
 {
-return nlohmann::json::json_pointer(std::string(s, n));
+    return nlohmann::json::json_pointer(std::string(s, n));
 }
 
 // #include <nlohmann/detail/macro_unscope.hpp>
 
 
 // restore GCC/clang diagnostic settings
-#if
-defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
-#pragma
-GCC diagnostic pop
+#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
+    #pragma GCC diagnostic pop
 #endif
-#if
-defined(__clang__)
-#pragma
-GCC diagnostic pop
+#if defined(__clang__)
+    #pragma GCC diagnostic pop
 #endif
 
 // clean up
-#undef
-JSON_CATCH
-#undef
-JSON_THROW
-#undef
-JSON_TRY
-#undef
-JSON_LIKELY
-#undef
-JSON_UNLIKELY
-#undef
-JSON_DEPRECATED
-#undef
-JSON_HAS_CPP_14
-#undef
-JSON_HAS_CPP_17
-#undef
-NLOHMANN_BASIC_JSON_TPL_DECLARATION
+#undef JSON_CATCH
+#undef JSON_THROW
+#undef JSON_TRY
+#undef JSON_LIKELY
+#undef JSON_UNLIKELY
+#undef JSON_DEPRECATED
+#undef JSON_HAS_CPP_14
+#undef JSON_HAS_CPP_17
+#undef NLOHMANN_BASIC_JSON_TPL_DECLARATION
 #undef NLOHMANN_BASIC_JSON_TPL
-#undef
-NLOHMANN_JSON_HAS_HELPER
+#undef NLOHMANN_JSON_HAS_HELPER
 
 
 #endif
-- 
GitLab