From 24a422fc4d767e427e2508b4b8b109f7835ef105 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Thu, 6 Jul 2023 10:50:09 +0800 Subject: [PATCH] 1.1.0 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 300032 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105872 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 11 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9419 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..bb20b0c --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6b69cbfe37dac44a1b3d2741eae90a3c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.dll b/Plugins/LC.Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..96902d09265db645024637a24933b9e1740bafd1 GIT binary patch literal 358912 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

-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 bQVPzvgE2 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

Vv>2q<>Z&hPsLh}- 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 Svys+bEKZ!%=kcFRV}If&gSKd9Y2Q}@ zTn!i%30t)4{)6bENZN8VOropglw4_DQ*c}p$JB~5aw=<0ip9!p!@T37I^QT((dAjy zcHN(lV=;}{6&dt`u5h%b^`e+!Mw&VwqhZFQ+3q$(bL2)*kNlL%L1{lNn$Tw&hYdJ# zj|Gc93LQ8BQ*N3&ENRIJ2acb@XoYvsV_6AVqtINNHAjp_O0iz;`D{Uv=;Ku^(GT51 ztkn?*2QC5Db9e1B>Nt) zpLm!WCN(at$>aXb{MD_5=&fKrPZil3c)8i0uLe=FCdx=X_I6I^^=vikc`>7^7uBj; zRd6LU%bF4A4C#v;ex<_GNpi$-Evxsddh^83H(PTF_lim+DdxNqB~dQx5(Zw)dU@0y zotQ%Ram=`{rHZpSF8UjttIlV>mKm)~)az)c+*p@$u)X=}ZPBee(-W_`<%-N=MeG)o zbO(5`yB}ZqstF&b%|&p)YPqHN6W_tBX%is!slCUc)$zQSQI60%*E-;B`Z>sZ`cfSy z%qlJCoMSl1I6jq$6k{bmf>F26>Vcy^`EpUbS|5dvfw7|BG{$mLw(KLX$hJ8#dGt3E ztyV_;QjYZ~hudhQcqq}yF;>=dipE<>EtW&);vsaW>gc>aMfI;LrKJWj#KJk5jjtGFOzD*4uves9=Fo*u@@xhA zwea5gBS2pYy=t4}H|5Yco%Mm8xUZ_8?8bc~yaxfVX_yeqn}Xdb{*2yuS!0O(td66- zZ!f9FFBd0%CgLbg+MB8;wdE67#TPw7>84MP-{X&DNZU^&gY?HmBrnO-&q-3Sr>de> zkk3QHD5QiY_ojrvO(A?)#5ZBz zmy1Pd9xIZ5SM|MGToxRJyi>fV^n3a~um9In_M+tGvRL_+;M0;${(fE$7Jpkky`tE= zsyF(@rQ+>Sxh@FLXH@>8^6%)~ zWxaP>W1-w^S#D1CZ^?pvOXbhXBE6@UmsP|0#+cjtdPn`4(z`Pvp|0xB$GoVPW<+{d zHG);GRN!huZ2X?^bzYV(I6b2l?-*{i+Uz;@2(TKj)byTub6fp%_!+hIuJSj9gFRuD zv2822r}ox0hAWz(X^rSxN^hv8E7nq)yHh;Tn<*YtKy)i9jVMQEQzky#- zd-v7Xchy2qtykxFPI+I~|KigN>JvKlqL@ftz{it5P@H^K`H@{i{)=D^-5cigH*>F9 zTqBFeB0Cln1SUm|ylQE@sGjHbu&z?Gi;oj8#uiQsPiV&a@jmqw&6pCWg-`U(;tR2y z_mQnA4{lO)%R_Jkb474l6=TQah>mf@WzEGsn@zNnJEGGG;eADY#xo5)T@`)Z(P$>L zNyXgV7Ea%@IbE~w31J&Lysag8Rg`GFXvRO}r@kC7J_RddeG7u1V& zao4OUaZD|-Ju)d;m;vbu*F z<=OYt@`75vtzLE1_Jo#(Y3nW00{L`bEz{zrVOziHVlD3dkS)T~wD^u%*j0<` zCU-7smhPyf7176a(FyYBtY+sum7Y?I7j2ApHP_emMqhrj73<@e&HHt|`L5DPE~LOM zrMtq>+xGr^`93(hqA?zXBOh~;=Ew=Kky?7&(m4fP)O_mqrPQ-K;@^(?vY|216L5C1 zF-z?|DE4y7$$P*&Z3-J;?VNCMRddtV%&Z7&SfI?(jB=o$74^cU{|&Xiq4aKpmg`)I z%#E^jQ&>D7u!t{vN<4d8HNI^vHYsLZeSu;w>n&vPJHi)~nXt~R(X+nlfJ<-7zlNl} zE$#%{Gs13?=I;i6T~?j?VN+q26-_@>VO+yXqu)x@JR*Z)dU}RtVdTvkDB#-ps}*fYziyzxzqNR zFac#GEa{gkjmG;bjm*lqWW~mC*;<}6TzsJCcQrFxs=X=;tFkP~!t;t#a0j>Vk6MTG@b- z+egLHUG-#E@B3O+)eqiQOSe_?K=eV)X=OBR5o zkKThDYROlOj{1chJY(Z~TUreqaYZt_Isb1L#oKMG;d#}1M>ME&Ynpjz9nF>RMe%vm zrOv7)BumnbF2JXcF=OZ%#i!Bg3DLm|$S&y((NnbAN#9m}@?;fXm{&=35DbnfJ!9B( z)eFtd6LXS{IcIylgOhD=$<|)C4X{>_m}pR54%?vE z^L1oK9Is(KWf3odz$;V#mvhe*t?KxJ* z^{rnf6`tK<`#?O7wvf&9W6SE_oLLX^qSnm+_BgzU0WKbSujvJA?wwUlblx0jZt+%o z*p~0|!jqZ5?a@u)Q!P9?@b5>4M8SOcOFtt|)hRvxq&kbwg5U!f?0Iu`JuhT!YXZD- zDz10%c{?2PysFLz72kF@bu5El#s}*89uH1(G4Y}6w<$Aklx^Sckh$g~3+L)<-K?TRt#Z3*~g6TYZGiz;ze z@C`9;G>s2e-y-R~ty$Tr)K@jdi@juwBXkZo#vjfUhxl1e7}1*g1Y1pNW{=Q^GqY`_X57ODyB8d`lxixt&o>#LiaLtOpv~%@)PLja@{zJAmR$&1#1G zQun4b<99Rym%^6Z4l*;6C8}PB*A*}s}kSGlcmjVh$ty{%6eT=7Vp*NaPC@-+Y`8j z@acLWfiE$>@fbJxJwI+a+IGfxbR8j?3CbeGA(!~EFKIKZxZ!gBus8EQ=HBB}ldk~I zySI+PyGL^m9IlQ*$2daMLLKF}OYxrZ=$JSc9#4*@OD1K`O9o=7Zs;4=Ee^>k(JefW zf`IE51z|>by(1n(Rz^dWF~i-__)aEGomdoxttfG%)Jw zmpe$WYIabsT=}WG`3`cOq1L%7`@XG>7~j73<=DF+?B*riNN<*VSe`Ftqint=iT^MP zT&cc21=r$$DorNSH69#`dRZ@YUx4tBbEEFCIjY+f_X=AQJ<%R+6dW};c+O}g!Qu11 zT7cp{Fe*mkCaD@-jJPP0i*eSZdVLM8@(~JnY#H}ieJpp4{^OdrqTXN}yPM>^xZMS{V23n=REaW-{P`ZQmdRbiJi&th>+7 z3FDWA(Wdd4u-kC6uHAH ze;+4@&o7iiAKPk}Q)_Nava-Y;;1YbxTE?A1PYEASSY?)ScbglpIH}pHD)uf3t5sTV zt6`>;s8gczG7jlktqD-pj^+(#R&+wvv4^4OW4|VRqxT(MqrWCz z;Ha46_#L&Ju(N3OqVvCJe0^E7$f~j>U9hK?a1meCx`cB8CuEflz@opmU77EuhUvU< z95-5>J8%Fk8?H8`X+q<;pxDYwG>;<$ihN5w-c;V4zL`zN{I+;P_ZbQIw~Thsb*D80 zKa8EE+o@{v>dtB3LK;&$SS{~}UuQ(q%rE*keV^6*MdzZgchGKf{q4UQ<+fwoK%5iJ zN8X`c=*L&NGio`>=PT+-Pf-@g?~Cfgzgzc2@!Wn6igJB>B59@4YM;I?d|)MITb!Q* z76a9CxVzZge~`hSW?Y2mWw6hAS!CQOhd<4|8^bE>v9|;xs-k!z)u6sTaZfYnA$m&L zD(sg2(JX#Wdq^AG?0f+oQC=h+z~RR~lG;bMeUJ%V4C zORfs>i%OE8kP;~+=h=t9?ymR!!%Q!!dsu<7!_iiZX?QLU09SiD*y!N~e(X8_}6rpIum;!bK^PU|q z@}t;W&=QgFF=Lvb5MELXM=`YNv8$j&nz?Gr{#J8$wCW0|#~LK#|BmXTWyY8yI1b*U zPRjM+(GE>FET(>2w8O=)oYv>>ErU->46-}LScy?cE}Kij;jH>!UsMlvB4P3-vzut7 zYnDDQ<)2wu(X33V#p~is9E`r`x$^9aDK+F~8n|GKLFd$LC#||$U7e5Q_NbcWm>vhU zh>CK~RFr7Sz9YINf@ecHm(+4J!!N4G`|a>!zC^?DD6x%czTuG#jni>MED;Wc3E`*M zLvr~1c#Id=St(nZ(VMaF;9|qnD_jUZpTq#fm=op}(|%pckMAXkocQD+*{V-rj}TjiMvuj*{8=WcLxDm8F^GxvBxfLUo&<`y~4C2h5+}t z$Jf-&>TB5;=hbsYjBJ{gl!~}x>~C979*8qhvMx%+d{^@JwhWbdnJXSsLIl}4m2{)n z_n&p=diKT{jp(M{VtZ>&&zNx+%UPHb=5MLr#B1UZy=6x4P1Sf?AL<1sH>@W+S-s5j z8NGW$*NPg67;+AHV|F&wxsd!sCi|R8{=6$RAqVaCC=DglHIYp?K6@_n{ zCdFR0=F7^vtzNSJq@KK&y>U?a*usj+yCQ$J*7GSTWoI-3TBZ-g3bl`M!QQ-ThW}kr z5Az52wU2RC^(@$Yz8%Jv##rs~b+rr@ud6)fI8;SXh$M-Id-V<6+?eb$D*Zqu=TzQ} znkluI&o^`tXEEa9Oood(wrA7_OvUTg1EQFw)hB4b+JgnPa#tna)AyoEuqA^V^rp(Y zEB=!8Fj3y3uzW|jdq*X1>r?DSO2PDwu@zO?9#gxxS)jAn!Y#eqK2}ze8y;zy?lCAV?hcyuT(Am4VzaR+TP3q+I7Yi!e2qdQ3=<*cdy(E2r%yerCiSKo{s zxrTgxOYcsr=NDD#uIgX}cLjsOpk?L=fNw?Sz#M&v5HkU zuG%7`(Q5FA_?lc z#!(_KaVPWsems#ZfVWK#!;T~V5nF)R`MSd_r%gXI;xU3yg0cMS8>zQcigs}_#(XQs@5@Z?Prp()9bzp zbS1VHv2okC7~La~qCHn^P1DcW1S#FqH~M{AL45s)p+a>%AML_z8LTX9Q+RAgbx;qd zrsBpBEyqpD{m+cCqPo4t_9U^&cX9PS9D7KaS@u;)G<|Q?9dSG2+ zozi?DHQTnu4#pm1WhINai`(sSJGMR>w0wAtIBg^Li2lWa@7o{=dq*8Bk;YfGo#9;d zu+nu*auu0~{_9&*d-_KHr@)mM-uRZv<>8HJ9C+?xNM)45L&-5H13lUFqh z%`J!GTZhH!Qt|H;2=^Z!l5g9{_GE$B0XI2oTAAQS1p$_&g zH$85%k`-up(^@N25Y%*_Eqq;gOkGEr(99CLgnt1)7-#4%iYnuKDNrK$L9dFFm`|6Z z6M90<)lcO$eYAuT5~Gg)3QyafIMYK|(T=Z*W70hBNuOC3*SQ_$KEm|A`>_wM0jwQG z?@F71$xF4No}N`-t0!MLV};h^Tj=fs;+!hfjbD#%Zj~aW!p}l^_$anVJW~bM@!=89 zz;^VSa-f6#>Um4=BDec$*?oNPnl$6qKU$p8T8`h!u}V$&==>YXx~nlv3DZ&A#lzyK z`v^<%O+99V4fy(*Ec9x8hio%Oiwup17F_#0itc%|`DV7pZDbw{>>57aCpI9Xo)u4X zHEFTBhf~!Fs+7nqVS64-iBMRS8T9R(_03Owa0>ivm_I*J>K@aCqvP3*_{aTJCR`US zw}bdK-vH%)Ggfr$Y7c^RN+g8Z&wnzHE1JiA7U9bsrEOQD4gmsNgK) zRpUE96Nx3h_RyAiZimAQuGQc{r={pMWPhq^k-aAwlAp@$$y1F@#qJTl-lIs-b{WY2 zBl;>75pOWSSBvELuvsYRfn*2eJTNWMb{pj!m2U8F?zigIDd&Cl&jWe=1i8yJ=F!he z<6*0x*2D^qmR?o&&-ppm0rFj;>0@AZ%;W+07R106aK-_Kv`g&kfbY?y6Q%57wD&Pd zoVXeu7eByIG3YV~}J0tEx|KcEupN>ZYofm&Z?bS8$^EU50W?d4@ ziI%%5$)dZ9`g+l%T~pqo$HyHlm$t{-(e{(+ zADA>nV_?jSEs`DoGg=Zi2!JKdd;6*xxdgbM<8?i2N|=s13OyqLt?3&`>v}!hi#ULz zNf!2_eGe6_m+)_TNH}!fBlZATIj%QG;PdQ9m3Sk@JS0tx-5_rL#OgdcWkvg#FjBl! z^sKt`9W}sfRx_)Z2clNBRM+s31Xq+_jX&_f)BK!1Ya6${94wJs(~lmLqm8MJE;^Fv z^z6D}yGa*yZevFbEK+hmthiQu7*2YkKw4%`qg_kN=l`}O6)Of3!A}+A!=DzF;G>-p z94Y7;gWK%f7U8r`+E;=)_AeVhToJ}yqxVqhyAA9^Vf6^3d_}lz^X|SIXdW9KY3p~F zK+ARi^jpFqp@pxhW%erxZ$-C217K%tOfWPHcDRx1J2nP1fTMENQFnp%^WnQrl0w+& z$NQQu*GV{q?7{OcT~kDZM`3V9SzVj0uMD|AJRjlFbrKI0Pd%ZB=qMMBPU<#_2aa;E zfWX-{S>_bh^mJBZn%H}E9iz>1&sW*}?j&r^7~zoL`{5A|@UzD__`NCV<`>_6$6n33 z#I4&ldpJr-w>b}sh`1sOi@s9dGhZ-SHfpS=9%RpY+%+kf^l|6+IJVUWxPY!(YXf5VTfLF*pD;d(kf9GE?iOk{^Q z?t{R6gfiE6{h{q?)l7^Bha5bffW6=Lc!JB49F)JPH}JD@-Mgl@d@lpvE#+w*)3sXQt$4EJ?=fA=G*#@M$Yd1emx%3tg$Bt-fpQU?CVb% zwo|-Gj&1skCx_??W)mOUevvFGS|{RyI~n%F1rbTa7o1TKE?JLnY0S{#n4tN5Ul--( z(K<2Wn}KQ zZJGI+QM>RqN7lR?u~oDPh4JKZ9eY-f$93E^jlivuqgp-fz5(nmdXqc@J^8-k{b*Gg z0qT?>dgK*Yn(H+fKoBSqj$;bE*H2TABjN7FQ^ZU+{FP2zUIDXe8L%cmOc_pq& z%K0%#c3P5OWM1!am?`>ny`J2=0f*riWvz8_0JDA60bs^b6@^`{Mh8iqeU$FPRnJ@v+uQ>ktu&{EZk8%Z^^#${S0IndrCW^2|O*$`5>Y& z9x)}-l-b|_C@aCyt)3>uVn5@5N^u!(Yxs)JFK)mk7e%!mx1H>xG%L|Bo=3k^p2(B- z_rMuDW${gy4EuZHl5gMT^}*5+??=9()bEIFo;88H*tbA3T$H8C9&OxP!+RBv#p12N zi{;*oZIeLh%nADwXh&Ff>Lqm-9a^+9tBL6OXARcnr}3Q_zaoH@1YPy6 ztr%C-hr9(OhOZ3BGQX+LTkyL(V8vStGG{;A4*0>xopD5gDV!adSYjJ zlytNi{7fM@X{W@53qOMv=>`jyS%PAb+q6iGgvSZ6^A-Kon<@#nVY5sN8xa@#Q4V{1 zGY8TQQkov;{Om2G#jqm^HK3aiMSV$sx$406WO~L*&w57GJX$cneO#r?)IyXO)%uC8 zIJ^aXxQl9m6O{K$Y#kL>c;eb{1-7~70zTU?KAY0meD}ybtE^$%s))4YMpXRsZ8hcf zU^h*xr*U54Qn(R)%_(|AV|K4GIX<6P8a3mE_G@au@@2K(7X(VYD!%l2bNSA-X2fej zd0sE)E#K9=yr;5>PCSx@)sDS!;zW=H^Z-9LG#Jl8p+AG|8KXE>)y<3!povA*3*X|Q zKdW4J5|A)$J#d_PEFyh~J;>*i9W<9sAE+nrA$qy*OS>TBKSX+9WN~Hk zD<-(Ar)xFDzT|5Ym+<60`e=6<@X+8%Ywj}~?9V*@E(0;}c(U(223gbGShPedyoif&C-$!&S7Ob=4H+K5+X8@%gwi{Tr ze$Gj5Pf7B^FBc^{ksWbQj?=E#-wwm?wOFR_>K(A%6Ge9Q4rAx6C)x}iw99&~w&eSk zX(tW6E$$jrDa?1$h^ODr26bDK7}aF!K~-tDFzQXL>_|&~HRQZ_C;g@emv|8?%IU;; z{l_DF#pvA6IWueZv%*~Zl{5pax>to2PO-52Q;!c!D?EE|F;BJ&tB#2)w~#Yy%Hh-t{xW>FoXB(=@}kC#Ex~W^I4vg~woPyI^EK%Fhv_1@@2{<< z)PpOgTcU%o#_nfx)z&6f8umkdj|M;3tmxb+^)1x{&BtA0ycXzj zS4G?VQ;uKa7E8u*P41!Bsm53?p5XOe2zD8e=SlM5ecWI6FlP5Ia-%$BuI@6h!Xw|) zFPF^gjiX6pEIM?=k4_#ZiFB|ure&fts#5Y`d5pAO5bl^Syb{SP-G+l{!@)K2mtVn# z%?f?6VgSJoa!o(?l(L$+X8)Gt8mng1pIMjji^ZE0^5~s*JFGqn@bkZ)Rk1z`Za=ev zyUiEJ9%w9D@3!9IjK?H)$C)%E$Dc;#U=x;pKm z!yH7p^_G)dZAw)n$Vel{Kf>(}?3JgzfTq@j=av&A?OJu5XY^{1(AeLjif7GzwKJxt zAz8Q-3~#b?p`Tg7y2UGjhY#%sA1v#a&z7GB=d|%*k%I1(@LvWyudz~N^66KlF1jh& z)TTa2BS7!+_Qv!^x;q6- zbAQEgDJw?*Aw7RMTj98rRd1OS^zNzQ?0{njJInW(-K#V%oXl0`k4spw4Y@hP?Pv5I zEOSo2pm$#~IwU#>+>L}YaJi~)bWhhkd^PiXDJD$IiP(o?@Ov_MXg$n=$D8EwMQHdw zJ46E!@q#6fUGDKkb$h(ni*^t;8L^4{42FA1nb+gmS)2etC#mme`VMM}%I8YM9EQ;t22!)~^9x5f)t*y4}SoNKS+M={EL3 z@d3uMxDU48_dE^|$>rB}Z-|Z%W5j!Zn!AWvtS@g`L zb2PqFnz#Wy_uz=|s+`}yCs;SEqwL+_3*gjYvj^W2MqR(2)u>pTqSlK?$A3i)i3A_J zHyYkZ(ed=0TXu+QrW|zRGR)s_U+uDSS>pWq8}tExxKk!RKDaUMZ_$%6%|P->u`iPA z<5-C94}UFLM-b$zU(D+#H~o!BK^;*RD*^WlLXm!f zFFyWc#il6CTPo}C8aoA z7xk|F&Ng7Vr~L-@Ki*e=@l!wSuZJP=ksNrZ4?0&3w%IMBhg?1Uviie$Q}63j4`^tID?Wboc6+LpgL)zcq-nzQbIn>oyG%k3oWU{)6-hF zxssS)2kdD^h3RMOzb3e z$ZqcWQY?l4pB=lN`p4OeNXNsX7>{MR`+^&V{Fm*zk{n!9&FF{XF=pY4)i3?>#rTf* z*vEoZ!n||lZX}x0ttFp}cx1esgq{(02cnhB`mT-WOYF?0K0wD2H%`;)YuWB0<-T-N zvvNq87jCM*+~yNU-P&T{Yi4alqj!oco~5r)CbR}VCp9YS0sqApZwShMT$+)}FMx|C zhH4uM-;vDqx#HJ0ktm`>UEhCS_*zqImG?xU^mw0IKkvCM^}XadPQe|`Bjf0_w#;v8 zBadry^HNm~F)t&@@t%#^=ah&9@#_Q;2hP7xjNeIxJQ!+h1EW7UY#@xS*l3Y%MiWmF z@3muCg-awoAD>cGqBv$=SV6F)@x>?nuX zbIE*7Ph96N&ie-huZkcf>r0v|QI4)X-Yub9i*Y zEVPo<{Vcwtb+s4YujK0IA)Gdt4W!|cXv3o`qwFeW`%~A{f>UUa_K)!vKc7}SHm}hm zr;9H#ZYUsfEWcKdq+mp%+~*e5PDi=m54q08_mvW_R%>8pp`{hIgM4q4*Q{*oKe%`N z*h=(Fz7j=QR6KrBb>N>;PfzmunSbti-F(k4R`9!Nn}#Mjzo#^l%48w1xF7$=Rf2L5 z69Z!4K7>=&INcj4A2_J+Ut$9-X%T-(P~PDe)cjYd`0dW(k>`ukMe*`c`=YYrM=cxM zQ!8IT?mLw}et|2%V5K-_L=kvUZzfXBJ`v4dq2m%&CxXNRdh-iR4NL-t{h~LPR`6Jy z2ajztLka3SC4wL7iFX~V8s+Ed3j)S*9P3ujmzuq-&awJ4_NR)U5)(}7Hx2Hn^;aYU ze!2lUBlv{iUn#y^oS2&q{idf|)+2s}&wsrSlJuTInx~98857TtX;G*DCKycY zYFYX3?9kDl!LZSn_fo(h(`7z zznm11{#BMdyms_ch|aqNInpMmaE1om=*SQ})12$fX>daKjYtj)<$xplV!v~=#C9R) zUDaFdf$H0utF(2zTI>DvF|ryknf%sCK3=ufsq3uAYY%eq6)>(EjTWA3G9f=$8OcL^ z7;7(4A4~SeUA9}vV0Wg zoRa7C10`HP)ja)#iw>9>C;~VBtZ00XI(Id~B%s3&hCTt7+!E3bO_mxjie6oGAcpE< z3sG9tM!>vlBm5!{LN|)9{RCGrS#Jr;3JnT9-KnK+Z|5}&2d^K$2K&+05C0LexLP@~ z5Yk{6th2c=gD_C+c&mj)Bd+)`Aa2=Ub>+0eaqmHEDGiOjuWI05S8{miyly1jB#3gi47yQMd3xSWg z)~=gNES!7R6EtLm;)?p~+7AmXy~kLEO5< zSLN;359_6yrwHlFd*3+hJ!Z?7A2eAgtMdNjVehZ$eb>O3^fq$sZncKl!)n0VV&u3j zmW=D2rcpF1eVI7CCX9YUOKWeQKkUu8j8@uvY|6$X^L@%?q0>*k5XKUTJNI1>-==Id zVViE<(r9O40oFgyTk40%!JU6d8 zql}qWi>R%6{l(G`E2H3au<7#Cu@LD0!$H3*L{IA=%KKWkill~Sp3 z0>)YG>i!Xweb*frtJ9vZF2$o<^e)%gr+o!NA*Sx)bFr?tW+CzAAbSexM_<4ygtm(h zf2GP0s1Zy_y&%d8%0~Lpdpv3^D0GF&eer(rzt#wp< zRVinY;u{bhM8J>`MqZ9mZsPkg3p+T`Aoi%wQBXV%f>1Ja8~%rXX-Z9yAY>-F^l@r3 zoA4I~0P>P=@P{PE-p&WSrY794fWO0a4fvgP!e`7?Z@1N1H**U4^Rebzg5mO`ujcf z!?olUjnD}N&dxOs#tY2d0BF+?O~ga-78^#?gdAX1aS}NAt;i|##^sygB#N*`pibn#=0nc6>rRZkrM4T# z!z)@1J@Gkesqdl2>NcNy;QP`up(dlC>3Z*27x9iF_OXbOaI8I!qsZ?pELkn@9EIDd z0m*{YW_N%kAZc?w^#}>>lE_oVPt|+Z)+5SR-)ozPMFmx`TzyS_IEN1ScD-)*m&Xy} z)?u~4dWyCxt1#F}k{d5O8{@Wp^Rpiv7TU(?8VI@oc!NIjCAauieLQV-IIh}q4z3+q zX<$&tK@XSlN1JtO!uIu*AEzSP*1lt1|L9t-a+t3tPTBG(thBe&hQEVo`oK1{W$WuE zn#_vu?3#wFYE`Yobrn25#=Ec9XWZ=#WSQ4gZMWDuUU}MpN7IJoDe+J8x8POTwp}1v zMA1w=m&15?{MNANT-LZ9pF4VKjoG0DvI9y+Ua*;p24fuf5N*1S;vN@Qc9XmMNNp}1 zf1LZb8Rt7;viR^ny{#cLV2>Oi+5y#z=u8H`CUtgR!*?MyBWS*V?v75_DH+UcwHz zC}o_#aBxX?5*9ySwTB=fR3se5h?3^M3;n}I>18~+3*rJZZto0L!kxpjiixP#Fjsl= z#LqA2O>pU^FHvA_z_hm>4ZLVbN8I~nU|WB^K5!a026LPi>sQooet(I%biq+=<1oi3 zY8%Un&pB#+vllW^*Rk{R*o)&jSdZAw=ayPv0{Vj@s1@cU-W$qwgPb`>5IOBQH$@Y(Sg%qg`zP=Z>M<00S5GV& zuGljc`X2)<@-2WU>agRROHWZ0KRNNs|LSXh_U~W&>;KF5{^Ni0kACt0C{CU#PJH~- zi4&iEM1P)ohQ}u#IrXsurMpCmGIHk3u$)P|B6iON!e0%^z@nrtX>LXI~wAUE^K$yNrmU8U7# zy}RCpj3$MWDy`aPQ)R&fHfjURu2QI|gLSrCl)KQjDv-1anxJ;U)cwA5?|pYDDeVSW zU{PRY^ZuN3?z!il`+x4e^Fl|##Rpt`!s8lFpK$tw`x;K4aQcL2G@L%+^ai4<48w(^3&^og%&JbmKn6HlM`y2jHdo<8vgenG?O6HcFc*X0o(aPg_fi<+K3>FJYR zmrs1sGfw(Tnw~!C>62cUSA5c+(*s4g!qL1n{EeIp;}~UM_u8B`mm__f0~ayQ2KhWD z1~1=)DIrX9j>vPY55lit+5qTfjQ*s^=aU$KzA7yIg2QP5(}51SS<196SlTLhP}aUB zA;3>?fLB=~hT+~&L9X!Y7K!3uwrTS)QGhkQ+Ml~wq!zBN#_P?(DS_mKWBbxUEY&6A=A(FwG|MNP!__-Q~J&OQ+M6 zB3=|pNx%nb3c}KHg69*37;^IcBsDFv#S*TcNW^_Wn}7wS?<3=mCLod`q2CP2TbHgP zlJxy%2SRq_y=D)gEU4p-n@u5{LAY5|nvrA~70F5@n@o6uOQ#iBdtM@e{QRU&sWMFF zG;varXdI*@X^L$Xy4uviwUDnx6@;*?_`5{)$4RRk*^AP zkECJ`WE`}&f#wfYXN)AFawt)MN6B@R^Ofwnl?9$mcVuzv5plLuFVWDU$nub1G2`Ip>;3Qd;p!NeV*b1#hA>@Z{AY568 zB0U4>F%X@iq)-mzNnl#?RAAMmWPB%dtAetTiR55~_S4D!#`3r17+~f(w#Qe!oR4}L zbaRD5lj

1dXH;60k@rQON+qw?+pU%``)42QjdlOgxi`C(OM^9>|_EJ}v3fiV7pGPA{S}|BT?Hl4MP~ ztiUlLKub#_P$)QvFAe`yYFmd`d8{M|t(k*Zs>as0sSo&~x=u$i9@UKL6H}{$5px;? z0JDW@H_|+~g(PlH6EE2&*XewyKuM*_H`S-KT_hr{;90v#l{e!*~M3GNvtY zFRO?cBJpWMbQ(mv3;r*VD+W#uluISBKu7+H=E!J9wPga^9FDoH8%>jy*54wrHYWoH zb81nf1e!r|u9#3nO(NQw0V7N~o=Mk`ToZEiMQ2laVwDEvNd#5FNr2*E2{mZ)LbsB! zmh}zdKSxYzh|NvGMAu%k?_naBc2flnbw*#cJZfK1=QPUr=Sjj+Fo1d3)8mHXZdw-B zc4%s#Q1iyC7$2nrQ5dv24woEra$6FKj$E)*^Ez@qeWdEhb;QW#yB+~t=x}<<<(Ox| zrN=009lL#mzp6m+wk0@yeovAi@VW$YT=XayLkigJ#B%u8p714e#f1`p;_H%?_#aH< zf^aQLA0-dMm3%%I)P58k&j+=a^FbznP>`XKf_QMgQ8*3{x+ zJdyAk<(_C27Rxt44Jnz9swC5`30BxwT|_EA^j!r$gSr$D(^mY1hs;<_PR!4>hI>#a z=*MAqTt|Fl>;sv65Hbm563EnpkSQQjK&BsrOaqxtBw|@)ooCf$;bgODK-mmINSA$3 zx-8OVfy_JznE^6GX58MPNi~*(BUP*|rfMdeNJ6Ewjqx8F@6t9{IMFaWB=Sfu>%?2b z6VgOmmmUYZoS(oJfK3*QX{_Oq4VLnWX7FKab-WaDTte1<#QvHrVBqM8wJv=?cNO$H zGNY%tCILns>zQ+577bFsZH^agS3~EQIoM&;qR$}{i7;eB0TYS?vC6tC zODGkT;o=fAu3df)S{6s5G* zgm~?;;)+0LVsj3SoPj2TKU9++7-21dI9L9)ORCo~^oSmykq1}gwM$XJS{DfBTp4nT zQdDX%CgM>pvNz!(qW5uaj@~V7A4~!U93;%{h?IG*^B+v@`xpSZ`A#R(C~NI<6HNtN zddeuahGyYY8dh)Z3c1u7K=qi)1q`zg4B0vmaz!SP>(Y>FZy_$puOcAHuS#WJleUzR z@OAV_-)ptB+t5c~ zQ!uP<7*-4j^H&Vy708Sp`cqakmfT(&_8{DuHtbKOg#(vsZ_(QmsGIsri{x5^52Mtr$Tuv(#2)?;D~h7(4|f>l6TFvWTTHkF)x6IS&&O`Zt#b z;YtR*ey9VmeU7$;WiSp1fqD*e5ubZ3 z$|l5=RsxcoyBa~ob@DJS$s;%ek|ct#dkKUANxRiR7!XLifiNHtwtY#J=h)9ZmVgTe z%z!|)8_0GNax*939R|FE;HX494VVETl zRuh8J`IZat^&%a+0ok_#CadTmWA?b6z%-}OL4ypefk8NniI!OG;<=s*F(R%kp~KS> zCMCJmM@`ys1BsY0BVi)R>!XrzoNnDD4=)IC6y@BB5{@=uun)E-prvqB>P)0z9>Pem zxWERF7C+HiACH;`ISNgbJp~eokt{q3hzQMqaHa}`MwRWP2p3@)5UfcUmP|sbOi)T4 z5u5>mm!x1bYO<-H)&-oAqRrT%%^3O_p`X)qb3!*~>E;aGoX}OU=YR%EUTb|uC#gu1 zicL~6Nh*?rhb7c;Rp_dgu4?G2LdQcB(w!5!bC&L$p*tsZJRBn3d7(RR>CPLv^FmkC zbTy%?S-P5`s|j6QtIDXLF7$OvUpMp&NHtbCXQgS*k;=Sa2&7TfS$-j70fpeAA-KpK z>x2sdOC|)D41ufx>*rcpxb~3cm+H*yN(bGXUX$=RrA1GeLAa{^SL-xPnzt}XVa0|8 z6)eT!EzF|#0AQttqBVS$SejeZDvPyg1V|ir^!GqCs!V)bsG9_0BPlN%WtSul{C<>2Cz<7h5%gg2v^zx z(Wed#bO?4l5MelX=mUk#X$+Rxz-lv*7saEVAm?*14WQ7i;cIkjZ_=%gh|6IZYZfW$ zb%a$@fhrL&N*O^;q7()U5ax!f0%X7dPY2u&|d3RX}|RmDI#bpb4TLh$bbSazpphHKt}SUDJRK1K6N#V>>QF1SN6^znm^mk=&yO+p!{S z!>K1XOd_YKtUdqWmA#1V$`H63v_FKcfhmYy{(qZgyAMpHQN&H};rsB&xzkZQ>zhW9 zn@SML>t@iN((Jvc4$NnuZUj@+V>?`<5Cy!qsoDbuvvyS3^E9* zSj4!$K**eeaX|%s*ei=(GomTj!mxf@#+ap)eaE!k@gTe-t(O5^19u`S2H0)y7&WZ; zkBEwwKJjx}!-}85FyCRC3K&SgT6suDb}0>p3#o999OSEj2!$bAqR0rnOz>zP19}eI zYMsKg9mC;{bm7-1B@=K!48H(#2Akb7TFjUcd(5LrRgXoQ8M8Md#S2s(?a#gmq)Z@b z0%;S-m_XJ9*aljcZzH$mHz5bs!(3S|ok(C!H;W}E_U8Fu7DgYq9eEb(5YE3PS z9KECZKvQ3r`d~oDrghE}N@MG~g4Rt1t+!z(y8Odn`EC%t!2g$j63qIr+hF*c6$@4P zLfVNDGn<1TOb0W+9w^r$?XO|t4VE`_HqhK^QlF_dgg6XJXIqojCapDGm67BHG&01? zqR%pNM;tB;UW6k1l=OdgGgcBT`RG{=h7+;r6G9ZW7|Nc*p+lK^I-U2h;`AOD6S6)# z<|bE+D-56*ngFWBkqvH~xLc^@e`#sZKO3WJmgmh4SjrojDr*k8J_HVEo80Jzzi%1w zRQ!Hunsrofk=-`L(IFgdy0R~)t%y9gAhDkP81>T9>=dqrEE;p7$PF3GnJ3C1$CQe+ z%@LbbBUPjnnEK?%97p9GHbH|NIh@ti-I-PvuR#`dw4#w&j;;|aPV1W}RfmIp5G|sf zQASc{yI2NHO>IuWu_YUc&vT20 zY9~R83vkt35#^{CW~E(XmN4zI_H6`_`;xk_BDMf!Y-*LREEBi%Q=FSOq$LS|UGQKtcn|<+(Tq!w#5(xgWt= zA$%Dp$H8%&`GB0auCR1gqnjAD>pK8a;}a_#Y;em9ho0CL!+gru-qQzV`2D3bbYq(qkBYU3WW3`9lHB?U* z#yoaTbsUO|13B8!D@#e7v^IjhO)-B{EVU_?+!RZ1ie)y%vJeIb?I^qCgu)Xr z3IKgp3;l8J^Q4+_Ubd!xT6|Ro#!DK`(_mal31+3pdD>K^=sL<GHQ zBTb82xox^pgxl0|%f@+IkV*@;Tx4&q0T z?eE6*3&+KOkJq-WY)rj;e)?a>zIG=a`={Ue+QXmu=6Bv&{?38^l#yJ%8Xo z|H*$m^qawxYv26#@11D=PW8`z<7>|^)ZYGV*Z*jLc`orsKW<tY;{0ukLKl83rpM{UYvDc4US}VEP0G>_&eYI-H*iGz2(=u zom4MT|MQEV%Q5iz{Xco$^GkFd zrt@w(+vz+`=lyhc(D?wJope4#=P^3(p_8RUA>v!;6zB}nsnJ0bfP?bIDKZr=|1hRx z@K?m&cKkgr9n@IdaFx|-j>VgC#Rlg?wI6%UInd0Y<>d&h!wDZj%*P)_d|b_7_r|6Z zjojSSAmK&eD&Vkm*=x?qaES&#Ar=xGOKYF^kpphdGt#pWs9n}893I$$k2u&hkq+If zc7?FZQS>Sq3<7?QAR0_@0INWu@FXbAFwreTdOae&&Jw;AF%uq=i;zg@hS!{m2wsUo ztId*0j^#iWxd?HKEZ>ZxYr6CDtWS?@3`Y2MuQ^X8y%9lf8!?4QN@U6Jf;K!6(QcTc zIs{2kB}Bk5p>vTi$<8pVj~X(J_&UpR0}98PXimfH5l0mgK9Wcdkxc3fQECYZ6(qpH z5gp-JiNug-HHt>%ITh zx@c1PO1TN2i%4;GMv+!X3O+apijY-Ll@b>2`}iE9RAMXVc8oq1RRE)b4U zp)M+96H*}&_@Y6I0D`olTrx-zMUdyHmRoFaFahWE=mf*sEm@wJVN(t&?t@%ofz&Aq zxu9;b9ugSV(BU-^0(L~J2`iJwWFv5v zZ$zv_FlkI1go*4v)hxC}CXnWRn;~gdBICNyig68yrMToKrp+}90MkNN`*P%sxa2pM}QDfY!c9rhRn!-=&0-#V8!UoCw-=K#W#;(;ngQ2!csu z-$@Q?bmC4^O#|FQEA0>#WJGiV^(;rITFDY<*0e#3Z;HHCg-Dl-U@AnInva-Pg$Pr_ zFJUS~SSCuVLWE@_7~T>|A$XTo762@dK=LxtOHW``RG_meHTeY7s!bn?T^|ITgVoYi zD&ZQP>vXI&7g!tE_L-e2xud2`wsEVoP6olg=8QbvkSVOFyJ@m(EY?FP#&bhgrIr<13%oz4zAU3B{BJV9rW&Ip}RI%9Ok>71lB-eS zA=T{;;dZKV`4uRCSybjQ`a?R@R^5?Kz%(>16Vey)-X(NkJr`qZ-(YZqB%XF^Nxkl%D%4x#GE_sXvdp?4= zz82tZ8#mN=uZ3&M8NhMSBJiM?aj?(B8C)hPwm$2_2+wzLy!pv{$7Pphh$iey9@?JFI7MjFOrqVi%lws2yXmAF%3x)uX*7=-P_IvQAe+XyV|h zsXjr2J;Y)Pg4u?fP8O!9JKZ)gF=9$U^dVo&jfJKOyOXERe_WVq)i}7l}$bh{g9g7 z*22Jn3vHq%;h;1&s5%VfR#x9ts4N)D@l0BQID@HbZ|6l4P=#xFb0;9&MK__a733t#X+MVRxUPEFKtbk| zAQxGxU?Qg_!C)-$psI_B1Me!bmx%)x>@a^Ij&gQ7IbS@C-$)A%5Ch#2r3oKH5SfxV zhqFvcR6#+ofPyAKu(B0(1`e2!vI4~f6+WE~D%mDp7ro4( z1zrwOh*cp=+_HEqi*XtEE@b@>RDnYZju90UD3xjr4=T1DO-W=EOz5GU;$(D&MU=Cn ziSK7P=5ruJX;PXRH|aA@vrdSJf(IEJEFu_Py+_T-6$i-(XAhDeG|udlS5zLmDwLpac}W6`S2+kNf*9sf+_#cu4dbmZii9egQEfh+1~TC#{NFCU0?n2K zgZ7{so@|pMt-PdUbP2~KI^AVnyN(h_x=t8*Ts##O3XGL#n3riP5%ptYVVwWB2oDA^ z0B9H}9b`u!w2C1<30)`U$vG-FT!q0(N&+iO69H?;1@u=?({K?1qbo?l#)Tpx8m={U z@i`1%#d|ovNs#{)^d#m9KWAB9Rm`pmv#av@i`%Q(wI~?k*KCl{Ek$@Mg4eFIsny;h zTzO!A)pEY35?qtii~xPjqOU77nFKXPfX3>>6!nHe-w-q-K;PigSzMy$Rp{fQvl~$W zSkdSW1n@u90XK!q_pw~cSG@(d&Mf~|6#rL*KO>;Wb03rasw`Ka38l~)DnU$Xcyxs$ z9q4B@muO)vtmbHlhR-=OhnB{0hu;A7NeJ$%7_?>Whk=t24mphDQH-Pkg*1*;1awPB z$1(y@{a|v-LUc1&lM<|@3!sF7o@OjXx@JiUK_2TuN*A^;f_Pz!>c6em*0u(^j^-D(|}@2qP%v zT~n2JO_%{xCT=)0EdhT^&*TsI<#LPuq=5m5>RTX~0+;=($| z#PFC~eMCj*p|%{GFir%1_(u}PZ59*@l(aLeZW|H;N;X`$3T>NW$gvJ+>1Gl^>Wodj zRiU>^YDR$GYSHZqjnx{MGXiwGMduYdFK9-9&RcXrp$md$1n7cAZ&&E;f@TD0jOwOf zI~00{pcw&rhehvH=$(RQ1n8X>-KEf7f@TEhE{pC{=srO+0(2h^k~yr4X|lP1^QIOq zp5Z~Q^is;hdWA6z;PjwidU#(!kJAV|4Ch@~HToDHZJvWF&q2v^(AFti1hOBrl!Tzt z*hb)*(ZaV$Mr?4x22b1Im?WK1d}btaQAOw>w;`L`h(e4AmE~L?wd}?PH>U{aB6xjF zF&jy8fDl`!Wjm^jP(kXa>A?s)~Ghuluu+)gXRX<^>b0!jj?DJ(rCJ8hGd z6hcucx2{0+KwFCHbjGG)OM)SogvtZqOk+jjCBc0a30Ol#BDSd_5pSqS8)HQx7D+K@ zrC>V*cCImFJWaSSW560RMr>2Yh&N>B#@D==)Oocp>kv%rfU+Pt^=E4^P39Dx?yzR8A@{_eL zwk|q)3kyvk@jwM>R(JQ9IEU0Fzn zx3C+;wjMqV3|nZA2(iJ&?U*$`n3a;s;l?#^#_i;|`kBkhd^f!Ie)F1Wpm-xyFhlzQbL2drJYEWj;s|QF1i7p$gx?Dj7#e zIBrA~0f^%x-9sc+SK~!}I0%A@Zf2PyPd%XCkoAFpQPSb%C0F9i->`K*ehIHp>qj5%0s z!&Ur_nB;SF3oTl-FzR^PfuJI3xUMKn=R5#Mnq(^6QmXq)a`w(IH}C# z8&(H*r0uM5*N7@p&1FM1A@#gt!`~)N@eV5ORhUj-n3V%JQPJ%nyd!UVUf@P4WHcd+ zuw@r%@O%LkwdSj~d0TS14YL%kgt7}|DWR~1Iq3x(gY-Ivqo@huGE$Z=(9~j3lm?Zh zP{IT!PYKAed<#}#bm8Tj(A_MI^xOsFh(q5qPZ;ye5jkrT^y=4tC4P-{)Y$i~a$OF!xwtxa)>O#UdkFo11KW z0Nx?zLA*lf!_di2!~6NZqe58|$l&gd;N-X^yD3H^JWS$Z8pltsJzSuDlqZwIT8Dv0 zo$;u$;a04A(nQlLEV1MdZJQggv|iI5tL(Em*k$pam17vmGeG(#0&5bAjcp7Fq>14u zLq<59VJavuD&ovSMbP|kNTDN1L~w4QF#JhHoM)&A4;a8mMX(EXaVnxBxGRlc?)WSD zRkEP=U&VlmpCkfEA>^mXG=jfN21Hs9M?AljHo%z?wM;QR_-w26v28=;*FBC(OLYL^ zu;J#V$D_I6*Lv`r1nDl4-X}d7Fd*qJs^k}aNq!Mv{=kf~+wvEmRQIgF3M*5i*lTf8 zn#0*l42HUFjPsTpr{U5o-l|1m?js=|e!W0SjvJ*c9y(zg3>SYTQx2x0lWJ1J^n`1L zC;%=5+;gS%QSjIEz`ZD8vWD|`#pEjHA{E-e>Yv%OCo3s#viD-9ASge zV%(RBMhzzHzLK-)*^Jl$L1JbIu*uk=qz9{BFPzr{JY1%BWxzqB!0k=AxVXuR=xFoM zxI8b*A7=4kWcIua53Bsl76e6`ykU=@7fk}FLJ@|)h4K|Q6JgMFsq$^`Ff`GF2DWh> zAvFZHF^qR^aN3$J>!YCJ87LchYB1mobYxRmk zb1M-@1Zca(sH;X*uL@eNqw03KUst=w`Z+)$>>tHHWf#sWQoF*{D!3uJn zp)*IP0wB%=kZBHo*(QKsT=tnCj*VeYCSVQ8aW^7@UX`4+Nmz1Yo5+9_jgbZbTQGRn z-m>Yg+2C~>ghke5_lga!`kD_+wFZ652G`PpR<=zGUY9K26iL>^y-mo{8!}` zVL3FpY(xaG>=`JmfZzl3AKeiPj$2~8)PHUyPcu2|ew8*GQlty*D%ix?Du!Gm^ZI9T}84R1_j87waaqNc)4F^n2aOICiG!pd?Pt0#)V3WhKez6g=HsZbuvjdy8L zTfkh%f{a?gm<`(gfr(5+;YA_a7VxaWdyC!sruOcg?Ct6; z7R&uzlkoRWmWu%Iot#8yy1&17vfS6Zce>KFs?b|zz+)4v|1KnMvJw4Msd-nA1 zo9Zj}^-h(0rzgwZ`$|*$N`1ZMy;GB=$-Ywmbazi*PiYDglm;gE40J(~eSM{3f2mm9 zSK8Op-!(n3ue-Nvy0^Q(*u8hEYu{vXy1N^)4or6M+1oQPQ0(j9)6+9OFkOVK`?{wF z_U_#?wWnAf08hu+>pG9@Iy^jntXe!r)HGGv&|C zFMMWbcCj*7eC{x!4t5!7RXK%&XQ%MN&5Y|Lj+W=j#l^DY6kO+B2j(l!EzCYMQ!Vs# zb?@0(*hD?%Iv+pq-onDOXREVk%7wYv$%W#=bA{>og@V-e)cjoG$!DjhAxq&yI_dit z3#DSUSeQLqEiX*X6wf|WW`Z-tDzeX_ef93@?%CD1tIKivTxYk6eGnR%E<;ySQ1H}L zFBAv2t9ziYudlbiR4xt_drG~NdyDv(tLp@#2X@`lYGv`myLUe`Tb+4!a@W-SncWpOUla)~m?ctiHfPW{&VcLm-JkES zC!ed9k5w0D&pz|PC!SiEKZ9_&cxM0Nb7!Z1xpeAO_a4XTcb(p+%he;&feN#Wh55;yMQ&kmZ5-xw-Nbd*k9R6slaTmP=2~ zmgh>RyFd5@I1QhD_Dp%9h>}u*9<-hNs}d@c90TQ)5Su zj34Q_AJmJ@z3XJgPmB$pI)3=$hmZW~VMm&iK!%PSe{vLz$XEbRjUL%Q-Vi@{czkbP zLxSTP5G6po7uiO6Jauqlc!)_hLr9Zzoup*)Z>4r?7K6(V-DzY37 z4IewU|LI0CpFA->e5`>5#oCm`@ZsZ!lrkj8V$Dx% ze{|^J;r*ir$4^*AKH@rC8xcpw#t$9=k>lKpIXe7_;|Grp4?PGoHoSkFm^RnRjqZPP zc=VLzV_}vat(97QtHDd?%OgTn_vM@GML?9|~SM-Q<`I%-lH?D0cS4j*+K>geFm@S(9IufoE1j0a~;isM&J}{1&WBZAy(cmb?!D{&o9#G*q75;aekGf9(foB)1^Ji3# zTPze8%75)X_Yv3G`-`Qv{Z(efzkSDBy!sy;_s|$;=zoB}v47a)jNx{e`A03a;g2ua z{uH=BZNQO+kKY>q9X&R5>=Ro$22Q-VzW<;6@ugq;#J2y2!Paqh&&;1G@5bbCw!E;L zGtcg+#hKzl?*b90A^ zvuB+%i&OIpvE;(d<)k#?-%0#W6fPpLC8nr{E4dM-e)R zFNq&U{2<(?5az#c$N&5PrWP^|l;XrA|6_tB1jb_>Hr@~dF1YfWxKH8PC_kXc&(Tfe z=_vngmsI1x@`H(s!1IH8>RXmV;9QUY5pRw|CVt6Mec0`OPG1t5E|gpS*N0c9(1CN^ z8AV!tADv&P=7;0ttCxVh7gfK256r1g1QMsdfvdh3%`bb~?{@M-dHkpyzu3+1WEY$# zk#ZXU@so@EWa5YL_cU<)_ASf!eu1jbPx2#llv{ldSbdI;U*cqr)WZTKW2vz+z>8Vf z$F;otVBT5CaTq@3pHnip${ zIhgjvn9}?&D)UnqiCtZ)650yC2HjYXe;s}-dmUxCm(RVm&{zi_boL^zE@_!;ef(@< zpVJGM|MfzvMYJ&$rgjE^<$t|^@{M*;UTpUu+>0Kx7jXw)&Se|ek9y~)BKe`wIq4n$ jH#tmOU>W}I-`|i1aO9E!t8p{n{tdDHJ2wA+XyE?<8S9|N literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.dll.meta b/Plugins/LC.Google.Protobuf.dll.meta new file mode 100644 index 0000000..69a3b1c --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 936bf84da7b20493f8d63e9bde84d56b +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.pdb b/Plugins/LC.Google.Protobuf.pdb new file mode 100644 index 0000000000000000000000000000000000000000..1178218ee24ab061efffed1f0510a92eee5d8abe GIT binary patch literal 142288 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 MDvRdCC-!Uq4?cfuKL7v# literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.pdb.meta b/Plugins/LC.Google.Protobuf.pdb.meta new file mode 100644 index 0000000..e141fc3 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: efba9f7a5c4724821a7f230093a37c7b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.xml b/Plugins/LC.Google.Protobuf.xml new file mode 100644 index 0000000..0a7b479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml @@ -0,0 +1,9125 @@ + + + + LC.Google.Protobuf + + + +

+ Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Retuns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The index of the buffer at which we need to refill from the stream (if there is one). + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + The total number of bytes read before the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The absolute position of the end of the current message. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads an embedded group unknown field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Same code as ReadRawVarint32, but read each byte individually, checking for + buffer overflow. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() gurantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Read one byte from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Abstraction of skipping to cope with streams which can't really skip. + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to a by , + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields whose values are the default for the field type (e.g. 0 for integers) + should be formatted (true) or omitted (false). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + "foo.(bar.baz).qux". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The CodedOutputStream to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The coded input stream containing the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inherting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + diff --git a/Plugins/LC.Google.Protobuf.xml.meta b/Plugins/LC.Google.Protobuf.xml.meta new file mode 100644 index 0000000..bed4bf5 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e72836b204495401394f366a1fd26983 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.deps.json b/Plugins/LiveQuery.deps.json new file mode 100644 index 0000000..b49ba21 --- /dev/null +++ b/Plugins/LiveQuery.deps.json @@ -0,0 +1,111 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "LiveQuery/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Realtime": "1.0.0" + }, + "runtime": { + "LiveQuery.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Common/1.0.0": { + "dependencies": { + "LC.Newtonsoft.Json": "11.0.1-beta2" + }, + "runtime": { + "Common.dll": {} + } + }, + "LC.Google.Protobuf/3.12.4": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "LC.Google.Protobuf.dll": {} + } + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "runtime": { + "LC.Newtonsoft.Json.dll": {} + } + }, + "Realtime/1.0.0": { + "dependencies": { + "LC.Google.Protobuf": "3.12.4", + "Storage": "1.0.0" + }, + "runtime": { + "Realtime.dll": {} + } + }, + "Storage/1.0.0": { + "dependencies": { + "Common": "1.0.0" + }, + "runtime": { + "Storage.dll": {} + } + } + } + }, + "libraries": { + "LiveQuery/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Google.Protobuf/3.12.4": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Realtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/LiveQuery.deps.json.meta b/Plugins/LiveQuery.deps.json.meta new file mode 100644 index 0000000..e12d695 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e999074424d8144b0b490c101cfbd329 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..b798e892fc979baa599cf10b43165e080cf062e9 GIT binary patch literal 22016 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

5Tjb$!QsvdP} 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

$74V&*T5R_a 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 + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..392488a --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 40130600bb4dd4fdb853dfb9a5cbcf14 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..e58f979 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "1.1.0", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-1.1.0" + }, + "keywords": ["LeanCloud", "Realtime"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..a67a548 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 056115129a18a4308b4724aa7a3f4156 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: