From 2b10e3ef73f75ce391286f49cde62c5fa8829559 Mon Sep 17 00:00:00 2001 From: "Dr. Mikholae Hutchinson" Date: Sat, 27 Jun 2026 08:29:01 -0500 Subject: [PATCH] Add SwiftPython Studio example app Native macOS demo built on the pool. V2 surface: races four scikit-learn models in parallel across Python worker processes, driven from Swift, with live charts, worker activity, and an embedded console. - Vendored pool bindings (SwiftPythonKit), the Studio app, and studio-cli - Self-contained packaging: bundled Python + numpy/pandas/scikit-learn/scipy - build/sign/notarize scripts + SHIPPING.md runbook + app icon --- Examples/README.md | 3 +- Examples/Studio/Package.swift | 104 + Examples/Studio/README.md | 54 + Examples/Studio/Resources/AppIcon-1024.png | Bin 0 -> 601584 bytes Examples/Studio/Resources/AppIcon-source.png | Bin 0 -> 643903 bytes Examples/Studio/Resources/AppIcon.icns | Bin 0 -> 1328909 bytes Examples/Studio/SHIPPING.md | 134 + .../Sources/Studio/BakeOffViewModel.swift | 217 + Examples/Studio/Sources/Studio/Models.swift | 115 + .../Studio/Sources/Studio/StudioApp.swift | 12 + Examples/Studio/Sources/Studio/Theme.swift | 27 + Examples/Studio/Sources/Studio/Views.swift | 271 + .../Sources/SwiftPythonKit/Bootstrap.swift | 30 + .../Sources/SwiftPythonKit/PoolNumPy.swift | 7921 +++++++ .../Sources/SwiftPythonKit/PoolPandas.swift | 8174 +++++++ .../Sources/SwiftPythonKit/PoolSklearn.swift | 19717 ++++++++++++++++ Examples/Studio/Sources/studio-cli/main.swift | 156 + Examples/Studio/scripts/build_app.sh | 140 + Examples/Studio/scripts/bundle_python.sh | 59 + Examples/Studio/scripts/make_icon.py | 62 + Examples/Studio/scripts/studio.entitlements | 14 + 21 files changed, 37209 insertions(+), 1 deletion(-) create mode 100644 Examples/Studio/Package.swift create mode 100644 Examples/Studio/README.md create mode 100644 Examples/Studio/Resources/AppIcon-1024.png create mode 100644 Examples/Studio/Resources/AppIcon-source.png create mode 100644 Examples/Studio/Resources/AppIcon.icns create mode 100644 Examples/Studio/SHIPPING.md create mode 100644 Examples/Studio/Sources/Studio/BakeOffViewModel.swift create mode 100644 Examples/Studio/Sources/Studio/Models.swift create mode 100644 Examples/Studio/Sources/Studio/StudioApp.swift create mode 100644 Examples/Studio/Sources/Studio/Theme.swift create mode 100644 Examples/Studio/Sources/Studio/Views.swift create mode 100644 Examples/Studio/Sources/SwiftPythonKit/Bootstrap.swift create mode 100644 Examples/Studio/Sources/SwiftPythonKit/PoolNumPy.swift create mode 100644 Examples/Studio/Sources/SwiftPythonKit/PoolPandas.swift create mode 100644 Examples/Studio/Sources/SwiftPythonKit/PoolSklearn.swift create mode 100644 Examples/Studio/Sources/studio-cli/main.swift create mode 100755 Examples/Studio/scripts/build_app.sh create mode 100755 Examples/Studio/scripts/bundle_python.sh create mode 100644 Examples/Studio/scripts/make_icon.py create mode 100644 Examples/Studio/scripts/studio.entitlements diff --git a/Examples/README.md b/Examples/README.md index 204fda9..f8c71c1 100644 --- a/Examples/README.md +++ b/Examples/README.md @@ -4,7 +4,8 @@ Runnable samples that complement [docs/api-guide](../docs/api-guide/). | Directory | Purpose | |-----------|---------| -| [IrisDemo](IrisDemo/) | Full SwiftUI macOS app: bundled Python sklearn service, Charts, JSON boundary | +| [Studio](Studio/) | **Flagship app.** Native SwiftUI macOS app on the canonical V2 `pool.` surface — races four scikit-learn models in parallel across Python workers, with live charts, worker activity, and an embedded "behind the curtain" console (+ `studio-cli`). Ships as a notarized DMG with a self-contained Python ([SHIPPING.md](Studio/SHIPPING.md)). | +| [IrisDemo](IrisDemo/) | Minimal SwiftUI macOS app: bundled Python sklearn service via the raw runtime + JSON boundary (the simplest "hello world"; predates the `pool.` surface) | | [CoreRuntimeSmoke](CoreRuntimeSmoke/) | Minimal CLI: `Python.run` + `sys` / `json` | | [ProcessPoolSmoke](ProcessPoolSmoke/) | Minimal CLI: `withProcessPool`, `invokeResult`, `math.sqrt` | | [BridgingRing](BridgingRing/) | Showcase: callbacks + **`WorkerCallbackContext` reentrant** Python↔Swift + **`evalEvents`** generator/progress streams over the pool IPC | diff --git a/Examples/Studio/Package.swift b/Examples/Studio/Package.swift new file mode 100644 index 0000000..a72d706 --- /dev/null +++ b/Examples/Studio/Package.swift @@ -0,0 +1,104 @@ +// swift-tools-version: 6.0 +import PackageDescription +import Foundation + +// SwiftPython Studio — a flagship demo app built on the commercial +// SwiftPythonRuntime xcframework. It showcases the canonical V2 `pool.` +// surface (vendored as `SwiftPythonKit`) by racing several scikit-learn models +// across Python worker processes, live, from Swift. + +private func parseSemVer(_ raw: String) -> Version? { + let core = raw.split(separator: "-", maxSplits: 1).first.map(String.init) ?? raw + let parts = core.split(separator: ".", omittingEmptySubsequences: false) + guard parts.count == 3, let a = Int(parts[0]), let b = Int(parts[1]), let c = Int(parts[2]) else { return nil } + return Version(a, b, c) +} + +private let swiftPythonPackageName = "swiftpython-commercial" + +private struct SwiftPythonDependencyConfig { + let dependency: Package.Dependency + let packageName: String +} + +private func packageNameFromDependencyURL(_ rawURL: String) -> String { + var trimmed = rawURL.trimmingCharacters(in: .whitespacesAndNewlines) + while trimmed.hasSuffix("/") { trimmed.removeLast() } + let base = (trimmed as NSString).lastPathComponent + return base.hasSuffix(".git") ? String(base.dropLast(4)) : base +} + +private func swiftPythonConfig() -> SwiftPythonDependencyConfig { + let env = ProcessInfo.processInfo.environment + if let url = env["SWIFTPYTHON_COMMERCIAL_PACKAGE_URL"]?.trimmingCharacters(in: .whitespacesAndNewlines), + !url.isEmpty, + let versionRaw = env["SWIFTPYTHON_COMMERCIAL_PACKAGE_VERSION"]?.trimmingCharacters(in: .whitespacesAndNewlines), + !versionRaw.isEmpty { + guard let version = parseSemVer(versionRaw) else { + fatalError("SWIFTPYTHON_COMMERCIAL_PACKAGE_VERSION must be MAJOR.MINOR.PATCH") + } + return SwiftPythonDependencyConfig( + dependency: .package(url: url, exact: version), + packageName: packageNameFromDependencyURL(url) + ) + } + return SwiftPythonDependencyConfig( + dependency: .package(name: swiftPythonPackageName, path: "../.."), + packageName: swiftPythonPackageName + ) +} + +private func pythonLibraryDirectory() -> String { + let env = ProcessInfo.processInfo.environment + if let explicit = env["SWIFTPYTHON_PYTHON_LIB_DIR"]?.trimmingCharacters(in: .whitespacesAndNewlines), !explicit.isEmpty { + return explicit + } + if let home = (env["PYTHON_HOME"] ?? env["PYTHONHOME"])?.trimmingCharacters(in: .whitespacesAndNewlines), !home.isEmpty { + let frameworkLib = "\(home)/Frameworks/Python.framework/Versions/3.13/lib" + return FileManager.default.fileExists(atPath: frameworkLib) ? frameworkLib : "\(home)/lib" + } + let candidates = [ + "/opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/lib", + "/usr/local/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/lib", + "/opt/homebrew/opt/python@3.13/lib", + "/usr/local/opt/python@3.13/lib", + ] + return candidates.first { FileManager.default.fileExists(atPath: $0) } ?? candidates[0] +} + +private let pythonLinkerSettings: [LinkerSetting] = [ + .unsafeFlags(["-L\(pythonLibraryDirectory())", "-lpython3.13"]) +] + +private let config = swiftPythonConfig() + +let package = Package( + name: "Studio", + platforms: [.macOS(.v15)], + dependencies: [config.dependency], + targets: [ + // Vendored canonical V2 pool bindings (generated by `swift-python-gen --surface pool`). + .target( + name: "SwiftPythonKit", + dependencies: [.product(name: "SwiftPythonRuntime", package: config.packageName)] + ), + .executableTarget( + name: "Studio", + dependencies: [ + "SwiftPythonKit", + .product(name: "SwiftPythonRuntime", package: config.packageName), + ], + path: "Sources/Studio", + linkerSettings: pythonLinkerSettings + ), + .executableTarget( + name: "studio-cli", + dependencies: [ + "SwiftPythonKit", + .product(name: "SwiftPythonRuntime", package: config.packageName), + ], + path: "Sources/studio-cli", + linkerSettings: pythonLinkerSettings + ), + ] +) diff --git a/Examples/Studio/README.md b/Examples/Studio/README.md new file mode 100644 index 0000000..ebebaa6 --- /dev/null +++ b/Examples/Studio/README.md @@ -0,0 +1,54 @@ +# SwiftPython Studio + +The flagship demo for the SwiftPython runtime: **Swift driving scikit-learn across +real Python worker processes, live, in a native macOS app.** + +Studio races four classifiers (Random Forest, Gradient Boosting, Logistic +Regression, K-Neighbors) in parallel — each pinned to its own Python worker — +through the canonical V2 `pool.` surface, and shows the accuracy bars, +confusion matrix, worker activity, and the raw pool calls streaming in an embedded +"behind the curtain" console. + +```swift +let model = try await pool.sklearn.ensemble.RandomForestClassifier(n_estimators: 300) +let accuracy = try await model.fit(X: xTrain, y: yTrain).score(X: xTest, y: yTest) +``` + +## What it shows off + +- **`pool.` canonical surface** — `pool.sklearn.ensemble.…`, owned remote + handles, typed results, method chaining (`fit(…).score(…)`), all `.handle`-free. +- **True multi-process parallelism** — wall time ≈ the slowest model, not the sum. +- **The commercial xcframework** — built exactly the way a customer consumes it. + +## Run it (dev) + +Requires Homebrew `python@3.13` with `numpy pandas scikit-learn scipy`. + +```bash +cd Examples/Studio + +# GUI +./scripts/build_app.sh --open + +# Terminal demo (same engine, designed output) +SWIFTPYTHON_WORKER_PATH="$(cd ../.. && pwd)/SwiftPythonWorker" \ + swift run studio-cli +``` + +## Layout + +| Path | Role | +|------|------| +| `Sources/Studio/` | SwiftUI app (bake-off screen + embedded console) | +| `Sources/studio-cli/` | Standalone terminal bake-off | +| `Sources/SwiftPythonKit/` | Vendored V2 pool bindings (generated by `swift-python-gen --surface pool`) | +| `scripts/build_app.sh` | Assemble `.app` (`--bundle-python`, `--sign`, `--open`) | +| `scripts/bundle_python.sh` | Bundle a self-contained Python + scientific stack | +| `SHIPPING.md` | Notarized DMG runbook (download-and-run for anyone) | + +## Distribution + +Studio is meant to ship as a notarized, stapled DMG with a **self-contained Python** +(no system install needed) — see [`SHIPPING.md`](SHIPPING.md). The `IrisDemo` +sample remains the minimal "hello world"; Studio is the flagship on the V2 surface. diff --git a/Examples/Studio/Resources/AppIcon-1024.png b/Examples/Studio/Resources/AppIcon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..bbba6e8cc052d3d5254981dcc682fc0c93ac2c85 GIT binary patch literal 601584 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

6wE#Mx)|+A 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%0AHzo<*uaOr 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

~nglch&ps^Uz^|gZMK! z4$q59JT-d2-dDa6#v6IC9#MuVDmX7zD?iXs>CVaso=#Y!?$T1p2E+Ph*^F$Iz-s!! zH*C%MJgSUUnI5@{C{eW_WOhDydY$o|IFi^u^EOMZ3XS}f4HzPl@*1|ehreu&W2&W( zD;W}6h6SHrmDRYGc&c@-*+5s0|LYG1v{*8KEZ=LvWh<0t^QuJ@0~y@tm9U_%IM^$O z^E^*I&_N3}hrO&(2Ws9@<=WS2p*yb^H>P?WV|Tw_4b-UN$LH|coP1w=hc*$_Gmb!5OCBA8FG9b zjqBI|aKx@4F!8X~AUC2YK}M~NOxuc$hZ1}VAZSZ$odwC>X)NF-qG*f#$9D7Bk`mHl z4K9RNM?`pNT+6$kIvb4$U1~(^KPu>0p;?s^>{kT1z>rOtDw74K+KLXyV9DE3py)Y| z-KtPl_JRjUW90*3+ zW9b@0@JK>`%z4n&Owb|$&tPYfuW244YL)c|KeQ-?{6tw8H9fj=u%P#R`Wn6GkqIqF zCu!I(-kqsL)%0mLU(juvOZvXAyP4kk#xrzwIj6~$0~*fsT|UJ)4&&{rm{_0lS_>#0 zh~nQxkmk+!2$L1Y>T0y}iS1e69?=MZDI{sh;#fmFro?!+Q8ctzLROy3pGE7NFR52* z0QCCwK*nmdz2iMh%**{0|ABas-!p z2g$;r{E^+5h&R*txzrcP?Xu$0-h*u1@TuncBLze0A;fBJ8&gVn4jHto zOedae^G*DZZA(WKxO0Oc<&>NEx7*lYGExO4$p9^K>vcEU7{O%<%^evTYeR~Tuf`O$ zA&SSyg?M$1x*Uv5Bt~EIeh5rce(g%5qzz4}Io`H=WnEdSin@ixQ_I;7jA!@8h!g!H z7~=xH>l#fypF!aZgDfZg3`QFm4A*i&)RY<(QXp)-=^BxAABvV}$!hDX@GMi9-IHDJ zWtq;=3A7JP@R@}1f4u~OtSv5_O6${K7!`27Ey<6?q8y<-7-VcJ<1w^4(6PHTO0Bu>Pw!BAH%BU^ugm$=bN<(M|AL*+HhgSnHV;^caLt`h^mF}tE? zRT;4hL-z8vtlcf;+8MtqgZUf!tc9AZzX4(8H>l++4Cg8+Ll%g*Vp!=H1vDo`l#t{ zfSZ(bJG~$%KvDT;1>6M#jo*wkF3gKuZ_}#fu`-aR#s#7S&8PK`gr;S$b;*q&5X+0C zWs+2MZ{1a|glCE7xjHdnJI911+$8pXv1~ACrnrA|f$w_5HvaUxF5q2vkI~;d!0g7{ zk90EOKZv$d+*!2>v4M%}Q^@^%^gbQ{5y_0n2afsFByFjvGlAt(5 zu;YCv<);I@R|BOHMRpYw8q?wGDw6(wZb><53LYKwR=7P~;g`O=i=TUHf=O=+qv0TX zwsIM#-YC!grOg%o?0e7S&%XaW&J7yOu20aLxskBEu8z859>pY!#Z7f9JIEsCu$oIV zG*JmzCHwZ2CVF<#-BD^vXa z&+g)vp8zq&T<<1q z)je0;1_q9*bBB)i&DTyFFSNU3&K_H|T=3bw&e@^Rlv6qSYugx%H%bV6uE8OZZj_2+ zm{F1%6e=hQj8+{6_$X7_P7>a4jJE{ky0O2SE5~adWnuH$5u{M=&Sv7UPD{;!9+vZY zra?+WD9*b$$2GrnV^WNaWc>Myk18YL$)Y6jy$10X;D90 zGhR&6A`&VaC`SZ!JKs*O*Yi3t035R`gaqkl1}aH7lQl1Y)=~gSac>pjR{@T*tK?DaIu7Mn_7?j{AQZ`%KUi^!tpIV8JXq(l414D-@o(c*$6;G2%aQ=k3Q#-2sWx!*FB}+RV_5^okYsos@x)q(k%Tj zp+VJp4H$7XYYI;dSG#ym{I28UDn!~qKdnpK4V87C0kH|q^!K3rl{_75nBeVq_3#64 zyMXU|`+3~E-oyOH0hW7nj07|}kR&gJjY0P>wO=WSmbxt;@OooXlR&9bn2O}iB)uA%lto?SbV zA&$-We^?B)9vXVc&!}M`OjR)c3-44JBs4GWbZMN{^NK3|B|8w>$}Q881{37Jy`)m+ z_4hiwpXnHtm!NRjyw^XY;_iKS8rfKl!8@~$7$ACQuNQUq9h}LA0SLM`z5c(vA_wui$m~T*KI~a{e z^(Y~=ukDbiqgBpwl2d5AGWiaU}jv=l$l-) zO;{N!f7i-&ydtf-Kw0Q3eIEo=e%8|zcq)RIg~r=unT?7+kDvP%=fcB%xe%nktt&dD z%UEIhN^9vw0HDfWP>{peswabBuEG<;JQ9_78Bn-<1cW><#UmF#BOJ&^hpMBl-0El~ zoxm&}0$vt#TpG{uk%!jsC*N@vA9!#Rr{@baSEuMr8mWjZRdVm7@sd%`y;{Aamvfhr z*Sa_ix2?40Rin76>WdG0!QXr*MZ5wx{EwGHN1 z%1h|`1UZwsHtGWh(-nUG>3#g{7x(b;Yy+#&8jwOcGl(6amz4iugYSRmHh%0o@4~}d zJ|h0u5Dhuol$>PPGPt*!%u&555MxwAr9BhVLVzZM=!3OMlTV4 zx>pe?wqO2Ee#de`NXh5*cRO#YL-+;sD(I%+8y~jFC0W3ADo-G0Q~+a?9QTJQ?_5^8ysEwLJO+=X<4qlzP|O|g z+7tRg>!=Z;kFO1{w9kFju=MgfD@84%N|-ca(qYXpc4~LLrmgc~=Yt-n6|rC2AW+_6 z#<6^37ZWGriy8A%KN}1NBW!M8L~pc)CK=>%#G8c4OLIO<Got2ahCd(GR^1c7-jr;F~e{rEB6}+|CR2i5uhp7B> z!8uMD;IOtLxLBdADjC<>WctSs&?P2&gl3_Niv1qJh0%vX`h8qAz3bdM|GZQI=7NAi zhpO6e8@TEHjO^O|Q+nCgp-4~__Ah;^*MO-OuA$I-%!lS+pPp?Sct~I~$TyD(9Y-bK znm37YTkWw?Fja?e+pSc!So>v~imq%5?F&{7FTX?QN(3WK3Kh0f?)yMe>zBW9MzS;T;w!)(bE1)%704981?Yg*ADSFKfaHD{=x>PYugwP*RV(@EMyrlz+k+@ zYBs@YITMi0N6&?g?NLOPG8s#06Peuh>g0{#Q9wW|<>W43dFviL{SVW@BNRz2m zAKd%SVZ^0{b_9?gQD*Zdvaqd8^WqF;;_iHzSC;8cbTCbl=i_JAx8(|>wNp5C{&J>Gs)rLuWmtuIQ=Re>dmriD zHc~jQDvp-2XUG$t_o_c1l;g@VqklLb3RP~q`y>tfaMH1VgM9mZdWcn%>couON8Yog zJzzfP8Kp?3u3a+3snL?1Levy1;M#S@MaE^!n4uHXuZ&iA^3s=xiMD~Rv}eZx(%!Fy z^vO|x$L~5Z035Tc4!tU$5n_}pSoF-QUVB;#mvVKm7A&znxxMwdDz@A|Yf+gOF@W-1 ztz;7;pb#?m&egf`9n6}9XVL3Qs9B(qDX31c*mTumWe8x2T_7LdTT`tU1iwc%93|N5 zdGx?Kj*9S{%?@r)O%<=9{#}n%3DuQSLQFgW00Lt?2Qs(8Q>K!t;_2OV=Cwed8u;_G zt7Btv{5+?z4Hw!$Fa^Ddi;Sn?&JJhz@IyoV@DrEt-Urul zuD8JQ<{_2`>0IDaTex2tw6xQ;<0mRZVTeRI23wNzt6-;1Y=4~EsaId8Xpa~#f>jNJ zm3g)yh$5R6OU)_g<~o-DQ9FXei@A{qMB-Yy(-oGwu}9)1y2k`;4SGrW2Yxdt|6kn2 zSN2DkkH+Zb!g8`c(rhjc@EvbDh5z>Z?!r4S3^2bk!E%;$hGLj5X?FGq7lp8&H zK0HjD=vFI8wYI7KkU^DWz2Do5#s5N%w)U4~b`7aqiPrU@ay{~eIG5c~n!HBS z(YG7hm$7l-a#nbo#k@n#Q$>1j;0SzJSG9L~M3&OA_E~Wc22!V*7YL;BnUzAL7CgFu zagbx}=v2ux9;BRqU^zPgut0xMA^<}DRqaa$A1>c(c)j$3aRa4u8OC1Kkt-(bDu-QM z1MSFAo@>U?=2Hq07{MT8M>d9PielXB5G8jO-6z-UaGe+cj@i{_y7jJc0hfOo!}IW^ zq7)Z)c@*I81{TpXA}=sYYwnm;Fan@Acg5=inIWQZVR_onH81F7;jynwJ?8HWZ7fR9+@uC z8icBJ(7o>M0+TTmj{s>k<~SzJwZyl)+Qy!Ck)N)J41cF%2p4GDPJ1mmkYWYA4r}H0 zAh#t?aQ;eYJ?LTHtgxCL;-S+E{Lnkj<4-+)2KR0DF`7=W*qfs_TVl|pGqNLK%dgie z$Cbxd@r4R;2HG}m7tbPO)u$E zcE(r?#u#KWH$ZQg-_soI;M*VF!vFjyFXP>J571mW0G&W$zXT>r4DI}QnW~Ox?NHo{ zk69$pZvE^SPXL^>_nlx)yas^)|7sh~W0Te`+_ z&Tu+{acziy_xvILpT9rHXKrj`wRsxD{7#kAYmr9c8%7L`ii`7Jczjfby3^?Df?ri9!UU0` zq<}pXKCBCFb^Wdsr($VA)|477{#;T_4B!e*u{vJraOPAjy3YUR)w1g{A_=RT!HZC!i_b9ULvfg^7iK7*6QmiTWkWE80IscVcQzZ!)+Do!N+23;@H-ix!i8^b?lU zqa2yPnk?|41|GmHRIxHKD8;N!JEohiFEvy-{*Fs38Y;ax$K`Rox_-g@!RF2I8AX1D z@6>VOd-~)$Ue}2M;Fw(z5O*u;Zqsz;mor%zXjF<%x3bs$p7y=M_!u`@s9`}#t2=`B z1R|nU)2-=s)PRhD1gbMBQiQV?h^t^b_)yTRN@MB2SduHI?w)Nb+NS-e3=V8H<)U=u zNHhl#rP?jiS?N-R00#u4V~OHjX|Dp14J!JquLD*Vs-y52BuFLu*j8Kv#Y5s2fBiiu z;PzSNb?+J@%}o~&cJWK{O?newWErZ4@)2l@8Mua3Rb} zTm=I{Q`C?6LHwBKtey+sml5no4X+)JTX!yyNcW)J7mbc_!h)fSXsBR_aGry`oR1j? znsWFVi6ycRd#j|w;Gu=yQW(!;MdNT`%lOYslQ{w7< ztgqPjG_@6d>uKk?CxH>$qxY!7p04%r5WoH01pkkZ&+++NXVBl;ObEN&+)u{=rj42s zca|8AH?Vo`UYt66IZwis{aaWrX6OxvrhGbIRRx|ptNTr5L?k+;io_zb!JwmSis>wa ztYuxn&RR5#<*&+!4x+kh5H42+>T}&`%E@aOhZaJ|;y#j8wp`GH7IHLNl>1o8P4&r3N>R5Xuk}ez1Fq+kW~?%< z+x!U@Y~#V|#1M0c>EDj?^nQ0H)!2@3D}AZ|#)y@Z>$qGe27qICMT@;#KHUnZj9jg2 z-PLl766cJho%?Ry$|JnO*;}%tei)!ri=PTQuiVZIynI(aQ$@Q}iB;o)S4-_?UZvmO z4ts2gr;_)J1x5f_rilC4wQt6>O_6RZs?k`i#suQn$q1l|wb^?8Ssp|D+yM;>*rW2_ zxc@aztvx+D7ClN!`>S9(_Q#p@s>5oZ+Dzapt`!HOtf-eYv+7j*9T3NM*jgRWEQnyv z@^nKyHTTPnO|EI{vu10dX%p>93?s``4~P3ZxHOvL$KH1@e)NN9adFgOd~k@>;R36} z2K{s{IV-F!@Wpee3S<~}Rj0%jth&?HBd;}-RQbmWbFAL1MTdn%;Bah#&=w)BE zyoJ3Eqq53^SV-0tu1JF()nBNFMRX!(hm3(0__p%Te22CyYeXdXNo=>qTIj72F@u+NNix*lVFgL-`j zLkbHSnb+EJ=X+jjqY$46b)1;Dc>7H2nx1Ss;T}b~AS7=^#GYKo5O6_VwK2HmxH1^>_2P!UCw%?bSS^)-Xwf2Dht-T%hk6-06n`Uy-Q2A|^42DGf{s=b zH)+m;&?6t)Ep_OEGK2{5qUXSAq0d^)!8|^yw5(p$UYiEVnVHU%Pl|i;{HNpP{_w>E z{H@R2#^-L0vCKLDQ}OB)&8L~(#yjsB;Q#!?58~~Y`e=40X!cUEN8ckpSF#5r^xFnZ z{kINfdsCH{Zkz5~Ty+F!cm**ijd%#WN_jXNQ|JsTHRJ{2(eDKCj2&~Kv(%J2#VSLM zDS1koG#|DfQ?f-5<3SJq>`Qz2sZTd}`tS^T>*JJskqvSw6~pA%vcX_D#;J4nV6=4} z&0w`i7p%JMO1s_*$}Jm3?9AkPL;`QTu{2ucbW79 zIyanU1~D9ckL(An>BEKqVu`Li`KJ|oD<04M`KtPijx1ALhDFtBJP65!p zz&~}2@p~~|lF=$eJRG4@$Ms1L37rRB{P_o7?##Ga9yX^HGE4Zw&Bkdd2Jt{%w^d6wM>SKR* z7w1;H_+LJ98Gqx)AI68?G{WZI0hYIt;pvi zSKen;YIWT8WnhWwL+}+ol1{{(*8bxN+l;-C@NG$%&^$-=qFNX%D-aa(-_gF($M#3y zZS+{wA-!*;i3jgGMA=Tc;%RS66hJZreD>7|{>G@x!S*KuB&B<09j0S@#uvf z{x3iD5FWd4gvE^s7B}bU<&z#(If5Xol{BUT?qbaqt}m~H&FiG{PUjO4vKPEAI^s0q zag`yvHrgVsjN2Y?*6Xw~Z>i3wf3EwC^J#4v=r5^#eTUXlGlLLEDp1d4Ah}?e{5MA* z!=(H_xr4v@2NOKCw~p1YkJWOK!)o)-<)YANF+;yM!l?`QV(s(=G>azZccf;ghX)v} zZ{gmzybr_iDa_}kAX%nsmRGfcCh1;T_wreC-9Wsax=+n85It?>9vvRZFWdP3oi12a zu3Sb%xm@_!(i9ztZ|Hvk$8S}{D#L^ zNtI1n6mQ23x(xG z9?Ovcvx7rd&b1#FAu31N<-ThBiaks8M2&%byw!RWKIsz}E$rpEyb{q@c(bf^GGZ8Z z$ZZwOSK2R;MP9tO7-Diimdkt!kl`R*e~E!fk?i@wZOjjM(Ho>Rm2^L2r4m`DbHi7h zGvP_~o+Z2(98?vy3ph<`d8A7tf^^MAW0rG0=8wz^Z9PkLXQErsHAKdnF-u-zYaw9m zlj}HLClLV0>|(2bu%vOZu3&j5KofrV&)QXm<3{x3>&ka-J!FNK?xBs$n>vMnNswP9 zn8k8w{xPyh5)dv|JLFw0-t9cOD!QP0Z}?p->RhRx-%}SUvUXLo3k=!m>$&HpjrJJy z5~e8NkLR?!r+`asy$nx)hEKEgtMr#WMgDyO5}p$u=dotO0z9MvKF+Mm;Nc&!|I5K` znF9w=MffQ_)Ke1aC#H03pN#>UR>AZtN>A&owbr=u+tkzPGi`I#?+UNgCg?|Wne z|KrCV!8;z^#9;RTxH88wh5Jtn_{sN^F~TKj(TZGvvj*yp2Ud`LuDs%~4yOojx60p1 zXqpk=i0_OtWSwALyvwiS)8>g%_hy+ zs*nC)iPho&gW)<(U$`IRt@BtkB@{zCJCDF4U=OcQ*a|BUX(4?f)Mb8YphehCNP96PLnb5vi zCdDW&mLKJ3DgNiLsCaM(Hc^?ZIq^yS#56>Crcy%6Rv@NBRmO{gMRa8x(s@PR5@c*} zP^e)+BjlK$b}1`_rHsC;TzBnDmy3}ncF6<9A$2N&(yATl;L($XZeb4DfVX0X6!#`$ zM#dS=Ad(DD203|8>Px?m%WrxQ*0=A*&W-C>HZu$cC2~sBFLD#oKgCF9Fp>6cZj^=^ zU1H>@A_%Bo9Q6=Sx6*kkx%|eTwX7f+uNYI8u}NPo>N2L^dQ0Uh8Cc~#&2$f|`4s*2 zqEclnC?q$ z6#kPGfMa=`7yyp(#nyON6jf-r^-~o-Wgt&1KsNN+ZGxQ>~t;r2#e99%6V50nGL94z{p~W>A`KhVPk@y z`1VWqQy)B!v+F=}eGl_n3-k^b7%W!k52Ut3dP_-&jkIIz&dR_3nw8}EjM6}@=Wd)L zV4!$Q=QWK(6VH#z&%T34j1_;22GH690<@#fBJ0cOCJ;(J#1bv9XTQtL8_+TxT>DzB z`DkdP>7lVy$Ev%5pjG^;yme`gq2iraqd@Z35Bq&Qb!CFT{s*`4uU-X48(ZQrN(Vir z&W&;bxy##Q{4YOv55DtF8yMc4Vzx84$Obv>%k^XJsN~Jt^egsMLa@h1*Nmi0xTn6f zAC8Wqnh}8)n2xUb`qF+?gP=Sw`#|Z%#Xn%S0!)7yeUEHuG9DzUsPuXUf0hFlE~MLrBU!&WI8(?)tKRP zq_V+5ktnqNM4t=WPfNB<|3T{unVkG z)X};}38jdFY-6M-9uCDfp6Qq-r$kiIGrX73QD~amV%+R=8nLt*E%#e9pgle!lJVqveXkP(z%jcjqkg_>Z@h142hq;tSRwZUPYz0|_8Bo! zj*-g)5gb_#P)X%E99MYvoI6(22YZ z7rQ`>@1hl<5{?CDxTS4mu);drM(3Di92B*pKurT4bS)G??&%^4@23#&W;(?w9N_!k zzK*~6p-Xtj{bP(53(T%eF~7Y4W&#qc^TTUeM5WgASnUos)jQ~Ql_9jlbHp3L=BG03 zai8p00(VY`j{Z|#Er+7=d+Un9os3BoZPSXaQRNv&yuSt))zL$yY<6CpZxQ!Zn@g^e zevjU$hp%3r;ctB6I)3H(1x9P9bHTr2RVjdIId5?JR3HDtAG?U}d;2Dad!qcOW9P-0 zW8G!c&t#KrOS+KYNNIpABc#j_3k(DBb}K&Aq6x2?sL=5(fyGrTn0#&~TVgH)s;H&%Fa+RuyW0md6=aOUzO z7_4n$KA&Zt&NMSN4dGfCX(3uqH|M1)yq28NJ5v{{Xsv|-J|%Fe%#ioyYGa1Dkffy zr(^EzQ*{)GEHnqs0QW!fUD!Bx88=>g8O?ki`lyPzwI>k`<=tc`%e3rw$h5E#9Us}G z_B;IW@`S%3&u-q)e|~ZQH!pmyW~!{4@M)bmQySaZ=v5?qMuF#u(jV6 z{Z{X#=;X6VOj;L)dB|zyinh=^|4t_;$Uo)2*pA*{(Tu4+4jY&|aG~}oe(rm#=Kb2? zT!-b3wYN^L*Yi3t035T6t$nqZRjqTikjdV2WBk=~WYt&Z8;t;N(PV~LfQl>hQNfIY zr~F>}$JXRv(GHeL9O;dA@IjVYDkc}J-9{i+_lv*wlyjwxRc5jGnP;Q&a`W7nIp4UTj#Y zHPX62Y^aJMc3rpFekEK(@z0!m%4= z)V9O`BFq-+q`U_>C5AkIdPI?~V>Z57Bbg0R!MSQp)QW`>K=Sr=O%?1Ml^c6eS*ir! zvU4B3VGqyTUf?G`brZk%>;nDK28M&=^$@@_f9Z?Ao7{95Z>&oS z5Emy6tKWX-&pld+`B3C#g`Cdge3D%5vP|`pSX@CenGy2T*$d3)y0<-bn)YR$(V#p; zKHoMzNdkW5MNA*E$1mmKD8DV!#AeJ<5_tI9=sx92jK_G458 zt#;xKExTo{Xj)NWH4MeEvpg%dhw?`2i2JDbvzI`R@8Kisjsi^fU8S5djZMihVW{IPV`4!SE$|WWXDVkwte!3r=+gV_ zeP|gN>bWj$1)4=Q(-f)NgAzT&CRTz%$iOPDj~G@Szl&ZoGj0SR?c;Kgtys`j7J(az zL8E8#PjTYsG>-WMcW*TKo_B8Jhu(P>@3^~C_T`=|ku6=iYY)=b9#a{_|0f0;H`A)!Ya06{4}iR;uQUpW$$02cT6G;g9k? zuNykLi>wd4#QfdW;-S+O3S+7I>C;_(?vw4npXMX$5G9O1hw`U;#8`M`ufae5{2qSx z%PU-6oxxyzBq?S|+3+-@W;Vyh=?mCA{}9j{V=+qw00&w~+!n3#_44xmp!DNlCspKL z!-G$J7uHXm#j~IOEzAz57;kP+AvE7mU3=RV=){M0e%J_E+K2{u`Mip*;7L@zP|E-{ zO2^~WoaWJ3;q4S2-&EdWemA|xKJRt#DK(7nI?>Qy`A+#eNq^_dZ0O>#`AIf`KMCJZ zr$D4tTPCt>;2WdCQjJJ8U0vyoGC3M=gE2CnRY5ubvL1X5Xc`(b=U#VPw2{h`hyrGj zVY>RY4XMo}Mu6IoVB@n|Ku#lHUlF_1a@s$S#u(>ol0wxVU^1Oz?cDu%^LPAdpg+Ry zwO8`#8~s5tqVhcD(tf2bsCn-To+(?E)@Y8LD5rEN#t;fyTS^Wizpe{)IMBS7ucTn1 zJZ{JDne1Z&O>M}thh*)gzrC1VWQql&4u%69-oA;+-py=mEQTbjNbJhLQJ8pT*pIsZ zh&<9?Ti^a6{p!-9ZH!`BplLlSpW|r|%%iwn$7a4(6j!vc3#C5keqoW*!k;JC>wcXW z0FK#ZUIg=wv*)w|>H(OgFT{#pc`M8Jkx9EWb}x7oTpC`R-b;mu!qJ2NuJRH$wtBx@ z`By+y1JSnU*lK2}HciiQlt5I}b4E3VjI})h+?OsdPV|IHGn7W)g0jez%Bn1c^gj9f zy7k65Xd6e%Vq4nmnefMLIyI)04gyg*ikcm@*;86drviA>uY|D`Er!*+}p$uTJ&S+ov_x z**3pd{>dvqiw0FjC0$3ZDEQy`SB*|m5N^QEjcNL9JYr9|lY*3@8797w^!wqchv#+| z_{mS+#xFcQMbjT+ZJ4}HDJ&p8G{AB($6Z^%kG%gp{=&DN!(IIanpFQGJuffHQR$ZV zt8+&*qAkqJorc<;GiJX&i6u`m)IQKiqXLSJhUpipvQHr-RSf_GeqnxHbyJ?+<26hD z;|L@kOTl);S5$7$i5J?%Qm3UDTb{o)$IpL$A3y&za1CcLTpOErGo7ta!bO)k9b@Cv zC7inO09L(`hZ(0yQRS4Ccm=WP_f)Ji^Os&W0`&Sr-1oL`$Enlj@YRq12BwF%u)eWX zv@2397yv5}ZyUuF!g8t`^DM4;5}#xqQQpU)(ewsV1l)_;mRIbtE6SC6Pb)@{{}lP= zi;dpJ)#~-x$g`7@W-^~tH0S@y?_ysA58)`pTA_=2O>k)Dv9+v!ec3BjWFsBn$VLjs zLyk2{{lC=_a=T`v{<+EeAef@pzl?$9Zn?*e1x$N>uFyV=OLz~<8NS+hpvx%Sj>0VW zdE|^5iFq#5m5fm-@&|Pua0#*nq!FuK$sX z_2fEs*NFk(m|g6_tQ7_J)YeKRS6+7z$|$CLLk1nq6iMy}E03(0)p?WjDl!lR0aFzj zWaEJ=;lzKds}{2UTtz?A@O6B3*t>(WmSRqox?TCJj4bhHL)W$CG+I|H3r853&n+uY z(Sx8K{9;}2b$Ug*=n;XB&u!I#n$TgCG>%+oCz8PAG@%hwGh{A`tRxSTtq~uqE7~+> zDh?H_dw57@m@z%cz!L9TkI6U!L%@bvXL ze(qEI_|vI#;PyNG`+=^gqSffI+Y#VcCQ>u1@5-vSC89!2BmR?NK*C6u=G zS56LV1H&NnYHKZf3mhbIf8%?d&aGVM`uyP>8KCp5_j&F&>x(7Vw9ZHMHBv0-{9R1< z(0;^{St)P7C=v4}DfV;Rw>86uA6Ul^JhqMZ+`ECZ{Uzqt4sf_PM{kz=jUuP3vDV`c z1{pGHbk4O@>F4N&GPF2R(L)oFMaiibg_ab`wxZF#jF!Q05S8oNKt#(X7#&&w)PSLW zPYa?_{%yiTQN-@c>^Hp6VVg|$&i z2}sI6(DVj57xmKC3P149Q}_!XIEQ=JR%ouxit;avsjvspVD;TrW}j%}vlD^2%%RP2 zD<8NTYORHb{aMX}{Vtre0=03(E@)`WlXklnShxp9k|n zphesBUprX1nhcMP$6pzJIaPw@qALoh#x?%85?E!p|6S|J+7A*G_9I~jb=I5g)&k5` z)Q@&5Wk@ZihgdYg!|(qSc;o}$i`zGEj;snHyNo;ThDHXJf| z`ZTd%@qN#yUO2C8^G`D{2){H`RC(2nhT)H1XB6qOSz$05V?LW;ws)iK9r3iYg04Re zXYiT|_?}J|sBo>{<2=H~NWVo~QaM$GHp;8&sMbjP8j}g#Y~FY?`;Ul;+jz3O4ED+O zdR`|6fMa*5nBoWk3YRwK7)-sLptapY_a zkt`T3Lu@TXDuJXQ9;G9=ho5qt!#QF!nBbvMi+j6K>uzA&^?CI?MrPt2b_326HE$*X zp{jbY14Ffz`*%!3JKm|TI!iJ$)5nVLRJmDQK%c$UwLs_PQo*D8y-HsvTHD}YQ$+cw zv2Sf9Tzi&0Hz`VBF>kP#9p*g$$L|~C``>sD-~R9>9yr}c|6qdY?HN{6@%Y>LDhqtq zoYf1pWvJm47y`vUvj!OH3EE~ATA;`pt*&hprnOi{8H7RbA9qry$)R8GLC2sDCTk^? zJF5tn99+o$!=uP~nw_XYXAogQysH$OfXE+m$H(F;e8;QCe z>@xm+s}H#Pa=mhEL(l36BS7_dB~p&oA$hBd@kKvq7OPS{e$c~bU!LOUKE03MczFYp z(K(DpBh3)DR#X1^U@*$c|9JBPmMPair}Jnc27CC6@~=EQ*Km=F;#ukM(eM31J{cex z0uJ_f(Yrdrxl8xq%^&_#c=^kB;mS8Yhr`|LdEE?#sd{%>Dzc_!)7)% z-zoNe&EEYDCc{E>L8ukv#$eriwNe)sPbspOqsnS)wyx(eA0$Jl{q)~ra)4$v#{KX5 zDBkoPe-?*(6I_4kB`jw%^hO#|UbWw`A#(eC6tB>-i_g$QEm>5W_xGw3C#4rfj7#lw zVM<#=tO&Dks|;JgP$b{W^TW{?2e)3zJY+B|kw{t?S+QeKs@41u`b9{;D$>|8hJ?9e zQd6Pb&{xH_#8ZxVo^dNrLd%fIzgLl~K1xsR)0X1GHYEzrkPZ^V*ajRg==ur1XZmWfYgS43UXW%agff8oR zW%^X0g?F2QCe^(z?P^4a4#?LGRno2Uh<)uafqY)N0Ac6f_E}wIs!i>dF~-ST!pXB0 zKCRUOnr4Z^*#xJ1GraHK9=_+%ZG7Yn8+h}XAvT)@4zEwp95y-Je;`KzTC>y*4hUha zX!Y+p!M@k}Y7JK^*tYv}WTJy3u`XekCOI+G)@F(B3jUWBcSv_}fse);7;jz3$NiO)8A{%2QRLIz zdFM*1z@S6~r2mQWuY~gWXZfCduYaF-y3ZB!I!oVxpR;PIg;*hbIVs`m;2 zo}Ly!46Q|PQ^+~Yr;VMww{hJtZOi>0c5Xb@(y|!G$ryDV>w9@mQ7xrbQR_Mf-~REw zm1xIQaI}Zn&J`^7Z()$q0m3?uc*3~5qN^vx4yD$ zLtUd`+CqP#lF#vO8kOYr4QdQ$-?zBY$#opA69d4py)^ty7;QLCgDi|yF*V!&hLEH6 zU5y1X8i18?d5o2zz^p3tTm72<8Id6ietlAMZ%yAVH(^m6U@N9y~dmVYHm%t!L->u1B}<$KSGv zw_hCNES6Xt9AbZek-h%utwlYk=8c6CO+`7LFCL*2jWAvCwk z(sXOx_zY5<&OvD-oLsN8ICK9A7m-6fB)KdE7q1I+NJ?3oE(QA%LJEoi^^DUrlG2cY zhJX!GI#bU7b2p~=yPv;}pMPeKTm3C;tPLc8yo86(=1ZI(1AqF7ZT#qWoWmP72UuO7 zVl^q=Y8!xcj=U)H7287EihIR5NUsZgl;>u}hN2@DPQI6!RD5aS_so1d)>)Wj?NId6 zTFdDlnXhVks>y42wOOq&>i4iSU*T7u*~dS6a)GCAZ(uRr!rE|vWyx}APrINn*4j%)c$*@?Qz5nZfQ3ag5rQ(?i*caWk(JU$pHg0gHxp$*Vx zLOfiN2%b`=ijZQXj=XJ=7_GkQeO{2Q)BsS7;25Wz4Ag=!MmtgV>l^gXY!$BGUrt&t zsg25;S)uZ=#|i3E5cys|(oJb^7>UPjEft1Z$R#tt4weqVzQ=+dzeF_$u^)NeylK}^-&R;6-%WQYaSNpxo zXryBy#!l}Kk!tyIi7raN4Mw@Z@O1YIusB42H1Jo_yWLQzT(6$sqp&VZ4BwZ!w}RP1 z)`{aU+LPvdt7#Za5#`@bqgf>~ERBNe)D)*wxiSu;-Yw2`=&oqzFy@??@|(3KP9IEDJ;}K4l5La?HIS4JJd$y z5(+A52*ES${c&O6X0UbMms^&X-3-?hEAEK&JUfT{%yrIr1>EsD{eCd$ z=QmHLGhi{pL#I~w;G=8!Badw3+wNb-<#XT9oGxx{BYAZU2&es;2wjqGK7hgaMklIS5FDVKq9T}bsF<1AO_{A?D;2%8I z;Q7NX4A<5$8uasgSmo@j2rMyL-@^LodoUQEvZObQ{K`tZD)w3fK+cut&T1jR+;+e6 z{PP^7Iw57h%qIu9`PvlovuCk=?gAcs*LUOmy$|EnuYC&FpZ^jLcCO{)%|;uW=nckl zTx2<>Fzg8_A{S+s9ve|Q8H}NJo7dP`R_h@gf!1No@wrxc7t_YvkgW^G*G))22=9=; zvaw9%A{YD8xhCw<$yGX(Rq^;p79K$%XTy~{j*#aBsiX7uH5jPKeOaI8R zaIBSe(2ga4953gpYgbg3sxd+v@>&HnHdc;ETQoV5pD7zZJ#T3>)kC#$#kjv2psKn# zWfCMpNow-s=zu=@xqe22#bgh&=>li(eghtU@Au%YH@^?_MGx0rdI{5mR7lgwmPaAS z3+ueJ`_#=f+xM1!23iM?b7>=BSCdid81NbW>B{e6tNph)n_R~7%cKEnU zTZ=lh8q=`+;c5vaht+Xt&WQ@_*@}14(ZffL_vCuLt`h^mF}s|hdMJ|$I%OW^`)Jv3 zdCPR;Nq%MsOXByDCpw1z*f~?3wFSJl^zu&5)S-kkLok4(VgKHzm?x~^Pp%+DMZ)`T zitdpnN6GW$R0#rXL4g-?1n_2^_P&>AwZNSlDhRm{xjaX+w68I=n%kMcsuqybcSLX% zln`Uc)yx=(^PEHjB}Qm%pTSUV4Dr8mjw~4%IP!o~HPm1gD(be90reHt`cmVJ%yAAo zOp5<}hWUJkdpCghKe~qReslxh@#q@vT?f|o=a^lcp-H*isX&kQqdco?r4uhQLFp?$ zlJiJO-F~Q6W(iD(_XMXJffDjY6lF;P92XRToVvy%M93M;q`oF-@!} zXBS}^OA016_FBExU~m;VV_w5*(W*jX=D9ANEVN(GNkwPn2PveZejv1|A@ao#lm1>? z@8N};GyLoqCiumtfmau&u(rOI>6`D-#**QtX)xZ{#`>Ad7>rI+7^<8Gpkqs6)vC;c zJ^o5{H3*al0sY%((Pv&>cz$Z4pZhS!?u~1h9vl%9feT>)F&>xPs%*JZtA1Xf;V+j7}xTl zKDk6+jc-aS2J4PajabY?_h+d~QU+}+kdKTrTN%lFF#zTr$ew&{M>?N=)ReK~k}dU; zWgn+gl*O87!mG85XttS<&gGZOv}UN=V&u!T$a`Xt4P41Mo(la<5BD%w zJB526`!>AcT_3~gyC22={sC^hb|owSd7Vilm4Qrao#cUhRty(Z$I4Ep_B06{fa6*X z*)QwmOtov9wHEuLX2CzGJ*n8H&h?;omv!NvC>cWG1HTwnHGM||4Fo1jn{P@1V!AiWnJKs`=`;c)d@?~7r#G>iz0@p zz%U=}YXhbuVk4A1xsJ(oVgUHh=<*= zQ-)iCx@Vh@o2z@lifsT% zcGQaAr|(l(!EMxK+v<)A6RotRlA#%u6wRwLOL;XD*JL;KK7<9eDu*xJa`&7J)2{C zeU8JOCM*6)mZmvY*vrud+%K|y$QawjyCM;)zdOfRZsa8%qD`nUPJDveYHevp4<>N) z*=oL@%*%5mXlh@zLBKsPM}_-Re-s4Nw=4D{8e5Ts4w~7A#4B3gD=y>{6;?p1L-mat zQ~b;qcks`jTjE-?f#E38BIW!imYlSgYb!=HceHvY@+x`0Pd0rP89;INz;VW~9w z9v-)ZSq8GU>OJ)Q#)2{(<#n)D_No~DYP$TV7@M?zd9fd5fvBHRUPgvp9e)$=W&9gR zBeYs1`O@!UIO^joSEl&cPaoo+JvYSO>J-*DQb9cn6(|5dE8a_tH%{kc{`#XW-xHL3 zp7(E77K##NdHx~<%HLW5Fc}Goa#8dX;p5DKHPv1RThhPt_>+QjW46F#e;?cDFW}-E z-h+z|z6IBxe+Dmot05QDLpBCyojrRy^WAZcH_lu?(TUI?vT zJRTVld1RnU3rZAu!6yc|g0DQwJgY6v=5!4#gDZ{cpts zkADRBy#0gdk51#pm8-aY{VL|usiou?_X;`gQ4y_~Ui??gB_5O#=Gey@1$A^bc=JjQ z#gneb*C{J{Y%+Us93W{5j`EA5b^B1vD64BAjXT#$SYopC3Yy7n42b8L2_i(OkO3~^ z0NNXbk$pYt__b)CvlZvx)!L%H#QQ2n$oPz~9>MeG4zTDHGH5{cZZraK3$vx-eWVEM3uBQIXZJ3| zRr{+GCb?~9PR_(?OQMJJ7vag6qm}dB62|Q#OQNwt-p|a;<6p(Rf{Jk1+zQo(|PfG7#$T3fqheC3GeV`6~=tcmV&k+4kd2j2+ zq@%9n(>h*Sm53Fj_}=&p22s&aSM-L=wo{^2X4=Exc_Rt zL|?qMMX8ISn*RPsxnRMr$DP7BO^`=T&4ppx;1u3v=P9$1O6FJgjaH(jw>yb>oh#k! z{O_25T#Yu4hu++^tLz;d{ld@kx-}1*_NN#lG;CYpI4jPW&H6qXa? zPkKJfk7k9@<~BCZ-h=*V6RXD8w7%cMO3m}Fp2u=eHVCBi$2FZm>I5)RHDsLkXPTpA z^ht_QE`BAE3+diwF~{!ho0v}aaj?6M?X%}`;gNS?`|d|^`?cqA{iUzs)=OW*%~zho z{?4_0YCwN9#@hN;HU^aQ&`X={v6c7gzM;;P&s>3Q3F0iIea_f;ZYQ#Y`78$aWiQQ+ zhGzQ&#?p1PLg}4_F0#HX_^((13QyL1xzJjX2_bqxBjIJB8r5e}c2oq^l_92=%nKL# z&CeA>cshUGz0J~|rP)zriyci$X$B<}Arw`#cgm$Wr?C(zS+6ymX_tuTPCv02QYezlp6ak`lk?I}|JTfj# z!N}AhqlT`lc=<%Bq0r>EMonh-dkyYH3I*p9hqP1i+?2+n6>VAOnAWc!>ONUwxVDM; zbRU!3uL8?yi4Mx^Cgi=Ez)Hg`fo8n$!i$Wq_Ni4XP4nhgL<9l zhViHw-P*x;potNdX6UlP(}UtM$3aIS+AE*Fql4w-dR?v)1Hdu6lu;Eq$D4@niV8{m z#+5P6L&~Z#h2Z5UMflWvGI+b~Gif_82p4R@2tlZ^%fJvs38gaVs7y(*{$&Il8gT_k zbLO16u~DRYTV<86;ByCaa_>M4*|$0i!e})QO;KCl@~&L#^de7@&Q2?qmOS>3FfnR_ zJtJYB!uREiTs$x5-*!=_Qzp@SB;<}TQH*|InmgoVqYvi}muY8ESc=6ZFu!bo!-GSN zFvVNW0e|F8r|^Am-Nsul4zQJSyLYBo?9YMeDk~MaNdfhxvTdnK?*d=fsdkVxoH+lT zp1Rh`Af>q4n>>&8l8PP^HTFn&GH+%2sfxcUYo5YkFN~8;b6BN29yJ8|-WAs)MYZ(D zs))C=ifRnLExH@k;cz5_(vOEHYc1uhK67P?zw`NB{EO$8xV1_i*^;B3o*(x6IGoHe z?j7RKzyB=$@*ll~%NxM-YEk}&u2b8)yJ~jnmQ!O;D`bReuTQ8EfRR4Y!HlXpH#T-! zH#H3_BZ&V}#gx|IwR6%VZwc$RbyOF7eM)~-`JXR=&9zjGe}&)u`ab^FA5QVRS5ITP zeg^4y@MMH3Q&_z6%Vv@H>H4X2*f?_;{lQxCaBE(&%(oWr(_{aV5zxZysU|=&hNkZd z|B=s9KC?x;xrZt*S2;G&l!APdYd2aeXEvQ+F`Zy<_cpdppTXAY3pn%OJ8|(1k72rV z4X=LvOStyjlQ_8bA}0Ggm>f>AoZrk|)l@WaI9^9T{hsR*zvqN& z;UC%K=yP0Z9LW8wKxJN`g%U;4)sSR;H(TXGEJ|%0VgpnOXSafAxj&UEL)#-8_tc;h zWHF6Hmv1F+OhjL!rGQD@By2-axNb>H}%%9dt!h}nFS3)ZEoIP06+ zxb)Clarx2r;-0s@A7}4*2(vkG<>f25dF2|W`+M$i5@ptc?vrc|O1qLe(!UH@3?W9o zWlUprq}Ou7Fk_0wG-68PwJ**Qie}O%v9w zus0Vz>9?FdK*z>e^Hq_s!ZX=m;00*PeHC+;=Mo6==wN4fZu4Y7A~ev#Kq`>yev?kZ z;HEq)@9C&5p#3yOl@WL1hUo&nvTTkJmAP+)Lv&QEzi2h8y`^WLL1XhvA6_ zC&*9>nf7pB7PO{s&}Xh6d&s%HF>rVS?FJ4i1+INJ83bg+BAC+pNnVOHhQsL$z4;su zZ!YkWN5}Z1Z$E?g-M5bI6ra31!D@d7%vZon#B0LYiknH{74dFf+b|U-CnNZ+>ADVaOHcSPlBox z78vzr_zNF6i@);6F5|%s;Na>6!%4|4EsDPb$)KPZpJ~%Js!QE~rxX&DZ~^t8sP~kV z0Ku<;HX3abXsYz&qI+G@I;=Dub+sm34UF+5y4G#tdCXmwe@?9pFkLS38(-eTPk(xb zFYIjto9Bv$JuCl1=cmbc!r5QNUB^b{~WOutYT3v4$$+D72Un zH!Uz#8l3Gb-;fEdczBpQDT3Qtud@EM51B@+@be0!h#-3%8&+9ej(69Z| z<{vDxS*u`UwkSk_DTaPW{=wYlNM_h^c28LzInS!yu8v$CB{cS;pfZ-JJ4BMOb!q|2 zQ(*=|htgz~=tl}?-k(`nZP3gY`R8&m$7(gmkv8jF+cd!9 zT{t+L;kDPU>L@3+s5r*0`#Z1hh~2rjbA^(Yko z6wdF0(2N{jm&b68kxdMLGASnKBqh-HoYrcp7K(Ya1LmaPll&N_@c#uSH(x|^aHB*i z8DB1uIHt5yJBA%8h1NawK9}x*lO8LL1Ewa0-};*#uJhQ`k*Hf(4W>%a*7Q}5G=t1O z|8+W3Wvr?73O5ecI?c&-9Ig`sz_GhLzb7d~s`MtPQ;f!xQ>;>!&p#z&faiGDNB=1h zqOe^8As$xG_o`rEkF-}Mc1S^?skvb)V3fg~-mhcxutsM(QTY#130g=?o{5aQKKHyn zf}}2J7%T8vC;S2XTMNPkqlmQah5(rr)6boYTEu{W8g8DIeg;kEnepn*3%F@TK~#VEkv$!`jxFF9*DyyXWN@y9z~nqNRsQ8j0>1On4V)b|Xm$_L>@9$43H8q-=*ZdTpPr-UVg3c6nYwK>VS0L%T{;1y zCCymyhGo*$z3GccZi?`*J?3CB009bz&F>Rz#9+n2zTU6OgTv5HWuTsSo7j%Q&`*v2 zut-d8q$6z9_h3}`UMXKNYy@pb2GKsY{pPvl+I3;QmD0hDXjrqo zl?)!5PDJxa%9wFiiX7m%41KZnDDUj(M{7>&36mF?NXSO%UxcqwmJ)(=j+BLag$=t^St8s{_TJ)F8k!^upRL)Y__BDbo0s2w_kk*&14UY*#z_H0cMlK z5?PQHv-F>9(pr7oj$_OJr~;VMSxENscRZggyTyuB)*?l$N&Oj{b5$aMuiUi2Lw zyCQ2Ur162ys&1jZfCG$-q%g5rQ58k@udM|H*d^bkdE!HiHrBDeeGa3IEeuC% zSlhaU3-`Sh7ax8z&fa}LPM^J$4RAMa+``Mxd;>c-Z)1LVnD=R3J~?uQv7cbNlqN%U z9lE^LW`9)2ffW)h^WN8jotZ~?>YJ|JuJHfDt~^J}v5}?#2u>EcUE>o?$Iya+g@?un z$c*PKg-wluWH{8|Q^5^`(HOJC9qiwH3Cm`RK`KT=jMuTOr^VS^O5y3&QVaVy(wOC+ z(kmF-WKGC!vOT2O)=vR&{^yD~8M3N0Mduqn7mW9#j=@K0R+z^AJu*z-SI9#H)5anMhd#eD{3d1o= z#BeUlB+lVx3pNkWj05ZxtJW$j{jEKubhia$4VU?nVsQmKoBJ~o);eb0d@^j{7A#*5WzhH1AT9R_+v=<&EjpUx15jCz01L4Lyt9EN`E6~N) zhL@TZAlM*R3?Hub@%*hBe)5sed_!@*f@JPnp~ox zDE}_Uw7{S8GWky|DJ4oEy;%$Z!f?xH9vNWDpn&vzYKR;^C)$VYqm)8Y_yEx$(7Yh- zLFP}T$X_ySEEAtPJiy+q>$v{P3mC1fV`KXaPHkVn`u5#8f9XNo^XB(p&~Jcdj^%8M z$ziG~a0`34Z((|{i)KD8%9fmmUdSG_DOU#4Jr!VX%UWGS47TfORd1pg;wha-4FL9f z`=`qwpzm=HY{^p&RxK+0%kTB$;*1%SVx}+F;U)wSutsjz->+lub4AD8T#{Q-*G4;& z-_ejksivXNffbgMxrpQ_2B@;8iV|AWyL2ypDlOBLDc>l{y&tU?rBLP_R9LYXv;8Pc zqnV_}^oN_+JaZ0PXYazsnF|Ix-?j)2~AxXR=Z!K01^nLlF% z(uWeMsd?@~KXnqRfl=?5(?=xvR@N#BG%M_vA{G0X-hQ9z@W!srBYCge)@N>Q|tws4v8V@o{BA)VblDTj0`B$U%Q4SuX6U||1-@I=& zFU%?w^9E-T*9$l?035sP!~k&2F0-TwM~I4~E3}-$Y1Ud*pzRnK-Go{^#hEoL#IX{5 z`7QyUd`_`gN16G1Q7iA8@|QZC+W!_&nDev;l)KMI6tS{VMJuFe2nr!D{fzn4L3tL! z)XHjUvdg2bR?=wAbf#J{SUaMHyzyo*;T$a~%G7lfoPsgyAFlzW70sj3$@>(ouewfR zq=OlMQoejP0`SQIG+zY36fCtoO{X~39OB*g ztng=_xPU+R?hCm4)Dk;44srO>46CI0H%lZ;oneoJ`h=J+(*I9>d=29fvshbO!y36jBH;pGTNi$@Wa(=5o%Yh@txC`=!Rd@BVf#X!|8(KHPf^9F~9 zQ%t7^xOw{kvsZ88aAyyPd;6HrCOIvjw4K&~Dy zD@7?D-h2tG$t?_W(M&aROC2Z<46!sGX8m<4h|<5EO6mo>(tyCa1J`MafM(#6f65WxDgQTB_dm5b#N+2z z_!Ezv!;ii993D8|$L$;YxbclCdXp7;vn6`Vc&;@oP1omZzAi1Exq|Bs45bPbt4icvGH;4qPFX|cn!4)if& zLOsZk^VC{vPD5SC)!O7WOMUZY8x6amO}06D@b89Pcr!(^oDrvetq0Fa^=sGmvxW<&BaMZ5I#dE)s@^Za@>bg0rT64NYY z8tU&nSru3Fj+*h!C5!Tj^pq8BwDUHXt@RYV;r5jn01Q89{tJbo)JOO6V$}!&Tdeke6bENVsMPcDR|8*i0Q{Fv=s!T$9Zv1%qc{9m_Ai3}<8 zR2REsLzT+{iC(0Nnu@U*hqFO|n4x@6(H88aP&yKhHF;%D1vNUkAw<_Ar%2koC3#8_ zDK!?%JWP!(9d))&uH$)~7yypl6^phRVZQlpEfXg%gvOa!r3m>3Z3!ty90j= zN{6?{O1k!|{2lw$cpNq4$Eu!pzVdiDVrPw2|>Spx`zmBU9zSW?o$p4Y3{9 zOgUA}O}wGlWpUE6WP0RLVaiQ-swECqZ<@T~NYYlb3FbQbGkE&(ff zxTlRRr)n?qf2UVd+;@6`Kk?Rc_|f-X#KRYQ*t@ll8_&$po1zr>OGoYGc3lawGpWt% zN@1lsWOFI8uIQrA_Cxzc_?kbi+T`cG0)d>sP(|19+A?LUYF9D$V3kyS;48Og z`0Jm%gkBFw7 zIK+&CWH9ADPh%EaW&LO*9UlipVV3%s7D%fs1VOec}M0+u6d}=`-1jU2;=J85cuvvsj`xT*sNa9>m(#1xycS z`ODf9Y+f)?a>wldX0FK$^pt4eANf7wnmV6~r z%AyC`H!Lgp@+Jpk`ghg7{$co2g`oW`pVfwd$T*?|WaEN==I?dXKs_bC5v-V`u((H> zETAn#+l51*OXoZ|F!u2?Bc#7g%y=HFGdoheYlYB`c%iWeMMag>=#`0H{^(3Ba==5t zd5)Pb>9QO$Zrmh|{#nhVfhQU#0cUmC!q1>@`i`$F(DaBx(a716R0*l{)!{?+a_iC2{Cq zm&Lo_pgRpB#17iN2+DV8uzoz&+n_ts=eNCfG=XCOklIZ9 zmicrmmwSy*C`v1FMnBp7LGg#X`BkMtOv{N{0LD3nok2be) z`uqbJtewVWa+tmT9JR%USXB(nIAEQWivBs>w0vI_NDcKRV?c*utjb}5{-zP-zf0;_ z0n|DH8U8IqOYKuBHl)WxS(&%*2pVS8ll{XB^0z7-D_2ds$hM94@ys^2LzsqwmrL!~k&2 zF5Qr>z!z(1R4Q!iQ^-_Q;2mX3yFu{FCMLy*1&;pIXaYAN7=))|mDH-}&l|fiM$GT# zbb_eJ2MZxrVL!qv&x)u=A1Dn><&#^9^AlB+B^Lo8p-fbPzc!F`GD!-b%k&x$qpm`w zm}c5+ZB&R}Yf?T9lraMIbx|8B44_o~a0SyfL6ylGR%X-@^y5OtfdbQj?E;XphY;Ikq#yed*&| z;cJhD@RC$N7++fPho9DuzY0SOThwTi?%M}sOzp;Llqkfb~&2c(u^w%p^Sk> z6=_Jh)JV&FZ~!cpz;iou{L|0w;}@Uq;pX51HcoGpyyx6sQG`;?b#A1Gwav3Qeb)n6 zVhz*DVa|Ckc|YbpG{cDkTjlNL9#t~LTb3dRY|yn=RLNG95WYwJ=cHpyvMBp1mmW)N8DqiHQ= uq;9KP=J*P?^8*X$BY4p6T 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

CgU683$YN(|v9!WuQVz5`)ziD2e^kFvVt- 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 literal 0 HcmV?d00001 diff --git a/Examples/Studio/Resources/AppIcon-source.png b/Examples/Studio/Resources/AppIcon-source.png new file mode 100644 index 0000000000000000000000000000000000000000..74e0ca68c1c1900882d43f988ab9b9550200209a GIT binary patch literal 643903 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

  • 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%0D)zOv@iO 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

    K|es*O`UwrW18YPaTU`%g4W)v(9 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

    qq61MSQ1?(NtS^QX6Mqw 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

    X~urz^5mG29&pkhZ055Gl%LbZ4S=5 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

    vEdaCtNBJ;c z&W|>eT1dgnyAIfPddgV*5o7BP$sPSy$EAs`vlay2)B`zd{&lLbdmm$rGvS(F?qHTb z=c`pc(jR^f#Bg5MafsaKlom`F(gBXKl2JU-jm4i@Plz3^s-n#Ck`(eSEHUCgnf(|`V%#<_NPVyhFDk_U5QPX zbIABsb2QSIGP|I#&?9azi%gE&U)G;I?WycHZ+aB|>FR4~ua7+k$peF{(!w8zKa} zIDBQ92`*cS)-a!(I{Qh`h&4H!aDx&4<UgGRW7cJVe`Camn8G3G-r+*h|*WiSJL^<)3ocdb8a6wn$?04EH@kZnUY+abml z%uXj6NuN=w#@68{TNrYc#y+g`n|@r)H9g;QEFJOGm8e{M)IEF7lTsYi3b-|EZJydq zPJf=BP1cI1o^n73`1BWSW8q*R|7a=4!5d&$4#az$iMjn9kG?6gTin@Wl7L-jZ~eB* zwOqzad-gv3*fQ&1=++{<&eBvEljmehkg@43`RPMzC2|;oJU;uHo&;2=QMOZ$;;y|U zN?<8MQrGl2F*YIu2wL+Je7ygw7EWeBbix#xy*xeZPY6czsR@E6(6kCgg+_Sxe;mmI zY`P3g9$8OrGZ}X|mzVhDHo##y6zfJjapZDc=~2?iudiJD7d!6oDNbD0>pHN`02lN4 z!P$r58L?juT*T!%VFjN0brjh97}~rpUx?!XI)Z!&JriE^&3;6)&LAVcjCUS2btJzR z-6ui)!GnvYVb&@P%RAU-*>L)&tji_D^w=~W7MW8~{_YC|W#oMD?zA1*FQ#_(R4yY( z7oVv#jaNqtr!KT&J>0nuD$O#4Csw-`w`p4zFb(dPMxbGx=(@zQ}1|= zsh6f4eJ<=ua_^equrhWUROO3Cdb?mexlUV+)?(tb=EE$Gt!cvg_nf ze@V+&9if@-n-o92B$nL1+*tF+HeuDbsW^2Bp51fAgLm3+dYZj;DM{u$xWaXqgAP#h z)<|Y@VV@576kR59oS#M0n`oSlb0{Q?o)R0=oy(~&D|)$|FOKwNL97xdPx$uXn!t@l6YFb!EzM7_9=p8|&?7J&>ko#@e&&9@Ja)ytNVgk{ zc}vO3Irvb3qn!{}@?Jb#V9n|Uh76Vt;oy;L()gLgO>DL&XG80!mC+c6sL!tm2EuiZ zZ-hadWx^he{D!73-%m`}IM*A#Fb*H0X-Qw+oNJ)YDkj?|zae892FRywJoK4><;WWQ z;=fz)Wh~}i+p^1uPPBwWJe9C}fU7n=`w-kXzH_=JKmop!$5ylU+#f((=iS$FI+J)R zhh;~uH8kv=MqZb|@v*Z6ohlm+r(qSzLc@GMd&R*&j5|+N2g$Z;b$MVnXL7?@N|N*C zf4s~Mkb{3J{XGBWbFTm$9oWR_Sg~0q0EXF}&vR=sAZ}?h!g`(sXwPgLUJ>!xT3V4Wjm^ugh3&--y(KXA{^pWLMieIB zjm~vKq`e^eU_G0rnvXa86F%&FEAQ*0pD`RXuX|=R0)>{eVbp*W@KMov+0c4{f9lS3Pd)3G;{;hh(^7h~xKi@d)$-!|-uv^bYb&TM}6h5r|gp8|(0T=)OJA>R1hAR;p+9h0d5H>5OFTYpPCF}Dw^ z>AIrfM4C)FVt!z`?kern$-hcPUTX2LRPkL(e*VXwE0$H76h^ju8HzJA&3VGoNf+r( z9y#ESlw(E2*%w)}{!^-O;)Fo@{9Phq zGGayNESzQSI(o90wkt-^1(xXMe+lJWB2B<#T;5v`l(R<$@cfHUL@k&zTwwL^SLa~N z0S23pC#*jC?+Y*R{O3OgYkv3f2Cueog%|!e)$I}f>hlxc|-_|1tZBBSJmo!*_KIMiRiIS%O<(-N)pl{hgfF8c;HNUIgtH+gtHdiIGul2`vC ziQVo;{65~pD9w%8ar8@H(EzyvdUAHz%8mOOE;F(fuMq1OpcLs6{3O7RLlfo~l(}8L zVgiTH-?@n!euwy6KA8?T^LH$#ZIEd~tPazP@zm`;7!aKBgm{<>4)8Vk#De>w{#RVx zmt5YBGQzhjX3HOtmPz0rt(&81oy(~l|9R+hRmNLG5T3x ziFAJ*YWr^dDVF*~x;0uAYcBHpPu8vhpRgxq=Y&VwOHdK8`5pzchJenQEU_)2wSdvX zw#L}B9>%$PUK)Zvw3H}qiEdwq4hj~C8Jo{_P#4O4VDjrD`Ez})C$j~8^?us%j@X&K z4hD_#>Omd;zYjhNTz%n&>GQ(`mc*{+ScWIwg$9R?^P(yfa(uXTZM_=YA5fZLo7QaD z{zJayqua_Ue2z?-zeFs}A=gK#tY<)`*Mw&u`Okv+N2wU51aKx^*awGm;I3t-aUE@S zq^9py=#zU)tQqOWr~j>-#6=3d*(zEeW5=IZI;SV^%*hlDPP)9Q&v6p|egHO;(}+=8 zPv-48YHXw~=0w2zynvs)*n@F;&q05VVb+s)qw(65v~_Wsomh|hA~x6Yk?;w0 z?r_b)YMHS?lM4@~>ji_4%O-EKhb1awweCVTkICWT(chf3Hr9;rB{oXZL%WLb$-Rv> zvFX|A|Dqn1P^q?*H{QfFk}M$2fo(j@iO;%R7&TUpLNhpjV4c{p`7T>|D&g)chG5Gi zApBf-TmxR}+ytQgiF~>mRUBN?d^9SS`sWK{;#RBkfk?2+vZ@KFCPy7&2Oxxr^Wt|Z zYT`@Sq}DML+xOwYbvaSFZsy=@4&Y4-H>0P{vdTR~$);Uq?|~yM!ZWOk-{-2t$uT4eJV!el>$V07cxb?WFh^aCRpIzl4- zCV|MYID550DEbol^g(KQ@Z>qRK0B&hoeLA1<$_n4&~YfA1wI#t0KR`zRaV5DdA$qDaSC&{WRZBJ`m-#FxfFy=0{G)p@ST0#0S;AZn+1D z1+31~8YMRe&U6~i+HDK}G#n!GZk(cIAe1#{;uYxY+XCvtS#Cp{Zner~f@Ai5KXu?i zgI^mt57hIX2gY%b9T({{GFgo|!;^a(9~jVo;G3Cb94uUd^Y1@Go$iAQ45Ur?_vVt< zi>pa0h9$8VJYOQ@?wNe98L)i9!GS;e3C`LR<((Z$??bgX{?#Qudg0W%hxs~WfzFV@ z>{&3fHuv{Bvfo$7{Hf#KtBkX-<&BR#$)R*9u$d!dHD^Vh)#ga+MJdXYbI9%U`h-0- zG0U%6!6zL&VFSaZ!CF`gg9m4_crX238@}oF{f)m=nCIp(9ns>t+L?!M{Q_q#AMsu| zZanDV4`2Il0!$^q_veFE_z<356T?$ybX@k#gtyq7peRG!=ET?@<2Al#qXb&+1l#I; zVrF-LeV4Vk_AN?#fAtHZa?$(8c_*}H9*WVR381~OGeu9`sQ_diNOfTw#H~7nva#-i#Cr-0~XPUU^;=>Q$rSOm= zngM?9)35iYxryOJl*y?xROh;QnD7BxO~kNXY$&MDDilfG924VN`HzkD;GS?@5M*LG z8Puvr=YAr4t^>x9)uLE`ae!w)aI9;k$#PH-l?n&Mk;@?3}YER%Yy+m)p}~eJa1>YbVsT32YA5n$zDxSf&3ui`zLlfAscZ zN<&mRU!s`F%)Llu9NWCt~nz;+j+!2>$K;Y z8{rq%Cb2KPMmtC2#*58)Uj5R+bwsW8ADxRsm`5?|OKY&p*GFE4&{(#A&l`s%XJNhi^;snBLX~eO&6cmejdq4 ztmDDFK&?gRK_2Bau6XRg9pc)Uv(L8|=*;U7K)$04|HXN6lEjB?xhy~%kzU#J-gaKypEt=-6>zO4tJpA(Z;au`mPo^(ChVdMxA#-YYHBN^^M6~A!oVIZ-dEr2r zvJQv1d#weWARjr<(+LOQHIv?fL*<++YT7vS_$km3>d1X^;nO3pMdJV{dy2xK#ZD%X z#UBs?q^=?Y^MZ>r;5EZegGU}x{Ga1)?5l+=4wrr!HVxTiILo55%61*wm=6ttSsNi> z-TdTqP?JX2YPbr+d2=D^)^N4+!C{|VZ!|e4G;_2}-`e9^oSL0uuz)*#4MntJj~^VI zS_S@rKlY#u9QS>*&IJ<=f7i%ZE>LW5{zQJ%ax^;VPdudFR%Dv=Yyr0)sbe)$=FNx5 zMMSS_uJ-M(5xiTF)16G?WPbW6+j#uC6=} zF5bot>a&~d*^hog-s;l%gAm&5Nl4~TjaMq^PFgF*!2rfT0kxqJKVgkk=_Q_T2qtZt|>h! zgt7~VC!D@QH22SG{bbb}Vf~3#%@!=UqNKCEF$xZGwwI=iNnqh*Pw!JF^Iy_?bHY8Y z=(61=d{F2)p*rCG{0Yd-bQzXdKD+S{>*xxgKlo$&@sEGfz9l5z5E>8AL^oJV6U!lP zO>=#vU%p?r=e{HiEq-A;FU8?YE_&u1wv&6+5vYgbImpfzGKTHtOazaZh4n&)cgQ*R z!~@c3ubKMFDR=V9_~vIZZsUl0hCftkO)fpqx&i!MV;{w>2^%V##(;;!F?e|}@c9bW zc{Vt@=UAWXEtqH{E_!a9;Le|O=GG?e^b8x`4dt)l!;DRVi%ETp2{Jb3dENy}J>*)= zH}5#|9ziJfO?eWLXD*BByZ06L0n|74 z7qg#Km@g6z^w!Tjy&a{C_|SR9gbPumqB!&|4-2j*IkAoK^gw=x zzy|?6kI7udX6f9QQuO_1$Y8EIwkbNwd}; zxzvJF_auWl_kB&h*D_{61!9wN{mONg@8+Ffec**(gn8~=;`R0P4|n;h1j z4;#Bj29Cdk9qavcTMN%q*IIV)R~FrCU?a=l}T z4z8n&T_&vXd9OyJGd8&GGb7KgtN+AlGM(V_;fMM_T#o3(5?%7J@Cf#<$%%~^`k8qe zHT%VYgC+@cZ%PjmpBjQUsRHsEo$E-UI74EVt5vbPwguyTmGyus9)H5oidi~+h7(f{!K<#2h~C#Ln!ChP*Or%+7ne`%PYAu7C5jJuZYM=ka6WwS!R4 z$B{ZLAtqrmajd7)1j@lVGiPu*7d(4ZBJm`@)`j|CshTL>EM*>V8ZE3Q*c+1!UWlmN zamr}1yO@YY(K|3?BW_+^cw|%l4B|sfmryWeHuAOBQcs=B{nVFAJ6eVyO>VePm3iz>wC3C^1l z;@8c!)@z4p);CJwPd-?TZ6fUq4s$KHUjWgqvHHjrgW;NXpHD1)n4P>J_MIs{a_H1y zO~mRCj;j%Xtz)wP2@RH5;y^b(d1Q(4@W2QsdEjx)vET^&=+xTrc#`#YjGUNj|HxZr z2LmzC+-7PF)E-(-xAUY?wI#E$wWD&+iE*T7;yL$+k)Hx$fP;Ghe|#NMQJy=<`u@f; z)r}+BQjh53YzZdwez@Azn2=)Sp;kw5J;ab&o!bv`AKx{KV))0 zT@;~D^3GcVKnu%>d1|(igB_=e>;u8T*c;9YyYW!O_#=H#z^>JEc=wS0$!kD3-rm|F zg5F-kb%aBDhkNBxat)NyfcvXr!y{Pi;v&u(9}S?Oia#sA2}_ve=6Y=124@bJdxP$Y z(1hvUh+#Lko)h4Cj_6hp9ltCAX{F+7oKE%~A7@QO;JxZq{bB5y_FiM4 z4}Lu*K6;aro?!cH5tPi zPXP`08@(rEG zzof=qEw|Q)x*XB$wom-Wr!Yy5n1~{kq!~IA=b|W{*&D3Ex)9Ep&%FzXHOTj3crkd_ zjB&70(FoGSz>K^3@@d@hG@4*Q91pe@xpGn6vw54_7lsok7#b7hG<#SHVA<~2Zd=AXgd(Gb9?lpmb7?~NSl&(FOVvT*ZB%XdXU?7uY z!$1xvi?=rCd(7hk@0=oC?Y3EKdJX+FxMnklEV^4)(wisO2W8^3i0Ye-^WK!T|DvQV zZ?61GPWX8(8Q)%4OpO!`=4A5iT5tG*6({dy)DxZ};WPaBS*&^AE z-jK_4nuf51oI!ts-X`_I|)RrP;c~nlo5S(z<=HL~0{<2Cmeb{$RyN zJ|5{e`gL8%kRBy={etiQKP1I8gE8vykAI@y#kT&E<0k=2zlPOW8}`Z8Cb8@g4(LQ; zZK%)0^T02|soi_3^>6>Vf2GwUKp2y!DT#7qNg+~0pB#wdJJKqX3>rIkrQ{J#)Qz+z zmKvFN;dMB!Sfku*lbzt@N~|}>`98T04>TQjvtmfB%hQE)FCM&LxsZ1w$OS@<+fYkN zmyM^5kr`aGD59rxLbmh71P~%IU2+;})sYi2po;uC1o7MQNQ*f{4#2+7X zFG|(EX*G5nR!W1I`RmP3ZSds`z%_v;P;380v#}7H$J15a{9vv0dEWtdg93V54z+$lAsxBN5~*@BY30 z%Ut~e>OQLm!}H8qT}cK;t<$fZaURd<$KoTbsl}F}$N;lrJ<;K~Y(HY_jt1iFdBNoh z(28O3GW$hO+B@q>kBmrB#iB=6W5ULg*Z=)JDXjF~{gKoA;)Vr3S;T?ad#QM_6~`W! zYr%0u@Afpc5CgAebsnC@@IE$!?j));3gVh%z1pH1`{CrddA^}OEPERa?Du_0^vNRY z@kw?CZPdIDk z@Ec0{5bovN`Zn*gFXr%JdD=q+tl$1_On8^yvJ`jMBo13npITC|FuL)kMruJz9Z@=)Ahu)6byf^)bSnhA6XhQowO7q3q_hLkQla z_X7)fhxt%CSQhJZ7VrKTshGThjRM<%(o1|{w)y)3J>IvIce-mZL2mYs1ftBJ8d)g| zSl_gWjaHw!G?fB4GtiZ30O>Vvy6+g4%FgxG_>)6S(~-!ng>b$bi+}yw8C&8n9@~t` zn>Z_VZ|gp=^uTdCpxeD&A6UsYE^yB8el@Bs>&m^E$$8hzEDUqculR&I5mQC4fx=jJ z*YDiO_KCUaowzYDB>;B|2NinznAdRjiM58;&TG<$vgg-;)Wjk&iI%!M3x?9=^v2D#~T>zsYPd=?>wD! zc1tW&Yx9(B!p2?7U9aAAY$7-xaI{2Pev;P@uG9L|dvezn&gsf?bNnZ~+&bOSVpBtM zLwVMn!?A(S&k4oOo?Kel03grR{7R9`GEozecK~L+bC)wYi@fWj19N}E=9-6nC=6?! zxGl;&Tdz0dPpCXNIlz6U@{-@~)Z}%N1n+rzZm21elRm(;8mt*mtcPm$dxq31k{=E% zA?v(;pyl&ab8yRvFa46&xr;YhA~+trFndG)$8q?D^WqKDofu~QJZ@;K-Jc~`u4hW9Cq=rgo z$7=F&xMm0p+w-dd82_aHIjI30G!)}7?pw;CKTd6Kk_TlZA2>qH8@AgxDoPl7nKK?y zrxRV%;makE5}a z`i#qOusk_mJK%~${9r%GftFk@1MUJ|FU{tLw41JJ{F8gvH_dDmka=d=WBPy<+nKpp zxhB)|^omz!>w=tDA4L*tS!P(Sa=EAA2D<*`6r&>pGEj%c9OF~7A>j#!d`$RPfMRwO z^1ibe@W9N9_`WB2(z&SgK3!St!8lhFo)WcI%~<^(A3lP7Ia$%Cs_!d08kd(9+||JVAi)~7To(7p7UI6+}N$Cdcs&dI2)AL*H!Z4 z4Q-TKNiHOLJ{hd&_)efJ4YJ%s%5db4nvhee77xF#fv)$B6-cJQ6f87h9=nd7JPDxn zCd+XIG+?jJw?-fE{DbY8CRiV za80jqJ0_ca^L+N}Si285^C@BwT(8g{fZagU*(1PY*u`S`Aim%Z4>g}3u< z{M&@@7cVc88&@2b@|J8DQW{ou7Gf2nus-LwG9)>Ib^!-`pO|^lIn)==@ZiQpvDc2a z;d8c3OG$s$19@R_%Jd;mMB?4cNNXNqBb>a;ae5Dn@$q@tH_omBr-I-xz0c!WKS|r9 z5Tr2Ma?kkYOA?qBc=J{WRt;qo;MNz8yJt~zuntL2!jqm%i+g@Pz>t#m2IRU1A*i06ZjnOT2)SW)!J zUyO;aJ#Kf+)Lb!)8^?-R#>ldEpW?_-Zaj|FB+AMyd!pEb`<+F4abouS?Zw6?ZvveI zZa=`#P}bE&@19$T!fxQ5IYfu`KtYGWDZ=*VF#;Jfnux0}jORz?Pp*gh&4 z!L(O0DxCP#gyD0%{SJPWBNoo^+NU}F$viyi2bfrg%QEr3g_w)^0aUm z8MKa`xB}G>s}**BEJ_*Ea!(&EXiTI5Th25V+or-{wSC)bbl z@1Fni7r*%Wqd)w^uRr>OKTyEWz0E)Rss4}V@gN8826IlSs{SNkf`hLZ_qy%$XeoFx zTf6s;BL_*8**UnT>To0U9M>6?5LYwAp(=1MSe3;fC5-ct)jDTT8lRA`av23tWI>$B!(BSdX zOcvoc_b1GbT`b9{!;{by zaCU49mtwWVtt4^~Gu=BM-Xp1+w1)HIq@=YTPA1rh<%Hg1Zd`m@?~IlCo(MthSi&`T z=8?B6pl(g<@#5rwTQ}i9_2Zv^{qw*3_4OD3*{`pE?O*(@ufOyce(US^f9EIq0P?G^ zpKEJ=p*=#f-<(p&;Ydf>ftaFouW#3@c&8=ywgVFn{q{5LNw7Q+HV>~oXOCsx-*-Si zKkoOfDdIvXR(La}O)K&7bmRlnFWsl+6Z(G;002M$NklT<13r;Nw^?at=p$Ac0zO^qK!8 zh2Qtxp7ng=^qsuvP#E_V!WH22FTF-XXxp;BU*o%gyyc63G3It2t}b+3zcKagV?6ne z2Kj#VtLU|@p?MLN&+F{5xu@%#rN=M0H*a{fPGPxiw!YJs#z(K86|zj%?FsnOJpSOO zG3`JodZQyf5zfKvB7WBRV^1IQ9P^JuaPWoy?7wQ)+T1#3e^_4*1e(j|Tru{8DQ@c| zV3kDEmHTLu8{Fr%q1dxWzQ;xo9*yy2N=9n-^TEBqA`GK(zNR#HZ*-1Vapz`e)i4=D zy!&PntWZTy?k!Ge?|VqzauB59>q&>O#1{`LwDw8h^Cn(qY}M|$1rSwI{!WS=*qUR$ zLh8wBTwa;nGxtTaxMfcx6SKL@?16tG;VM+617w>IHEvIA6cEg)sJ_B{qQ9~6?EV@5 zT=CEU`0M}qd;jOx-}#&W>(}4^-~Yzf-}^uQ`qwZ1=pX6U^0TiW{q!dv^}^3c4)K_i zgYxQ+dul|qk}EZKZ7oI`WxmSWH(YLwap=Db))w)+Es)unGMT1Qb{+fmAFl-EUK|Vh zKKX{+nSKQ{jaN#9EFLAc#5`#x@;=zk9?7LgejD>dB_U13bdnIH2LT@gJ6t)>_3pok z5T{uFm{NEmZWO$%fPMA`^R?ZG=&PPnJX#cA=CG=B`L3)|K;|^fmHGDK&|r40x-a?f zH?#MQ=6^Vj*>3zACy(^}Y5k?~+mHc*J4YuYP!E$Q1LlaMFwiRPUf~!{jB}KpcXiRA zpmKzZ<+TwWZ3-+e%^No4MrkUH9jrBNQ}YD7o3>hK51Mdln7~+vagDfoA*GgVqmlM$ z_B0lIbRH)b+1x1Ho}1e%4(-bdG&J~^Yr0O@J3#|ud9<9;<$mM+2~=>aRLsIdk=z%b zeYWOlB$fUoYmXu!7tyi6rg_PyWBmg8{V&M+9k=$-3V!)VU;o^n`T5ts`)-#& zzx(xX{)L}?{n_8*>PP13zquJilY@kGmWeWp4qYphP9w9Z#}td!KAiaAdwNF0kWro`%Tp3^qVo*UWxoHLK#H4%dz$3}xSR*&CU%TGRX zG__{qB8K>I`ozICfKNOI*#qv(T?xTq^~@ zsYiw;%)Mql9X4D|fKOgc{nX=Gl33@~A=h|g*WB@oA5?ilsSiVm{g9rvb4h(G1)H$HB zvwj%VOKj8@#`%)x@QI5zxapDa9{N!6qpzRpf2aS=pXr0tFMs^?2mklq{rcPg^MC*K zH~xqJ?(6UVt^eukr@yIhiEtpVwJ2KWl&gGNFwbkPv{+p1&V(PmXfxKU;xS_fz?=zw zJ@RF(=>a%BI}&V98gz$%WM@1B)iG8MtnC=tjh?a*G zj?%`mkr_LWPnhF}2YVj zhg9c>p4CD8YGj^Vw$|)iCdPoDUd0(5ppllm$sbny-_i#B9>EZATaP-~x|-nDb286+ zjC%a?pM3qxf9~gB|JlFy&wTv{|Hkip{r*q%w&WlGvCO~t`qdxf2d5#f-5=4$KvyO@ zVq&=mj`=<3pdo*w&boBp9ALGlFZh|8nw%eb1)!&IUa}DP#C~6gs{rmu zhuY9VWJiZvr(oW6dLT`cK7)>ovlf=Q-xLWLy2Lt82j5b~7ay$k%Mjc3@n$mDlYET< z<2SK~Blu~6&l;fiJiO-8I+uem5OF<`mxp{eHrL{fmk;d0z@0bIiOrj0DE;6tZpW}5 zCS0-{oqkh|hSk(u;Z7|2p+yrTHKPBnUE5-Z^ONPqt~aaMA3~}%Pb@gQPiUSdXC;^X z;1BQ3e`^Lt&VGQRHoZ}DP8Wf%>(&C^+&VHo>a&lha;~q_%jq<$@A7so(*I4lQUu%?hqdaaiGs89IrV{q2`W335 z{pQcUe&_do_Vs)J^lyCqqrdaFzW&Gm=D+;O zKcudYn5~T`WJz#tIN=tY*B|CLkF00KbsX;JI&frjE{r}&F0p3I(mm(;ek*a|L6yl1 z$1kxyaOf|MGs0KI$=0<_m?&1oB}v2D0N3m%*xOXXKe_HE;_GnmD?l+P?3-QL)2Ia_ zYZx}{*Vh->neb19=B%dM)0KL;A!aDn`Mr#d{LGLsn6cPw*ONkys}rvym}qF;8zvly z;+#Rg#X8qXlKkLbJML(Sf3am7t?PCzTvUcCx$`gax3$dQxwy$S_~HF-c_9^Nt`p*( znj80iE#>Eb@bxeK-XDDZ=YQqTfBlF5`tN-G=0EU33FYt zo+&lm9G+39urAjJ)(_@&jL7{~GM~YcT%$R&V4cTHcYI9pZoDQqgnYs89B;0O^Fy`_i;N_ooT;aqo z9-X>#&SPDulw%sK-noipU*rdydjWI!;@=y58_0oO2g~xCw$Q1-NFonMa4YS~Gh*ZRUp;nZJg`634EItP^i>)wrKzeC*Too1;0gN!YZL*F7&L zPxSJmi$984jnm8eXqIvI`_lw|Qj}ur6lk;}m`2 zzw6~Vc9J=-gB;82RJ6wi9|=m0iO=QB5SST(%hY;)}Ruoxe%1Wm7< zF%6IFKp&hr*a?jtj(c`~y;4Shh2-56EWU3sK{40(X>j_P52!!-`iWi(f8#fQ^7ZHc zh2Qx4>CgY)ufO(R{}*3>^RNC_U%&a=fBNeu`o9$%c4EWlqqxU;+ay6?k6w^9+4jv5 zclTv{KZJ21&gZ&We!y6$0}^tj-kSI3*RjrtcsRflM|e06uZ*_HZ%!@pt8T^FySYgr zfpiP&VevzKO5Te-!dnBH99JE1^Czkj_sJ2Rs}Zcn#Al_W?&y1NY87qk2hZ8g!6RY= z9)F0!Fgs^G`<+U2zVtBEvC-s+a#`1Ujl;q4Ji`Q9n^$L(;;#WXQ=c^{HwOJr<5jTW z1rh(|@jM_OCy-Y}=B615VCI~8+>v6lJ{!_lHsf5B4lAFjZgU)6qRKe6;>#v!ayULU z(DBb3K=S~rZ0H&L?!zvE%PoMhy(t>&kaMs$U?vM;Zt9XYZHFWN@BM;o7bzDrTs(-+ zIWHW^k<=~&jDv^sDgYf1-aL)-C+wT=ZkS(a-aX{t0&6*-7U|M`W?w90eKl zjs2370>&d}ZWN%%+)tfqsK2~AOx zIfASz!dPzb{y=~B=9Nq!$-4*_D9(OA#&)#&J6ekME!1npHE*)(EqV1}*7VBIl+ntv zXhLw{-4B{1L#kV?yL1~3o*LkDKJ4+qWn1~oEpK`#RzAFVy?T==@!{bZEt+@;LoyBc zNacO<2O*n%z_$;Q7`zucN2ek80FN&UCK^6vKJGXiZMQYai2qzauq*M63|DHTUV5j4 zU@)ZsCae-02di`m{Px&Sf5HqB4^-MLqIWyl{Rf-eLv~RMq2fKyYmjzTJ3hq{?NyJUo$G$M=hie7TIs&{O z$jY?lSSt~g$K+h$Ac%9hoQlL%z?Jw`2dDNqdA>l%k|w3(cFH8+_m_+boA#z z5dQ^zZdiPhgP>MEhAugawcy=IL;ShTkOQ{KY*3A!&;VcbF@62` zGH&kHWb?4_kS#pC5nk?7BfRxrt{a~$(}fJUc!YQNNY;t(-Yt;`u=~vxHEA9k&&}|7 zEgyfF=aC7TxxS|SSh0oxeJpP#gzZ2gzd70zq@2a`S_Vs#{-~BR9yymQrnrw#yA4@pa zyN3@Pz4PzmgMS{%n~#&?t>0-{BQ@VV^q{${n;g+KPOujr?7_58@zV!%D6xAuCv~KJ;%p3V0`Q(5K;mWD-Z-#M2#9{iu?n91b>1m zg;c3PjS4|Rq5u+?h@dFK3JwsH*p{!ymvhd((4MFDKE{04-d5&X@0?@w-g@h;_c`W# zFKeyuOObod{aeK({=?t>^Vip({`mE8{YU@F>(d|o>g%hY{cLo#BS~^(bfBe0qmLq1 zr$^>{oig67>%6npzMhZq+sE=ex$M|dO!)R<+2{pZI^mFGZQH~8yVr+XNOr*v{J`iL zUxMD8#qN0|U~~1}RSH6wpHO>N-|k!UyQB9Z>TeBl52Rx=lhto$YZ~I}Xb(?*eJ+M@ zH=KU;TuvYdoh1x|Zn{t`b|A!+Uqb;IGC)^x`0S#7Z1|kaaWY^UdwU6XIR+ogL(J>5 zFMsso|Ez`pMi7|BZE)rgKc_$*b3)uEPfM_Y>%hzUauH{&*YJ8V9kTq@<8@b2$PjE4-*S00$o-gdRC6*H`_3~HWvX=BQOQ6~b z%fK9xfmsg5-_^M}>4hBP!If)9&UXin-n5oj3mW}5U-=q!unQhtH|LGx+_nZZBtE-O z_~}M|(e>AU;U};E^gqna^;hy^<3IX&Zp_d zM05ed-kO_-De>{@p17D>U$EmJNplEJUB&ZLNIyB09XabSPvv2QctRP(!6nUxDr<_3 zUlBYp*bS_u`^I!X1Y)GDW}I+E=c$e0ftP1vmx)}B(PQn)(QCkd2;bNo?FH1e$z1}B z<-CJN<8QJzea4Pm;N)rzPfNz5&*NxNMaG?SOd=;^Qx~z9i&1f7UTt-JfWkMia%YTQ zg=42r92ZpEb8epsGH;RD$M*L8m7?2kB1XTBfHT{sILC$ijD>GaJDhi|K4C zoEdLASVP6{p0J`A#VXHm4)=Y7ak2##JE-zTN z^7UL#F04t?noeTTyF2p4vTHr{H)hu{HlKUQ#bha0N((B6@oWq?Pt6;!h&yj5)}G_u zWU2DP;%L27Tmw$d1-@%|u+H$^Pn7vHu)^z(r(TO*daPjQoUgv;b#NqYv*avs&&`s> zCfP~@Gd4_2n~d3q4QI9w{%7A^Z1~x5$j4Yqckzp$reiL4*Oj4D)EvrpiXYB!aA_Qx z?+(VdqBzlEq$wo#*Nn)p4+zHhT!cslaun}^$?^R}a3O#N%(mm5*V_FO_IP9JHD}^& zie)s{ma-`8&*E5ZZ6akfXOEkIkH9k?Ub*1tK&tQZ;9SmxBE%`WuCJu!>aSl>1NdrM zT|_L$drf%Q;F$U|A_w?UfaTQqk((UmA#ach?VubXnf6q}poD^6=NLL|W*LVIoSFdW z#u1JACvgA9k3WC?yMO(MuW$bBtMi9;K!EmBAkTmX?G!P*l9fsmIdlVIkYqhppkeNe zJhhp@nBt~+Gl6UP7_`W%Vfc=wh+MvoV%Y28FwS6dDpgY=Ns+O(;eL*VZBCHGaq@5M z6hSO-IH!|CkzO57d;x*!mcB7C@MGjV&jy{?By^mkFX#t=t>;2!)3lZG#B^&U_hQ23 zuo!~mIb4~Cq+cBqx~Hi160takXV>*xy>Dw7&V(7+@a9E}{PA-v@~LPyb4+f=;EizyA9Ew!6X_?A z;^9KM6qNj`5VE`OO=nc6<_niI#{E3qKg0uuY-hC$$A@$57+e z5u2C-jE}Fj)dC(+`KOQ`fHXAOZ=YBv zhPYpzV5c^Y)`cmU<|~o8u+|tTTxb}-5!uaoTNv(VKV0Xr5ogaQ_x8VRm9K))j4rn3 zuOESys&6BUD-iFEx#QK{9@t-SV(~TR^xdRHgJBf|$YE;j+~}A&vQ00It&ZB+2NM$= zz}@~3*)N>F@KheV;wvn(G;!C<)f#&~pkV!Y4s*QcCO`A}`m5Jp{Pc&ff8}re`}yap ze)#(OtDj{lew|cZk7`Sr){G|7#-Ntvn!hm-Tx|9;>%m!q+nS9l-|B&rFX6YQccUnyJsxvMYc-M|PjC|4bG3(I9Q2^K3*-?0P?E;&QgA}BH!uQo2?C;yy) zXE=*!b0+A?wS3qZ@9`1-Vc3O{{b12m4W1JlQmq8a?*Q9UHI^BsZR}G^i!1*42Mf=k zieSgs9JKyMPP_-tz%f&&IXb8vu5jGH`Pdp;Gx{Ext!)BN4LffyXMu#2P~{acdEnbc zbREXdFWK7@P$A&oV}{6eu)l;qKKVTlWU)92SBI9SYy8A1EH}}f*o#G~Mw0SSa&VvoT`9Aj##@NTraK~FSvHQYN|Hs{M z61TWb_e>3+T;^hD=F9dl9Zl0;czwZ|nC0Gl>U|~}M(B!dp026ZPG9=B3SbnZ9%HT| zZQlHctZTb5@8>^&=REndX7fZqjL~pOK?FY8jL61p3xKJ1a z6*D4hAT?GuyvTu+TPh(OTC*IqOip)w~qWBvn5*0wdz^`oQk(K`Oj zu4XcXBRF0Ru71y9lf*V#+~8U_HDsJza^Z>L{0CbiH5p7@;ENqT$gLGi z!^y(ZFXF`$*dp4d$6O>@#5SG@aa$K-c{vaHV%$6u1q*#+yk~4)9P`3ZzMFmJLtrd? zoC-+khZ(PK5Y<&1_An8a4UG<%xV1)xj6`;9em0L$jmjy90rbEckP4qg}eXaRdjvx)$6B! z{?+S8KmMz)&wuI1udjZZ{~RzZM{#AG9@@%}wP$X=)8~ZCK~1;jfN;ERm`Yb4`$KPw z%V9@9#P?h+XS$w1A1A}q0U^VM=D1YtQk)7&E?~JuIrX2GBNQtSw&%E(!)x!YK*y*4 zB%0m~E(dv|$Mbap%h|}*5Tw}R$eK5eS=5w*jibsk=sDG(yctz$B4-KqoQKzYp_1kv zxjH1*G2C3+-P#$(jaLKrkLeMDTIXcXdhIAxRqP(x1iYtJk38Ee>YCgJGHLVF(9dUl zn@^(}wZ{S{z%234MbRnq#-WWO_Q$-aS{@rKcktlyXsQ-FX=C5wQG8F_`u8Z`@RI|( z`PsQO556!qUyjwvfiWq-ld~L+UHi_62iF^Pkc|f>2@Ls~-0Q!#`b^2r_>IX-8~RuK z%?p-qd^di_*op5OtB#isE^@IoC&x)OHn6H3o{LL4qh~cWXRLm=f92n?8u{gCw!oU} zy>>J%WA(I`!xZP{Dekk^&tCuLU-`l7)7W{E^@(;gG!ZQ1YHjV&c$kn7M8-SB!q{UI zS5pi#9fIZA;|K3!`WTjX_)lJv?Y6$RY)=N|);n<<&T-ett{ZEQ9R}+sPbM3)X`BN} z@x<5zn?gW0&*28hP+c2q4xzD-j7`4k+WhBi4MQ#c&c z$71RrXL;=1z|21|4jZEyMOINE)C!wO&=(K4`Ra4b334qrI)GLQ`DlcLZ?wV9i&zYK z7Rv!!?bzU4eQID%aL`-}=QWk-*fk&b%1?jzqt}m-1qRX-6BN9S-Hy|~V1WM;)-CSTuV6|}EqI?En`W~}9@FKRS`C?=M< zr}f;78Mid65d+k8xP7dpHpaAp`%%{;mK$5m6W`=S_-*~|P^A-Bne(QD`(5krPk6ev z)4do0xlNZ`kYinA%>mw-iIl?}08P9Jmnp~E zZ{Ec{AnTMo>sBej*&vQ=n~gcZv2(JS8p{(v9@$yYH~BRffbhFOjOAi$_)y@iAA5}8 zJz>0y&!jh1!;XI!Tu)Hrk6<%|+UcQ-Xc%h?tIiV|a3O z(YF@>=Eg%^O!KG@*VK$zXR(Z%pO^%2?t@{^dEIz0PU7hhJ|AiArJ25JNCG*PJ(1xO~!`<8s#&{ma@LHwZ6fTG8-^7Zmrm?i9xn0-LX0{ z;>e~i1kNXUW4|wXb2X4)zKe6eq;W~V$qeYu+Xl`Dy=lQ}%PvDNk%@aiV*xjo9C9Yl z^!TJ0+(HvWZl*jTGJwW4^2oze7Z{uzS?BxWhjV>WkN=(z@DP>^dwq8eZqqFl=wK(E zvHZ=*nmq!_Bh|R6J+rSRx3SE^(3`*RndKH$l#D2 zJg8*M6JYOW_?|U41~Toz!!OD5#iyra?kWEGd z%8XvH#&QxCG=u6G?t1&;+?eG4x=+j~0t?U0t(fK{Prlg5S*@{b?xJ*-1N=P1GoC@P zdtZi2Gx_ZY26|FmQ?a1U&kG1dkekh8hJ2P+4xSfvL}zLen>pvTA$6l!!}Je@^fsI4 zf3Rrr@&fAv#G_A|(bMNa&rxvC8qvOXXuW6T==xzk=T12^B+rHCoX5x6Vf*y6&tqqd z=04Z!pcJjl8s89frkBgm1npDC+SitV<<3Cbl9stV#b8;@YMBqfh;Jm-7UP_CHD9g| z^%O}e;%EU!dd)`vc3ak+cMV+s>ivZOKP5K`d*?9`aFg3Soij1b?AAw0->{%JLi*D( z_#*C;&tIQ?@eAP#hyXWu@1r%u9bd15jQAFV-mVLd*mM>xTYE~bt`IQT;N^b7F-~I{ zF9&04j6t5p)xR9YN-*&qo0B*R39l}%fjez3LXPfC>_zI*KB1*8Y{t-(mb#&+&aI)f zl>{GO1Qb_n2}Wixy$$5rq^)lBwlVGF+UNY)H*&{L4hLY`SIn%v8yh`dW9|1epMY${ zvxmyP>*a8vBREN`kWd2o`ZbO(5(%VhCuPwpHV4ffs&1M zy-N@XAP+ANrjt}7K9#Uf6gW&`QUHtZagqB;)rbKm+D2q3mqv3irKqOcBetPmVH0?< z<(R+)4>6<+!+z@MTrCvxyeWO6-aJJ3>EUR7@=CXy@Me?ZN-`Dc zhPt4$=e&e}=1}c;A;dK{o(EQc=JhR_d5zWoWCOWq*3h&A$UJUsH|~rQAZNhZd?LDe z8A+3!Yl1mF<14n-)-|+IwaccTW~f zHO>0ylVVK4pPfUds|n9;)epS^YPmH>;{>%InH-Y(JPRyQLoy=v`**eG294oWx zxXixx87Q^xn_*l&Cr+TbQg=flr(YOu4RHqNkNlB_Pf<)7Yj`kxvB9UN;bBg9mlF)w z=NwXS9QVoY_|XXmhZF{k$zF%pm#{xJ%4o^5c<9eV7wX}y;!o@y0`=nU*vj-ChR z+;e%tNBHOvFWjKot&BN6s2!YPv7Ut+o8BcM(>%9e_dJ-4T9IV+j-i1M%Q>$YgR`fe zubx}!A;fudF=vXSb@Bg1Ft^_2J)%L^BS-9F6)6!B^2_NEuGLcvx!mSJcqQD}mB`xk zd4o`&?}%)@cij+A=6N10nYeP3sE@4`K&{XYrsaaKss35ZF?TJKuR4eubYrrI zS0lP6>B<7z>x_HjXRlB4MvuOJ^HpB?W!`4MQM#K4L)WNB*7?eOu6gvBmw3idx|16| zJql_bUhbipYp-rF#bKYbK789ZX$B?ZYBBInKXlVBI498r*#$rB=0NE|R zt)u5K=7e@U@gf_0FxYZE_MBvG>V6kvT3Y+)=|wb__>Em1#tGc|;pnw=eFz8$1G%#X z`%^PaTzkF#)HnBy;)t92eC{DX1X&Nv8N(?!2c8&xWXu%Iwv{7Yi&NHVfXM4x0xxJu8|%L;RBj=Cmj~CwI9#pM$rON2f#-zm$p(AJ ze9BVs9BVHRNz37Y>D{L8DXVsDax=||;MtW;JC1zwq9BdE`4{jwa)RvN#FoGqQE5b! zX1;!`eKO~0)llGf301eL{|amd z-BHFdG3Lq;tq*FP8o9vokjF7Q%5_qE z#>KW4_?*YSxsWtMJQqE8<&vBG*(B>vNbvO>Q(7;C@^c*vjTxW!*ucGIPQvO#H~u`b zTmDbbj)$0h;qU3+I>3`7Z#MGb1RL?+q_hzTL+w2D1tRmolMDVJp|X_h+*GoGwm~eduzz_syuXpQdm9Jj&44F zB!OLha4{cig1Gm4ZRM!eB&lZRZ@xwoTF{kzdG6!Gi?9CdXRn|Bd49^Qk=)VQg*92EyR z5B$;dRmR#uPQP$ipESc=UwfN8e9;qfW?dT6(-qF~RYXa^24u~|X4?Bi-HPyCKku5( zi@GF59M9gnjmFwDfhd@MVp(Sw9C5vH*UyE;7u%i$>DkR@?1%Be4Bx@RmQc8eJFytq za?qBOvL@4?$$;c}#LS(Ag`m#mp;*VVPd;o^Mf`F^&-`a>ZvhS4;2RI`xnaM7oU}I2 zUt)My+nXn4Z0$puLv@^9$UU6sT!{=A)0;WpT#VFQOf*eji9UQf(c6ov{UK(E0dF4| z#jeK5!NS82Jj>9p?6T$J${UZLe)_}L|NL7&dGXx#`RBdCs)_iNO`NHSCoV?@>VSp~ zOh?7mbYeGNoIDCRyc=BW67{&esP~ZrHg$2_M+S_k@N5nra~+_-@-^|q^4K}YnP+&g z)i6%&IVT<)o8e>NY)qiKEpIJX+d*7Y0(#Ed?@R*%CkJC6T?>r;lp6pTZZ|PzHQ156 zUXlQCJOeFy)(f#X=6>rGd?PwN`&|c@NY^i1A#wTPV)nQyepsS$i*3aUQi z2G{%&LvJjMW!?DtyQY?3;sMZ`%+)~R*#>f^V6x4@fxo$-NT&E7@fmZzyO9_7_#ZJq zZfLdp{5_GEGj9a2ofN}aYu;RN|NQp#`Iq0k{^Ae+S^gv3fBO33%OA{nAdcu=XI)jR z2kl)4^(!yCN?sp2r=}w$gQJHW?^v9DJrbWA^91;&sTO+F-VFkOw!VakPI8S6zMQD8 zuc`yuZFI~bwu~NJ3)7|@|2*e7H<5AZ>7!A5-~T?HAZl-BsJ15TT?6UsTwnOFo#^Jp zj^yV$1;^Lr15#km7xCSyA!FQoe;yx)#V@WractgMM_!9FZsH+9AVOLYjDEA`{FO}Z z@wn?G&j3557u1XU`$WVM=Y$yR^T$B-Jou!*w^Sw0JchOHk+}Go z3L_O4Yrda0lVb*y@8?$B>K~8Bi+ba_=8W+0xEnKGRC;}pD`V3>@_JvGIlgX!)mRg2 z*6`6CE8nTlPrl{N{V8+5th<;3W5t#Yf4O=;^FDDz#g{R<)iO`0+pFy-PA*yR3F?5k z>rf4*f`xlV*OGiQR^AlU>!sIE^}|K}>fBO}CcQMnL64B`q&K>+i3f@gf#(9ty~jzgHk38aY;r zrT{ZjJASnElRi~?KlwVJSkz8F?lDAkg9GgvKKSHQLu(^1kH$RXGmi1B(~S4Y`RjZF zI7s~!3cS6CE0N{oJOu0;T1V(=ZCjUGn=ZcblK`UGI?T<|^BTRWfxkuaJjH2WJ=qDM zx6z1pIq<`?uO>2ShcV(q51)+Z$PByzjkjH{1>m3!oA)8boLJ5=HSF4vs6WB;n&4@` z8e6CO%jkN59exMl|3_~OkM zIy!d1wUnIryGAl9Sl)UFtuD1@e1Dy|`M=(u4kh^8Z+S8Pv)Awc)<1ZC`}03~eVYG= z!`{oA=J|uC1Y<*1x#}-R zHAUUT8sAr>5QQNQe4|}5LfK~hkg5Iv_3bejUdBCilngjPh}rIuk>^SK;`Ugbgc84+ zS!?pe?(+@02Lp}gU)#+|58@dedxUo%V41*Bo6|Ybfm_aHLow$#)_p5Vrui#d1tV+2c-;uU|^edGxvxla}whi ztQ2KYH#utKz<6tk`}jb}WlYD7x_dNiY!KpGM=?7l2V>{S(ND2Q#Kav|M10tq1N^%W zK3-&e`uP{H-}}=ay#Bl2{FB!=pQqQn5(#hCbRNNM4oefy-V2^*)rg}-&*5UW z!FxUDxcwfN@EwESupDb{1QX^*8-8q?ui%NPE+$cJPS!YI2QC>n5?(tNx4llz{j>Qn zuLd}If^$B4-}t4@O?^3YZ0u;6^Q$Pe2J5vI9J4K)H&Lp;E7qE zVPY}Y2V^>bv3c=uV*(I^kh>X;%g6S*hEuJeNo8fnBT=va#AdcUN^Te4^12S5d>OaK ztBH{r@X0y-a*UTeJ^!5r$H^Ps6TD9G)mFy#S+|1mnQ=Il3&Lz1<~JF%m}fA!y}pLcj zsrVafF>uDQ{c2pbqNi0a1lFe+BZ|Y2@wWo{5)bRE=RsJb`5;?1OBJ+Y-kBKyS;#&)u=PO6$}BJjbL0y zg+S5dENYW&9QcXtu!{kVH-#{D{7C!ok@9SZYjUiETh`7coq4HNo3{y{iBRAO2^Jyhs4KahZe^W=^g_LsT8@?aldq zZr0u`8-8YQx!aHDIRpQG?$C1d+9&4l%{INeEhGT#t-;@iO-Voh=F`_t{`4oWzx~&K z;q~jk{CVC<=MQkf1PFE?8J>-Pv3Z?#s6P7Q1whn-z~y0kXRP6jiv{DO)65t@Zo<;>iO@C=o6ZG!QWcfHF*DXiNb zSp?C+L~O~^28oubelJ}Vydg00EJ}_Pk%+^`V@095hXvz zadGf2Ifk02Uv^}w)4xG|5xyKEG9fQE=C#ehXJ2I0dGMIrRFzRY`=mdfYKz&_drp`y zmyYI5xPJ&Ap0S37(e{3(Rd?=19W^7Z8p^YoOv`;6Z9t@lZ-5@()u^H3rVv3Ur!Y86)su>$3*zw0J3L}r3u6Sw153D?vz zHRQ95VD@4HKU+xq!e+Q23yEd&h9*4KT4thJ#~wG&64p*taBR)>zGIgMU-J}IJNdv@ z&v<$m?y!?U8~gJ(w$wz~so|Rp{^9R`_WCdWhu?Yq-+%a3epiD}4-yl4wDL)ip9bwm zLWE_E0yd7elz}PJHyms&G;$T?Mo9RG4J{uHa}_E;$Cij&ZlO^<0tlPtOo+K(K|*y0_Mk?v+9e;65U@LB2&kMNw6z2`g$JP zy{^*bjxFTn@3F6G;8McmZ>+cktS&x{0goKxa94sfmRR)27E0YF9Tz(-0pb{_CI+2pMUr7qp*Ymr1UTzqwefkA7_kIj4{Ibn*iwmIvA@rSpbj z2a}n)3EYRK_`!4C^{2JV(YW~h9gE?BCOq;L*fg949mt1&5|WMS>Ld%{TSK`p zgb4y*JObk27QJp`-$|jY1)kVrO$^*OFvD=J-mWtMY!l78o$0|^h}N!a=fqVfa5t01 z#!_Actv-@r+@YpR-q*CNq3s~%EpF;B4ON%7(pz` zZuP|!Ll+SC^%gUdI@!IP0}Y7_^NNk*31CXz@>;iuVwg8Kzqfj|1Y!+@^%31?{9g0^ zbb^?mjZ+RYf_hh}R~eg=Nx5_mUL6^`K;UO)f#v)BLohkx<wBCp?`4bE z-}6w(B-@%kazf3o{Z$J+AivuqMqB3SfOD6y&|Qa2^38jL=hi7cMsW17usvcvxtT0> zj|sh4cxrf$d5^1)GYp=mMWXUWEl$SwRuG`^&nsWuvGJu(w(Qt|9%19RC+rUEjQ{{Z z07*naR2gT()fO?I{t-0W-WS2Zf4KsPadU5q9t8&wzf{$Bb1gaf0ZiV4buLeTV))1t zN6VMEL=0nxOP|3p3Sq~XBf+xhB?O^+&XAK<^>V`PJT@Mj|0-1u{Ey5cit1Ca-T;K2@=*N2#OgCQeZ26-G!a3|QhGA>1C z`G-_~_{*QZ{^AdQ^YwrHSO59z&;HrpdwuZ>zZfV)=qsm;*xagPCUcmxLkV~*OQDp@3l&~of|w)CUSz*xBg@|oL%$Qk7mK8 zIC?e?vw-k*yytLh>@lb|#k|)it-00JCXDf&w*t#kY{Bnb)rA()p{2*6%%QR18o#>z z)y$eMcrYz)^5H$W3?$g|H`74uAIZT^?L9roP5LXL?)YzDSzvG*mXhoQ(b>->rH0+!x9P6;hMmRtOnM?-O#@I@i(^G zVRUXS%x;cl;14Cuc=+)Imsf;5f&bArzxevE|KXp#{_xL#=k*`|d%yDf+kgFsuYd7} zd6O5&S%!&NO?8TIaKq8$eDT?x-(776Ds&NQ~U{ zGaE1XnZNgQ@YqY%ePW!)jV5`<57&+2jYMOctG>p1*`_TYnb9A|?*vNVp^;D&-p#~9e=2o?7LyDBHtAp6|&8Ae%}IWc3ug{het*^<6B1lkrs~1HSi_>R1y9}UCtx1NbmzTr^>FkYQ0K&Xm>!bnVTP~qH4{{-!O1lt zyoS(^FWurmyaVoXF^Iptq&|%~FdA}3-ha>tMql>Uy`Mg71rUFD{cmXU=^8)%`TA#n z`uc-^{P$nK`QQAV*B}4m|MB(3kA7)BOa+e?HZ;Nb+`SmnPYHWo zCffVd_%Gaer%-zSyEqc5$$=B?iu zVY9vUZ|f?pn(Mz@+e40QlPx3W{Xlw}ire9GFnQ{jQiQ2h%00I+FF=Ckt8K@DFtlfh zqgS0yY-a1{xZCp1{H~=pki0Ii;ANJMJlO`iKdbAjYi&f6PN1Z{Im^qdPoUbe{e)m20^H?^q`>vteKVlQiaMNGHuh z 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 literal 0 HcmV?d00001 diff --git a/Examples/Studio/Resources/AppIcon.icns b/Examples/Studio/Resources/AppIcon.icns new file mode 100644 index 0000000000000000000000000000000000000000..10e84c95c6101590c6529b33b01b291c99a34cb2 GIT binary patch literal 1328909 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%0ALy$mNI#+swSj$w|= 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 z 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 z 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

    9JBhTOhkJx$u{2uaEtkkXqBY<(gITMRIWTj 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%0D20vNGwrkD0)TB0q zZe!j$u%7(pz~)EoWMb^~7=Q4OC^E)XjePVLPXP6poHgCTE{=o}ad29esWW6~Lg64w zMG93vKxd5$61&!PV{ea~v0ri5>W)9S2RY={7nS3+*Bhk0PN0YKH8#@5mAU!WEA`L* z1!nIZG26VsnS$3g2#7F={M5{Ob*uM!jx9{iVNbi0*f?S`V9hQ0o)3>2t1zN5l*3|| zV)Jb+a|~WkwC(;eG$tPu4;r&2mEI(h@#N^%F2Blj)T{^>2SxV*>TwLW=ZZjtHX)Hqb&v8k+Y=83mlE)J&_0PYV#`sN?Wo+xQ04k)%IO? z&p#Tk?C#&k%=blB+(LH#QGe@qZ2yOU@~8i%`%AVb2JyZ(wr)rfW@7@Fjf%#t0D%4l z_1Vza;_hUZgTn?)I+AlerB48bv9jbvMGWlm$Iql9WRn>=-o#_jED2^ z9d4A1F?n|H#~u#Yf<7a1g8hA}Hqt4`k)b z4Ty69e~{aXHt-QTuStZl3wX~7gn4NIZV^CgMvGV8%v$IA-Rsj*VYh7R+vDN_fG?!R zQWf)xu_rbhRC#hBtvxYqo!0FXopmaZ{=jA~nqYNBLS2__^L=!11Cm_#CsKwWTE1DQ z!vi;Ldnm{p`(Z{j=Gwe8FIa0i=>#y)VZ?)^{>+M7bIzwRR>1hNaU8kj)n8g7bXt7k zn8Yu514^V~E|Rvf@mKiiQ>m@fWEnr)zW>D+v3O`+ZqzNxT!^I1^~kg`T!?~=QN&>6 z8w_ZS+&meV+Stbr1LaX@`|J(aithEV(o`9p_!{9m=QsE@&49)vD9EQNi2w}oxki&* zf3pC?HSW4ihS~zb+9RuF3L-fBAA4`F-R2wriwiP&p9p3jS+F)__!b#FYSAd_GZZhF z%!MY0ao$k)6NfoE{yVRJ$QOYCjaM!k4?I0$L|Zg4$T3{_pK3DXL&km6hvmj+Oj{H~ zWnOx4VvKgNsa0gmQv=RR=Q@OqW~>bvp~p^>@gn!mUCXh1NPe$}J<{`)Uu+WT#@e{x3o@NuSn zeWzAXOoPK@VZS!jaV%Et;yZqz45L_3ryBP84eqT&?PD8#{?DgM5C0;>*w%YjuN!Wo zzs#Nk-h%}WKC@N~y$-M)GkTeo=p7$?KBxkte-suQ9maWm>B%*EuIYXw(YOB;r1&Vs zYakp?(?2t~F~)@R5gfmgYJc0o5REt9`onsJ|IZ)&&j2jUhP}rtyZbKUV}I*5D6$=Y)ZeoA@keuH+ZKE0pZ)Jxf&bul z^#64KxB_0*AFI6fZ`IdqSN>6d%NXx#aaYfLbzke*)n9bkY80?Txw*Luvk`TJ?k2{w z)pI@W$Q>ebY-w(YqwK~RY(CzepD=U-UHitv3vb+v$*6F7Fl3{oaYILc@f!PjVnTEp z&iq@yjOLA8=`BX|vGqoUVsLvi!MmF~C}qY^r*s)?#{ISKba9AP`aX2_K?h9!2;ANF zfn-_Y+kA;xe|WhX0sNBWS_3oy06+jqL_t*K%{My2l;?7rn}_yMnQJP=JWhRx)obR@ z7$~^X`j8ywxd9^sxm<%6Vm=(Q3UzTVVdputxVWYco1N1WJ7UeO6O(}LPk8)^2M?Zg z`S9p@6ARC&!E%gs=9>>w^0$T=lZR{Nk66&ASs&^g$A0V6arwhj3?D%8$qQRfLYj5i zT1TEZ-q7<<^qb@&2YljWx^-cOQ2ol0@cLDPBI5-&Fuo*S&*8OdEaJlv>D>saTyUZ( z5pQFwqDJIKthq)OOON4V90El6oWBUB;=yTxoO1w`Kx)5(fQ-mFr?fJNqCHfP8KdYu zXPHcW`&0grb8=4}3x%m`VSFYzXBqGMkTJ&kRe$m`ZuO-~wWH0XZ-ml=!-JL>#gU`) z?gwCRO`q#$ILDu_zR7EjYj1TV!x`ql*s+4>NTM^h>gB~lZ?wA(>aoWppzBHATT@f@ z;THqsywQt2NSQOl@5v20TH;s7e490m+z$GE-iU%Qf=MjEz6wcoKuRhy8GC zSK2piV%-S1&kn&j6^Kt)T2g}4v)K5N@7q* z4GowD-v5L@oaJesZ zR$l6i-yF~R5gB&P1w`U^-ldBH=yY1zG2u>eKBVhB`v6JW)`!WE7lbjo#7K>ZMQcBd z+1S$bQeS_xmjyp^+t z*#Uc>GjitTvia4Y57|qu_d@b6KF4!@$EM=gdSW)u<@2o1?CZnRScJ!IQyL@$iekI| zCv+~R>SVzoHt=lR!*SMSIhnJv*45ttC4SKQAqqHqE^W<9ta44eSjNP*K0edIwS$qP zi}~b7-;E&M__Lp|#?0HA!_M&O2N#5`)nnV(jWPR9HxADFaO?u@u&Xk zzZ(s^V7}cvX1o#HAldl+;=zJ1TCQaV`>F(mo16AA*-vbFaN+9je~&c2IOkirA~v(R zDaUrBHpaxpW%=Ov(&Dk3BzPg;jWoCc;f?j)44NjvqroSyKCGOm@whIVn9}fzW$gPv zjrA}S%b%NblQN&jhnwfw)QjZ&OCD_Z5ATp?XpELFlNDrE3dk5|7BWQd&9k|#T%B0h zwf0UqkZb;%DsFth^Ptl80gpf)^URu0q=~`PwGY;KW!@mw+MNa zIjr?@J$!nv(@7V+`Kl(KJVZw(RF(!k-^1EED2svdV#9jqfVFW(867rjkBxb8{$>5L zD&mcEDa64qYzK>ISxe>oHOWrBtxFB ztLk6Ke+{HS~-w@qB9wt zD;BfEiE}C6^;8?v#eqSQl;HDDS2mwZG4AfIw{D{Tg)*yPGoXO}fzf2xEXE|?uGcdgEa)4R)oW_M0t@<5Hq&a3N z*5I%{*14wZP~PIy7v@mi53%GO70ucOZ)W%b*Muvg>$LIcyC%)6xs~r0YHc?j=kW4tu%NQ6 znLq>Ga}VR%OA!*c*LT+#Ol*xez>L3q`OCnxqHzJy5ST2t3Zev;7xqnBO!ekIz?`$O z!?bm~lny&5Dx7G`3!Y%}6YTo;{4E!9ik$0Z{Nf31U;cr}*{3%GcKCutX8qq7_CwGp z`NlX0dS0Hh!%ZLjnPWDubQ%-80IS2}!bgowFczOFYi2A}$t!xVGh$)u{SHqf;9`?W z^q}@P=@?V1zWFa-@b?@a#st$xHba(J&-u|w=mY<*sOxfTD$E9LO^`HVeh;*5Rk|HLL; z*K!sm|DE@r2X#-f?Q!_l3nCxsk#Af5J>T)&V@KP*v(Mwdw+ehN#P7fK->T`m?w)@% zUK#zj#;gBU|9-*m{PchDCx4nh`j<^_L$Pr%Pmi3hZrB;QmyTsNq9xbC_)y!~gzBFp z#*mv85H`S+SLvpuEV%k}yG@Hs|G~tkn`~~pQTr2iZB#^7ypk|d4l9e+ytt|K=H1-k zSpVLl;%(5_Oy8Kbdmpp;g9p)mwHDrD;g&CtO9NW5#YYjLxpC&ELant|$tX?m#%8*X zgcKoq@3XOHVa-7t9(JBwH+=nc7E7L)`Y=Pp7YE0XiAv7-+VcdoVXIu- z+;p`Wy>F5;<^ckGbr1_CuinJzM@Mcd!LQlI+@azL!5voNQOfHT*3=}UKo$9&q z&>5e#kE%aeZ7v%`8{A`SJk~06%HSF#Tn3smd}-Q*i^jMC6yKb9&0u2`D3jiS2R&za z%X2$ZugBpFR@%uG<7vpwdc{Ys#;#4zP3V9nNIhLg!Zrp%qIfOG)-fND3>N+Xh{_oI z@CLtcFch7GcDNU5;v>jwt+)6nzk8@37`J1xp5!>4}OJ$U@{ zMLsm=nlB&VYeTr6GsL12NN7WVQ3B$(z1qmg^Fk4GssmV%iuL$WLn3n?Z=9e>f-Zx6 zn=3=)l`^muYoc10=7i7thX~E5w%|}Vc8je6vmHMipL`o1E6zEtv8Sfk)9$(;>bx-? z%w(o7`C~%`*7m^>j{;Dk7|Lz@sP!c9QoZshzWz69Y6zZnMBCiJ7rP{m&E_2j6vTZ=Em%gMWW439XmGR+GP?u#%@s4cg}{N2Z3t? z1Bb0!BDm7f4;MB+A5IVvM8$f{PiE()2@zcL?ZZ_L84W(JDCmqo{4y67B{7YMKYr`I zK6tm)2YF*rud)I+HaW1n0_ej4LgZLw?1K>ZA0#@&)Ca-pv224hK?Wxt<`_ruqtzXt z!6SzP&zt}F^RP*4?wKRg2;1`E=vU^hY65{RgXz1D$<+rR!tm8_;MckjF;)bOd~IB4 zh|bNoX;tSqmb@{cU7)R3DhAKV1GV@J(#|=R@z%4EIOnKCar@9mFau(Z`!wQrPUpiq z53Pym*XVl2$KQwKzS#i)_44q|(&mD9lpy2l8~BZgoCSl<=$U+%n5L>6O)-dOjJjmW znWGn?B(T;m2O1rM{Cik9T1Vn$3@^^RzR8Yh>XfCmfyxI5d|4OQazpS?{>7gjQrpaY zc;)(DZ=}O2eL12dF0HoB3t=Ay6FgjbIFoi_i;_cYTTG6$E^BhozqK@{V63jSZyfS; z9z8sY38CnR<1fGKgD-P_vbM~v0YMc&h@oepBI?)&=3+hPXJcXH13o>!5fFl1ixwQO zo;ST-{0SXN#NLoO!j}&`sg4h@)_`2G3j#^e>@$v-7VEr<)pZ$Lu)v%*|3oqd9;`uh zAj&hnu&i-(b14R#Dv(2Q8YxluTOz~_#^QhvjdGwaU0;K+Cj8rdk%&b_+EdGb=spMa z#U9(aPSN8>vqt0q)(X`p&-AVru)xok_o(o8EubTR;WjkJw#76e_=DpV9?JLt88z9}#XdsUApP#4%$j)C$w}!XSi5n;diZhQ`99BYC%5Phw&pvd7SArmNvuYKcR z_gH&rfMT)$XTYecF7b0-r_xN@0Gc_*?aS*WL3SZ%_Cg)4z{Dny=mV?-%nu-|^}H z-aq)SevPB=L9$`^kdl34wiq;SWY1<2SC!e6bgZ7;k}11TH}j6`pJVPm+`z!$M#Vnn zrV0M~*~j+UxEQnj^+B=z+7A{RqBry4ZEW^C{V*gKFftY+V;*?TlX!Deh``O&4LZht z+G-#kV6p4g50G23Hm#ER#^gINFh;Czb5w>%pY5BsrX%OaWg^aj=O=j_-zbcay#7(y z2)A*t;YPq5D8^s%ph~UQM?E+oQ6G3f8yv<1FGOU`ZV!4VFSo=&`#_=gd0~_ z-YgLJ!FMg{UhD=pZh3)5F2ey_;)_?DhvNXrpY&=}J~BMG;HjrhtncLARC=E5Puy;N zxlqJut3#sioZF212cnX3Ce|i>9|D=btSwXPA@j-KJN=JNi5GY`fux(DcZfEXZ61!i0$9@ng3e6c$ zTo-8SCMJ-H%ccec@tgB^zR~M?ZC$F5>B29a;jTWo)P%7g5Xr9x{`es-&9&Dzn%O-@ z4)HeYIx(OtJr2ViJs*ttflS2Usv~wFmbdFEXFzJQAI=(MZVhCPpDm`oF$q?2qM36^ zkTD|9b3TnN^maYAW_#Y7dwgS>SiyFom=l>_w`VQdb}!UY?8q&|)z?jj>a^BSYwjm%)yC?*S+8L(w;<8&5>9F;`WbtsnJFp$C`TX`U^~xwwtL zx{X^O_~6s?SKm@T`M~$S2ar-tc3tBi(AKG3LFD}5MP0Ub;BRZan4zanZ3WKUt*Y}= zSCrYqIDfw6!z3~Bj&EZ>_G}jerEYUSd{S?pK`251@Rx!t;L<$6xVg(uvQNGI$v?7u zbIJGI==ruB#hWb8)g-muloQJ%{xAON9}W<~0DSLnSpz;c zJAdy3GvwOe^BvRE@TG14KK^KqY}@U(vd{jvtiYbNzopx!`By6NwR*nG@A*gLmC=7| zy!vnT-EE7rK~(z&jp)V`bEh!ik5T*mhmu z-gxj+2H7+oaCfCDd7W9GYriHu7OnS?A<#j|*oS;#x7JWM9c)e>*i9_>&iFY;E~*cVA$t!{3%T_H#s;w)TuSul^NY^hBx6>MCn})y3wi;>3@FTzGLG z2Bo>l+T0s=u8(l%{UQ&u%F6Gn@?~Y!6@UFa0iJ&vgueSLP z$0mj$wQHWuwG-DS!{)+yqQv>;?1?fVyyj+%<<`kE9x9F3hwcd)Uc{KC%BT&gwNt=) z^rx0Egr&yOgrzQ}}G&tA`_Sh@T0WSX3GbbA!;=z&G#P=N0 zfwz}!?1G%1;(HxqpPAQtKS&S*an_wU&f^XSb&y%~D>sS3KfJY#5q$8OJa!#4Z;CYm zm7=@&a;QJoGP!1+ILoD2*gP_!q|}VCee|t8*#5m4 z*PwOvgD^r;XF2ta5O|G8Eku_x>-PMCP>ia_mM@}ju8-G@Vxvx;{Q&6Uc&ZSaAW0@Q zO>i_)Q&x<9gP{(&>rf2%^5(7L%6gB4N9V<3HoT34ju#t8*P?Gqhqt}YdzHXUg)N@pJYE?)ol9?zBSnEAdwlCAEi z^|L{-MFHE*h^w{|H?XMKL%Jyu(g}k!wjz9K-B9&$91#y%*bnx1Y^**QU{8y7usfe4 zF0}N!*%6tXc`!wtcWGOOf+{V^`!^G*E|G~oHZoz34y4g<<@rdm` zmRM;G-PJnrBF7GIkcJ-Cd0j0EzTl0GZ(_mc#{Oc)8-NP1TOXXTEZ0brhcylcT(&X7 z-MS)VA`nQOs#iCx;W2pfOVU_huqTEw1G@M;%HhMD2OYRux6JAH4GcWM!(Jv#36=FHqD zHmhMkbd$?Oa9)^VJ($!feD=*i)Xq(Wb?mudeFk0MwyVJu7(+2V(!y|MHbe!Si}} zu8TEkX4n|H*zzV`4R;+7ATs_uv~yBH>s;S6CQE9=n{Bu)hV?QBfrbg|+3K|T4UA9o zX${Z$qG^3v5;(+1-avNsxt8~*>YVd_xCfVTvl{SdC`--RyXP`+7T{oJihW}LZs?i!r>a_q*U1m9=`=6XCHBDtM`;X`E7uzS!Ui`r7X&mYR3%t5Un?te7XZQK-34tEJy{9;aA99Isyr4&H2uv9bq)=;a1Z zKA@;Ss$>{ zg1vjr#@iU{uLr)ehs5#)VD2B$5lgOd$fcC{J+H8mIyD3=udNG$t~K_pwdX!gW8eBK z;4lcz8PneTTc*L=0Xplms#2`{eT?n;tZw~&n|^VA8=p_xw+g&3+?)Dy`V%YgtvbHz z?)gXKmC?VCKbo)I_UwE+roZPqrg!}J{=q-_HCs?OB+S#&?dI>big<5C8f5CF8!v3V zo^k6&xsqan*Xx{5e!1b*C*leBY^()eIkVlsh_{b~u-)c}n-2VxKYPk+{Q5i_GdwE8 zelqzI3Csri$Q_{zqF*|4#GJbLSYd^c|&l!rraDC-;BCUaSCoN6~{OmGs&#^ib)VbI^1cT!Pj`gqO#(lh7GV4n{N(EG3 z%f$x=obqo8eV$3IJ`Q3@tj6uEnAR!0OO=~1kXXZ$2T-O)2KlrTGm>IZyL~vBI!-)n z$q8s)y?|O*=1xIn11q@XoQywLY<%3J<%8myjm&K&V2jt+(f# z{}d*uTbGzM?lV{>{6v~F#)mm}8RIk;BA&3BET4xnYXOJmMi4U_S+Szjcd`Torx)AC z!>~VPM89<|Cm&K%i0-e!sPvBm&<_ZTrd8jtI-kMejQ5%8^fun8R`KLgbF=xvJ zw+-PK%WuZ|LW^s?c^|9;9wW@bWDxnGA$Blj?Qg#&AsI`T#nyxu?X6jr{i z`NjzT_C@dUU}d_@$z{*6-ETJ&y(WIUo;&K3i*=^ZK_gz@ zz({0DhP?WX*z!~DMkz+?gz#7SwRUR2IY54GgK1J7i#Oc%JRL;&6u19JJGL~QLpp|g zaoh(N^6X8mYh#cD>k)M03v~|5{|Ja+xC0tLv_p0btz^yx-!!LM#i|$c%_2W6!9BWrZyvh;#j0qbIuUqgv`LNx3VqaU1Ry4J4-k=G9wK%oS zn1M$1uYJX$MDU!u1`r)i)S~X#)TeuNbGz5!*Z<<5{gDpq*g_VhviI>vb7c1`)344~ zclX~Kzw4OajkurfXI9|8%6=xqr&}uUtvcSidraYW{;mGjG5#qp?ucvm(HPmUc=PWL zu{7f029(|nEZ49%kp&xlH;~!bW~1!&-k|sxoCB9Y{9N9iGOGk}nDA+MEy8QB5IHq`3P= z!=I>zD;OMK+rAkdbmG1k#K#A@o|kN$TnLpfX5a9Hr&Nn`Y5~I-nsX2+ z2XhNKi0I5?>Vv^zuO&9XJ1@W_H^Qr%@{hjp`;&3%A{q0S!*J=fRFD%paaO*4&(W@f zTn^LaXAuUdNL&-EW%OJhqaTc}Npm;XtwSb0Y9Hthe85bk{mD9LdM9A(%&akXPbI#4 zNyPo>U7Vgp=~^+zFP+{FkiNUH_-f4<0<=RDS~0y0!ptYo?8NM9cl;5^ZD7n};z_PtFln#Pygj;zh8% z@Gyv6%F?SH@v)^fUajkUakCKUo=likOn#9Yvv1PS)wZKC>@^V4!j(~24Y4xmw4Tj{ zH}6|#di=_}zPP_|3sCdn{@(kJ7@I3KW33O)tf@FXEI!u;*mdm(34LSQsCV6#qvg1; z#@P=c5Q`mm_6ut9z6Ro)^I4A=Ht+R^Pk&oYRSwZ~L&aqBhdHge%2ff*dp?jm93pC} zc&q0=4J>W*gzFh2&r4tM#+W&6*9!Z`ueDr^a*MGfrW^m&J+|es*C+TJYkA^oW`~$W z9?pYZ%yM3yrk%sC$6}rM8zhh}9{unJP$MoMCul`$oAjH6i_G5jm9=qFTb$7pbx9oHL z6D#ofPXK;mp}t|pmH4&xQ*`e(JKr8`#_z9<`7U3-kL2&NppJPiBd?@P-Q3cBZYiQJDj(Wl;cYkwJjucwWQL1nx zUKLr>jQrkQ(B$S79Q?Y@T8jh;_)`OZ%@8iFN31j1+!}x&G>CVEKjY?vJ@Up*w3#DI zoZ;5BLPmpCj)R9zX#_h)`J5}Nha--iE68xXrB!ZSQS%5k9|hR@|5ZBU54ri=2?_C@ zwW)d6aFA*u;l-|gn8>@DN~p$OH%nKI@givnBO0&pIdxx9dYu=6JX&ugmMuy2T$ptT zzKAHPy&i@mqz!xC1oK687E?UDvq@~k@{6U)MTjh<#>k zZAgrDy(`G^tJ~xhWDM`*kuC?*_@$C_+yCqFR9R=P#NBeul%;DnLa@rck0%v|Fp zWsQcL*t14`)3>(7#cjYcfl<#_MrJ~Q!#$$mx&#nJzj6x9gc=CWY-~}bIUlaE8h7lY zi<}oZmR32`r~V#moMAyH!k}TXJhYy})Lv{5`5<5!47st~*i6ZzHELeP9{h;V9dAu; z?vqmtev{g8-S}Gw;#Ozk)X0+)0A6M0U~`H1^*rGX6$?8!4Ca5GU|3tY^aBs`sA592 z*3Iw2h>Z-$>*S6jt?Nav)g<2fWHRC+bYgYnESn&^1Mi|M-J-ia%v^O%79HEKfF{1X8ggMeF%H;z*UZuZbD@d-A%aE+;`5Ol-L|#a`Q3j@ciVlAKd8V*3-*E8r|26M_*xC$<@fxf@yh7G zHD3MQbEmrJj90e(i|jxBd{sUl}%adVj)jX%kW9l%lO(Q$@z zNwWcM+l|SP&of}v2-h^e##2xN^~In!vD+Bk-f$Pf+j}-${e}xZ#_rDiwr$n3Ki!T) z483P2;>&&4#GqU(Ms3Vzi`9Mf4H)w*1949y-aTJMWt$Ii_QtgJ!?N{Z(3{eut3UJR zUQUe`UB9gZ*m8nnT92AIKYYyr(Qu0)kLxtv)H)&_qsdVh&Xd8$R?ac0-JnG;L;ZLo z0B?;SLYb~;h5f{T_{8`A)j(p++liPzoYuDwjP*q?_Tjzf5-6>0N2K!F_q!TZQ2@c+K*p zHSpyGm!d_?dgp7`cXP(!(A1_7;Nq*&q#iD^g`017nSpBv9Av34{%LnzJLa6wIXZ4P z_)qP|e;n=5mw%^=M=#It>l=-dSpB}y;GcUyN}E8apIpnfxLd1cWYm}XAARDQUoaYL zxq}VWXw#!}oRghvt#3&6Bpq$Ku98w_Z2cL5QEX<#gID7|Ygk(y1lAY|6_u^ED!=L* z@b&t{6nx2zUn?fxnfafI%Eo;Gi+WM9!{#)b6rZq=}UJD@s z^FwG+iP>{&t=J3wz=KLOz*q_+(*8>Ren=>O7H|3BS6^Z+G8{<@j>A(fIm{H@<|gCF zcd1TEFxMVuza@5w9z1|m;FE#&<*~Rrdw9-IrkcmT3d}KmIzL-RO@fi-g zCJV7OM!orJiovBk_Eq+JdC`~SU;NASPXXA-p|kxxzGcX7-Ok^8BCqVD@yh6F*lxSW z$lm8)vs?LR|05On{0)E~DbSCocPIG~v#+Yx|GmdyWjkj6wHG$Duj!F<_k4OcfxVt~ zBa8tS7|vj~rvBtCTT@(oqY)c!z-?H8HS>iXE!}QXb?KJPMrTXMjlT2Bj&5wauT2c? z8*OM?hYe{0?6%&tX?BxFj{7$=f>WJV7LE#qg>A#R9yDH-Ga5XE{VHe&4< zYeT-C0caxYudZ_DHOy8JE#PtTTW5V)PnMJzwc$+egEaqVG;aJa2Tz>9AjGLK2-1jY z0>iEI@8Kj|bsX0YpMA3?mdY52%c182nRgBGjW~WM*NF)w0^>C%;y50eb&SF0`BcY% zMA5SP%DRUIMf~;-pGeWIM}3Atu%@ke=jmBLu6XEoEfMm~c}0ZIJH{>=4K>0_-!;TV zTW~W02lLIjc4L!C<)F}Fm?oEz+?}=<1kkvv)Q{Zj9|Ww9*722#O11TQj>BNjDRQat z9G_hA**xzY{BR=HADaonHP`?0LJ=pY>HPrB2|iO7{7?NWN8|eGK6X(N zcP^i3@LQPS9f9>)+o-n{Ws&2W?UprH9!}L4@?ayafuX>HK7NGuF#7eZP4FVu1_2`` zY?#cf0i(-khj0;d^mGTQc@`zy*ARQw_t@c65P1w{-`pK=j1HHTdJb|cVg>LMClSM4 z+T_shiBL9%7f{$aj7~>_!3r6ui5PiTEK&#%Z;5CJ47#ynvl}}!#B3V1>?_WUSsm^*6_W)JAv}`=MP|?y;TGyttdQu-j*-{O%cVWPHBWZoBs}zR0%!7S6YH zzpMYZu>V@?er)mnS||T|NbYO(dzatykH#ybe;~1qsoMOqw*c?sz#9Ly+WTsEZ-hhf#j^Gq==PU!9*i*6Zn>c-j4E8iV z9&lyKM|Rd_{MMA*7;jyLn>jj^=cad1JJ3hxnJ*W?<2?Q&)~NANq+PxvXcvc;1r7l`6d6inJ8*m~(0sT2U`JBB{|cd9ME>*g%NM-xTJ9**6yuO4FMB+y^H=q$_wajt(~Z#+3oPNo z!?U^1<20J*5iQOh!4%Rl(&RTPx?^*-=n)Bla23)IS zw%*vhpl8B-u^zD2Zr_+ZA7Bo`#H3>4B^H;H=nz%kbD|Nnf=CSKqch(@N4u&S?DXbu zZKLO`Xp5C^I3me9dnv!<+oYMbV#f>#T2o z*>3boS})f$`E1>bznF=H3-&RPr@7y7y z_W!j}E~yMor@}gGkNI z*f?sH{?Riomz@2xFZx3pP4^EWz6O1`RnBUF2+pex5H-W2^V%3-fNQh7`k`sDZp_w( zx>@OGN#6462Q8cXUNh8|a2)Cnk1lP`C$z8pmr--8exLV(6WTDRi9M5*pm}APFGBtP;$QwR{6Rn_kpC$?Hv3wiozv6q`MYfO zcmJ*NyN>y`#oqa6{}U>3UtK@J{L|#Bz_)7muDj%SFQ!|3r#yC3>yw^81o!US6UZcLB2CMT@_ zc3Uv0#46u1h_61(Paf-w2CEWjuXnj+=kuqzFTO*%sJPn}g9lj%`x8yy&nyAV1ggD$ zInd9h%jUZqun%~;#)loaUOgrc?C>>ihWpd5F{~WyY1%uE2e?3vp1SnkOmh>+PY5VD zHk0F%TY0pO@$dApv%X-D0v2%PD>vEm2lJvA!?-2*9_z#(sK#94iP3ifCUN)_%J`*H z=7nekQeJ!I!}VA5-;T8|CO_rbT&{Xdo`f^kn1G38k7$aqKM|^ADjC(*6ge3BQV%@E zXXM$GZmp>s9*HtFG=5~xk>^YQ0E&9J)i+0R_j+mMViwvXg60-`@Qzdh@e)@vEFECw zhxhsPJp&T?dM<-9!BdTX>X4i^Svv_8x`epo=)b$3mewY|vVbm!S$!=Mba zKG9qM@wGZp=@Z#h%X!DqoCLs$)c6owzYKoBDPY8!IGYcv#S@`TF7u|j0*}U6&xv7< zXg9W&geaPvVk@Z)8vJcrd*+9K#?3pNV#)_nxbANWoHsN$rM<#3qn6byey7!;fdcWW zk38$3Of=>gO%6C9IQBT#9(jK&MWgd3h7TQzVIcWztxjwfszy4m-0YcDnj>Ur<=fmU zX|Cwe<(T2gX-p23@vzyvYme`!QscQl1gmRMdm`K))b7c$HVsU`;Vnr(;)%1ZI^*{p zPzj7n?WijP&gZyiSohZ3G5odI1K=3nb9@oBEf%v|?!7Q(Cfdf zy4h6RB**{WF!v`TII^*@?GV^E{K7TX1?z@O{Bnsk4muyJq0tn&c?o_t>viE7iMBT} z$4X$*){QnE#7KKK-mpL%8C8P}*aZ!FB6H+o6% zAkTwpf4{o85t)g7Mfg4~!SN%vxohzDrr5E9q^gp!ft_Y8 zX3YHLc*Tztl}$KwY0HUeb9((JAlPiK;trR(C#S@9ov!%&)VAcu7>qdZ*kQbhooVi9 zS-((2z7U>+1Wv0T1;e6sse%y27gHfz({cbyZu1~l^&qTKt)seXb99lx^HGV3h!@uq zs{VTNomXo@yoc?>@Z{!sr4gowiQt)^HB?Kape3;MkddJDg3WLqw9sR{?ZK(%`fq;$ zI@}Ma2EKd7)L|b+i{InPCjqU(5TLV8u*vtueE6{z*bI~LTi)7_3fbn)5BLCNzPTL? zHN#7E1&u#(TnVn9oOXsJQQG3Mr)0c*Rj+R+uK9tFjK5p9A76kfuY&I~8Dh_ZMW4vV zLbmh89)^=^ATSs%0BUb+X1Q($p!Im(=zE#0lH4cK#=GlB%&iOhv*z)?>w?kaPy9A) z$lq5)_)jTfUkp4m%BvZ^GOF|)8~UWqYg57dH(9TJqrQ1yv+Vk-?lXl;USM~PGB;c~ z-uE6yGq-|>jR%z6tALMSWHqLr&kG$l}WySX7 z*&MNO4Y7?3o~>nl(TzeDt;>MbWW$_Xt9^}6F8d)KZpI&e;t!+@a7~*|{L&~lby043 z?U*aDx|4^I#QI?kBId-u{0bd@{BY1f^Nq=}pH@bVeF9@SCN+NbL6tnCBF^$Qr#!^8 zV&Roh&v$T{BYBV~K)Z$+(PPy*L=1$JJ^wLXj@ys>$j|jk3cs4<6;R zIc@~dUe7J;c+r~YGuK*8Yx9~zW2Qd*=7#s5jjKx!bIuArsmvI?seRC+YXXeE-IhF7 zOJMtV&s%9NE75?xgdN#w$Dh z-}%q}(Vw$Z0nn?F4HP=GZYqLD$cD6=>uyBb*F2Uu?~azCpJgL*lOaN*7$fqte;EyT zjHh2LT(C`BXyVisV_d>*9>D6>oa!}rF+_Ll2XsFGQ754Zw$AhoqjTe?9yp9?-j^3! z|8X#o$sjmwIh@)>aMZ$B7-Bwxk^T~nQE8yPsYh#44=fJ>7dU%Tpaq`6Mx zuZxk)pqRl}TzO@(r}$)CIyrV;{=_A;K8d4lfQo4N;n#R_ArI{q{lO4W&dYBwf({9A z^%{(FsI6LX$Cm4T>tl_Uo572VX&Zx1$VptWs`X6~YU*9loI|*cpYo@c%NE`?%zWiw z&G}mk86#U%u*P1_(TEtCW|*cmAB2^*uGPI9Tj+z?)H!FQAn4N5FAC--RtCLRYCq9p zK^1=(Z<27d_gtqqQJa&4rdrV@#Ht_IVRQ8x4rS&*+@vv?!8m(9z*G@n3vQFE@;xan5 ze2IWbYq)=h20Lp9sCfcHe7XY4XzGalTrN|q$>53&FLOvNwb2=sKCi7!W1}Nt+Y2B3 zR}poYW5?=8;r#>~)@@Okqg(3&R6ntXpEz*J7e_2leEbost9*4zM?ayo+q`tFGp07M zt#dHVsT7ZF`IQ9BXsKcc&ZHCBu~j;U*imy^x>DyjUaB-AnaIZ$2j|UqIU?THco!F8 zi;KP%kK&D?tiEjMA^|$}v1R_X*R5wvTmQR%{4-**7yj8Gbd7Gk0CM8CaBYmc@qjbN zv#A4metp|G)q6x|)Cn{!(D4kx#=AR*qfCfD+t)fNJHOiHkK|$v02q&zvi0qzA0@$F zS_P};ryu=^1+kYesQg6hB|z~9uVsRDHr-5m6XAipHP>$X|(8y1s{qD4~seklfVGDC}%|Sk1OBdb{;=>q2 zuU>?=4>f`z-eAc$vHZOXox3iZ0)&jsaeS1)PiIp>^wP>W2IQG9&Vl~s#bb8XD`s1N zwFWE?=Gv9$ab91<{fXE9Y@LvoUr}-5Lk2v&y{8Z^FW=qDBD zJrqx00*aAip)x?mIa`d4kAZbLwHY+caLy~bCngH&G4;m8w)s}Tz1e@)9$nXTu<$jH z@@TGQQ{1)FvD_LUM?B*<_nsft;21sw>6DX4+>MV(IXEK6)Pj1s4PuozwW6<1@3>*d zYi){^Gaen*)L8>;$eGsT(<_V~)752SEc&9>9-|7X8Rf*7F2ap;6CZ-k~uGz*rx(8!#dbM8UHLP@P&?4Cl5jneW z^;P;t(7I?j9>wWK-7)Wq^^e7J-8zkhnxjqdo1Hg79Hv$(HQU#4a#@?&|-`sB==3Rxu`e+?*MILl6002M$Nkl@h0}>rq4yxc@n9}%=9xir1@stSg5ce zUS*z_nOK!3y20(?rHwP9OpJIera_qb%^MGVh>IZhnQVUBKbYktmTS}S@Il6rsC~1{ z$S?QJyt7>zM8Ra~CU0U1JKkIx!oKfa^MY}?iZWVUsYOgI5pcZOqYY zqw{b{T%=Ef`#rxjig|;J41fByCFX;*e^;g!wRzYeeQm__pAiVU{IQAe#4{A*yyPe> zg24|lJ%>O0KX$I;*yuNSuzhI!X%8{2J z?}^4Pefh`W!qO57Cf{MB2Al2&OfAImAW|7&gZP!7LO7v`LD#0wN#*+3cch^>yN-wd8qB76`^Q22 z#;0D4h==?cSC4g?ID089m<-7%}5=h|D6yaN4=P>bzn(ZVI6Mt-t*T|NU?ITL6%JZ|^ecy&2uI z9dD26J$`fj>h$OMd=>1kyMi71v;Ean;G+|9W$!%+Q` zt_wHcZiZ|izF}9@4UEA4`f{Ay1bI006~#g@%(xrS=&^RU?B<23L}J9xE8d;?X?LaA zcQg^j@qr2PU;@`fcE7=zpQ3EsT5!azesFYV&)D2Hw)i>FC&%yk@6vMYD_z?9GlmLQ z$iB;m9M$Q3yu43DBnq)7emCi6%1;l;9~o~v@qrfsKxgXnb2eNlK?U2jZy9#N5UQf9Bh;;I~J#L>WxZd7;yTiIz5Kf{UsA z#?q`D-RYwPi!T6&mjfn|;q7@xU-xG;(EW);qyOTUtw|R|DrF~r*9P2u_^fj5#QWth zz7SVx!!6e@=iD-2_|66XyB_FZLyB9gu9NA`wH*w6@=2iutbu3we zHk}f1@+ISW_BS3_U;NeaFf>4W#`}{W+{Gr|ya*?_gR0GG&Y^%~5jV01i!QRUZ(h`} z@%Sm(o@b4%AbRBZfhWkw(jgM^ksBz};y*{6z=b2+z{K5k6dM^hwCZZhtmjbc-ZjK| zcRHhh8~251KZ#));FJl?5dspjP254*F zT*X9?Z*v6?Ci&ndooLhwoj<))KOu-=9J<;>GCWZbZMsbP?>KE4!?W>fRo=^9G)*^W z)~f5(fE@96|C$0gKgGa3c%+sCFUl;Q5Z%M(^ZsJB4Cd55x_%Ogk8bAFyu>An*zn6Z z#bzbjYR8!0gy{Yfo#N`qlqMGbdBJmK^qtq932J8M;w%#6zSKBwHS6DN5VZActeqE2 zH5TWqn8oI7H^;1_EWBoxA2z*4)L|j-(>>=WX(Z0EH6WmP%`8@pU?N1KDW1}Gr zureNy<)&t3(epsfrp0SWIW9lsfW$~UI|TD)VErZ*+@h^ZMm)jAmpLz+1FWJN;lAm@ zs2ltA;Nd?H<{4^Y{C<(s36;7W-Z=*QID@RVQS5aXD;Jg z{H@K@M0gJ6;fD{zXn}p>`K#}`Wvp)FV6(9xapa5_afIGq;Yl277x}4AtQ&o}6CMtj zGR_2leO$LEmhq$SufpP`r#>tNt!x-I?gE!P+N|Dp`+*R4^Jd&@V144Xxro$AjaHs` zZY=uN`$>Yi7whoCzAY%oZZKj+wtu}GyW^%E`bv%*fJ|7Y{grs;LSf4oo0=KAH9%G7 zQ9b8jWULXgCD%0&N-38T968U>6{Q$@&r=riQkZ&b8;A%)OIk3(AXY#iq~!KOsBhhQTS?Z?A0`(3e?Nwt8A3;qmb%2*kQnIsVY zd%aitQBJK(^*z>a$DF6U%H7}wCjOkm3D+Bhm2m6R+nQyBeKz&hzIm}$w&)y7t^81l z#NM|#M5T7;{Azc;m&4|XjWtaVMj16!^>q&{J?#0%klUb zbgLKZ zzIk+!#5ug;zHP0 zLB8+YhUmr*ftUp8aG{KiOvjj+lC4W;Wfz&|gUjTxEhn?c!Yi&ye=R4+!Ut$M^jd(c_hUm;w(E+i_)V@PuA{#N@c;b9Px)H_ zWV7uauZ$k~VR$m=&{WmJ``8NQ*QJfD{KlNn%$ZlotJzv&x+3D&G@eg?-wyg9KMsrNy~7UV)`kuTl-j zV8wZ24XRu#EB7FXPl$Nq2PpZ?n7x_0eUBYN+H{~ABJ$=j;V{{}@y(oWV(EvF*Q6%~_G)K0d`jb>@8t zArH=)^6A50#}N%wK5+*Rj2IACT}sP{npjH{RCVOccq_+Q2e;>Zw#uyobq=oQac4{R8oT24f~TF0(<>+p;GmPl<`d+Gw8-|$l#xk(mC z`F`hGkTZHL+FaB7p>E{MgQ@v}={N_SsdKPm*xZWyo1D0NzMA7iEFP8Y@0FCX?gY?^ zqdzqlS8*iZ$s%_7X&zdq8RYPMTm@O9d|EV zNpr7~%xJ9D95%G7b=DXWulgduv%{%@qw& z8n)c)IA`R6CMuAYSGl4;q^uP)E0BSlGqYWGNZvn`?Rik2<|>Meb`B0>h%MKJwboAH z2>-s>F;lps!*?2cN%#9+&HXz#m{4yVW>3bR`((a1uYqW014}-{;ENq%td-sT!8TVy zG&^Zg6X{1THv}{bUoPDbW8gVXo-*w|x%TN7Czf&N*dF=vRA>fW+uA&K=89il`0=KW z-v)6!&t;saXgF7_FVn>1Ty!60@5`94T`%SZZ7f`Piz+vOnB_Oy%G(UotH=S1Fgfw= z*#7Meqh(Fw>U!|th8Iw2mEWr)^y~KZVvQy2H-`>8DQ)m1tc% z`3~?X8^Z+DHe@T<`!)IXdBnVM&-r`;Eg5@qVZiy)RXuydVIyN>wZeOjK6Ne!a5`$; zvlcuD&GqO?Ck7V&VNUO1=z~ve@`H@&(vOTvWD1L|tLKyF4|fBuDO`Jg7$-99&v_?m zjM`5niDY~4p|~;(m~Z?4*n87uTe9mqZ`Zwbs{ufwAQPY_kxvs-eOPD{R@J z@T-`79oett9}ZHaOi%>rtd7vBJQWMUpM?@4>#ec!(0-Gkr$b$`Fl z_>(+Yfx+G1ukEn^(r^E7f7(Ta>xL&UB3`6#;9*v z;Z_6AG{*9@lP(M9IF>so|1CIj#zq*jh;3FZC?r0MDthC$R_&vHCa-+O5ZOA2ZGz5E z?A%E6$lUoN1L?GOI~KosO`KS9*-nf+qZya;K)(2oyxLolZ^kCwo)gN8jd9}%Ak)Mw zS4^H4@z{VQ*vHnW1F}N8MWw;Ws*Bir4If-I@r=W(E{r48V-y%EctXm<&;vj93+Pw2 zsmDK9MQx@b%di;NysH7~CSV7DJizx{z{a>qtsme?SZ&RT|8GyUfFjci7|S<#i>Kzj(dt7>$h!B0MI4DlW`atZhiRE^4dDt92#GE##G7<0X$2x;ml0u3=8_;?m63~XOVHI ztf#^~y)mgR~&vc{Co=7)5(6~ma?z zdciGzW3J-$(6~%a4aNbi$Qlbe$9=&Ae_B1;pW5z$R#6UT_Laqn}=gp^Tx=B zGmXA$ONPB++=VPRP1po0!vPDFk(0wQFK$>R(@WNa9~HdlV%s+mt+7~<;d8MDt2T6( za_jB5ye_ga;PbYU-z23*`dQzzrSZbt{++q&ZP>o|LzOxCw7+cR;Mp5T-|R4iRAL6S zRGr%S?MHtLe9>D#a!@#eW{w(GVB%YI`KXUv&eOhPiBG)6gX?kSDDYIy1r_WgQdCrA~50DN%a^yKjVN%qOhJEAC4b;BjLPZNlS3f}Dcs96N zk$YbIdwp^Y%f0uIrHamIpc?kXI@3zi8Xx(wHx07;wygQE<3|QlWS=gRnx6>;4D=W` z-(bv5zw5$46W-%YJ=;7Fc91OWM zBNH6oMDXJ7#iA}Fx}g+W<9jV&>g%*Uxmssx;T%i;J*S)s8Dz1y>dA#FFr4#OXJ4m# zF4n=8ISaO3`+Q>&4oypuT7A897UQLMCWFQYnW?u!B3BI>I`a4hI&@;KFUk9w#7c%1 zw!5;>Z(DA(QisPjd&Xtun3L~=`lCUv_=#?s>&fibi^`wN+Avkbg6Nj<$3QeyY zygd#?&?jG`Icr)E$C>(grp*NOe-=rU3F=~NeKE40^D5{E$}B|T+XoyyuIRvbj`{XS z6)+)ahLyBfIi}fjZbd7N{M64}r2+a;&&P1spVyXmF^p;V_qBGrzN_t_{wKvf6#Eax z_Tn1=pZriic0%2^?|AoQ*#32Yzt8wbJ?Cl_xBZ9q+P?H#{PsT=^RY>S^tr6Bi#3ZE z4q$BevUltv(Kx$V9b67w9A>eLW7ar1CPVoqKGbcACpU}CzL^<8=3W?jy0F($b>uEP z9TqxoyeBJqX@089petFZxY?tIMO4FKOGg*@s_xcB7M{BcHQ+wtV>S%7n@wxW*1ovt zT;+GLIZC{cnG84)aMMQ%yvwck+*qDN!OoR8`~xu$Tp5>YA`Sz}Lmy`6(avw9_eGu& zw*}mW%6FtANAoP-YExZA_PS)=5!rF`lXGRmv4dhkD-vSK(OkW7ZVhmdtNeqh7|d;g z7}Vf4oAVn>!0NAF_^YR5+#5^6^ux)Ojv^X*#Kz71SJvUpn3(EozcG!o`jf+GZr_Tz z@`GRg)*d#_UlYPyJhTe$3V zP7)I!(6-DGiKnTh;jy5tv5jc$U?64Rxe9Acd^qL06~1O7Tjq^<7(Bh@mAr2aUYGkSbW7JqPEwE2Ju0V{kJEO_r4?e%spTp+j@SY57*Q}e_l^cy_+wX{#a|{Fu~a;a{!g44OSe5kv}`M z`vDa;TgH~ic;-u2wZV-aZtFR)1UFyxdy>Z14-Y(#Q>1!;qVdRyoXw{v{PST(MIKrk z$v+$*X5+A?K_MPTyS^FE;N))|jL$c$Mx(x+W8Y!(a7)6Q;lW0`AL>y5MD1%_=Z*Y$ zny=f8!ogFW8^?9%D||y=JKk?zbickT{*#-D8_G#o`!` zpYE{kzDRQ9X9OL(=Dx-Gl%5ZJ_Sl1Oj7l@;IT<5aqUG?b3k_*8zVU@$`NOv!{uTg; z0n)Wy$JhS)pSQ1=#}SYDAG1Hs^ulw@z>B{Da7@K>JD>Cag8bd^U9OOb9A0l84VfE67Z~v)B@w~qEMh5+{@nS_Bd<+?wY3Hd%G2pr5 z&0c(P=F2(2KHfBROVW8xcaQ(&9%JGY(c;uxT%seQpNYJ8`;A|Ca{GlZeCGDYfBK!< z|NHg#Zm)gjr*AJmO&p)lnAdPuY!_Gx@P*ZO(s0@jq>dS#@Kf7{txSz=|AP`cB>2O@p|v%a&+a6@1!&pF;m@*7r4asG9)*<;Zf8o{>q zq`q*?DET~hgF!2^=Q%+?&z@t!gxhl-y3xW~!!>t(^KV^bOfYk@$ML01fO)VVIZFl( zHB1C+T0e}+IC*-^&$p@{K0ldFiqmJ~iKIeA`I8HSE2pGI#GX99a zMS|b;27SfiPgz#N`O@p6Hm%eKKm>EcImI3eZT!?0EM&(#7?Ux%2G6|uHv(cnE62<> zyX_|h)aHS+$K?W|n|!R#J(tokCbs-RbFa6I_qdX*Yy9XN-SQ59)Xcn`>zwkai}@YC zFj(2HLB-6mjR$FLcw?b&KB~aZdE)se1Q6gfw5Nghe2c?89!C?`?>zT6bghkmzD^Jf z-Enj(jKihg15Yx-$l$(t&BvO}xeNd@8rr5`Z47I$YUMGG^}{*mGc+H$(Z#{0RZRQY zx&ndC11`>;dD(F6wKZHlugC*;jyuAj9ls8p?QxEyf%*1L6~Ht@EWE+93O2}X)Ci3~ z9nM+QHD7F)IUmwsFn>1G$e1}gbAxSdqB&C^Vw_xNCqS>@^YAqU4O%{nNQuzi8ZptDiTa;)~g)(}nJ z=1Wh0_BFNc4#HEa>^nC^drD`XaH2zv!Ig97&4WNNa{;C~=`%0H8fSv_$81Yo@MTtw z&(=el0OpD(^W<6Pb<7}~GdD#yFBls6H@Ek=TEoTMCA9Zrr}knS*ZA!>4;9e5ZrO7@ zrL{KB2lb6BL1?Ej-|m^0Je(Cx=oxmf)AuzmTn*nDl)`nky@?BIDQeFgXxIcp6FKph z^6@=Ei-B&F(7)dnw;0A7f8Af>7IU>d)c>TohhqOh*j{`C;FBHZJxTAQ@7s60d+^(5 z|GfVCAKLfTrSbRsJHGCp{K9YjuYW=|79~Z{*Wj=h_pU5La;+U$7PUTI1QX)gJ=Z00 zmlZe(%Xk+`MjLzbk*s3-K(9c|@BFDm5q0rBWXd8ODykR1I}-PeoiAW;L6(g-`gCE>4-8%W^HP|*x8CeE^KO|l zZqyaz4vlz81i`fQRW!98J}}W|F1o^JlpQZ#UwGrA+rRtuS8u=brI&8+z5C|vn{U2< zd+()}^H=)0ITB>#z92JktqGnoQj@met?$T_+;K2J+6ymV`YH>}&YyFaTZ*1RuoEj; z`{|Ok^Mby^Y2Qjwiag;UQ<^qV1SOEN$}T zS_XHVS8$ZDWQ=(nL1^Zduh)& zFzK`0=4&8*LqmSnVfK@cG+z70mB%<@zRpY6=}>0ewXKNG8LGgQ zOH~Y#V(s9%Mi8&V<7YgvhN8MS=UPH+%FFa+{&F5!pXT~FIk3So7PUlbk69e}#K<{( z*oo8DV>3wOo0rJqfFeUV2SWRNWacvs9VwTzI|#&6t)Ir};7@-X(~=Nxj<_#_d+iU}NMO zc3uk`Y6jJDnyGI_2)3IIKS>S`1NaxlaqHYcJJH55H^ea@uKj9*gYoV5*)M#VZvp(D z0v_L#;N$+s?DvtQNb|LS#r?SUYwU~u12gdA1Aqr6<(}!WlMdL`_fUUr5ACt-bGdfR zo|Wja@%kRxV|(((7k>E>B-(G+DJGXCs z`}?=IzmqDSJoCee&D{^El4V7Osc+hOu}(kKu+z}8?dT(hmK|pw4-Pc^PJJx`;48{q z@N--+54$qt3RrG*oVfZ&n_*w=Av!%#<~VIE zfHd>O4<8?xcoQ6ZZ<3W&R1$%W$N7>ic|Y6_M@4zWM8VveJ5O5|MWOj9jyN^3PY!DF zdW8WeTCO0BX$G}h5Zfj1Jagk|Y+&BR3WtoAH;cUC>Oei6ryADYm4n)e%hO%FGpFz` z)*54=ZeV>~AkWD;voSGs5ZAdXj;(VMV%EvFVtvnVQ5ol_bC!5Mq`KZv6L!%8$Ii2T z+|Dz+lOx?@4UM;&;=|2ESQUf8Lx?qbto`Vlx-ewo7sw{&3@E|*CcV7u31Oyjf=i!3 zHhFgLJoDn?gAjuQT&+@^n}iv@I7Wo9LqOWT3F*Iak74}n?0Ew}mc|$u67^A=NwVR` zL9~i5-`%*AW9Q89)W-)d))hlhc+wxO=F8X=BslM}b!o`+E$=ksaJG-5&S=poI?8i7)ev7qjmBW9${bh`ams?f&Y0$aeK_ z|C8bt{|{>a;sbymeYhVxf$rOPynC3pf8F2jGk)IFb!0Hxf8PGdmwxL%{)w02t^f?| zXFrPr;tqLSmIt=oe&s2$VrNlsX>|dW;)KuY((snn?NS;kM=UKg0K$lA9KU6zKasni zY4Od#_>l_sXhTwsvEqwPDb%~*HR75bb8RcGPiF1K(1PoOJrij%}Ibw4YAVrgIG^;?4G{%soR_1eRlim z-@bkOr7yj5```b==Waju#(TH7{_gGD-@WtU?R)P%yS?;sKL`NNizBkmdZ=p^p`|K4 z##JCzk&{~iu^OkG7SMWkwoTH(F@Kq{%)JlX)H-uS)@!`9<1=3ji*5eaKmzQZlI)Es zR(`-ec4%em?%tj`w;l0?CLBcLk6!FP$%HogP5;UWWqvgZvahO}~4v!->_J!Gi%%v`HH{wB+moLeUs zoQ=qg%*{KrJ1-4}YVyuHWK4ik4u|t16m{@1NOMob^vxeLarVKY!>Zl3R`4eewmw&1 z#={v`v5qsi@FJj(_Sm*HpMCSwBd~~JkL|>RP+L=^56AgHZx~n_kLg%j4JG$OlcgOl zxM@2N>n5H)$7I(;#yc0p*g6UAD}rw4)t)@ed27T*AD)G?S7#EK^$<~ewV8d8jc`t| z9Qgf62A$sry^Gj5`SZrd6f!{zUlGqkD+FnhaIwbpVm8Vw}Rvma2Q z1$&->*lkKp@g6q%O|UV;x$z-jz41*hj6>V`WN_Nx;WVnPKKseh`yY;RQ1c;EeZq;% zBkjJ}JEqa-`N@Y0jeRNqZ)xk0pvKt(>0Fe0&+WR=GuOg$x$mI9#Hnlm1aiJuD0(zt zoPO&d512i+pq7Rh!nhh#KKC?Wjk}~Gtok|r6KK+c@cE3dQ_r^S8{2qBa8~S!qM636rapGC8-}u=t|G^{wBfvHNweR$d;o84q9_pj+dF?U(WA^89{e$vc=x_G4+h(HynXi9{^FkSm7OknO|pvtiv#WBS7Yq?(Jt6! z^JsBUJuzHisqSVa0xUuIAyOPbr7ysqT66Kk?Mo z{BTvTBD7z$%K)U9O+_v&ytd<0PWm;n|1js*N4ICMy>|Q7J1^h<%b)!H?TycTaQjdH z;UC?8^UF_ePd|9~_SQS^-QIlrc6;yk?Dq1r-rV_HnD8(Yhb)raYny88cjhKw<0__s zo!Qo~{+)knqV^rH|44}sqqwoA@A1ms+DoDHhzB2MznwC1fT1Fu8Xc4i%Mpv6rnq9w zAA3!Mo%{uNYpvwS^W?uGmbN+ifl9E%Og_={3u#XK%oA9^b?>>~(7_Ifw z8_Qt52U?SbcW`z)U&KYl#4js+{N^9sIS&+pjkeh4eyDyqXI{v+G2E~88!qIz<|?LK zC;yQ+(ACZUteLobZLn8dF; zY=-OtORApB*yb~{;kh24@||($Y_9X$P+*{|{jG0&<&*w1fK#-EA8P4beOJd$%i4B) zf4_eA>$}=s^nZ*Qc<}+i^C#=E6YReII^O<6`>T!qk9zWoxtQ%gv_EWL;@|$;_$u|> zcuZDz*M5P$%I{p4yHFIMfNZ+{)W>4vW1K^4!1nj0Zy+Iyvh)Mi&mXXDkR2IUQEF{?LXH1TW&n#m4b~lk)_c*-FFanBcL% zK`!&LOMfus4-TT0cywyS+&4kxk!rGXlT2{w!RLjYo0j}G#HXYgS_l*x0R?9L00pz};JCdi;b$p>e<|(_4;5uDRvIKA6|U}2*EK-XYuJcuV-yK2i(N2&%uEqZ^d+X3}VOc zQzHfQPat~U8b>PQ?^TV>*aRNe1-V8BW*)*q!Z-spr;nwK^&PM20B3>@Z1QL&-}o5s zvELd5&8D$u-0HyYe>oamZIi#{gfkgp!rHX<7^$BaIQGppJT<5|*FFsIN)Fdd?vE7>3H%1xu&wP73 z+}ua-bf|iHY9i^@%DKPV>P7Ol&B3_GWAbNwJ+B>w_D<}Oa3rto&Il<}TaRPUKk&xI zr&@^V@4=REn6h&U$G>w$$ZA}^`V79Km29BT#{UTL) z{KWgm;vTbqV&b1v;EN9co_}N?J8|yYcf5O8>F@Zuzi;31?sxUNKfc=O@Ayvtv!DOv zKlHjwv=@8!5N+Fq4_go4~btbq@&(jcuJXWCv@1>pT50 zG+$XyO_S>&OLqFMVzZ2;-(eH`2E!y78(u$|1cFBcaND`imtoAj5T#YY;``=VuK1P$ zP1i-(KbjYBYdV44YtgQF)KpP@zVMi}V6f_KpnbZ``tq+voJU{0KyldjcbB*X4!%5n zQE5E&h|1>ZXt<-Di9Zm*by%F+L~l6Q!%qkO^=~ahr|(EBDCoRfefG+$x3}MW<@V=) z{?6@L{%gQr|JB!S|MH)`e*4v*dvbg2hwt3}_FLb*z5Vt_`8EK5BryNR+LLUOsw3x2 z_H?nXG=*RrhsPj!xtRvfUs-S4$n%IfcU#DX(>JckQm)B2Qru-@{+txnJ?9%pbH*rl z2ZHwlDzq3AADHa}J$*?)A~Cf)#*E!YN6>6Bwl*-!cRg>#8=qt|9i9^nJ-H3y$R3R8 z@nIyu%e9MN8}`Kp5!)!KKZc3Iq0hV#dA;@yvS{;zrfVTh5l9HsF42)!drbVM4CS0Y zXxMq^_g?^{jp)Wy={OQ`w~@*gM?cWm8Q}P(kJfaSW$Ua?g)T$(Cp&(*OK`!^4IA7= z7`6N-Fwqi>F7feZu69nP(5*H;gG+}M|0t{vdZ1+fqRL5!`+C{)qt}Fg7f2oGq5BfKH$lP^aoWB*M zoi!?W3%?{!S5tfoKOkHSKr@l6&*Q|Lg6ETG5XeYl$I}>c(abq}JzFPEkvJI~tvc4% zwH3_j6PUpw^woG^nB#4o*NhTC)Jm%#98a###w@0DSk$305OLwMG(;R7u;rq6U#|it z2mUtd+8FlxJpI`AH~L2{6f@{!PpH^(ocW8r&;7vP0)XJ!Ht>12hcMt(a|zt>?$>pH zy!IFSA9Ds?d;swL347>7yKlRWxBt-oYNP+7p8EzL-1Z;ZW7Gbn-^{=L-{y)%Xs$Ib zx4SFYvC{0~P-K9?EwuZ1(s6;C>l19B=XK2ZxO@#^$;)GMpLsxrO*=u*7Yo7W9?zZe z;gdgT7xZcd$itT1adS`$Nygv&#jTCZ+o-hT<_jjy?Jo+%-I_M%$pp4+5S9dQxyT}m z`x%^ldVLqt&{4=s4y|(rKODQ6KI1enorh{&y&RN&6_4Xe%+wMhRb^kf%{651a2!_p zGuZh)k1HgS?`CKwe&QVMtIm*hW+q)o_@@>8SBEd>Lx4BG|LX0lUw!BH*(dMc{_z_x z-M;wK&u;(XmtVjA+~?oF-M;_B+h2eCz1zFre{y>{e;eTC{M*OAapO%LHJ78EMqVrG>}c;Wsv5|DAYv?v_9t;lsv$i(=1{*l|0+5c_eACfw`C5N<-sd(@Hf z(gkwF?!AF^?F||JecEY0;?&}f9H-QA6~J}`le00^qpp)Znsy#VCT`yRGfCE;$@xm(9^Uk1#!dyKKz0OrFLx~RKN=^*ATiYg_y}N3kR6}**Wb?xVa7P)- zsHV-o$8@HXl7_aLs%wu!Mu-{>?%b?@UmPGQaN{io^RP>DaAD0O{+_!-x?+e^AOP}@ zKLdL+KDnFcIzCbve#SEo2X|FqI@*y+OIQeP(gSlI*TZDT{K1l&ZU5;Fb;c-h`M}-D zBmd}HhZDm!QEc}BbDl^uL8m~oHuG?40esCzc3BR*`h>-ECx0OM5YpVkHD_tpvj|a( z{IGT{S_(r<7VI|<%8Z*Arv6Ql&2ZYuinVd+ErFfISBrBH zQzOvS=P~cX;ci@O=G<%ib-O0Hc5umQy?3mg671{ly0WkDmgM zok;iXJKjBv^mlyS-?#60_gyW{_#HoQk5B(+f999++kY}=0b*xnH|YcE_2*(R{`P|@ zEY`MNOm=ZCSA25`-}g_l4VRA>sKRF<%3%NRRDk_WX*wa_n_}?G-DImjqd3>Mx=6$W ztjKKc)>MCeyf}=a&3P0?Twj!SvPC9P{`hvmhKsN=WpJ-mV|5Ts(>DBTlVJEq)nEsK zQGXPrZ+?E00p%vA4x)Afs}@U|9(&7wDYra&y8+#ZgFJ>uDp3zt*yIa-F;C zL}4XZ1%uGYWKhMmKPofjNm~ zg`rVrkEy>H!va@5a-S?FJMaMUo&F4_!O;(}>IZXI4|=ingRv`z`4Mom9wibT8R?g_ zw)90Eah)F^c-qbpz0TioTLtXJfOoV>N^ob3OE;NKamJtLP3G48^X;v~;4_b@>OKF) zMzyLf*-quBF6I@EJ%V5szXD-BBLFlfam|=c)*N|`bD{aJkzSj|mSe9k@|1tGq&~i> z6hie30DijzbDT-rsH$SzIL55c2Vmmwj1w=W%*7tBJzeL_sh>?qM%1Zi6~xhlc%a)s z&je|pp9Voftzb+g$B7l*ja}-s*8`G9+Pw~qV_vku!E?98?s(-YC9tc`N?Kv%pbRk? z?m08`=GbGp=TP~VqZ$~=Hk5Fl^S0hP%NLtwHni5(ez)XnPSzh0*+l6cqye|ia)V#D zH4Q!U2V&(-hGB@5;~Op~qIEKc#8-$AWW17(=*BD(^J=85|r8EwK(4ltl25jFL3$iCtf+$CevE!QS{H<^P$iD?}a9uiglOX8fcFhQ4$GhLC z`{T7gw*PVQkMaCO*CYNv8=Uy*tL>89+Dae(bfCA>fi+Wq?50>9qjkmLF>@&RnyAMPExf8vb2=xya~td$!?j)Z&2WG-h8UvOV$b7#0qe)pCLctHeL8!- z1c2qpHDdyLjOd-SE>_av@2&}E-r?Gm8`&(fo>CS>PB^)_I)nsEvVCqI#x~}6KY)qh zh&wus9V|OjppkrQPv_LAF~0Q|3)o|sJscii#RWg<*j*1r8Ri_oH+aq$`tTV;e@Q~H z{iK-|RIs$#x)rDWM1m=jUi<4k@+SvU#L>BE(SavFi$C`8k&l?8t@fyi&o@D%wI9wk zQFFP4rO|Qu;Zv&Gxt#*1+?o5yRn3_@!#5xKhwdV)bK5$dwb4Z1TnX_Q+^cnA$I;hN zVlol48IR-Se9WjXn3kv|p>kcct>FH#F?66mRnR$biK2gu?{vj({_;iJ`IhifBiwfz zlzyO-+V!G@{5c+o`j)4Mtx!0ksspF(gJli0DskKslJ0bFv)sV1!X) zn?BGyF;)}ZDl%la>0{oUw~etN_VHZLqlql_M3o1u@IWqX z6<5CPTU&J-t5#w+Znz|z&2XZH$7;vheysU4Q0+(DIbP<&HQLX3dRr@V({cTcKICEC zhU;URP9hd<%K!jC07*naRQ-EQjO7FM;IA4%%H9;tQ^(cfu?lE&m+$01j?GmMeSl52 zyG6J!4>@-JhBG^TabQ_l1krCC)T@tb_WTh6G_8@~muF+~wvVT+b?k>^9N)&X-5Nn2 z$Ndb&+Mi93puOIjs9eO~ZDY@_y_59Fb0>iFVlbDv6|(jWwl2j|Im1G?DviRwZFE9 z_Sk&>{BQg(e@vGP`}l;O#V_Mc%2nz0z6L#A_zEi47{J8lNsL!?`V6#XVZ(Okw~-ms z4*Cv*>M^f|#?GdSj+Z)Oy4- zhG@wc@(hi+25)REoo8wcD1eR|yft96Wq&8P(yFb1#y4Rs-hiz?$0H(ODqoq{F1;N^ zx|v*P43*k4?@s5u;CW1YA{lW{A2zw|>|poshRnd86Y;2zWZrkixAAIL1T{p^F(p=@ zKH_P{NGy59@A&0cZeRc2E4Q!w#oyol`OiMReeq{rzJ2)J_w&yLZnvNR((AWh|DB(@ z{gcl;xqa>H@7})ltsmar&$aOY;6NY0K? zJy6%S!80*d=DCl5=F48eXlV5t3}*9Xe?6zno3{g@f~}g;?_gM)hoixDMpO)y zddccB0SWiU#Xkp-9rdA=M&9CvuV(EBw>6C8;-|}X1eH7*7_)Zq_ZM<5-hYDuS8#D1 z4GG)o?P#?zqJQVO)F_cRSNg$`-;$;uM){dVvhqB$;3{`I^z&@pwI5jc^AH~jV$?@W z6O5M4M`W|HHERsl%rI`KYXjafpn)zNB|c-1dAP$T(0Fo)k%Y`}O=bzpDsSB&1_w4> z&zHvWKXMQ~3yi#t#oh2^T+3&FLqUX!Qlxw6OqND0|wmZ-{%jxkDtNa zkk4z495Km1{$YkxUH*x@7+XoUV?P6lJ{bHKKja3;KMS=;R{Se%(yWHBygP>r{7vf@NurJwVgP!ZRyBbFkv=Pa$v={<6i7%23~vs@bIbdNlvUQX8RBAuQvKW>e-d8xb0u}_xp}N z`-S}RKbe<41YX=zV9dK%bup{|c%g`qNL%9kT4V;hKptxqmn|<;K_B==Wn0Upbwn~e z8hL4E&<)(>$Iykgo{aO;1vy>w;Tf(t8&Td}N$x6I1aZaPdtF!=`r%mJM{cW}*ckn- zG14y7*M*a~zA#ByxnM`PQ{lLrgX-Kc|MAUqt!wt@o475^}?W1?Umk$cwy1ny*d=nsl8({xmaH+EK4fej6lffj%F6sJL{5wzeTL%P!53yp8 zI?zk8Em&XiO`w^s#TQ#R#|_SY-M?7`9{kK*x!92dn%dB5FLrEUsg8MbuP+<(lLhJ$ zqz{*57>xrDi}j1eQ*HRt4bCfD8mQnXbdIyY>MDppV8My4*0r&>#v|XvS|fq+r;k(` z=GM_MTj!q6#$0Upyq@vfEMfM(uiJ1Dz z&!E2Hj}T`2(RK*E8@J|Md43R7?PMx%vYEGIVmIHZXLX!~D{hMnLv@LRI>RF-L;Frh zk1ylScXb#N|9x%M-k44xDyL0h%nCnuV}mL6*jtm8w!l031VyuTNay!{V&?ckM14BM zkZbu{Yx!e69p7V-FleB;FZZo+hYN<|Sk6c`4rl@B;ux(tLcgzWaNSYx{WA z$1RB1w*B3&o&7_$tN)W??#KK@k6(NM@bKY%=w!NYyN+c>sjYYAs#bBfM z$!;7r+Q!%qDSUFKkmc^YO=a;jCjYkL7$rj{QjT$YlOC`)NY6(8=jzWTAXI3j3x;hA#^&J5sgWYpwmYiTC*^#zqNdJQY^ zh$n_RZ1SCbdd{EeWH_+>P~Zp*Yx*I2^7OUa-@Nt8?T`QL>$iXPrB`lm!zxvYczkT)X+u!_sV)z4r&qxvuMNWOWA!WSBY~Ry@ zJ2VqR1KOV3nK9{@C4HQuIZi~7#`&6X-+&OA@y_F2M$UtoD`WQGYfEIz5r^qeW9G?) zm2n8>-(kk#(0zQ)H#%ru`;Bp0YSr!sg3Qe@;zE|SV$TG1j2Lq8HBsiR=l`|#gH}E` zBnp;&7>S31SRRb60e34hhB%`MJkLGNTG}&)IIeY{W6!SF7XK~cvym(1YhyC2_l%?FUnkp>OTxkwOi zq|GtQ84Rr)&)~tM0m`@b*=){KIbmhkW{T*VXMCbwp$aDMiW7JvPWC(BCAzB4QIwgmunr3^( zuUTADdHp0!{<-lVJn~NgMy!$B-#y01`kU&y--57R`&Z0k{T~VER(NuvNzV`=@c=+ zL6Yt`PW3Ur)UrOc#nhV>a%Yg%=}MoW`swyqT}(Ko>)DWD;{8xzkAb=1AqpxCZ9Qh~ zANIIm^k}93!F;Dpnm`HPxrP$#5u5({VBJ(|3;6t}AagDWm_F4hkt)w~(w_2bfAZ}0 z+uywT^!CSp@r~Q><&Ob=_Vt`2`R4$9_wGqP2>8^?AKZTRH$Q#*=fCv&?cHyE=k}Gq z{cirdz^AuYUwImJGlz8ScWo@Feu)eXJAbcYb1)Cw?%(0M@JL9? zje!5?_ZS}M!p13g1b|&J#HtP7obSijAU9xCOk9O_OkYQ_M+P~T8((I_*n-_=%!3wq zTCa2Zr~W#%rK`%s0pI_EG2PZchZZOIJ9gNm&+z1+P8{bs$IyA_4RV}knG#909L~g; zWf32PoaK>&4B9wS&wl83%oVj(+))GLW1UG-Q^ZJ4g!eIZFv{BJ@$(H< zGEp2m8Ie8b=H$U6mneZnrwG>;HRV{D*uoYxaX2K)zKwN-JpJRY%*%N_h>&aT)kitB z&PDsxHOCE|d00n6#1oT6+;8jnW;YHcG7sfoFV7khXzbXJ+j{fk>xUmnmB8j{yZ{Z2 zN67%lm8VNN^F?StdtRdi+q`sq%ttVsVrCufOAC5py=aGPn+oDT&;M3q?tnON`hg(= zPa5)VEV@Zf?rqf_M0}*DVY81deHoQzuR6m5e7qOgeY1aky}6cD?#vf_d02CJ{CIP} zW;4t?AI%!jXs~9CqYbSLRg?+ZW3jl_!m$bvY%tl`z%G6mP<7Z=Uoq&-^^s&~$JQKN zhp~;F;`%{cGR9#Jvyqi2YQe+N;T5-iu|41izqO1$bCxL3lb3iEhMO)UTC>utE_&D2 z8t?M7Mt*^CTs?-Avy9a{5-vKLxdm#z>OSV~l99D*?x7TMWs3l`RL5b`jcsA|94h08GXVUiV(&Pw z_pDD@Bcg`8hQlr&LvDf}5jR&{YZp{7h+8^8hxcJ9-ej@BIJ^=XmVSMZax!NDTle^^g zZU4Hz-#^Ab{rO+|gDwRu5|~5e#kzFtx6L9oCJ}RC6Vr%piLe*SE<@u7H!GH(aJtwO zy$cnApowQ=JlfLdjV*e~$8Tl|VlNtxHun38Bc@%<`DEK042%?1xT`Xa*&neY@% zdY=_iu(89ZWBMEJt;<9>*hi`%rOgC-WS6M^#rJSjOZe{f_sIAjabJ zQOCUL{+Ogp%8@@Da*-JgY1WegLviS04EKn^D_(ogSMc0VjR5^ULXEA1^98=)4xGl# zmV5~&g}Jjwi#|ZH;yum>`&e5K@s-!P_5(!jV6l(zt_LxZAkAEN7Qx!}52n1QuIi&Q z9yuB0j^7~kO})mGf9t2)D6_=h^QiW0$3NrvTd$sk;IFU0*==f-X`kaTeUIzpt9mHn z3=eI!V4{RQ?oV?pHn!)LPGhOvZv&Me)z5k6n9cC=Awfvhn|`mI>L1iqiuo~cxNPdI zu8XlTEC-pHev4=3%tYm1ih_GQ`g)cAXi3jL>jTMo_}`rxoSM|qdFpg|q@B9*CqAKG z6N$B{VLw!@7C=Uhz5*LZAG4=V`e@ws25wHv9@`#Qxdu<%*_ul&&N<^~0>dugh0~|) zxRp;u`szUkS-qYyXLBuLJszEthxmsloSt_aq2bR=l`&)H z?x^h`Z{qz0P5qn?)j6V!a}EA$+2)E~d_RZGVs_Hf%aYd}oUOOu#5Mbs;&(1Ua zt-44##KJkzj(Z$oukM+*L?72nc&l}@?h)FEYFIC|ZVp+=H#u9&B8#j3oxfZD@N&UD zWqR-X);GTLe@)a(&cSgVZ~y)t@Y;^RM>?bQj`x$=?gYIU+?|0J9{}8)4@RHl#9GYm zuW{JczWs;By!2oF^w;*hJ-);LPk-Zo{$nmy7rb0fCYl?l;2d+69sU4Z09_5bAnk9R z_CT*^89{yHxhGj`6>Z?15}%neCyPm2gQ^s8~dnZVfJ z0JyJ~)lN0)go_?Og@n7yyBPdvK3>$#G@2+QSlsPqZ|~50SP>u=xw&98mt_WDa7+}?Zhy?hc7%^!SpdpZ9!;Pp>^ zaQp4wd*k+dU;e4vxBvFd+n@a9+qWmrUb(&Y>a*4qZWAgN&Ab`G*1EIpAi06y!`=P~ zHI)uk^M`(SM zLb%6SSOViH|K^GVxx;DxVD{4Y%?)9I@VT6+vqdk@G&pAvUX2Ft@6+R%}I&y%JtpPaC8EN}$4H^DMwo@Li3 zOdX8_9#o!v69m#kiJ68!U3HJCI)e4JA+d8E8yZaC2oXd8I@vcD8IE}Kp8n&!2xdQg zLOyu&L*#j|F^pwo6AU@}bV_oJJB~3;{>k5}h*6~RfUoww-Z)pDx^8uCInR%+WjHp= z=s38^4MZ`EjW*6T%!jh-1a`>66p&o$i^!N`b~Y+o-lhS0)-uS%aGYBwwsM$D&dD=y zI5~U3!w!0NZ7gm-Fw6XSj9eG8uCUezTwPVt`Iwvp#@p*AHWK7HJG~v9nR=cQQ|=R; zs8E!-JQ7G7{CMD|0LNbc<)S{K-EE+I)SuDR-rQ3&gp>3{$<#XZ-Q^`m=V7>@upZvv zI#^1{ozwWYX5uHM9Ta-6XKd9rCgEvVXl&u2XC92SnB-P*^B9p0=fC$b;cls%2Qz1e ziahEuFIekYaw4Zq9n0^z!612vHQwQ5lc({!Z7e#fy9%Hv!V*n4a|UvaVj3&tvN5-~ z=m=?|$)L8v!UI(vO|_Y?xj(w)?~eT+Z-4X8_m2Udppx7lUliDV$ba9~LeI$i;{AT0KL>Kr^bPsU}hA=i6I&fl<= zzZkUG>pm;hWOcFj#)K~p=2hF@5+No(E@tS1Kg~U^V_X*AkoCm`Y@O;%pBEBMzHsts zCj?!a`p*I`F(egy;n0SD>g$WkiaF;U*YE^`?ykxFMyvBBBHTLn`6V2xdXFcK)cRi=d58vg}b}`^E zQ#%IovBAie`I)+TLlq$&1SPQJ;doXSI-a5L$FYn*SfXDhi!b-C#=cHj*dLwSS**t2fTsd z+$6XJ`k!*%$GEi`Lw?Skx`0l5`ZRxpGh^p3 zd#+Mx(hox%Gmf2lG=WLSbMVk|^(TxsSV6hgOs?Xw-fh*obI&|CrzHj2n(>D-Ms-Lr zxEvc=ry#bOoQ;DI#lYCp!1`g_hgmxuhgF&)h{a%R;>#rxv_HESJ1$aZg`K%+-o0j} z7uOn&a~@mT>f2n^GxHHvv}`VYAN6`B3;)Ec=RfBLnW$&pAWdIuNpoDt2xnDc4nxmZ zrvSb=M{!OZyd2Y-&;}1~FmSYS?xB}&YI%5ajT|4m2$|T#94#CS&-1bKQBnxV}C%m+_-u&$r(5CRs}0yxj&ie+OW{1+eCa_FLrrJ=nE96nC|yilc3R_lF~$ zhiq3r{ZE3qAM+DAe(?do-NX9OiE-a{9dG}-e_kKo^~u$=>vLld=>yM zNW0wppJo@DI&!Vya4|T-GN#|_unPs4wp|eP8yh<`d1W;sn^|MRk+@*=fJwhMZ`dz< zyb<9hgT*9yNiEmHv}viI8(SWu9j0r)%wr=z@q)5RzgP^N7jtIR3I@9Z4a~;9???hq z9R97XwDJPGGdBbV>W2%7V-e+rM0z>Nw}oOJ6@*dWXg6QNyjh%U9KTYl=|q%yZ}uF-ir8KKxz})Q^RM2z{n1~%lNZd_Zm+!d zO6ENvXv5e!uC{&QU0uxLF(<9kd5XE(n53}uH;Cy^?bPgfVFs{$Vi%7=Y(_J0#|=pk z{H7dn<2-O+S!PKYB>gs4Il8ocf3*Cg(ukfbii#`U{HB z6wRs{2;@l ziId3V+@*E^{Kz;Q)q|_A@9QU?m>GMlv7i-K9C>c;&Jm{C#GpVyz3(t2w*4S&W4gTe zNE@f2T*Q=X<|y%>{rs2nEr73ll5YWQp}SA?rTDvjeAmVVY`gZ?_PqU%i+>*1Pn_?? z2LN{u=|d;W)%Lvp`mTHWpXA9s6u9T@@m>8-`0YPeBo}YrOb3x`im^=}A$_An3T|Y3 zA-i(K!eijsd4m-|z1Vxb5+gQ4@%ygd&{!^GaNhVW^Tf)Pes2u=sjr+8UUb9Rgx&cD z7!a7a^2S0{S)8`kE=;2hXcpUYp9^C(l^cBLZTyMpP5!Avf8aE4a}$%9G`I6T^_?2H z$($QJ`7`%h$IeCR%89RRqjj9I_Y-}*{SX0UvDHoe{00$aQZSaKCaH12#Zz-xyeZ4r z#sa_d$P3h%8-MpaXr0w|+$iR_%kG43bTtmuGR9ax+~r4lqLIn@WA+|nU(5#AV@oXh z^6*27(t39Dn>WLQiSJ4Nz1k0-e){%b|N8s4Pd)kJ?VtVpYqwX!|H1qC6OnHLa3}cD z`?-P3w*kKRi?81Pr+<}i14PLG{a?R+d+Xf~Zm)gj(<|2(J@qEcIY1Zb-LT6eeQMFX zH~H8QpXbi`Ac8HIb1_usajH);e9`WFFh|_5q{bc#hAAYveIXC2*SCDV)|sCXN6+(< zG5PU1?G@D=7U~f-j2PxTB<5_Ltp`p0tt`ikH{6_oLBkgyJ0iCc+h^-pt=xXgg+HRW zDf2gjVW7UP)%lUP+}wn3qrW(kl4s`yU0&N`=a86txR!%DVKy{Iv=i$dyQJ8uSEsrG zoJxqvC^nCMx~sdy!%skJ^@Bq2;@IV}2L+6|nwz}kp+cLvuDKE5u+U-Hngd?gRmdhNxW%T+Eh4U z81;Cf6^CHB@NsOpEU=LTtUgS6I4Amut>3`WgLNAW39+W0@6d9Vmvhg-{wCW@ml|e8 zmZXfNWq5oz#s?*t)4pz$dl2SP=EQGo4?IR@rPuzhFX-tpM_&pJ@;LOB zQvx>`OR)RI=I3g|-SN3^{F&d`Zd$W<-3#gvw;8F3^P)|C!BAJ(Y9Fd2FIKSo0afRW zTJo6M(#dFW0hrqJzcTO%m`vs-9t?Atn4WjlL;RkXhL&6%tDC)z-02@#}2I#XjeK3z#wa2p(qhm!mwLMdpgO+>GD;)}LR$1u%%>vb{fE$J%$l z_D{O+gq-N>_}V`aFM1!FffpYDoKy1HNprP7)L+|mPyeCu+IP>Dc)!24>z@9{#y|Bl zzxW5p-wT?BhpWlNvw&O|9kA!(C<>D{_TD%#4g+4;`pGhHYC(`Io;>9>S$S3*Q8ez& z{OS;R*ydBq{w8MLB* z?Z6r@Mfy_~s7vF8VRDWYJ+zHSrE?a$`@x+%@XUC&-~8(9w{L&r&D($Z%QtV&^1ll_ z&3_r#8#q$Vd7IpwLuMrXY^pPZH0PVTG@_|--~jS)z6zFu?tPwd_q<@1F-Nd60y^lx7Ay>x$(iv2R1BYoTDva=ZyUx zdu{N6If^IyoF{uspoNee+rJ3eP<{BP!9!5bv1;EutE2nU3pbX!*H#t^@%1fv{h&>M z#lv|$H)};JkJeVc^-O(<;Id-gl>TgbYv2Z-pTFbENa85#^&1(mSK4l{~&z*PEijc9jz`k|G*W-e1 z=91iy!CUc;YpR;Yv_DAD)$W?S#~t4JaCc~}Z}`m-F${U`TuX#AzWs2xIWZP{p|A#C zPwsL@-{v-^^JcaQZhdEN=H+PVQ{kO?$(R_|hk)s?uKRsh(L=lP^4fcR0FfN%fuq_H zu=83wdx<$e>nD8KvroVH+Ey2sd;{S60RSl~f?nH> zAKQak--LW@w_@%)9<$%a-5>w=#@*-n|MmFA2LR{cd+da`+8^q#js5-p{jv8EgIoO7 zwte=`>p#gK|NA2@zP(6$fzQnw7jAyMU~@J1Vm&|6#JR$}>UKb!;@Ibz#fKMN^I&mh zX!Pc0Sukp1je~?7=xZaa~+T0pV?M^Ww`0 z40R7)K*rukkO3??e01z7WKiim4?Ko48l#86v~KMl8*J5@Ubr|1Jbt44W{bo<$Ld4F zwmk<)F==3&+}X>s@w&oQC2reYy20=8Joh}#zJTS8hi*Ouc=`6`4_>}~^=t3mzVMmb z?HB*?E4NpkMiF)J1|=_&ALZKsALXA1y!YK7-d@hP0e(K;2KcwX`_s2CJbnN6NB`~b zZf||(rQ6G|zIuC^f8RX3?v7%pkn1j0Wut`jxe@TUd;xEb#I<6;9IG^rPnvVg&`~$5 zQ)}{hj0xn&F-t^Rf_jWPgwr=>2QHm}+_FitKXK)%y`Jq;+2$fXQT|j5DCGCI!j4Xj z0TOFoVxqVIq@z|mYMwp)asfUuCoc9h6$N<4-o+Ml>VDD-#Je7EiUhFfImaCH4B>EE zV6|WJP%W;ou4`Whsv^vAqV<+q|clXLm$6$BqNSs=CrksZhwNy9_`!u zTgi^#S{z+~eKU@(=4q$Co&h*G^ht;wF4FL$seBz1L2GJ!FlNjiy$s|Sdyviv=D`9v z+qH;V7q&OtQu|x&aw60@Yqpb$ULeLpo6a?7`)F)@-v}1pc?VyPhR>LY;W}{SO5+@* zVK?@IjU|t5XPwyOkJtDN9J3~d#Pu+Ha|OIC@S9_(R+ETHRO}4QKH%guHkq7ffOT*Zoq1s$03Ues1UTEMc+ z(+|m^97DZ2J;ybJ#DoPA9rrk@Xx5#$Ivo7)?uc`JH3qm{&MA;Q*@9tywVMicdB|Pu zQud>tQ&)`KPs$~K=K$qLUijx}85xjXem#sqB zuKgIJ&vNvGA#NU|uOXe+V5Z`x|k!waoQw+2{C0@4s^fUVH#>PTc*I4A0f}P=9UL{rx`U$DXW)>)Ss2=k@jf z)X(JW|I?bV7de+F7d@=K*(eCiE@^w=12a32T;Yse)U(%>ATbYIpIs+dD99uEaCN~W z2hUyD$~SKihhL54Rs@K%twt>Jv*F37q~y!fg-LUBV#H_tLscFEIzLlTpqa)LhrgdB zXKZYCCWs!wCYkCoW`5zSy-Bb%Hhkk(o94k6s(&km8hqy%?bFX*9vqT4SY5H5@p0~8 zfyBxqgF1mQCmh>zZcJ`?>lHLA4U9lf`4ay$AkX)||6%@M;Cr_>e(K5XpZ|-`+5Q--qUS;}Bx$btaPL?Z1f30+A^lB%=L-cRNJ-+qmS0U+`!>xMKDUGk*qYMzhJ2BWiS*Vf(~K>>`bXWSXJIlA5efV5{*eVG%@clCSlN>1kT24_EZ-$?5x*Ve|` zks&yqBSZcjl1sFQM-p{ims;YZ>h8Ia* zmS*zwsmzSnu_GcgD^Hy|r@PPiRpRf4ZBB!oSn#-VZDO$f*67i69@+wfq>t6r)gE_D zH>Zxx8SDDr5H*|F8VIx&D)Xj}9dQxBwyV$Bz%@3typHN1e5^+lqkeUtcK5O~&cWAz zb6FCy-$E>XLpyOqQFO;@`NXYJYJBfVAui{vMs$7gQlnpTOb>3c@ynxmqq$;2PtV){ z5Tj^!SKB$XpyvnJif&x`fG+^YGWD3qc+mtIg7fA~6wcSlNf-}fHkbH)ST>3Y8{YvG zyD_AvU1Q-6#p*%h#X_Jd${Yi`J&+G1#+3iilcs9`?E~!H|JaXSpNiIBI=E~w8UN1D zgi+(ntM}E~6W+tv5k34HJ8`D(da+&AcocSnuk*_W$;5lzkT5_wofF-4tR}3Jr@7!0 zeV#fi3em|uajIEtVX?xNym}{TxtIY|=p8A14t3+kRZ5T-oEchMyfe0-xOg=s4UL%YAL!~S=B|FL5x2Gz_?E0V>Vs|2vxN5_Akvm$Vqfa)8K`~ zGCpch(fz0^4wm6bclX$CdT@f#lTGzIM))2It7$tGtC;aK$Q){4f5+AqPr=u9p| zps$UyhNlbTgNw&RD}L;>&w+ZMP>l2Dn!fHm=uiAQ*)?**)MM8I*v{p=*nrEEk@Kh> zpq5A7kuu&iCldo|Mo4+lGUS>6)zk-wmfkQ(djP$=J-R)mcmoh$&vO&t-~IU6@!cQ1 zef-Loo*lpZvoB&t4$;Mga9$$C^!b&5cXJcqd2gTJT42 z=0YgH67cLSiw5hjRy3t{CFy?oY0W&JUkr zR~zbaxUtgri7s4u0M{hPu5@hpsjU|He5#lb*fNxpw$`aHcH@TgR_;h$;4;Gc1~}(l zS{>gS>$ZXIG+^Xe#vrT0cYoTCeA%cQPkrgT)ZRDX2FB_Y1K6>bZJ6$cxAuAAO&|m@ z5t#$M1~~Cuu?%$q+G0_x# zTV#2cZz%&lQ`!7V(_fQ}5-350i@Fk|!DEYV0jK?Ab{h`$xn8u}SQk-xT7Gkv@ckC1GL}pjh{iU zJ^^VwmOt);C8+<<63CI6pn6!3C)&b55P}q^2F18+2Nnu;_M!DsIod(RnV`>bh$W=WZHxtgVMR zSF_m=pk+mP2P3W=-SC&6&3l3j7PELc@o=?IE81Y~bDWFpbF&r!R}tWe`6}DS3o!cd zq{ghm+t}Rn=!|ZUqBWug%jNldGGkzS6&>y`}aS8{A%hS{qXJMJKuZzc>BGq_2;kT zMgXq(w}Fjrhr*!b3U7Sx?A-^6_|6#3rCL*2g4C`n!rL(oz&tUwy*|pfHzLj#>EY_S zBEs>DIWbmr$xYT!p3Bee99-@X2Af@Bd?zF>Lgk)kWh?KRVU3u_Jx$w)6 z41AOU-E9!9;L5G*dik*1w()KU+Z1H?@!tM;)wlc4IJP>2fFT{$(*!_;x*w7gd18*x z93tTZZDgA}7X^zEZqie2NTq!zK3UjlFG}13Bvl zU%j3@FMfPsG9!2FiK2Ise6d-3c9RxRhbHVGa zgs=YR^$69P`?@rOD})<>CW=I(4NS7NHrD#{IJ}!{Q)zbiG+*ll-ssZYz^mm5c(4zZ zpie&9>yuiK6B{~cEE75^@}Wy<+q2=!PDK+)bCIHp!QS><()I}#W0h`%m#=#~V+a0L&UtAtS0EFsK8E))yGH$_ zn>ZGu-I+zC@C~^0QNi-p-N|M?a6QP!I6}3sHO^f9%rEBG0Q$E8N`>)N?y_xvTzy%6 za%-b_jQZQkAKQPb`k&nZ=yX4|XzsG7+AF))kK6R0dUi*xZrk_zaeMo4J^PYh|Ig+U zX*a8GhNi+vIj5HA=Uhl$8%+~_d_46r?@5oVmg*p7bE`*oIf7~mk>z4Ye{9Udu^UdK z1PW((r0(Vj+wKJS7%ogKbX_~})!`e;`hC19;bQsv!ZAEG8j6hpVTy50^VS|oH~4@^ zWB<~ty7cR-I@9z3CCV~9KGtTlzqCkv;Wlp=9$Z!oUrCpPFX@#@qjLjaR{3CJyyVOL zNii>kk7C?z?ZOg4eNn^8foEQ*$MgBk4Ajxd4>%!-Zh(EGO&sV@Shg`BWZ2c2?c&

    tks`+()eZN^|V;$^D;v@15hVw|;Vb^UKeVuYBpb|MQwR0(#X~tg_(vM!@_2 zO2GTa=U;#6_-6i{;BWrgE63+v`swkV@4j_>_ebw#4Lr*?1>!Jx#_7Q)w}MoxSdL+^}< z7!)K@g5__7s2>~RQ!>25HjWaB7YB0fb__?-tGXD3V4S1D<=Ug;(KWK#0_qXd$RF5O zqbx*v8$H}j%7%XT92rTfiPx~gwHuG(G5}eh*g@}@Ag@P-a5s)Lz!%I=9)8H}m=`k69WA{!To~P`Gx7OMKcJOYMgXEVw81>;qTMu?O}Mma?(l(6^io z3{*6pRqq-Z+{5ZdR0Te1F-EOt&8S9)^8uVAIljiq*ai>y%uAUPWu1o+rZX$c)4o!L zF(`-nf$MPxB5UaKDg0E^AZpDxOhZZ9*sXYHo_NP%@U^=}GFlyuea^LVAje}0yz;b* z0{)A)!1kkYSfgKFIR+hQ=d@Q0!+2IVmzB+pK&^@6hV11`h3gx{N7is`IzQu^^K`i2 zLq|=cIF4;0roi9TQ|ylKD78Pw3p|8*!m_c;n8Wr@7vub)M>rr*sTO|* zuQ9LP8B@p`b1d(a#1{dw%Et~5$nxNaqMrEa=WstaAIDyhW;W}iMC*_IhuX#&`#8Gi zRVI%0#B1LA1n%FJh*nc-nXjYRyFaK>Ol2Czh2@Z7(`I>qQFcnuow*=q;is%z_H?vn zvBpro*j?P~12lvWR@TUfa>_LK98)@e`G(!*a1IUtY=XJw3qScW7#W1nY6d;p_s%GB z*Rg(S=ZSZIJ~Cbb7yncn*~+*5k^Yyy^6UT7Gv{_P)Av&)8u8%CYunRQS#8h- z^Qa)|r&6of%|4p$JW-6H5v84sDWIkOh z8AACGm?yU3pIC)RR(+fGkHK;q0sf2uvJ~S$7E}YQJpFNfZh#7c@e=}-Yp@<3Q9w_O zClgKl#9J$U6@kCThO&%8wP}C+P2PwyU>RFrt*tnKBU{w_(Z z65qt$_$Qvz|MtPs4ii9IIgEP47?EL48}|x!^JpB8iBIWDMZoHLD{jdUHffs zPSie}huW4?v|LEVkALRLSf;N&vYnF--S|doTqeHu+})7Hd6j3Y76o9D(3f1V?6^2=8F{ZsrCIdRa3pE2wC zTE85LqghWx&PP2pSI&pwx}#=oVK>d zFXnDi(GRwjY?m)Hi$*gJYj2jiaO_qdN!N`kddo0as@R5RJc-{MZ~cabBX{Dv#_h%^ zh7+%nN%U@kx-oQ}t!~XQ;aUIWvzqZid^F>0U%R``@Ex5#XO7_#9jtQ&q&Y)TY^X?B zL90&6v{P-2wy<~7YIErXI(EcC2F95K_{~|X#6rFLF*@Vfeju{Q7EbE6k++!7jJpWN zWp$u2u%N~7YFGZKCf0~%xT-YRNK>1d9AV*E`gQ;SKmbWZK~xhMh_Max(5u7b9QTW= zt?Q`A%z^vh<^uN>ykpZbRH1RR!8)=oT5%gsPac9EUsF30nB=*s(doPfJ2~9#O20(p zHMH_vaz3Fl9szK!`;O19xkfaOG#?JCI5QRpv2lVYU(347*q%8|u=t|@nP%H13?>o@qWNl3vrMtav+5ZiLaFh4=X4w4~a-J~Exf~xUV zzp*v|m18>V7aN{_AR*D|v4oLPBp)oVx22D-s?|tOgvB?%0&@f4e_7bFh( zR2$sto_+mWzxS`)4;`H-GW-oREy}$3WCP^E zMUs(aAi3b#+_4%>#x||sy5+*a6tsY;ul8$?$CMCX8|Sj22r7_`S?I)1n?e^oPky0- zd6wH3(g1WZe#DyvrnqgPAxHT(nDvXbD!}aou=f_VzeD(N)+ywYA zHv#_MFTOZ__H(@n;LWVynEMaIPvowE{L8=(-hTgh@2Bq_U;N^WhbyK z?;qd!%eRid_`$o!htFSx`{g*{Ym#tKO?>!{fEakTq$P&&2vP<9D0`&7a)+(3>KVxP zu}Oh1f?eO>y^xGdq+>x;5nN>2h>%RC@}}86hDJ;>_xlDNlzlmS23$Eq0M;Z$t$pgTuKhq7e|0QfTj(%c%1TjMcFfzG^Vfln4L{gzTqTVdQsk}3 zaWRbMz*b!-*ubEcPF_@DtCRAvt|IkK+A#QstdNdBtOhJ0<5WKI}hW##)Z!D7L~C+RCc}Z zun_}zW5xZ%ciK3gL7YC99Rz{j&L1bQSTq*w^0QW_JW4}HFv_lBGc^wS561{bz{`?4 zKa~*q%8`}Sxq^qW!&0YXbHXP85f?vv^puPpkaCPSO~dWtEY@QNSbEn@TEVeaPnpE_ z;-Q6}=R;6u+*bs(onr|xfVcL0E}ijtKCmj|SIm8cB96@MbaJo{7P{f|*J_A61P`o7 z548Lyly(&zIl~jN2jaN6I!pK1PTI2pNBv7Z7&Aj!evLdxHxNU?*f?(I`sven*H@)+j38!t zrgnWX=Q zp;_~r4mCnGSJjIva#PuONh=RzO4Gla!t$lB{KoI!z6F4YLWmpY_Ngf=-}){S@Had( z&TH`{=QJ2YOm~GKW@{1{OoQ~`Q!HXsUNpj_Uwya{`G%J zq;qbLi}dHsEgQj}a=VFv_b=Ti9AxZIHv-g_a}(nv9|u66z0_s07qcb>2CF@F?H~wC z+I_<;G7$IzO!tJ3z1Xz7XATL_X<~GbWjR*H1%PjOz(bDV1N+7V4{z|O0o-#fzIN4v zODjQ@l3aPTtZ$V9iJ|WIlgh=e{g|4|Y3~>;GX88%A4B2FHQs!EolERx8( z<9m4v9`FiW6o}@oJ#;1Ocn0VT0OCCTYB-HN`-TSil0_bcBNh?TUW63WivgB2y2RKY z-(14c7o}=FN_*$lP~QHVBv)7+IYKjT7^gUL9?J0|f6f2L@4s^V@ppcDeD1@a9>4ud zuN<$x{L=A$ew|tAu5D&@bf2DuuuLQi8Py0VOzM5|jeCwO9A7A_O%g4KKynX!n zciukUeE0eB$}9OV136t7&S%e>n4I_zYlnzVo;fG>#!}B2FlZdPIYyvSrSPs^j-Vct zbkBJh(y}FfT!Qb9IITTkM_ki!)TX;490jxM0Q7QwTr8ytfgF7cN(?7u2LxK@y%9to zfc%53&suR57ZA7`TiT4yReFI&e;k0_{S>2*}T=j6XEmV2dX8!+omy5}|~lSZYJo7rk;L>;H|eBo3;> z7N2pBe`j7Dei^sn3(Qdu#{Dn9a^u+O3@XNpI)GC~ukoYeKM!;~Xa4Z3&*);z{<^06 ztu>YqS2_6lM%0nUFe>8*YK$R4R#IEV+~^QAZh&of9@2@fR%ou4u@UG53%-anqJ)0) zR1R)@ZlikOds78Wp84U>^}78PBWDch3mhCaW#07yh&YV}rLpGR9R3}@^PGEt)j*rZ z5!Tq(V|BG#-sR0~3hqBMU`Y*b_SEn@4kQ{HNWR zFGg?pjuTy`ot~UtYtpf_(O4oFTw{$cKO3hy`h|^k?FA}f6bFEcPS($^N#jDFQl5u| z%;v^h)RlWL(QfB5)Y07E9?@7i9wd%c75cahy~KGp5d zZU9_o)qNq{7uQqml~F%#Kh@{8XR*}xKJD#4)xOJK;syXGaOpTPX{R?Ek)60=bK@*W z&YOPQeRDP>6^%|%4qQm|qKXJQXTC5Epcfh%u8Dr>bVxE7FrV?Zux=#UO7O|*#e`FUDe3x}S7?z?gw(c!_!PbDT=vHG@O0n->tA82He^(xSX>0@8a)Z=8-z`uZM2 z?0D#7xG>~FVeBYNT@L!JNJ{kh7(a_!ontTC@?qO{O=^n_ZeAZYP6q~Tem&t^c1zpR^n{KA{0%qfA{Lm| zg7KKKk*ZRfaz&?`F*w&NQ5pV)*L+yp=7@bUeLWh~-7I=|dDbiOt@q*^M9&3GoyS0G zN55_6rPP;Sc_)6g_z@3x{ghvE7c$Ct3${7pv%2&BzquD@Tpr4~<6=0Y zYahC1mXJ zteh>|p6DIBdIp~-_|&z)w!HKgXN(tRH8+4Clmv9%IF+|I5|*Snv6sbA!nw&wH;j91 zhy3r-fbb_4d7d+;SZ>)k)Gu#vm~MvkU4Ar%gBpKlCl;qKmBS%(+7knKP3hC7o>rQ< z0kHoKpg^_f;V%1|w3qrMNTUuf$>aW|`K>|Kq=6lb~}iyKz9<2j><~HdZS?^}q((;%AeH-ro&UjxH{-;gsjAyJ>@T zuNdF!@7z1?0SSaBcC*ovgmK`DM|kxX-~N#e95Qw`(D?mE|zt4I@=c#)UuBq83~_M+&+ zrM9N+ut^WzWx;?3h{U;E(r&0l#<^ar^K@GO5XU_*J}KgJ*OZGd+^$R7!O_jr*v z{$I`C2Ke1?e(v~6{x-l*e)#6`Cx7{q<0l`ybbS7EubDURV?D1J!2aBFDf@)xIA0;} zyaC6sb3hNgoVJiqE_~m}m(_8|1fXS9@Q4QaHTQ6jMso1Mu;$Vz6Z6K6jR8bIip)9a z`p}=<94c-#GAbx`O~K(;*=N6yls56*2pql~&bZeuvT_nvd2O`2Ay&71_5cS2@sw?0 zsyKlf#bBD8VNee9|Kx04aUL zfd0}UXALdC^axYr4-Z9#9BNy>eNDmV>KTi^PH9FovB7uiN;3wm-Pykdi~?-g5x_gW zn>{h`+F)A9198oY?L5R(->~@zxS4DOQsJZVj~t)bTH&Q(7e83UN=Yumk{35^$%)1qF_{uKlM&r}NaxN&I+JkHi1fKy+o zfYSE^q{~BdudS9j^adimmd3DOVV_{5V$6$RsP)Mfx_OMQ;kDB?>#L)(BYE1$+FW23 z6)f>lhH~ok`g1DRHG*?brNcr|xl9P*oj36^Ca$POq_Me)B!+W61#zP*V+1mC96kK3 zuh>@0$a1byAh6LkdyxInqAsza?|H$x^ZLFnN&r7*i{A!XcrHi9=XkC6=*M{H&^(ca z?@M3)_1}M^HvzE4!+4=i1N6u^g6Eol3X@-*{7oY*$se?PV?gh zvi(o0?>gE~J-G&3`L>^`k*ys3_Md(67xL*pC+}^Ib7BJOi&q@9qo-b=L?2mCTG|3~ zhF#~F9CHzR=f;pN50h?Y_<~Q$!RS#6#Y(XrBA#vzyu#vpH~xog1I7hQJsi&xIJAGc=7$ zT*DxmI*ostB}GbS`pxGVG43iz`@}Dpg-}JdOVyu#w?u~*!92Ih2ffZCy!2$43a|nH0ZB@yyJUg z1(K(QH}bgHB%U zd%XVoaeV8yUO)app0DN)27dcbe{g*FjrWe1Kll0Ll@~AkW=j9C05LZN?!}zr;`qp{ zuZ{upp0|D&b5I*ALjn8U_*=d9)Tp zJSo=_4k*H%$1)ZJlqWP4GmF4Arj5c1^c7{~9pkZp0EQu1e&Vb!EeSOp`&0yoZJvw@ z1zxR!PZP=T(y0S|r|TJ{cpQtSjj&vol_I1*dVWeWej0&3r3)@~n^_kDi=?jj>0tuN#9-g>CJ{jeTwaJpMI+3;58O-UjfvzUwZlhpi3sq4cxf-*^N*y8-ag zp}H@sr`ju{e%yX6;|gzOTd(Y?dSzf~KX~Tu+Wh`M>K4!GG?%;^3LAA!+niFoc(7Ty zKX@{GzgA;yhG6lWh36+7b%DfvMX%!PZA|4BFvH<~94k0Is{y7#)fcSU4hc$J;|GAv zS;l7j&7=B#5kL9m!2mQojKuIG^kREAXE4!@FL?PCfrc}iED(9>kFlgIBNIcsBc{1Z z%)-SBF5@o}Z&*xz%uV{G9@`**goyuJ4;f=+6T^$4cG2;YJU>$H>*}PcmE*bCap)T@ zxIy5+&@#t)5N*RytDaWl=S2jg7VujZqbwc9l=2wU)Xvcm$EBLKP#F_@07u^wRw1u~C~4G;MEz~9^dvp0_855N7!@moLtQohpv+VOV&=-+eJ z1e`d8JjF3aNSiB6eq|uv2KeA7!GHMP@zvP=*Z<__j$i(n=g0T{^!vvj{>6{;2LfL` zKKJUYi7mK%9RQB>{&|0nq_aLUu+Xb2FEq^-wgfjX7jVtl>61=h0vPXS+elA~=XS5AJ3|*t;1Ldbl z@niaWXzr}n2j{Nj%|_1?_~uzplN!1@#6`-+kvcz~f5dXz8$dOFT9oEX-nCE7c-SBP z?W6%kEIckuEYDaX2LoFgozwK8RYoJN*^ufcY{<}i$VdX&*diPCDFMwBJUI9X)AJ)T zHIms$H=Xs7wsEPdU-7jH7yg@v7x11a!-Lo8_hOVNjP;_Anw4;KnGP7{Au4q}G(ciM z$5O-bHQ-ZM){_`(;1tK8P1}tC1)AU-7|`7z;oN<+nZgl$Lz1aY?59N)yEET;hgw9} zgyDmcL3r_)=6UXOX^Xw%Y=)4QqV@-1QUcroPq)}Z7pVSEZcGjEv{?giU1x$P7TS$pA91tx zqTt7ODHU;Wjlnm20XB`W5WZ1}tfx8}^yQ(q`6x2pTAOB?V8!S4h?^YGo|R8_<`2Uh z8>@`=)#sq~`P#TSOboS53^$X>QJ=_D6q$D;*+JOx*c{AVuFe*6pTt)tkJ`^T?tXDa z6zy%^Xs&M2({n*;B#D~_gwZ}F+70KMJsVucox9P zJuTJ*dL&a`mHDOKuetD zJj%w0=C*Lcp?a=c>4D?hRCr(>H&644*l|zCu?qf)8vsN`fqFyR{wLMwwyYh2JT6bk z?wG$$f5(2R+MnG3_~>-s7t6M{2EA?S$L*DUT+P)3x~J;9jP~QFzyBY(Ct5eAoK5G& z74R)NS8}3yzANgvwWS1F&OeM!s1<2A6+u5gz!U%UsBtHnE?hzCth%gGWD8DgVg)+XlhB zKhr4j;6E&-s&3XGk*wEwA5$&%7}5E ztVyCLas1AFcdjZM)8+~qfkN6>9>j?P>U!_m6aT^ck-vAm`pT=v zpZ?&zBIft*$MCl7^^m9?t z8)uqmsqf(T_p7T}eR7ouzJSb|Dyu+;Zo8ZJEmsN0 z9>Na$aMuIjws4NEEs~Wtslgy7mI^rnBS+6eQH*1x!JNNKTI)G7mKjag3rl1jRc$Z! zegdYi$QJ^wosK&e=UBIse#SAr-LD3Vs<9F~Jz_?-u_6p2^Xz$*^Ri#dH(OBdg_p19 zU)DLYu!v9o@}2l}PrePn*bF7{3b3R4#58KNj*J~;Idy{trp8WgNEIl4WBj&PCBt+T~IpdQns%w}5j*nXm>gnSLBi_t5J;2>7+OM`0 zQ1z4Cu?vqQmiih~>1OPa z4+vlN*I09o=P^@SqTxmFc_X#L8H}`@GM4BM?5pEwL( z*DHSVg9vHbn^!q2hjnfMOi(L-P~Uai{u5jqf~y4xVm5jm~n}9e|BNc5EgP&1Un62r03-A%$x%%7_jB)hE_mO`WktM^P8~ z!@H}&`a(5ZW{B}_{1|ancE%jd=uuI+VU1t%$Y#%{?R|4qt}Bk(Zx`@nyRvr=2l`hkE^R z5y`-~p3$Xyz9~-sc>vqLr=UIHUnQBsL|Lt}fpmGzTtU z@8f#5N8cHNfmL)XzT+X=WklCF+PbTPF%C2|;2XOcNaq;!gOZi)`CTvlR0cr(dLu2p zeS-+4V>KLIONqShqvKqp6JFyFdUTphEM!4ETm-XT0!iTpDt@Ps!=sxaj$Lq@%dS=X zC5dqx#n6VwA=YQvIFzHHBsWZ&?}&sqA54u^$5_GBH3W+tli3!$NB+N$N;-RYg}K=({(+* z2k9Cam$Jw;7^Bx0K`aW(JPm?Y9+CyUkRWj07~3`&?2McBwBtZ*8pvaFbdKF5k6brG z>23B>R(f(0%f9Xc9S5S;GI6t)!jtuFtRxbs?bKMAn=){X0B)k8axb6}pbt{iPkQo! zMUAJFiG_A?2)RZnW~J(}abF35y&)i9gT}B`kbrNc|5a(nH?Lg*fOUUKd-GkBoUKCv zSDwb&wmGQ1M=P1;j^M<&j2fnCn&Vr=OLrv*k)1)l%aFpBCzxH8*0R9La4f2;QN=M>x*q$n{*$)Azz=w zG9 zM3)T_s>V@%Hp=C&L(O_6NsbeE*H(fBHwSAFsW5e!Q2j_+#XC`<-Ljn+v=jzT4;VUjAFan?KE8 z#d+!Y=l}ex$A9_FFC2gM?e8D|<_~{(y!qbqvxljt()PQogUzwmAx(=^qD=AQ%cUwqhS2fst?-s-3wQT zo=n&gGUm*;Hg-LfqqaL&^%M1sEAs|Vx!{|;DpKW2qmNCi98>5}&es=2-2BQnn#Q^3 z!2n^mtX;4dANz5%W5=2(w)xKc!QchO5_#IUH{3-2V9s%V#+Jwo2A^FZ?bj!)yn!w~ zy?7wsiNkLh`9`#yQTIAzkYLwa&d-Zlh zlpg-fv7Dm`KVyk)b4uiq-Fyo~P?YgQmp**g>%FU1E_JlzsT~8xxp1x*$18vk`>S&L z!8?&CmY?>H8Da}&#@zLde&?&>MGgUFVQehdfXJ@7*zh>?LkV8$7_>R#wK+3RV6h88 zKX#FhCW>=h{oOV+CmTc2f@o|+Xg9i4s?qBx2yWsitfscpUJ-Sk#bL9~woYsrW#Zwr zdy6hyCu>YS9-=f)`r+%mN1e$keH6wCTgS)if+bIlSA6&_nqc&eSqglt0bfT#YFM6c z1E9(i4t{J&hPTFMcIqJH)Xw3=rYR|P+dum5A3Xj$01!hX6`hoOf8~$sB70mNy^Ut| zkNYd%`mfV3?o(BNb_3wybl(@rwzmdJd;9l#<)2jVE5TFs%CM*Xk>~3_|Bc`0eBnfM z3kcGS=YT25Jqg`0qU_G0%&!TnN8GJ43Qs?)Y0HxXXPJRS4vm`tR|p6r*srPWNe|{~ z&pDb6f{pOp{lRG74U9H1xZ%-0b1Ro}h|y3HOa$mE)wBaOL4v}9{zH*Y=4 z5078d%^dLHg{q%|ZcMR-^Klw^`--P0{ zkqQZ>9?g;2KY9E3=l}2v{j2})v1VM+=Lj~h=C|?S zga0D%Vg5Lv7d}6J_jvn_A0J=;`(Hf%=l|+!$Mc`Ob^Pl;`1bLmx1xXXsy6}1mWP3w zas%zfAMNJn8wU7!@lFvHyyK<>S#9BxH@WimiMY_<=0pWU7n_bBbAcW_)-CGO^F|(X z19!+Adm1SxKK)+jR4xX+K2G--V>CX-AMqGK&^eEoN6*udHCDZGNU4vua|Dnl-|Dd$ zJN)9yOea?QG^LFRn=N<__}`m$h%W!>#0ZbiV}UK49s4Ve@{U|S%+?vW=5*d*jpUrq z!C6gi_~DbKRPs2^5msKm=a|KiHqXV0zf?%yzyIV+Jrk$c&DXyJ@YW0Q`)`-8n6<5jNlWndR($Ad^40#0>ocn`+q)Lecz8M!6M zd*d^I{N-8ha>2jnh&o1q6Pa<&8u0$h<@&ZS!o|=m5BLbMN0I%JiWXsmLf+gFrjHzZ z8hO?lMc+6xFB=d_Q0eedW97C#eU>Hc+^jy;M0go{o>{?)8Xi1d#q4-}|HgRhp*{Q1RTd?T@P$ z_cy6Km>2SK|I&Qc%C*d=w>(}LAJ<>`Q}ta&`>7{q*~+(luOGMRuWapJ`rwo%;TeC?cSYwOr^@3oe(d~xH)L*ey zTc1?~m-vaL93XI3KaM}02Fqfw$&1sDP1UtwEE?0AKy0MSZ9C7GtiF5m1r}dmaG3{L zHu}aTcBJ>*jZ;?>U)F#lRQFeI=22FBHPv#{rJP*Jm4(_Dbn>cByWl!c6Jv0VO$H7D z=M(u{Jiq+n+40V^&mI5gAOHAx{lj;TfATx8A1}SjMR6eeoQC0fz?US)^ZW}z+8^ZC z2l$tP&+@y1@BHPDkLRy{aQxnX_x0m9zxwL&2Y>kOxPRX^gE|OgnLNaIcu(5qKp`nc5>;AafmF7`t(IZz|$hc!`%=nsk<-vV$g--5>=2eV1dVv_7Cmz-SP9q5#Li06t z#>(<=3_NGDrr>mJ$ZfdFTdS_C>X?_b&fL1!XgDsa6BVpC)Y92JG2gKR({<6rO^J07 z5YHXIE55Gj>WC-LSOg)tE3q2uqGedOOPI|%d0U?er^~ON zb;Vry1>E&BaPaz1|0=f|+2j|%E~jg~1s&gHN6j0nX-GqC>hOmT9^oMs)_^2Ag9T``Ry6=a}sSdPY; zIjiDS`&yszD;Ey1OTjdicG9e(H6iqzBA$*P7K`7tN`L2L$&rZ*{=@uX-|8dt%)}`H zJS@al8|2Q^_%B!It{9joi?2Tg(ST>3g~VeLAx07|q>AYj4nvS+{a+yBG=&I#8~eQ|T0 zaQ71t4Ht6~d6(S#_lY8OIZ4lrB=(Bt94SXR#o&RHI<-0)(@$$Qa7AI*NBStoPn$h& z;c$b%sXpT$C~+Veaql8ynPPy~rUm(0*U`ejEI)Sn2^P=I1p#4UO_Lh3+UUlZGis@M zL8qL*GO*47rcj+5y}CNvaf08GJKe0G<^o6DT!oI@w>(BGr})d@%vDS|SKC}rT(LTj zQRrr3TMlb;sBbA}oNPZjOiB$my63)-lW$5KIG>Zth^Q>)0w#JM{1BUMk8SU#_xQTv zEOy69LJ}GbHbw#M@UQI^lW;7gAxtUGc=1Td1zoPB`D1-Q{vbC2{^X70>-iUdzx9pR zj+gQ+faV(8AdQiurinq{l2n)7^@Dd3LB0*Z1<7o&?_|y8Uj;gxG51^v1GM;YoWk9V`$FuzMsVg4T-!xyCkJ+ots~qvZx#sL z(9=0Dh!n@7H1rnL_69Y%ZdZ5?FgE^Lx)-I1p7EiSn`j>9g06_o83}gfZLfiWGv74e z!*6Y?XAbcSrnzE`Ph|HPYme60i4-GBh{f9E0==J}xDO{W{ST(zVb@Tld|r4rNMm8F zGuRy?+CcHwcs0*KNx0=JY4eP2{r2msn@c$ec{yQ%W%;X9FtV;8eDrUjYy`bHZ0@zc zIBGuu*@=&HEUMku;prc#3|Cb8W0YruzF6AYaUmDS(?sjLCK=zRIvoIkKOYZ|JOi^j*TGNKE5nxdN1k8u)Bm23o@8-fM^ooy z-LK{QsWc#g(R(8AM%0zkO=>@-nPh^OO^z< zHvItkiW)Bn-8k5s*1DVC%Ig^a)h8WA>=fmNv+6{w%w0s8-rZf~YY5t>IrelX4x`l? zb$Yi#tRoSTO)w%zZXjOFk_+M)J9q5~u*eIq80#5_b03VNxuFajCXtc*CBJw;HMH89 zE97@M(MLpV?B8hb5ML}-m>QjW>R>l7HhiAvI%~FgI?EN~zVO2^PSaYw<33}LF>6A) zw0G?_ueHH9v(TWH2ix=F!uDXMP0m}ISI2_Pw!iw`py1Q~{9C`5Up{{D&TGg2^~c{o ze)H#_9l!jwSNwWESyAreL&v^~IgqlcC+?rVmjshxzDe-Tn{OY#@RgU3|Ms7L`S_JD zJwN{Z&;RQ9-Vfi)w*g+wxbnv%S!+hu(allRyEcP)*bLJvE2Nd zcl(Le7?5`yI#x3ubm9PhT?8vX((x%`_2Y9t0ovFHdhy^Z4@h-yY}2mC1}6kLtamSvpY$7o~jB!+zXjU!&LVb7#b^g_YCBMeG(UHRpSQ+%s7$asq>^Xp1e;JFrg}c<{ zB)%C<#)Mq7GJbi?d3f$5#(-b|XLH8mj1fJ`lyEP7`+aS0p4=3en`2%|)u8dj3$gJC zfg>${)_<;q&9TfA|M(jjz2?@~&b3YKcb&bk!yP}}&1o{a0y&6UKJ!d-vbKgv(y?rOlIZ2^pLs$*G_LU&@_NzX$4A$np)6@5KDmgqxpbY=?pNYDKNznZ zv~9guxOv>m>Q?4Dca5^27EMHti|Zy_&Xr2Ws&0#JjCB_Y`|AK|+c-bMJ>m75e+ZS; z{v1cRQp_pMop=2)r&WV6E&yQh?aZ*wB;Y^^PArD?MV%V}|6l(az!|w=ef03}tN$qD zf8vtQZUA%wA1{pUe^Pzd(SGX5d9w0tKd#Xu+vnoX`U}7CYx({E5Y0*0v+_F8IDvK3 z-NP5T2l&YECx7wC*gHL?Yfs;keO|I`&o;xwU>^NyZTaMcY&Mi`6mSrFF?iT^@61NR zMHOah=8%4ocVXIcPp5k_aa~j%1C2lv(^j8O%*yc$t_Nh;DL=BjW737Xp+U6e7>3amtKoarg9ma@_YkkomOc}Cs~N#v&;?Kp*nkPSPs)0pPOkJzwPmfd`Adh8c-&lR-s zMyWjE?EH(5A(+P(z#9m>JX?r09XNQSf{=mEI(PXx=<$=U^Z(V`&+|6{-Z*~yE6JU+Z^ygq**KMJmTA#97DV^1#kH#o+G4hw^z(>1jA%ozpS9Y;Kz%<9{h z9||qTW;<}?VHbDl`{q9ac`w2e7#xwUOR&#jLPZXozaOccKxZt`mPLp zBdaagd;VBRIjGg8Yb@=T_rwy6yrN3KX;Qd@hJ&P|NZZwd^5R{-2ibU8cXjTc`as;lN4cXeo^k2~dbYLJ>3s<%!Po{qr+ zsVT&_^9d%lCR)#ClfG=@%k%HFV+^^$us*O@zKsFNPO464tdZjm96TF~0SoNw*G*n& z3>#mJ#$G11!zyRn6&C>>b9$@o*udE`Q;y1)Et)imIa*Z9n||Mj zHg;b7caMjsP(U!0lf95uV_wXlBQ%egz}UE=3oq@uFAoUgpI9#K`sue^^oO%CYjw*d z3V6%CzBa!2nAad<@lAKmOngdo#ib~VMxE&ZfHh}Dl*DShVlbx?341}(Ph5Da7i_`sq+ow1t<0mgw2GB4O|Mk&m-d6PFrkhE zR$H`7r}&N$ZNmt+W5>A19zJsqe%qxT7VIRZ-`vrc8%1%-#Pt9t`L7%f-mFvVZ|sze zkAOA?B-pl(7r3x#K(b5DJhZT1<3iuj@nB5|i;l7swHUuEKbaVlV6jQfwc!5RU>Ri^ z-ZITM00`yrvw$8~M~^n;aebEwc;e7xs@V49`mx#SAIm>A{m*UyJX|n4@w+fSsYZ9# zZ-483<)**wr)p#?U+l`P`3Au03WSA|pHq2ydBI~d@S)SCnUw8{eb6JneWyqVq;z>^Ezg=+PF|n-TPyQ}y8R(ND_laZp+2TRQ^6 zIpvN-dn|x6KXHrN?9x{>V>?9n-WP~LA?@#+C91T~7q8eC z)v@dNm22Ddd?+BRj+bLbu(v)}#fCYto}tJ7m2HHRKr*6L)9s4+z$G>3NY*I#Mem6dIDh4!PsE8zN;PTbZ+=l zn8vwJHPo^VGwM8g&X6nNEl)9fB#*nQ*D_ca@0+Vz6xcadQJ23sjyn!w9Kgo*a5RF9 zL$H2|NE=@zz;p^3Ay%Qj>k{+bD|V-=4A4w#gB)8JDA?6aYWz=(o_|qXb9yt^Q1dxV zJllga&m8paCuyTI1K^abrLM8d-oIObO3VU@qI0s6>H!wKa&ZxDSvi?BKQv5!bMvAT z(E`~Yh?~pM1m_w=xq7fE_(x=(w#ba<bX7L?;(OGa z6RXE1A7ATmVhP8NAL!Dyz6{$^ngjUF1=-0+JWp^q4gu9J2#FfE%n|gW9;QBh^DxXE zN0H53`}R3bsLA?mLVwb zEEzjzWMfL@Gl#B( zp0|uuAsnNT1IzTQ(2}P44!v6VR6?jQ(dIN94E@UB@HzN1n;J5_>cOwo8PPbXeYB;FMQv(fCx=-d!`s+z z1{j^?+8f~T`h#l=uP+Lc2A4i_AorQeAAkHG0xanCV`J0#xEj#v9$G%g__6A<{wIyV zXEy*kI*-qQ?LSrDWwiGRQ{UNKGIWn++o#_4;#PLnzw}%G!~X^`fSzTkISmw4=1Gho zKW-e+BkP4HCvHuB3A5AlsCIGXNgJ*y-4x2T8<91(cjvl1x0l8g45*%}Y@KJv7K+A} zu0ZNE+%&0c&&3w4g_NgIWRt;=5M8jw7tv^GS;7szT+1~45t{yx-Z5?G*oIVRlNYaz zdwetAzG2+E`N(6{u`A7*V0-Ee$=PY-QJ_72*=m374dy(Qsd;ZZ90Bje#ZZ`RJ>AlR zRL?s~_3T$E_0fJmVW`uN^^WC7V_U{Smp_x*HA!sMY?AgPb0$~Uk$XTvXMK0x3hoRi z9*8y#v9~I}>yZh5mt__hJBrSHG<&hh!zUpjv0cYgNxjjwLJnP{Wyf3R78`hP=LC=xC^=fUQ~o5vrn$Zz zuW|Mh%2-Z*l~tZ2#>SL$yJ>BxgYOt}A+(=_mjUqUz;@#ce)!0RVjRpx?k?@8<0`5Z zrR@X%NIF)F9dF@F>zu^ZB3i_@L)f3@5;d`ra$`qnN0Qnzi!Ei#TW<5YyJXIw=GSIm z+MHWs4Hr87AxN>GgEn#ECraGl8jqd-Xj!L|OJ!ISRZgB*YtP|c$SZy3=o*H^qpb1V z;k40FN+s*ES9kM)*M0&$T;s1S%oD9)YR93~2X__GnrlvPZipq$bFXy{g7k$%=myn% z6v0FkJYY+I5_PQ7U4%N-1VtkTQ*?C`tg5kJ?7(+Dlo(`vbE1@|7+u_B3C^(!u6x53 z0}RAT!9>Op7)ylmu}_HsR6bn{N%8s&U_Yrtnd?UGmD zkQ;QggxJ5`adGLx%`1d#j^nQBz%c?n_TadsX&!Va6JOCCml+<_3%d=F@|vGy=}Q#ur|lCzI&$V@`#wM}3UQb`Kc#iH$J?R2~o;Yg+mk ztFv?2qFH{Vjh$#}2tU)neAFtKs_bKX!4+H0F^qouMOpfZyrB?EQ9+mY^E@hz= zdXH!u1a$g{?u);`-vRhL|2F_=w%pry*<`*V>!)N70H1ZP5%@IT0C;MF++|O-S4RD~ zy|Slju4q>NNo{m@{o1_r#V_aU|LJkEQatf#?^$++gJ6V%9}BE7wG0hJ!sSJMK~7%? zRgLa}Eo{nfhRSZ>G~F5y8JdD+&E^yBlBV{4a3F3l>0?IO4Xtn}L@ z=Y<6=e51QFRVINP5Tf5$I*ylLZ8_{K$fd&6cqf|qv|kGdx;+Fy!QU_gM1s{J8!&`g~v^RjuP>}Z%%N*WWT)7T5!+- zPJ<4|wLO)Q3i4Rgou|4cG;NuB==xuZwXW{&VNE*IGyc#y4m){U{ekObt~Ql>REH~~%42X;-Mcm( z1j2Htw=$+3u&N3mn=*W3s*kiUAD6!x(5H2+MX_T~TYa4Q%?6DcOYM7}v<=Huu#?Mh zJ*!Nkv4BJY*YJU#2Sl_vTD8?KVubP*bKP)REnusrM<+T$?J`a$TwM)drrk$ z=!P+xwl-`xC}QCepnD#D7e#70n`QUd@iTJip!D?u$K&ayr^&kCKqgC(wmAfYWvzkY zXZez67nfmgOlY;6eTohbYi~l(&fLXT7jR;;xb=6#2da#?-s9KR)U8cWgFj6{PBnEHJ@wut54-u-y&H*q6 z<5@jaRVitVG#k$*&+so!P5RvQ5jlZjd-WTmu|;@0d&Tq+rhzSb=N%?w`{w_2e#RAT zf0~m79BiDth7>0qcdyVCwIB2b5KCm(-$dyn!oJMC@l_wXTEC}jfTORq$8w|UI$&Gz zIw-_=#pVe!ZIR#OR7jl0iqaqZ*Ek`oqC21@1>&w=OVvTrKfb!I1npsPQxWS!i8y3e zo&X@@CpACw?5;(}%mG#zWPL|BG1U=RK>*dk#cSh7%HSSGm>zO<9SyIA6-4OI!x5>y ze+S^H{|0ai+z9Be>~VWTT>bX{uC-Zwg7IIc{{++j^i-eS0GMTco4Q>9pH$y_iV(M=g@hAYnp>QbfvvkxNJSa z;hGpGit+t%754GhpGG-ho)+|@H_kRa>dBB$MwF+YRwl4W+DD#ZKLD=96a{l11N4kR z$6*^+CUC6od;wOt2l(KYJ^t#kU8I%QN8-yTyIvT^e0{^TW-#?RJW({>_S-I}cAztk z@VmLEvG{AVKamqn`|F=+=%q&F3a=V2xbKA=T?02ZAoWK)$l*2&44z z6{&5jhp%D5UoRtrhb2F7u7s9C_$MfD4$+4HEU_ZQ6#Z^TCK!0YEke`lB05s>IL9O0 z&yJsb@apkr-+T9X@!?O8zn4D>_=VgAxJ82}ex zLB0*}g)hBy{KIek%<;{yy>`6w{WtQf2X7redH4D8{FPTi$4t%$EH~jtLmcKp<3Ruo zNdT&Q5sRRlOuX|OiK-pXt#2ge!@)eeCSbwNH302tN5|-tbw1GZ)5mEuX63;SlU;Ld zV*!3#m)Tenft>LcC3f{S?DR`{9R*HTrL1^Wxb_f_B;1h0-zOF-0gPXb?WiqK*s`?V zy!C@o;ErR}^@ZJ;ix7~v0(cB=(yLh=@e=x3&d^XGy(>>teP7+n)xfB4BuF3GKH#6&@pF##jzsLvH3j!zrSs4LI>zygJ{_b(p{#m@aO7|b zuu*&-+Mj?+SKcIn^hx~5H#BhGY;_UC&F^$pSdL-tPvaiUZV;?%YD2xQ{B=Y{O*<1x?OlN*3B)B%DNcz9qde#EIn ztR4(>Ri{Uxmlg?Da2uy02N7f*$+dA~i-9|pH4>PJoniM`U8ooB$*M2jN-e!bimIK4d@3f_H%~^9t68Q!sSpze# zNv!$9R~_-nHn}6c#+o*vdYF3J-{?PKr~McC4*;A{o?L7eh~qFP-kyx;X>)&ee_xV* zPg1Zkcyz*J!%qwL)3wImssM>zLF&=2(aEz`5loY~Ey2n{9E(>)9)*ZiKmJvKH!}kS zDm;hF8hy?%`?@pu=9q?;4R^|f^*!*CKgmYW-O%Xr0*AAMEFn9@RpxYFS5 zhZak! z=3wT59^dj$|C!$g$nR{Xe*c~P2ZCqsAHVwb&mI58-}}Px>Wg=eKl}3^AK!f=^4tXI z&5q04qeSXAM_f1P%c1JT8ACY0UUWrSj6JY!So9OX|tbZc`Tht5;RSX;a= zDkgLrhGaB1J_Psv>3ZhRy%WIr-}veF!ZwX`BsowSKTNY``89^#%2ug z57%u?v6@!A4f@763VC6pe}dcJJQ{m^DrkKB>9<}d;OZxi^%HJl1#(8CAEkAfetm5K z=qRm;vG$cB-`LcR`0nGJ6LrO-Z(08IkgY-GY{b{#Y&nF-*Ik-8<4XTnxQgW9A1- zbY15QEqK>U|6a(Q06cabqifxa9eL!(a+T6*qh+Al6tL9sWEL};}DKMb1dOG2JQD3Oi*@R4J`AbXKk=0mpQvnABcyykjCOT zb-b4s8lD_#UVrDBdB7Q5oP#Hd&a>9aZ0)d|>!yM3SsZTw2;8m=aI?vH>w zQX2)A>9LCZ@_mBE=mY&+6!?c1frJ}6y`rai7Wzn9mmlTF%&FLp$A%0y)_tQ|wi!vi zobl@W()0xkTSC0#7#Ypt&wwLU#=HbWJI`zElBWs?VQFzZz=6-d2mIkra}(hEKRJH+ z3m+W6`sG*hzn7Wg!7|pvp8rvNCCN44fjnMo`z=!YWn*jNhfEMz zc;W_Pn(~>yAx>no4&=yTd{QkZd=GMQ?21H3i`;p(Kfezj!KeXgz#NOCJ2uoGThuMU zBs!o;NMA8FuXMO2#AsAf-})z+kCfF!7h7YhDD4ZsTxDJofb%qnv?VY_y*VolFn#pc zUcB^FBaQ7j#{+?#vg3~F8P`La0*wa+z*Z_YGzcd~7sK`ky8g8Buug6_+N8*c%=k1m zV#go{{jS~CGjgaeQPAm($@%LE>F4J`@ijn0XIVdB^bMYMV85@$>!UKLi0_(3Bz!&8qX8wkqC8~2H{ zU)eCPgB#&;p}Jxkj>X^1Kf>q0Z0-=JNYwME{fd?@y%SSCZ^f%Uqfdi2@p&G=c^2&b zIVChYM`=8QqN`}LMN;mz9v$^n?B%GD-SaPkJU4$Z}l?fw~*wnJ~ z^9Miia7LQbnu9}IHg@>*V|!j3-nfj|AZDbG(3)m0+gi#80~Tr$Uw1WO$A9u^gCYr+8*@3`Hg@1?>O#zCIp%RC!`xMs^i0E1Cs~eoSfkK8b4?+Dhp5l zc#cb(v6(=!Hb>no2Jc+oCl?yX)Hu-*fP}_C9B(ko0j7uy2pfFuY}+=bb=_icLu;MQ z>sIYC;<&BL2`;ocP%MW^$F>*B<~8&fQX=uRxa6H6kj;_NEg8DXa^)nv`=LqkSm$W4 z7CG_;FK@uV|I_36_V?aCzVf+OjxT@VX-?`hLhhBmzg7UhS({j`yFO@xnhU^(d>VjX z2gpr;XCJ(Oy!Ps|H~|K~qEe*E@_$E&Zu#*(F8-lSZ|>Lw@G znF?|iCg0>l87p8c9Vt3vgNJU8In3Z;454`ah7Vudw7^87$@s~K zOAb+I9n2~*TauoJjtOy;f#G7%mG%G+ztL{GQtX315QPox=NiE>99@Ivy!_<6y4&l{{}323sJ3uGIWpmJ&BS-$i}DR+)Bc3DYKe}U9m!eoZxIvs1 z3rCoiI9*fl)26H~?CjUhO%mc|fO{RIeD^G7j{^pb^~bw*wSp-Z+ihaNGqCjt5i1_! z`X&#S#aq|ZEIwG_#i7}KU`?C!4~si zuaFu{zPsPL|5lF<=+w}D%e6QuE52LR$_Y*z{3d9pm^B3i#n!jWF;-Kk*E~yzj<$2{ zVG$GJ;T~dvXnF9%7O~|xb2}v%C+lFBDYj|obsAOHb<-{+PG3{OaEptt@Z0K}V0h!y zZ%&SlIY*2ep2Y{qaPznB$kc!3JmFUgMBUmJh_S~Q8a8eOU-*TOy7j;H#oztY7yKH) z#uLqB+m1iZzPRW0_bTq==V5>4ZJ*o#czD?F0kb^^2;-eUZ@jkceO-2oyU!nw@AHj6 z`?tP$`}coH;M*$!XUm?Hyb0ryK-gsUrQu*P=QQF>x?-gQJ&g;@#A9)6GX1CTj)`Z_ zQrMb*&sVr^oQYfZyrp@-X&vJgwb%_1ec#l9Cgkh|i7}12zKpS5W57b(oQjA`(7Kiv z{n)@2+XTf;H2i!Cte<%IN2jB4*-0Jz_^K5f5`vl7TCS~s6m8TH-)7PdmvFd!L4+rE z&~;PK=B^&JLVHy|*z=7)^NF!ymVlygVTh67x*l{4)E-~5ArJl?;oH4{42*F zeeJE|OJ98D_|CWf_W0&szni}g_}cO6tL)qBr|9>erj?VbW)+fPKh=RIWVV6nI@24c zp4jI_PLGp%z|hc3(Y+O)i(F|0st8*W^ z?z8F>TRnRX?Lp)<6%IJ%+O=4P$vFAR#6+Ewvwx+%`Y@fxeZk!hZx8I4)YD&80H6kP zOb@~Un;SnGO0iCD2H_X-=tZR33cGq_;Rl9t*+?}B*ISz}x#DeAfz4hB7PDmBHy?17MV$@RFsEO~kb>K5G<tsgV4%2kE^aL+7V8XK@$Mp=#1%iX92^qde${|VCF0A+`85? za~%R|NRv5UE;A=P^JOU5*%bk1UnOB>tpl`{241xdQD9O%z{Iz?rY`p*Sit(cYISm{ zk`&Bdr`3ZY`w>MDbiWIdE2G+0t9gpseCXzr5q`yZ?YD`I=Q^%T)VT!Aw~TvgN>_6&Od)Xt44+PT^Rl&cY7&-Dzh z;}+5}e0}iub%}CMkcei_cyf0XGsjUIN*BKC4)@wN7G}nF3~5Vp!!Jh*fjgjnTYEnp z*}7Tp^J{P<-u2uBTdOH=+ACqSj+P#ic(#o{)ADpqI`d%9<1A@-8hypi4FF&t_h`uF zXTI1SFXnmkyYEHg2MS*V{8jP&s^0*3d_e5{MLoW|f9Ld^ozI)!?Tnu{U;Ej=`Gv3C zKK}pkf))-NC!;N=izg|kO>7-A$(iKEkTa^_oSLUytg~#mfY9Y(Kjb?H)>tkyL6n9B z9cIo&bj{-TYSBr2t)mw^kUYZGgw9MGPEBlR`y|JBZH&{XwR%t&zI;~)gN#UF!`vt;S;yD41u+j$@K-BFR_YNW;11O6i@K151gg9KSiN0U!dg-1~t_~pBMX+ z9-jKJqqDtZ<2SNgx`z+X@)OwgkI|6Em51%aR&BL44rZ*>#xQdSSKLa&jN9BsT^r(c zYU)~Bq4>CN)xx)$;eykg4!~Y$$E(K|%J>7X5JrAu+&9CkBTkuoQ_`tcdwj7vWel$d;I&d|18Tm@jFRqpAjl~_Iv@b0tY13wM$ z;qj?gKRkZ#cV0by@2jsLAO7^&@n?VW!~B83<9Pb&Q%fihmykAc!s_boo6{8%&$&NM zoeeoxY4AIgOYP6BUo(}JtT=f?Q4QDZDTHl7H56K0g_tz z+TUxQXoXi@xe$8SM+&1|3&t`t=-N7B+`T66%0BoA8H*lxbj za^(cWo5t*8hZB`Cm|a^X#CBc#G8WSeTQ?N_2zu>o)rq7_pxleVznHc0$4}wnMI_DH ztN~c&9)q(L!b_j2dyQKHDsh$ z!t`gXz^D!MT=!vGJk!-9<2n-LnlxFX=8YhB_-u=h%EqsOc`W2EauW4?>M;;E{^eR+ zna{Dw`yOLw9U!g=t6?2iBz(lNWv#$B zpqUxxp}$O4*sp&a4G`eFd8!iW{7LF zqpcj&WMUH9jK-$D`{}BG))rq{b9W`0_2OIYsOu+EK#ZQb$xsck*^D~{^GHNf*%~;&1F{g#}fPAIBwkDB;r;!hcsie(LQ1K{I+4PcW1R^1rx^R;h( zkJ<6|D|F}Ef1Ldn^)K$1uK!iK0r0$o;IVDz&+G3t#y{`DDk||W4BE0a0rWchAY{dc_-(DRu<%Hd{3wm>HTza94%Y-Lgerj=2 zKxwIsozUvTL#%HmxB%uW^GY>Pn=wwOE@JpnZ%Mp|FWF|u0`jkWGM&=R>66&R>m+;! zQw%h;-btR1HX5@lQLRPAHUWeg%0-$HuOj%)qyMRmb-$Xk#2ORNj@%zH_62&a+7b%N zZ-R)O2do>nSZvM5x-p}bk9Fu;kf{4i;si9_0TbsN&l62^sziPdQ~`UegfDrhyLZK_ zV!6H%Y-~Rlo$G5-rqvNl>n@;o(e%pGX2dwF@Gn_q=s{g5 zZ=TiBxpBi$cgdHpId`9z^Pw+zKaS7(_cH6Mpp`H45?9`UGwyL;WhCGAVFb^mp+Ci) zBGxnO43fr{oNQ5mftvxB_A!bm5=$F%vZf`jGOu&599u_pPk1%10%8+9cLC(^*a#SL z@MpfqKgkBFMi38MRuYmt{7L2{?Rh|ENfQD;d3$bwrQtm>b=MxOK6)O}WaTWHRQ2}{ zGlHqT!A+$U>@pEV=%f8N&n1m7M)(pL-L;F?)*dVxQfagq4>!SMANXJ}D+WYbS!%Pg zv9LZpHu?Mx?b;X2yUy6nMKAAglRHBg;lWB&nb2A8m~IUeY{V|IeOaSn{v94c@S8Fa z$9E=^!_&uRHctKoC(ivaTw|E$bx3i{W0Yg)>Y^*rta(b|TEmT|KIbD$cQ!QkO|~oc z%vvwI9=3kkrLU2?C%8KFK$DJ5S`QUh$vA0a?{ggkP-&Bo?plZ1HwKJ;@HxTwI!{<; znW9}zCymEYjqFQ;)7I}0-84}7^4L^}R`gtJqUqYVle6npA6vBbn4B4TH#z-vqQ#7p zhWIo%XROa!(N2wMVc$^`^>z=#(3oPNAzzs<+hiC!@j-xtk0Rr#o`+*?(Y(6k2YWJ^ zFq?_PuHG?e&v-O}YCcS(a(Xy8r?9Vye)qvg@J+QD62m#%V-sd-qxm;HAj&sfXsBye z&Sdo)Fq_qI2D%RDo_P4q>(hor02ng`qSOokNckhT)LQ_ z*Dw0+!^WKUxUcoa+ea#141SLH?;HOd%K!FEpWFbr_Q`#R@0k8R2EDcy_4~~GynbyP z&-}TM&;Fy|%_jhGapLvF^76Tg6q8BLxSo%<6BQpP?kP9%j5(Fe+zauXvx7BLAdLg@ z@Pwa}+tV=^`RDAsYm!u1XT18udtN-raf|7N2>$zv@QO8$1$I8^C%%zzNf&1?P|Ptl ziO*YkA$reQH#+)eCM$EcMrE3Sjv?+GP_r`F{Bd@%To5$!Pzxi%H=ZX64FP~*27~}+ zT-|x|Ld@ywljo%$PveN9b!|x^QD5w2yfNo7Bm_Hoz+z~t-m%0*b=Zh4(yYD^BVzGB z5r|k@InUU{WAWw`Ts|4q#=fbxt%*$JCSteCiv@l88eL#N(i%FL#Rp~ZYQtVrfTc*+ zC)}QUPipC13=|NYVN<-9rn`ftB_yq54DbEO4F?rXhjSJ{<1 zeANU!WBC2JHt~7!`vIQ@$m7YgXUFG0^YZbHuYLOX{ja`xy!+#KkN@zOKRVuj_R8_v zYp+i5aH*9fT}!RuowN$swG_3E>Gh2uWbh`Xx_H6D$H4E`DE5n#*1Eh{wsvcTqp+Ku zH;O8dzxa~5U1H)`n=?=6m>V7qzCi3T%R&~Kpc@DL+ULb2KEC`3Au)>$$a@LQq2Q5{ z({&!ZTCyo;JQ@mMm3ZS(6|;pyzW(Y)kGX`gIMW;_WmUq>7z`W!&|truBW+^AZDY6( z1IO3g-Ivd}D-oE)dbmE3KMg>zhCLn|Of1(}dIHkYGaLqEJBNys zr*GEaWc}m@4JebYBG{(iLH*tD=qINfc~ko==git#TWfW!&gz=zTV3TLHM*{KW`c2a zIHJZ~i*XYOjvNY3$K7IMha3CowP!AX6=K}xSm@-4x#wdB@I#xPH_4`(IJn%+O?p`a zYAVIZ1%&nGyml>4%!I9+Nubiiz_a^USLSHr`uRZ&A3kIM@qqto-XJ32L-u=}bhPqy zjrwV=Iy^=SNz6lB_pL_x{AqXSIcDL7f&8rH-fVK8aeU_+JFPq!sExopJjZpPwf4B` z@qLdY3_`n%9@cJlxqCb{Cppe}2(ERI3c@rP+5cr`dtWCI`X`>UD9Jb9UYFplu`J~g zG_l~}UoEar3mU}e1eb8vik`p*i}MD0MyEbByN2Kzd(}KVddjsm7HgvB!(i^%ZtYy- z2U^QjSQW13t;?Ph#PtWs^)-#T-PBuCwpdw5&Jl);!6<9SwRImVHo(?>avR*Zt`Stj z73OmcZ;8^IuzBGtB}Q9u5RYcoJExXyxe=NcM7J~7n9b&8wN9i1Hs~X)x;F+kb1#>= zUOI9E;1~S_KvR`)#~;^UX{#x=mgE#!U@VkGX=8fga8@IB4Xn7H8oPa&ZAg<>~h$ z-?8CW#qEiwZ(7&|c=}>m#z|_l2k0 z@`j+VE=_TU-|+i_4StUaD0uVOTiMN}g*?Hq;rreX@uj8yu4~r?Ja4JUx5pe|@<`|s zV2Q1DG(P((>+KsyeUr?X?1w_vIDGKJ^vpVb^xo6s-~H#mJ-+_tljAGD_1f`L-f-mG z^O5)uQ!6SKPn&4e?y>v6L}si}}0ot%GZtr_ms-?ghxNW+(Vt}{Dr&oLD4J>KP=*wAj> zW5KJA9>dMO`EgVeS1zi|gPa^+5X8T0w;G)9gm`e~NUZj*gZni0CvYX`defMBgOZIK zHH5_w0JB8(Q);%MtJQDC)&f$2ct zb3AjL43TpkAFZ1=xjyGWkYw#ZGNvasScEW>Xva-Z9NyO2>jQJ}#lVAC73pM-&svzn zpKtNG2H`(%{z8<7uWB;k_|=A;`1Zx%$iptU0H{`sNy;@tapZ%CFvdOq8!O-ke&||kp5v_JJZBH6J@y3N+H$m#1sBBY7H_a?&c?oVFY&onxbtXU#?6Io z?TFsjG+o`{vKW97#)CF-#L|dk^_#DGuy;?-NN{V%qW8hNmF$)xe6W_Mxmvr?81DNk zb7HTWch%CzQKqa}z6=#S+!C6|d|Cs_e=_^ipYtgIBDW!K1wJ0%F*|-4#85hdyT!wBhaARhEyIS94 z;qyW}Jot>C`lt^cbt#A=98G`f8g#3MR@_;+QjlUSkMHCs5uw>hX ztA0hfEJTulmIw#ExMw?GvpS)JQ%d{z(Xel-%g`7=7T$dZt!&`2r`6LjSnR$=9X}LS zjor99lsI8Ku7`^~{GFly+&79z5TrbSFkGz3VVm0L4MX-8EX|fULOW%UN8+e!f9j)q z)`KW$`$XHoyT0XGIV92MM)uB=&@~Q)xk3sz@B65a9Ppl6FrdvxI?#T@^TF}TlPAab z-+lG?zyADhkAMEv*N)%FzXyCbzq`+SXI>3L1s`AA?xT?>C;kVSNS(%u%Dk`7e+me1 zZUVfYUkS+1*N!i|_44s2fAr?@yI*?k_~ti%aQx?QzkNJ??Ni6=uf3B0B+$B8%hn?m z)lVsqr)b421|Np>4oP}WJ9L3!PR|Vn-E165h7*Gr>}QQL-eYQ08LE$bO*jnIE+Cc! zl&ju*UH$1aFYJ1KGUQCmQP+6*G51)my)d)~12y}NV-=joE<3Y(a8TzwgGa4v`HX9i zxhD6-lb^5N5Se^o=rIBnc(OzWFAhEaGp}ep)-7U@R#yxN!&|S*Iao>~mg`~*)nPs? z`&ge?tkl8R$n{2@T%{>z*2sG6=sqT6=XRY0M*U9I!>B*0W!3Xj`}4-rV9Z{9G7^le zxSfx_W>abG`HI1{q9;IfuWJp2e}n*DKO^T?JV@Knba&)@%s>-4a_pIp+;Xum%h5UG zJYvIcBTma@l_OIm`25yngTIbN!g$U;->gf@#=+D+`rt_GzGD4j&!hW-@z&gZU2u6e z4q90v%;lLF@oEY@c_9y!l zxqeu2!oND0vyO0g4c0&C`c_B|d~b%9Sd|nsl;;gI^~}P+TRox5ryRg8o(j7jqaco* zgJIm-s=52AHZ1|j6&x!ji*dY3OTz?)L4ZZzzzn(OuFH5mhPaW$^%D#ahlvlKX}0Cg zXl>^{$Z~efxeT~BIRI|#?muFEaU`$Am&Sq<6aCRry{73*-#TyMnb! zvzYeSci-+!JCu9!3~%4d30i zc{j(yd6qr*eq)-7%JJY_b*V8y#?_N8^GnOFU)}YQU6Dr`_u7r;vVCEsph{bHvpcu(;wS*{=EKfWBl_TTzkPh?l%tm z`quWK&wl{;*L~AECzxkpFFvuHFTluh-X)%s8=`HTF%omu($aGgV76xyZz`DeO<6s> znDGS%Apiniyl@!c%vG%){%WUIY zy674U)K4ZaQi<4~f)tM()_i4epsC81w`(9t67l6XN#)##<(I(cGss*Q*RItzyfq+i z5~=~j%RGZ@4o5RbZ0xPI8e)hAdua$`U+~o@?%*vlW@7eGFQ_@R-krK|16L9e(3_SsOee;+<kGk4qd$6h2HGv~R9;fh3 zleBz&UKJF-&?bMNvEidRC~p*nWA};K0%8>)S&F-s9j^~L)b5#?7_xUCOl@(V+VN(B z4u2|3pL35`b82VSy0~PT4+8fEnZS-ceXE7HG5W=4j<{TlH|ObN5Ek4rKo4o&aC;32 zD__L*IS+qx1FWXe;v6;zCg)-T$TV8}eYG6~}ez%)!Wj;tRWCA7BZ0A9j5taUrkyuFLk6bmbzRbZ$)LbG@M2 zR%&b6n&LC67}s@VL)d-EF&ezdwwCS53&-}O$XJ!iUw~Wj4Jp>w0Hrv&imbBMJAiRa zO6y+_Y}UWQ%yDK@JQLVvO__P)4oF$(TmzqN631~GTm6jvHGuzBBFLWqh}m}cV`#x2 z?Tdc#wgO*_d6D<;8~-Bi|0aB&+yLlqxbNs4-}}d7<{$UybKgh(*dP1W_K}`H0Eo1l zK6Gsvax(Go#AS?UPLW0G@0F+683W{tZ+S8(6Q)Gx#O{k7UVOBG=9#;%VtN;_lw1@L z5FMjou6X9aW4nZ9y1?OgI(3i}!sw`;jfX&sPmI0@$i>DdgQ4pSA8rd^V2w6aEtq%R z&}f>xV&%>E!%JB2Tg*TthD4v4*9q+cyi=SOOjW`oBUq(j3F^{i#Gld(o z6bYoym){xt0wPATxQN~eDGuW)Oo_Fzu+6MwG-A6gf)GWdz8bm@y{8v?dCrf0vg^P0Lyo#USc zm}7pKl5ZDyIiX>lvHO_LY3;lyeEs#O$N%%~pB>-*&X14(>5o5ieDRGZ$2;%5@5idm zOO1K##bCA2Q)hd-ZonspHIXY;aJ)u*nMrN{@J9mQeJ3A#&nFT7@t0md{`nt&_V~<` z4~{?kPv1TM=10$t*FXJc@K5^5o`m>@1}TeXd*J@Om%}*L5Yhbek{1N+(4IeoBC$#+%N}TPpF4 zQArbM*Egu;V}1K+0WigGyz>!#VoGM>o{PjaCv|xvv8J%WkT2?tkJ_{mn9;S5iN}_9 z%AA_aPc7pBGS^G<#ZHbX(w!wGB0Q}3<@ai(lM^j)jws-9>RN8dU~0BdW4I|;(W z(ZIkhHrvExPRZrM!8(&4W9O0>la2V%1v2vsn{l3t2-6N%2F#0L1cu!Bz`~W5u|1Z; zj0IQhy^6(7Ab1|;&L9LF?!@&v4ZftjrC`GSZjs`Z3(M=21uypy3j)yuiMHcNibc{hKm3dE-dsA4OcCRnR8Bx#uwZ5 zDva^P-Q?u19`~2Rb7t)m$lxiYH?`1^$7;`*FZAnS*+=qJCmx>|_yu5T)7J$oSA~t% zkfBfbNgPx6ElI5%PR3ayP{4oACjdwebRW!V_c`Nj_wm~PYkDjBuL=BRiTUIPK=pS~5KKGCP4*Th?<AGl(S2!4>`UHs27pnBJ)7lT8hKvcG zix@e5avxuBK9H-AnzOFxpjJY6?LyxC48Sv=ae8iBbnUeo4}$&T3o(Q5Hz+WqK~$#J z>D2tw4tYN%W1u{% zH^3XVI%$<@Ogg(@I6 zF5@%yIISnKID#Ihcv8lWtym>Ap6&3Rbw>!{=9B=v8Tb$m<7Erd*Mry~BL)Iy8TUp9 zFgB8>abxJJM>dbGinPiyizi>Wn<(7f zS7_lyug?h?quG6D1~%1ZEo+0LiO*VaaR`8hYhOtB(3~5*xBRP{^9(xQlqJ8bg2>6i zImW(aKado?o<9n$Hn(2y8&?-P2%&FXFu3;3Vh*p_!;8N;NCs=ay2>+yGzr{q@FzC2 z@TOAj8jZw@e~-=9CM?#pa19+Z$L31>XFvi?zG$Ka!^H8p;iA&HB#gbAfd> zSH|jIe%7n8uDd4>>nx4RSZDR@PQJxc8m(;I-^{wsRv2%!dt;qg4^bj{kch{1oMd7? z_ln{`WF|b=IhP0*Lp7V# z(*!5iY0$df<{Q)LArjrK4F+(ndvuE}_o*)nQEc$8#Vvcq$O(7Pkt-g$yOx2MfZSXN z!>;{acrC`(3^zLx!bV)@&y}M`Li}9k`I`DT7A|@TB*MmiK3})T+LqWUgPg1Y8pQ+1 zWV!Wmjwvp)StEJWi;~1ckVYI|B#tZ-$=>VISN`2)dI-i8`2Y4le((6~Yabr}^!MNL zkMg~rn*f~f#Bi+9+d^a>9kF;&#D-m4Hu?5=kD<1Pp6=}0m-sY5el_6jpS^dy`r1p! zAOF#3jz9UmH;$kF_@~Ez{PXV}KY1^@UVlTL)+B9-NlP88ih8W6dE6pnFx5tOn4-zW zNPhd^(3!8UOHqPn1B~Xe5-f4XI36$b+T#;VKson#z}%dy%gLJcB|G7KUGeO7IB24+ z2UBdgjDw2@CSKeumtomVUC{7AKnoa7_%J26Nx-u<^Xo0p5XZ&^0I#xGZr3%r69XwQ|kSq;x94Gh_2`&5OsxXzB5T%h0OMwigBVBbai52rghXX3QIMTKOEz zoags=$unkSoN^>f`=Es042~}enr~wF{7EYHJWvWx`Os<3aCglUUwIGbF|)o%BZJzh zch=KmjeUlfZ}`&>RZP^jv-ri1pK-uE_8jQnj~E;NJc#~~UkiY^GdcB)wm2XMC|{?W zS7Dp9eoXG1m=lLa-VBi;03T=Wm+81bk-5J7e%#fj$sD z?t7eE>xsMZjNninR@Tj$FG$xDTx(iRVw3ONtpQHmCuxqkoYC;RGv5s`(gA4oM zLAjHN$^Pf!B_C1PmWz37ra!sk?mG4wAWCi%p`hs4%sKn3_F~AhazEJE!MVf6;t>;2vYw_n?343;*~}gAI6| zNamdIv;%oNQFCS{`<|u@GtOf#1&oo$8N(Bw7hO5v>40r60T>!PSILtL7re?36P&@^ zpM=bVE6|>us&zKkn1qqN@zoVKZGx1_q=W5>0cPIvt1UJzJig#b56xzWbZ8#vA-`{G zD>8U4UPR4B6BY~!J~b|p{LNzh!_i6`Z;i3<8|Q`u0Vho^w3cW4eJudW+PuK$St`#Y zgq#=Z_=l-fgTJgBPf)?|x$b9;vETBON?8d}Ptual7p<{8SQ`)luO@#Ax$!3_{F9ta zE!BZTr1eLI!q)B0077rA>qtOUgc4oW13ha)mq+U(MUGO=GX0%*QrsB;hVv`I)Lh<} zVt}vcj-+amGhD5sM{UN0&^#@2002M$NklvR({;N-)9B)5){rLBP@uTBQZym=U zedW_f{!o8>(I1E}9z1~>Xr^q~7q+Iho-O8FM*!oePHW%*A~v4}cquml-p@^d4~}<_ zuO#oE{Nb-1Z@v2d@mGKK{o~tz`|k1bE1x=EdHNI)32^TYA7pvB#w5WH|E`HsEVaeH z>y8I>v0cxx;7V&ukK?geP&vHmLQQG{-E+t@MO@jspLPeAhXrsskRB6bbevonx00AJ zi!tJ~3tu`J`Z645mxLGP(MJ58*WB13s0t!H-h*V*{9VhY4XQ zkT%CDx%UMtwys)m0vbygId-4OlchpW5F@+SzpkT7*OA!d;csw|dH-$OaGHhS$eeX|z$VC)*yY}MU|4^lY**ATR z2jM6ic_yV(B6@13pL)-=kD>96bG-p2pv%K}eK2+H@of%15u)}6bgie!G@AkIYKKJX{a6=i1-roXxEsbYk#Avv2-Mli(4BYscfs zA;&rnAlT(HUqa)a5Y!-~$0G4~b}i%}{jSZ3Gd|OnPhhih!o3zmFDzv43ZQe?9B?kNmVBkfhSXJRWNfaxya}H8?%Tvf z`2Ju*X68+H9?uO5t2qa6F0g274Ac+mEnzbos{v5+X4+hEC+R$ikp2M=xsX1(W--KI z5}z!Nv++}uW{oaWW=p(ddPbf!31(cs7_M>p8`(g(2cs`mG$pdV@J{|F#KKkpHU z?T*91oVI;uADv_0QWmrQ$Jt-x|9LSR`wz1J-WNpZDOJ1?JxGcw?F0 zA8WV&(%1jRzn#;^6A3ym1o2|$oZJh57c^fq#0Y3G^gSmTWQbkg#%3bE=h?{z9GYBg zdJ^}-0SCGHqV>{I44yGgj-tp%4*tFG)ovPzBfT#K1WUDA%&33(flBH?%DN|Z)M*2f zFH1D0xj^nZFkrktEh*vF1k2_IOe{%og4@eOh*v2_D)>%amC+1 zFa(Gf3yUkaRJda1O{8hy8rbsg-D%Bi2)JR&h8g=j5HksUx{bL{V$|Veo|UIAXqTD+ zvwNwSVmot;52*QP;PJWQ==r|aeu|Y)iQX8v?}trncsZm@EYb;bZCEhoY3S0%d~G|x zlw;Qb$v`&07wg&v&FCTyLtsfu1_k}0N*Yj8U z`CZKZM6>7Cre5|E!=1+()4PW2?1?{^;Q=4LzVyr|0sOUqpFPWOA-r>Z;d4)p|KXp0 z;rQy8Ud@y7501ac-zRwI*%NO9@DX2Y2xr%cBz@s>rb9@-HC0REMql?YF6!T??Ooxq zH;3yUT-VE}jA#EOtZ&w8Ki7c49tUJHPc|GU`Kqhu3qERE2tqgKu4`2dX84LPTh}E1 z$w{Z*Y#Ey*MjgbgH?|nfAI#eOsVrtg7~ft;iP%={c#7-VCJsm1bY_!XbFk|l9dxa^ zapgCn&^vyxO_1#=5quihJQ(k``%6RjoqW`d7WQSsh-gAajN_PIeKVyq@j`0ImYWhi zHX7O ztJ8JCkk~!8oQzHSJ)wYw$5kAmaw`o!YV7gT^f=~-S^V;b2mINX^Zb6E6Y=pa1XlOL zStoJ(9J4%I`*ISy*Xt=?LMa7}H9*$Ey`(dCTs){~lDD>*;28&&)j&jb$C_^sJ8Zi@ z=x3ofW_ixyDqNf?tR52b#N441=kjH*WFnXHJ8w;WvE%WY_%Z~fxiOoE-mx51%vbke z-#E!wdw{2w(d6+E>uPCjb(W?4%@-x=nc#HYrxPzvwKoyqupnI^+EGBiM4e-!v8|7N z%uSM6m%z@L5PrxXu9;Bm3~49Eitjeo1%Thh&3+}AwZ_A9wLrig0|d-UWDe}gv3y%k zu%+<^6%?1Y8)j0ZBV#bd?UEpiIO6v;oKgp` zDB#*|W%S#2{J3BLi+Yv52=J@y`{V{d_x>Iv&+G3t#xHu@FG1k$^ZWQQ2fp+1#^?AK zfK1zZvT;J47RO9IBXahYuqQYtFc&~i+913TftY~32pDsk=K_!kl~wsDAs4--_3m$Ra<)n45tHFsF?8JJFX4Yh&c8weH18-G83MtDZ|_LBjruxvZ5f`q8Fq2>nHzt;DTet58>j1JzxxdiDzyO2`BgP2nnj6sJUu^>B>;;i={Yx zL*HIiJ*UWP?3}AArdS@q@pmdd$R`2bc>VR`uYUBw@i*W5@$m;=e0u!W=b!TH`u-9B zm$}iNwCCAg300MGSAhYehr02eS`!g5KAJsa{!2hU4e)aQK;X}Q{BHDoaQxx#fA;wA zzW(O%^x50Tx4!kG<9k2JzY%=-Y5s-bD-{BdL=LVEWyRj#K}XKqqzYm+UN=g5JlBqz z>-a|EwjK{~Vd+}dmPlF!G~9+Q*8{TQ+ylbHqR zH8{Myz~sw%!ZDYR_^%2}1DMB(UoQARC-x~G}4hi!Zn8WDmx>iA5a8<^;&*9J%&MvHGJ_>8I9jr zG*}*altaLb>2+FdBQn45OUBMQCi2+lHq`NN9KsNPZ_trXyG(5Grp=o6#Oivq&PfkM zXf|<>uOA-cX5WbnTaVdVhC8vS*u1`3oDj9^zcj2Zma{I#w2QI6?!P*$bhNFa=4_O_ zt`**8q7TY|Fl6enK^-#=AVb!6_Y;;f5Z3Ee29R+4%LO9S5NhTMS@L9qSm;TD3Yu#f zU-v+5fXcJP%o+0rzg)Yv@{n^Fm^X@RCZk0*b${gtJNj@J&4g+9rmRh6FYu02~%-UoT5T~sgH7eDW0ywpHIIMd1D)YDnM1kvjs?CRAPe=kwDxP8^FiP(_) zQB@3R8e3-gPF+o6lou~n|As{bc>efJIpQXmxbYEjZDc)8sKNgmw)q9$3OokUpPMZ zspI(mU;o|l?H|0G`vgyqr%&1ID2lG(W*@Yc$;TXBz|wg0(X|*uY`gzQhPaR0$mK$_ z4*7zH&AGl0Bf;+jkK>Kg&|`+&9?#*i6f{pwz^+z5b1Q&L`BI;2 z`;oK{J@!}Ep<>sT!T3|nmQOEP(cxpo~@W1Uz= zPY8^1!y1mSRzpuc;op7HsPRxMapYG66N!v>7(mql$*74s)-(IY(9ssVbY&6yfa7EY zkU;aNn=jnECLplWE@g~f+8Y379`}7r$h|%GF{eH5YyJ7#E$K1x^pgUg6+xYlS$E@qkEC*MW7c> zc$Q_yaH|7&z@0a&nXwNS{tUYxuH43~kg%;^ zW>V`j5L1o@eolS0LS)g%`gO)O-g)M1Zs=k^;pm{Q(FTJr_EtycgO%+zR+hjL@x-s40P!xn>$KUZ%`ks#%{# z<_PC^R<>jrt~j27TR|L*T%-*5z|op;IERFveyH!|*N(sZ{(HyE@4tKe!Ee5LeCE?H zAJ6#f{e<7P*SspXp5|5c2As7T?q<}DWbz`BKMcsHN?y)Qhqr(Hv*XoIAIG2k!LJ>^ z_v=rO58wXj@tq(3?D)I4qcfibcqPYQ_sykh=vvoV>ndw@@|^2&3F>GGvKAdy=Q51y zdj-J-dB(Ml?xW2|VMCwZ(;00FiT%`Bj9Wsu4>cwstkF5=#pZnb;< zVBP-`7eBbOWCRVzK#&9&9%} z8d?*GhNz#hwNjD6lmJ)V-qv$!!2oyk8$c$rQ@6d6T=%fsGSbZ0Kw#-bqyV5ox2X3 zjec9luCavtggLf+ua-%>0jGVHS3~XxquiAkTBH2d|{!i)5Qv>R===JhLC$NuuAp1twSQhApR#knp4m zC$+=rOimQ4wIOoM(JU2J=-L=4hXaWZN?j7k9+hXTuLD#xXL(qr!KB913h z_;BWN{v@<0^EB54olhPFkZZGbE{$Z+GOMVL4Qamo-+Ci@unabSwd`3i+My`ezWa#0 zJak;~CCaJ4iw{?1u0|Y&G#!$j-S5&>hbOG{p|Sk zlXs7=<&yxPdh+D>-~--tHV6GpmbK^$EgCSW!SSkKk~V=X7g!(K62k$Wn*jWAKz_=_ zrvdV30*~MQ$N2++Uwh+t_P$Mvo;VfPw_4)e5!7H7BDXa&XEgH*1K)OOR4{ametpxr8|btslk zADbYyInDeLr9|tamfdBIZT$MZAm3Q6y-w5gCPMRG=7;A1z^>n=&*Q;>$>)iY@z|EP zxa-Ark0W5ds;dTSyow-O_br{p7t7i`JV%r(u+4f&1#vfsEe+>)0=?+rp+*U?2tK%9KvFz2wYL6cl*xo{o^t7ZKv!tOuzQ+AGxXQBkg&%kAVIm8a}xJ;GyiU+nxNp9^2i% z^S*kl58Kb1F9zKGv3&a9{QU3a20%|9FQ)f1vS!Y<5p)`6?&Uvjo&fej6xw|68(*q5 zVK%)$1be|P;}g6rQ1y+I z`IyGF7oihQ3LI&dZQ141>4<#E!KQ{EZ8@z%HYax2_wE7UZ@-u81)oIW$sG=B&&b-6+&&#H-Fr-I4Rh@22XQqJScZ9Ko$qmFjf9YAbAn__ ztfFu+8_2NM0w0cfOn_^=0Qt}|Wb&*!g3G_>(4wxKTStH^NKQk~4e5FYEq9sxZxL~x zp~0P6CK=_`pICLraoZ==a;+pu;qWI(30SSWuK4%pJ^3&uYTJ1oG&%Tq=c1wi-yBpa+5vuWrMq}%7_7E~tqAFl;#Vl>^f z?uSn9`1Nn!Y8%)XR{h?}-5l3CFT&%?x~Y944H+JM3tpYEoHpwwmU?ge!_id%e@67Z z3cLhS0I@UNIY#S_y`Qnj9?1CQBOu_eO~(D6ebH-jvDpIUL33i{OylSxItN%S6QHkW zOKI3P;0!yVW4Rz_KFBYYNhMG7m9l{&5hc+wp)#ibTGlZ5cgR_QNpBVSLwyukBK2Zao9K;OIhHIC& z)C18xYdVSBJ@60RP!hvUqUOI6+}EtUyS-x)J9XdJRk?B&dvaxZUUvg(1R1s$Jl_$xEZBen#a+RzYC<9U%h6V=Pp0He+xNH}vFA8OeLXcu17uB7S34`a3D zr@ZHS_R`tuY72LzPfn6mRqJljEB|tIzZ6OGKB+NR*XdwC<6qDCx9T|A^#cOvcn*_u z?M{tFoZGG~1S&l3J2+GC8tAAvw>LXn)a-tV)7apjhihKQnzu0`Pt8(?j~6fH3U=0( zdbP0`>3f`=+_#eO5urX8jAbh8jRIPm-HdB!>|`w{+n$Hn=41BX{poT1^$&h}eDTef zj<5cs*N)r+=pWcyH01pr&DDfkEt_xFaKq}Kbp(5>OAKp~yCxs=_rCJR@wMN{zbcI5JKz1u@wY$DrvYAiC4W5d_B4_BuFoT4^sFXD#4jZIVvo#C z-@$A*1h>5CBfyq^hS@dH56a+^aZ1>nz4Go1${U;j8*dUB7G2xv#3OAs8TYH$*4Ri1 zSR-^A1HNsgGs8>k=~e7$(>urNWo$sUo7?R1n+hv~PP{XI@=wejKqoHJ{K=C*L5$KY zw8P;;(jEfzKL3Hxf8nnw*AW0&&A4eyyDqg+2Pc<&BI*Zchymjm+qrLsQ(y%(CS&s^ zb|Eles~#qO(A^u_s+F~@r_>EtzSe-h_HL~-w(A;$->>0X{9T##gjmQXZR#+=b)nTa zSxJ&R<;U?ZZ#CTD=>5GH(_zB(fy+81XA^66Yxa%~!<35|9A|(oGxvt!& zhyb>DTaR_RzzJ}_!`s*UM5Gdmi5yOPZz8c)G0qq|2x`nFJ27CYe z0&q2QkB3ICroGK|2FHPx&ec^l+OxT8o?452xDZ{-*0H*Zn>^_p;hfNOU2nPT1bJ!d z3==iWVqdBy8(xeKXMNGXt)ZFi`IM1-6T^Nm_9FordTdo!sn`;fZMza|c%$5|Zs8`W z?zOYeOkU!|%<7mlM(vHc(VpkS>Hr7|_+%KaJ(}WMuAyVDNn-pxwl?*civfuLzAs{$ z8vr+fMlt`mhk%=(`NnU*m>2bT=`X_l%K2`u?0zY0f8LINY}@(s`n!$siyppt59V>d zG1%9)w&(WwBY=O}6R;WQG|z-NA!&Q~XL|S7+Y?zxHVxTJKJ!gmD#*aXYrCw%3}oIG8$Zgw(>ShSbK$@A7T)=cqlI~yv(0y78So8X_m2kWa||?}nrju#hM!<}zbB%L89d;L7r&Y(_+vWL@3}k_a;*Rw7)6ONq=U9FkGb@`gBO7rZazn>(@S;;i*;%DB=L2RQ

    %l|hvAcd_oD^pe3AphvnP*lpAX^)tjYW5+6jw4pMqUVX$4Cd5 zzE9WX_K1HpAbjzR5w;PAHI(o)HdE`lh>gK} z`Fk_qfwlsOp3w=P!DR*_Zt6xB8a;o;hs`~f0lrM-Y46^?>IxFMeVzc(eSQ6^i>6p} z%u4W(4gBr`Jk1sh;6h^!YR`RV)jY$2HShflsvq{&Auz|07HhjPR9pqk~wuiS>feF%)2o zAuf;H0QldB2J?#^aog?~49sbd`&vKQ{ui&nulfxDj>~O3rhn0R{l7^6yf^&VUiio- z0RGh}Az8dWds1SJVa5ta#heZdX-BBIL*CHJzd)0@7N! zcx7y2U9sn_neoggZe5ugil-!cM7iP8Nlm3ZYY28Ps+)}Pd+ybbZI-|{-yM&4b&|{A z>bRRns($mkKD8<_al2mkT&^iFLGAhiJO+Sc7n1qzx9X$n!C(MyYk%@!^VJ)4^=++a zGK~jK_;K@~xI#0ys5eDx#GW;pg|NPv=$EHYRFa%Tao`(%t55`dHJ1NjY_-oGo!I4& z+9a&Q&RRq{Tc>qJBfsMCEI(cU&fmS4zs&#k@jJi%>hbHJef4<8Pv)aRIpLY-RM*3s zBxgeMaC~h#z?iC1DQp15A)n)!Yo(Ull*mnh58p}N+z8+^ns2=M^6~Yry>)!;x8FS8 z&JBvc_|A{=D*^mnfG6(8A%!SIimeLNIE`i3QCHlm3X~flwDoVVz|jY`b^?3MZO#)f z%kXABhjqATZg{yow@n--)*sn6m5r^r@Oc;w2q-97hm)~xu*+1STsqHqUW{g)Jy!XY zP(NaeyFVpqKIaek_Kg?IfPa{R zC_cP#x=zH5-iYM8Jfmu+&hW9`+rtR=+RP8vYDtvq0Wi&+5DtgNM;o;&f&ifo2(zg* zqs3svsg71$P2?U|+-TfZu5LB6>2x8ZkxJ&cj=#rJk1s=#z*-6R0+4WSLXkKCeI3@O z{kA675&-dO{h#biGlv_q0`bmpVpwI0n#jO92iLG$;Ku4}M1S=Jbla|3^A)qnd47;B z8;*3#*g!qtyAsNXZO^;=x^IZb9fXtST&I!j8*RYS&iYruEe1dW~fo87mr?tD;4Yr(A;CJ_w#cDI;1rj{ZLPdvQ) zoCOQ>((G!be@I`3%|)JA)S1YxxrVWw>M)j@ys%JMM(l^4Kbv!0qYv0bHs0tF<-vM> z0sz*Z*9g2n!0&v=_nz^`wOIw-_wgP7arQgrmva2ed;{QlJN2>cKHo9@i^l7}_xnbF z`{()Ywik}y_}o`=0{|5ROScys%$x~$*xXLXQ?#zc_JnV&7c|dO$P5IQ#);l@%N!Z{ zoMDn?>Q5K?9&Tg6ZX`B-pOqY|XLFk!EumVktZ2Z39Z4nj;=~0?9_{t8<cgj6ojN$^^!FBxe8qKK{07zm1KJW4&VF?r*yCgXH$#}1Z@cUbial=k!{8pQ z0d6>MoIZ&ty>?uik$!WU`9c24y;9D;M;!S3@vtxU;O|d_;m#v8rVqZkn!h5#6{k2h zX>L0-*nKwhfsB&Dr`z*oqTA)Yb)N^jUkT!WuD^3UIlleCh7 z7sZ=Ic;6CC@z1{T z+2ghRO2B{q=HDGZ{7G~@eUe`ZaJ4O{pISi}t;E&BeyP3lA~5Z~J%z=!`>RD33tNw! ziD~dfH2fIMlxxs=?Gi;MT9l}nS!|B6*Q;NV@vRB(esTs|#CW_s1jumN0|YnJ>Sr8d zcK=)hTk9UHx)U%d#A-V?Jtm8&KK3l!Z5f&KdV_c?D`92kxHf8DwePWypD!CA8hX|q z{9Ze-7Xf}^nmn_9k)s%{&G6(YF$Vay-G*f$7molqW{Ne)bDB7gkBt*Kbc{XDhJ*hP zKP5Icxcd#4*%K$1wXLw}<#*iL0h_yp#goAXh9CUM!DFjd#H@#~nV+D>HrOfxUp$}z z#usR1Tq-za*Q{WAbiGcL-UP`-{h~K=8Ei-m*h$lP^wucKqqT25Jt;Wa4cln{H zHb(GA3lC>kA{EXWm>2)diR-XYQ&JF$k!k-&dnOMW5oVFJc_H)YSsTY{#-oO8Oq*Zv ztHl77gOgL z&sLDvU(IYt*vi;mylCmX(1+(oWo8@abv>_!Uhi~mnNE}vJT>l>L;cuJjSP0SH8y5T zLyzY@(2y=~*P@!hb~j$HsW@JiyX(xYsI@Gfcr#48YFS03Jogbeq4n;*0Q0yFB5=NF zoX1^XX5R20;?i<01)E6IH1g7M@vKeR!i{R4y+Ar+)dL`a+^T4_WnkuOiQod4hij>h zh6gH#eJ8i$;QTKDkpGuFV7lXF9^3lX_WxH;>5tpzSj;O3v)0JwJ9?qK>Cjn}_D zSCAcV|JcU-v2C#r`rr84zxY4ASms4)&;9G<1K7qXc{OItiQAvlaL#bf&h?}IE5s2` zz?@kpStg$7@L={N7g3BxLr>n$1b4{AA)|?U#6eBH$k8LPbtK;koygWvFT^N8Q|}hGVr^3LJUR`a*R$#-?5GtcMDM8Q9j+YA-HB;LPLx)0YWzA1&t8 zdFm(%?!6h{TE=|eAD3<`Y#l5qIi*P5%nWWe&F7{ow(jNQg&$${Zg@W(Att);@f<>C zT4N_4vG~&C6=BYOVTi5!gc^+s7!Gw4>#0(l3CvM4_@py-945(_Hn}>P{FvoWKK$ad zImsCE7Hx2FQztR$Yqu+ZO=D<`j^OR%@0v8(P()hh`F0)*+)r{m|K$Cbk8gedZT~3X zH@^J(k$V7YGe1M}HPk*cxlGrIcraVj=EO|{t8BDoK9u#XKgJK=&A#@N0IC1k2ghfA z?d9X2{*%uhzxml$j&J_ucaLxX;N7fYZUVfL%h?nnuL&R+G6gp&`8X(gTsl((^|>Y` zm^EYV%i-E*+_i*c+7=$5P|RzKg`qLC2>s*)7=RFtpII>C>uek_8@{=zu%`6tP7uex zFNnuiEs)PLILMJj-pNCHWvMs(Wq}otK3rggz@0hXZREkwYfBh-<6s&VHC(w;u; zUc-eCColoR9H05)&{v8Rz;sQO1j$$kh|%;$V3)<1u0-ePFn-t?N^Ghfx(EAlcplUh zoNKc_a+*KZ>6w$KE1Uo)O;CFkdK`-#4H;7htz5-1$Gq!A-&Q4c7EvU29%;QO$>%g1 z;{)%035s#8$)9s)MH29w=6c;QAgh={R1~MW%|R-xtW~zG`|!X~)tAlnfjf`0 zu|N~on98MIntTpB*S2<)B&e9lb3I||TRe5ZP<vvtC#v&c=mNeRnWS4N<9 zZ4F~-2ZQk=IFsgxJNC0K51eWNZdI)Ptc5tAU>YO2BExrT>2ozQ4Wl;lk%)#dwhNzW zY+jqijt4j-bn!EkK@2W*rWZgA{%j}ajn9AOfBDJx|Ki_hZYbd&_ke|V_wW4PKOQsx zr2T>`@W~B;YoRz^J$9#m(HI}EqBiDv{qy|TUijc&0D2(^qog@`I8l2#HBGKtX`B}! z!=L$HWQ@fjrYLM{FHhZN$QS}+#yj{E3%_6RoKQ)a=7Yi2P}fJc<(I@fDY%9MENfq!QN!?k%X&qP-r@MSYL_|AI)EF<-E@r$iH zXWqOgcoOoawzZZIGZJX40W2I{joOP?ESbrXe~*W50+vG_yt9^>^JLN2Hy8G-h0sfY zG(CoNRGUveM071=nKv8zh8Z7Eq&C)o0Ti`lkkLFVsEsvJ`w7T=*3a1D!Jhg`*~*kN z3E&wn)1Wus+5*{M1?f*WVz4zvO^*eFCzww$rZb>}L4ipPMR}S(wKGt*H<9uF=JQSK6 zfA8(onDDBfz@1~{lK}Y-0ngsczY2W+-Q(5#w}P+#(PxkU@vFaf{Pkb|-SOw&{9zzZ z^D6;)-TDSm%CxZ*j+F1?G*-z}K+Z4!^L zSkT1rgEa{B*yfnp=~&%=8E?N_5bQZY?p;U187GDPdHgD{vVm|YuIE?OY2n2z0c?Wm8(Vt{?*lU_;c zm-@_hJ}1@QJW!p97@hczb!+Ds>X8G;G8;VcXeK7SImR4ktJFE}nrF0vo%00D8Jo$j zo6$JpEuTjv1}&y{zx6uBMOCCR!p!d`wz4#ut?`A8uUXtuhsS5@o&^uCZTp8a_7D3p z?F5Xbm{z^74FFK<18qI0tFp*Lt6G?!yBD^rb46&e(g+F-GsLw|<#pjy2cXYwsNk zpJ1rNT#I75&aiNgmG`cX0&j4sBNk*mKje1Bs5E-;g2r~o)E$=Uk?xsj>@&kYx*qU1 z`0QEug4(?s3^@QDfArQn!eUz&)V*Bbf<)sUGTvz;U=9ybewdUuLqb*`MXE7z_-4KeXX_s%!J`agpD6s-mr^?}K=<7a8m-`hA>^l{@m z{!iTa#Tx)U<-0iU{l|@WcSC=FtbBWP_wgP3v19%NfEOt@8M(lGCk{tg%*DopxuQt9 z4IV&cQTD>D*lQdKayEf{{lJw1;Rx#=fA|O%N73Ew@wdtCO+e!jD3!6pdGk9&^1}C& z{|lp`z!{fG|H1e*8=fc*O-fUqShuO#c!3%CYSV|$;7(D&)`d7nzPTDuAfS3WGfv|B z&M+ElL|yOP&Z$ssFFr-FSx=pB4T}$BitY>8;Z+}#>&cjLSda}DjLs(x*MJye%aeGJ z@~7kf(zg+PT2<|%f(OJSPQFiCJc;BR#RTIsi@N*K;Ls;z~F1)Uv)>Yp%y|P9nUZ0UH;MExHY=*F}RwPr&8{V)lZ@ zMAh&KraTUf`{F(Ih4u3@_|6xx`36pGjA?kLBoiMIoQVfP+*=oJI-8p}twuyl8&vm@ z4H79i@z4kTaQT7(F|kGF^9^b^BWrFEjBF%*ZkzDr2QYJn`pz6zrMkr*q5LO|der2~ zaXld~k!w#vzz)=9*4z>RW8*fTav~ykY86iayx~9V71=qC+Wiw;zO4%cX@sFK#{R#y z=7bK`#oys?y(jYZ)&J2ByE zoLBznJa^LMaBB^hkmhtQ$L30=MgVZI(*k5{AKoW>T_ojMpl{GQ2>D zg?WzIXoeK_aDb zmCZGFEW5XuVaMWCf@#Te|F?3!@8R)A-r>Ss2Jcje7d_36LBT<|K z`>vc+VO?u1du3u6;%jX27h|A(VbB}H%#`sWihEad8#5;LHCtlHYOg~r)g$Ewf)}v_ zC08mFF*l#vPOL1lpCiG~@ViOEksF{VxrxHQR%ImPM%MYM*Dtx}DVm!nzQ@+^@UvV{ z@}OGC^36H5cA2c%4%QB!I!_4plC&eR%=<*om_?g9$gL)aiCmJ#+I%;ojdA@@%ld$R zU;M+3)G{wW=MY6&tVsytxEv{69?V_YgC}cV{C5pJJa6}0i2Zug2H%q5u8k)$z9J^4 z{)9o7m5EAF>cN2?Q;gDlY>%=+)y7zWw3x?RVZg{=;AR z%<*Hd=M044Wms6~;e_vOxV;JL@ziF3gf{)erbsEV-8c!Z-$JzAKM=fV71@5RGq^x(!$w!v!zKl<@k zUtB%0jl3_o%kPV$$Q%DK#+a*%JbO;7$CgItzU63~jRL1R>mC3*bK0F)Q9W4u!(iRXTESxJi+N( z&f%sT`;63^Cu@4}XWl?3=5{sSy`uK@3dSZzcb2=G1A3M+Us%Fwi@!sOdH#}1;IdbSV!hOeZ(?i3#a}Q2j zs^YqDDzOvd0g4=_XhBPjY`K8Y7K_y*J~qqYN$^F;Kl0xJ&@KlE_JOQ~SC8!8&~Ny6`41casQ4eo_3w=C#Tx)UReSR9{j+1{ zANSbp>)HN}NB4=3{GQC;XL)mddyz4)^^)r*(e=${!9xh5gxBAlZ=i}I>z2{kQ1v3s z1beR|E?kBl7{i4C{)|sY%z-7I@d<_@8*#_o1dw&Z=cjz&!y4O;xxv#*=Jf$96Wl6G z?`8rijh!3?mLbaC*|zb`6#avy3BLRACtd`?Lw{zY-_1c?NQi|71>3LV*fhTJv%JQ& zb!m3X55pBz0!mVBX&$(m~>7y929Ic7`G}goZ(UrC5H~P{6!=G1U2~OyLAe zjKmJ0n*!iR`MvrN@^b%ozWz>r;{L($mwxHZ<8?r~7`)?{O+VdW2xK1Vw&|Bibd0Bb zIyMpmDH=Vfcxx>wQx?Hf{!0KYp9Fa6!}pF~{41Y7{?1?d^6}69#n+C1^iRKWy!7~U z`2&Ic@dB({TOH{PpTo>g77d#7%di38*VJ|18!P(;4J=wyV5Xcs(r z$Jw4AwZ?<*%B=(JsYP$TKv5zp(S`}vgKroN_oyCr0h%vdJk%zRK{4ki(cV};fpB%r zjZ9Ch9NfI|0ujFE(lZpIb0Hu}gFNN0e*{-6XK-MKE64&O^TrchoUoPS%NB^JoH|zl zg;=F^tp0>Ywt4qWf#C_DZ!VB$#u39yJmhxe1Re|^>L0Heaz3@eNdK`AgA@oLRGrhq z4d(ty1V26t23ri$JWHAPr{nQBdbN%V#RpMrO#09s7TB<;|8sulLP)FIK4%7Q%wyU- z<0Esu#s0w!`Nk8Pm&px(<}&`H=c}=ld+W5(6Qd^hc0AXkKfMkrzPEl%$jCWk`El7X zy`d9VM&`ok)ORuUMOL2ob2@!~nHahzv@G|z_lIP8SOU@zH{OPS-(>ITEt z*_?Qe7M8G^}oANY$tosV4~^--Rc z0SQ?DR}A&MaU^_+su5W87_Q)nNxeFa%avpC z*wpq?>}dS%ROg*wOQSxF%QgOpauw5Jo!RDl<70JL0t3EX?e&zrA&`#b}P+xhk%Ctv+@`!_%T<-gAb=_NEfg>%qIxwyu1 zF1O5awO52daSBUz&arub&qaE1j;-(b_WDB7C+m3Ex0kjVmnR6mCn()z9#*f=edpX* z07mMj#FIRjxWRUNZW5%b!Rb>|WKej(DdV(pYJ9v&V58@y2)N4ZDptpnhc~@b6IFl` z3}5{zN}lXaKFkOhLC-~1Gmff!xFoxLB_5t|yn)lsgsZ#p6urE2E)xggw6?K})&2x> z*b`;j#lQIBh&{C>uEv5snQfhLkaiyHu%weYTE6Vl)mJ1Mot7!*j9HIv{!=+^R)<~3 z`veR1h!X4Md1gi^oDIDT)Q-AF#=F{W@f88g@`unH=q0WqN}deodhx|5D|OFXMy?4+ zG7ROTmy5+mYu3E+ea4S+{W#Pa0Apz!fYO2^J~BG%pqxYgC{;A#yZ`_|07*naRA7Fu z{(DazAHVta?;c-x^*DYte~JH5eih(p!r+M)zo#qQAfQd%Or{cZ0J0eE#-=66WMUK- zXlv&{d(2rkEc=i034r5+o{J~%zJI*_Gmnq|_V4`i@x{kaj(_lf{`T>$@4a%o`k6Q7 zfG<{<8?SNCWY_9dKaj<;PI+;>wP_Grt0pTta9_xs#i*aP17oCIdvgvqH&~2kZRLsu zH}jEs4O`EkG6(DB(h!Xe(=|7(98mMvYZSW+6#gh#Q?y-67B+Kj@l}^%n6OrjJ7aXL zR=;9khILXmXF&CZaMb!^H-sdg<(Rm@RYn~9i6zeWM5J&0ag)b7rZKNW#=W`RUukKq zs12}ab688x<>(PL!t`NH{o%&e$2m4^k=SBGUY84nDAM{9`i>W)Lpi(VB41ze!MAZt zUvAz^8v8hM9F&lO@A@TH&dbT8-6GM!vvWN)_Q)ROIqV?Cr{L#U55?;!q+J^X(~5|l zF@}BK0gat7O*z-=7b#;Zy7?4Y8)EMbe{mLKY`~RgbP9Sfe)M_3eeNO1&hd z9wtWA#N42%J?E5|c@vD*_?=KgWjV}%&YT1XJ9A-T#>TvhRT4jIN4=I=dyRYWxfH)# zJ89^N-!+2aw5`E4uP>RC&x8FuX4DBDDL5ql^+_84aSR<4TV zZ-|xa6GX!D&AQTalu@kXISh~M4aD%v<7pg!88?<|-<4BB(CBCVIfg4n;ZH_62fIeM zR$N<_LJT$E^&{JK@jD?(-ef|FH4uKW)#}@@cW+@;3nfKAQn6nu`b_8v-N7HWZPq z#JxB&E5YLKmJSsKh2Gv=Gc{-gJf zzw|eL>iDZ)`TX(EfAjZ`-~PtC$E&Zs?jJV9-RX-|V^7E#%>(_MW5nTXjT!B^)p35|_{Iu1*h!8z5xkksH5oZlwG$9F;OoEV49=B%&V$*X)St0qA0p%Hu-xG?(&23w z!|Mh?{s6#0KfmSIhp(#i*uZAEaWbu!_T}ykJw%PY`wTXGo{E?DkIbpQYRNGz1n5D5 z@3jjqb;_6WD9|;~de^V!L9u>CBF&B6+$`2sORUqPpE^-TInpD#P>iqy3MP+@32haR!r~Tl2ePU7H81x2reYI~;8&7)q!@K9L(ZFJix`oTQmp@YXZNi-k zenJCBBR=wRiksAa&m%6jj`Bx;+D#nTs$1Xbp@i=qoBl^v4cy=+UxG=aE*Ss7bB&zH zCnjU&I@&jmV2v)e^kt{dEH*5Q=8B{kt|R#R0!iYDyBMr#eI6iB>RTS`fJq+6@}29l z^;d`w^N=Ek0H zqdkZd1LNq;XIX^Za=dX@ucbO|aNqTX6|pJFVStP#W+aX?&p-r2 zKT@a&gkjfwF}w*hwjv_O55IP?H#o5Q6Pk$tgDW20%>jAxdimAko9}#d{MOgLef;IG zym@@#vw5dIiLzm@FKTqQ8N%t113{!e=L04u8o4eEtnwa|FHRl!_UOzxcW1Z~gjD9q+yK&hgKG?_0+QPxBuF9>1a=1HsWe#)Z1|VJsV0 zG;DpYBg_J-s%MW0lBUO`dXD`GNB_NI*IV|r#LW(%fs5tB!)1PT(6xf+;DEZOu*D<6 zMrf}LX&SZTqMc-h5(`E32E{otznoF+eZl4kNUR~4o;g2Vr}ilP)Pp^98dZ8?yzpr^ zQYf$?4>|1+)-Sfch>wWKbQwP|IuDYz_VR(vfU!6DVA-$k7V4-I@!$oUA%ZNEcIzem zgbo%RadppVG}!RfpF&9+m3db5{ak8JFvfkP7fM|IR=V5AEE`GA54s zR;QniRvSHxWrfEXIb`7ejVxpS{(x&XV=y4CFXuABP4?9#nBDtzcOHn62e$jdE%w_W zF1g$~R!~6I9Me)f@*^%Fd|HHg&$%P#)+Kr*SL?W`*QV-l=6s%eA$ECio@nBC%v@=6 z)lTr*P?3Nm+x4|?)L_?&(T{()^jGa-r(EH{q8?lKj;klA26pNUcDZBeoLI42>^P-M z>-p~Z#Kb3S%HTZa3eq(kD=#1Ou4%K9$Qnd#T;uwR1xWt$h;O6?B#tXIR#FnbG&xkJ zM`c$|VES?T*(b&XdE=@79TT>3fvY3Wd40f3j+;v`!*ASUYlaycAF}0PgLu$5YXQ)v zyHCm~L45)XsWwx$a$_7R(2TBJh*Qb*#T47!uHzWSxF4(E+HH?bV<0xi2J1-}oeI=x z&*CGRSZmw*ogdG~0{(o{rc{o@l%8Y0eC|*@F^nAu%yZyt5S~M25w#|~d6#`4=b&pg z$T)LP#9mYw91jZ<$C)!=oSxxzb5x912g>s@ z*$X{_$oXnx&S>YuHxejlXAF*&XmME)12}YC^lX&K&H%>6HDCPpSYqTn1H%_ClQ94( zz8RptHuH>0xQ>AukTtE)d2JZtY+YVCgbv%~Ss!>r!ONxx_W5h| zaD%`1thRlQku$br0CyehoLL&#kt3trVBm*3qart+=m}P1h1D^n2`og++D}aNS12Ub z;^fC3g2oS*p2-Q5;V5E5Am8Hle24{4LrL6eTX$a=!Rb#?Qj0YpR!pMX^i*Ak;R%KU zzWn(3{rrExx8M2h@z;LsbH`_bv#t>G(?;y%l;F%kk{pn#$zlDi4u!f^Q1&y>qR^YW zz)Qv_>ivDh{7S%w-{+&_A$jkExu7i?qe`1r34BDlw2$nQw-R~r)=`VCkpmRS3{Gk3Z!VW_FQ;EBUySU@LLDsSP^@H>keZWqyFL zqBg+mze3`^HMr6^XJEtR+&CGHkM(u>hC5$)(Mo&#RaR-$;GE-Y`6796{sX1eoEVGU zIQk|Np2$b&Gn3{i$M}1YcND&{G#BuO0v|-Z!7s6PMjTZ{#!#T>I==kzPA}K-##qM5 zS@s)NWynmg82GWp1=|5Vb>N&7j-+jK-}?^HazV*gu)sqE2Mn#l<*R^Tr3X|$7%UcV z=H0=pEiB;)p6_bn2JF%w(2!0mHg*9Tw6QP~X*C591B5qMpBJT!(AhjdMhk z!I^X8xyM#Sec@-;aDxjAJ~7W((|CPUW~%GHX!Aj2F6{fds2}CwbbT_3c(RoWo8C9M zO7z`OK;0VgFg3W!d)5-4Q{pYRn6gI`A%;U&-?c~4d->J?kZ&AEZVvd;K+nP6@`z$6 zLI3Oi4S+gmqy)F~E6^QX{kp#-9X(I}JlV5$f2`&&-T=53!=C(m&-i)s?7YfXzx~R$ zU-_r*eFGrmTr3#1-8Q&LFZt@P3vVwyEL1d%a=*9N~8f>}IgJYz(#C zKGO_+F+;wY2oZw~)>qqnkudfNn4bChm5E%f$=ya2J{p7^aIKfiZO_-@z>G<4*I;dp zVWXH>a`VfLG=I(Cq~gW(CqoIY*iO$faz3BD{MzwbfB4_oSQuQQ)9!o(Pu?*p6F-|SBrNioTP2Y89U4e((;4e;TI$Lo2Q z;#Ys=$B$qB(i_KH-+24@y+3;Qc=FQYe4-%_zF3ERc>~mO>6K>K^@@yJ9*$Ril2n70 zLtRGOitF4m^bkbrOfm2>->x^kEv?A0Pwl~NV>omXI~x_oeCLoMd>j|wQI7)kRR#!q z^ElkG!Wvr|W18no=gy)pf*0qz0>sPT7S{niSx);H=^7LB=wE*C!qu zPYsaw`Gqx!Y&fPbhhh)X4Xy%SVC1|Y3s`=S>t{Uk!WLf~vj>{0_*k4VZk_8--yKdd z#|f_3qp|w|5STX9S_ErT&~wHcL&Uwl1sWUim4mfVlg`Jyq-B=&K?vHOE4F^e{R9(P z1mk0UStZ+>PF+aCa-*J(YZZsz(gT@xc?8$3f+l?hazVq<;Gy}gf-{vrf ziMlaK08iG-)3GtTi+`A*IrtLDW$#kesZ9HZTQTSdL-1i5+2h10YYVMb1`8o|?w zqM)SWa##-b3WVbURQZtQVYBDFAsiXA0DRoW)w0g}!w|@@Bj0VzB!_GGyl%p`_h`#w zFoNJIytRuag7f@iKy3!4kCL2LjkP#c=1x6hWiH{Hy?x_CUN1wVA+9Fy5j&IPCI{np zqajusxQTNTnArUl0R9Ld(0`Q&^y_Brk=@(s@3I%;kEy_mHvnA1R%cf>{SOg3a zxw+eMtvN=5d5K0mvIeHAFH-88K;(I#m+FlD%A=I}7z^AXoW-?@S?s(?e`pk$N<8^n&5qCn?B{;5>-A#YZ&SBO^+mIAZVGtL8kfaA`2H;137N zu|AQ;Qtp9>4HSN9R?F;aNRbqSeDbPe6_X}P<2=`H6zJBLzB30s?D`4tvXdszTG$f^ z*pXf9*D6h}^(XNIr?Ins5uTI`HkYV1>JiP$`9nI7F}M8s66*jAv!j)x==9H%3<<-yRr@muv0T8GJ} zuf7XdR)4+-Prh0$sH)XJw)(@#ts#p=RY3yYBp9ORkjL|UA+>bsYrfYcG}pBZ33IrX zY0isIRaXxLEOCLo#RJNEG4Q!IgsYcZh4wpIuKFdYi(d@(2F9#9Y_t>0sPX7)6$r;S zF`Da*>&#tSpfPm)66nlty}xP_uU03y^~FMc*C0pYiO3Lcwg_CqP&+PAuH;tV<5x1M zsBQU1ByX|0!d;qYLJmKLRZ)&afjzl998p)GzDGRJGY;U`;eT!Qo4l1_$6(rWAz3`C z`d;T%*1JlRP#dmXo>z+y&dVNV*~J)(m@|9v5*E>_Y>Z$tK4U{3S-x%TP0NlxjInZvN#ZTIxr?ezlxpyH#O>Rq>EbenrkU~YVL_%@wcQ(_8CefGH`K=zS* z)0U4aw>HC3wR$}4rxByACSWL-DH-Q`PL>}>>T@9e<}%L9bYl^zsR;6@b!3rTCo{BQ z(b8`$b8aRua(m~Szx}WJ1_05)WGK(+(QjMK&bMzuJ8SbZYGnki=L{=cfLcqOrbDxH7snI^lO)VZ=o!ggp)x?(kZJ40v)>UyvS)pjJ+YoAK#QA2n>e z0Y!h2oYzt0u6^}D!j5d8AV0E6_|Gge)3DN9l!FG&mNzB{Pg(4uYc$GR(>Vmqx@|HehSk1)$eljriQrk zeRFWH^~TgNT0`?N7p{ZI1SP7hPfCew?ZCFtPyWbm;`NPK52&>R4}X8^!dntkpY|ukmOhQRCp8oGt6PraCfi zodhtFLZzBd7e&&W-AgCQ~qxJH$ej2*iHUl6Jr zb&0OXIeTC#x#TtN^U6SiOJflspvz&oJ3x-2o<#@^jtThb7l8z?JUYH&So9^)xCh+? z5q}$l96H#1!g&expz&#os1YG=y+t%qRCy4`!svHgP4N$p0mZLa6|wjEp(wA*5|02T z8b`f3^DrcyP1ooZ%UXF&mms1H^4OZqwA`hykHO<@dGJ?!?2W%V>QcfvYfGA5opwVw zV<6AAJy)wDZsOcE*ifPcFc0*#tAHbI*H33x9L8PYE~=e*U18@Zel`cS%Q`04^we%W z8yMnyjW2`NqiAazRckRaYQ`5ru2pypdhSQmNnhXKORz-4M+AINtrd5!r;}{XQ}}Fw^;}+ao?*{A-{LwA z7{o4b0Q^rG!Stg%u)gDWe(xD?yG6R9rhm>}46MM5Hvq0H!RsSc=~eJhzA}oo3n>agR%hQz32x2Gy9 zXlfwhx=)ZBTjrBntpfr#Ogr8!*Sd-yf6zdXDH0lL?9V!l#@wUS{6sS2o#o+CzD${b zmm5Ao099OdUHmeGO~m5R8I8>Haj3X5^@y5fKWf~H4j_Ci>FUcyED`OK-vUqK@v$MH zR}|hYjH1R4=Qi{^TXW`&)n%~f0~=*>4%hPIZ^r;9wmxYu2R8AiY3)ItYx|4@7`S5b zPn7*CGx723?CVl2WNB9OqOTD786(!%f_!?s^7!%bN8kPE_`|opcl^bldHwjw&t>Zl zH*2BD`hgOET_YJY_b72^ak8;gA930Po(6K0&JY7zS&2bI>X6|}d@3hz0zAzp0iHa4 za(w>tkB?va`Oh3*`mvXfx4->v{-(hP{(-<(_yd9Qu|A=6EI+a4JDk+LwN-@hJQp3; zu-L9x@+TV4hN|(!A?|n z(j0~@BG2paVe^B3iJj|`wq)@We|KNf2Vp<4XmT^Nl2Bkf#`vbujYu!f0g1;XHmskt zuEWtG$Pj40#oIGZ!_F2{BHr@?iELgAV;|_as10~82rAZ4P{1SYuC=?vu>=hls$$17 z6PAX)%LGzEYYKONvg=R3*B+)C)x-L{2doSnz+R69&vEU?mMOWk(HCIN7CYJ>-o+O4 zp)%hQTw**io9jVr>YG@5jxOYbltOlfBJnw!kkAjuNg??}aF3kYGN&I5T`0?X9XHms z?tF0{Xbu{0R+C%(0JHAHpAe0n-D^>I56=QywyH|;aS z^0CS%g6auXzf8NH5%{(I=mE`f&TeCkeY1_e1K+@rRK5s@|H`-g$afvUu6cZdvks#i z+LJ%Zj2n^bg2--M8)w9A@G(kny@znmfdLM5V8!QHsMgx<`Dx7?KfW*j_yW%p+%PlU zBmhp^I(9mMAzBmm!)iElv^l0jE*!DR^!|_gz+Q6$-whax*iAJw!So8Lu`?epeG}k( zeybFlHs&LPdWj;s*7ZV*>nUwUXf~Fjf)UoU>X1X=`7Zz;_X&WSKL3cL`vcVF{NZ?Y zx@GdBeS8I8ya8~o{JjF~SvlaOVMmJ(YpXatTyl~cLnnQJTX^gUp0Pq%@{o4%U| zBp^4&GDBzV;DCtnF!sBdV_vx|0W&Lp#;^}$^JxqsYaIjq83#C^K#BVa@3X^3 z0EUm7iIYN^^YX58yvSqx;qYDa2QXqaH^_48FBX z&(L!>9CT~02+R-on%rXj4ExEl2prT$Rg7utvul%T0lbnuc{kpg5ljhZzAw(R$c?3M zfQ=WS<@7ziEs(t)FFvv5&_xc$p#Ppt&j)_z=JTWjiAx_H?>Ve&f}QlNZ^pHc(QfR* zQknTxH0Vm|;GFe*7@cZE#F50cqQbQE+@arq)%1X7<#Q6{!AA;N(nRxs&%hd zP1ncdT)y#{uF><$790Hn*D(EaMDzoT2t)JZ2EZvV2}?wV4voJ5jfhj zeWfpspSl7s-T>&5r(oyWp7HbM$o{Q9-u(Q}{XH(OZUDP6Wga1N-FJ|2);|~gMuc{C z+tRoVl?u&ZCyaR;@6~R^TL=7;97{m~(Sw|BjekP8-}0lr66{ zKv1E_80{BuTNFhw%V;TcUb|tVg-=yY7*DwrZ~(?52Rnv49;`1M!gV)=msqz>#ur&J zm4n#^ZhdRF>u&&sQUMxl&(wmvR7Gd~fFYZxCLSQjuTL%vBe5}57dtsBG&XpI63Nsp zbMu2Uvi`Jga;r!UoV7`xCuw5hi!35gH$Xe(5sMkfuE|mvNPSx;=F1hkbBc^cOdUC! z92Y=*0Cl8Y+>EJ-$7&hRV>}H$v()F_+#|HDv_CB`7e`vu9np(Lo^#$%29U_e zM?6OdW7uhrk}UJ7FfaMay}$o?p4V9HDY#$df!pi?l%E_T z5MFiP=*oC+4)=PJD{FRp__iio5%YZ`yJY8iygQ4U)>AZ-O*(RODTO#V_8iHFE+8!L z@iSYR)q(O$V0a)Od&%*KAPq=IPCbCP4yVYBi;T0i)evL-jL*}?$h6TthiS&cI3oP4 zhCEIfI*64O!ST%17>DrQ4S}|GQSC|G={>(jekZw&v19K_Bh9W4r>$#;jdd_ZZjD=i z^L#e8nU{U7PQr0Q*BasfEY=PtwxX{3wU#gwKiX;I4AM`5c$E>ylnViPe zs03#`p4qboEnrb&xA76kjxAFr%*)L&`Vnj_m&L{05i#8CnKEAoCwvsA=T(fakOXnI zjpx3;h~)uF1L{_E?K3`!GMHRzH>?rM1nx@of!P_zRAwo$bB#=boflmUKBz%w_x@kw zZva4A;*an3`{MBFEAZkCfa_AZ)^}yknDpC{lcI5dvjggE+DQ^ zHh4}f7ke(bd9vVIkeH2uf!B8i!F#oIIJUL#1t}20*;bC_`4g3p5|28#^7Y_?$EQti z#jR+1Y&RCivB9hnRCm%~qjDwXJrjtyo8489z47-AYRuP^!CB16xmg%db8SAjM1h&P zPhh{8rJ6Hi9v*!k4y)UVO-N}hw?qa(I_7ja{Tav)1*8a)w4!eP(FP2kWMI&y>r z{!IYR9Wy))RVaBjCw^;VwHr$@iCXT)QFlSYpNBamUTo1_`Z@)M40cU20n2!AIMp#- zq`X{O)57lyml8z?NiV&%ku(~4VG>&dW7Gyf%^CDoCu{{rf>QS4GG3XZs+Gb#t34yy zdZ~uFObtOSlJgvaPhoN0->Fs$5dr0|>A!ru_w?1{ck(8{PrUx*_|>0&{djdK?QU>} zw9P}`rx5%o;=Cl4v?OjWn>M;U%Ki#-(Xs&XgKX>9_$Sl z6NddGbp`Z{OsF>}?hm2q8)f*3;U>t8DdHS?A*A_Mp%)~6iIGO3r=(QPv^9jfpA}D9$;nA3F5 zv47_QL%0&7H|AU!2qNDCWLN>+@Y6XAFt{CVJ(LXevfi^=+t#um#@0QK@Aa<*!C-SE z%#f#ww$*2rVR;+z$t(Zj;Q`o=L4RH979XmO>DFUnZVYI*kg%RgsA?PqHYfB~JL3$b zE2X-)vj!(JMn-m*XRLjCNSDhRjs0XO(Tw{%4Fl7>_%{k9tg5B$8xpCT% z@NW`PH5SbQMqJ&^Px$yE2CtQx)`X+EGKl@GAAKWwmVYD@q6mXZV5Ht_aU9rj;DI(R z!>y4VIe35ENijfoJsWu$P-?55eCo6GvmT?fCi2y1k6J?v3zHrtbn4+>@oxZZl5jAl z-DNvh@#665E5L2jAGda`$1AhD>^{B_Klyh5^T*M1`=7Q|T6^stMwXtC_Mdk*Z@tuA*-B4COo7#hP-5`*hfdIF?JY~5e^Y&b> z_0ugiGXx_XN@GLsZ)fFBd~JLJ9v^qCWdP)${r>9mUB-AS(ENvs?iR*Kmy9W6YPhNl zc6>#5%JLi11)c`=dz(f-Sxs%-i~~4n^$1NOPO>>;;lF7aZxJ3?m0DylXYHU$lPf~> z+%Wh*q2lmc28YeWnGx}9 zF8abJ^xl*WCr^5O`v^XNsIEU1j%P#Hjr>B~0cb&O4fx|r`jdlk^-kep zdT+)ShE*i4zJTDxX8tdIK3@Om@vF!0z5ip!|MI`Td;D+z?0d(NPXVxz^T~VCsP9Q= zx%UZw#W@dfX#^(2bGe+klgTvn8SebVjsP7MS-mHYq7oQy0=)C#@%|sadwf6t((rRH zegF84|LBe5fB3I|^7wE5<5!L!fAX#4?eD&Gyq1p%yp+FgSZ5HogN zk}GOjhNQ`ybHf+)>DgP5$Wx|2xQJc5xv|Tn>mB|)P;wNbD<@aHU?OiPKj-zMk07pa z7-qJNMA>FdV{>wZoUzxY{`Y#Se9UfmLaG-y84<&JS2vt%yFJ)iVuZ9-MDNGf5v6sl z5^1m2bM2x#3AW}Do-+8ZSQuX_#(b5ZoI6|8Ah$5Vd7g<8+Wbm@(J-FIzwW!YZU^P@ zbS{@R9H={wWUQ_+$)7p#oVnioY|_IVo{4ow!*w?~&(Y|Jb1TDm+xpwwmU-oJy8bt| zzHQPxq8$UcAMh)WME`-YCgOCau5kqN&yjA=k-!D}))icJSEh39A4)AxoOWP(gs|(; z@dg`^UnhU7vFics#$64xm;a3oSIF1t{*XhF9Pm)D)~wOP7#q#-)V8^yz=mt$!Y>9R zIQu}~^H4Op)>(3MDl_Z;}@n#v#PTi?c0pABvNLqa>_zGA7Owc7o!uH*jS=pr>NOS*G7&U=z;w}Bg74O z`yT*(qComjKt0di(VU|2TdE;CUzLF8g8Q)zLpYUKu?*_Gu6eM*jktv z+v70!4q~4cRuW)_i@2oMNPs!)29OEg8(XJ=J?9Bw;;@6#d}ENlKgB2K%+vaRRpHI% ziaxSxGIo*!eGiq1Ab_cpJ$Cp2D-}oodM@=jb>jnF>rYHtXtbY3P=Y*sm?X+16dh|D;H;s|;#{qdf`H(+q_|fsxUwVA}xnF$a_=z`PI==QhZy&$;*1N}# zz46&PF+fQ8RSa6s3jWV^G(ia^ukp!E47u*LkkNz#CZORkOve#%9vJJbw)I*$$GV!Jj9&f$(qR;X3F*e)czs(`_XE@b{6sQ3V_&``zk8&q^nfXoO-05sGd}V(QuAe9VVH(*-9@q9 z7=S>2#^9v>kZwMGn;Qu&Ht?K8%O5+x+wWTMA4H4{B{mu|0Eawh!oKSDx%xqBy3xkS z=T9iigFXX0xjOcZLNwxt8&)O?rdQZd1fokLPEH_w43S>P&cqGe@pBI3)10VTxa8Xo z-5O;O|K_Xkp{_8FU_cSp8uxrS8yR~Eb5~FXU310zhF5URSl$=UZQMX`W5@(5U*a!k zW-aVxuMNJ?odLj5nQZvzz)NdnV7d-awhm<)Ft{-!Ug=kbU(`HuFG8JN^Txb&9FRC7 z?2ASzjXT!Mhn-`dmEcucwKH2eqa0ai_zo7&LGY^y_M zX!fBRU{}!khJE>=Vh%!Y*r)YguC@_v9k6A)h48%b%AVKv zuA%nN)2|HN4}J7k09eCZP+iN;9$cwNdcku|dQnGz-WX!doQsl+lVgDO*Tt~;_e_`KPr>Q5h@w0X8Pa%=vY!zb5Z#S8VIy{>BSzayHOUntf>xV-r$Q8dG^kB8?m z%Q^z00+!gq*ZPf2O?je@J_o)#={SN%ETY&pJaT~-(ljRwMgZLj04R-pZ{Qdfi&jMN zTjwR`C&)xu*TX%&e9|tX1ePf^X?~Ex%BL2v%lPHT#~*zAgX6t--#Pwl{xiUjefH&p z*Q8Z9pT-emUpU6JO!=dO71nQGV@lJnhWY*v()L_veaU zZ_=CM1P{OSvNuxJKP|`6b$|@JY8hX?GlPh8X%fu22Ixg<)f?Q#A{C5K(&#fG>ei(5 z8dlc2#?2bZKXD8N#r0Yn3{`7v^+k>}d$5dy?bpSv4YABREFD}}H!(1que3dB#ROOA z_}lsTgQZ+>FwTKskk1q8^(!13HA=p(FHNwI4W9aeiOZ*_BU7({-BY0%9-JD7#_UvF zU)5)*rwyzgG(-{c2F(9F2@lgIg=vO>Xw#?Ldc8b3qIIt~c>qf>g9Zw$iq$8V>w2${ zaORAjaC{qgg7b}mxL}QK?8b;WvV5QIHr`=iXWe#PAv5SP27Bi11T6#VJWR$}cjp^G zQHisrj3VgwWrwSvP{0KgMr)e6GW0V>2cW0vx>spD#RCDq9ruXTiIZsz`ipHBkU05) zj9vNRi(x0D3rDG+nU65s*ZC^8KI^8s%a8XO=A3=PO_H~B=FJlv#W$hT)`R2O|6QQT zua`lQS1n@BSCr-zE|#cz$%w41=);0iy>$=XT+v}`d{-deLp7LTssD0Kv?WlFr2F9b zJgFv%)EWj%HXa%Ak8K{*gE4w*vj*q{fj!Yko!OU6!Mp*W{u2&ZecS_6S#Lcu+R8h7 zar~hbc<}~6%frg0-TP<9%z1D*?)cw$|7QLRK=>a<;&d)nm0W{tFoC%tB@7~=&GKje zL`XNH2JPmH9gj6C=05Lu^=@Ynw#~*MAwi^#yNJfdpU5vfQhhZZ@iExgyHOSklUNC_ zO=tJrZn$K|C!b$BUVHiJ@$UEDKHho%!{f7W=C6#Ccs_D$17tXj3Jyl{C!RrFn5_p2 z#yBg1bROK)CttJ%M18<=y!o17@pt-yBv8;hc=)2C$UUt-fktFF)BA4lDS*ZIq-E?A zZXyB8*DVEo=1>oCGHSdUFP@3#bsPfAyyvCXKB4eYX89u<{SV|?VtuymaK#9_tP$A^ za)5}D<{Nx%+7ptx!Arq`hHPxSnakX#boIm@b@U7Ec|$4S?0A7*4E7Sr3v8c6d#EtAR#kgqyJoY@(4p zXWls8%}1lXGd{f!GlkOLlKQbfWyWu(502I*=K(8k4oxr<`OhFC*w)y5 z5rR=3tQi_{GdG@z4_`ABLoD~!*dkdw2{TV2FKp^FKC}&CJvJ5?>!aLUdg5=6x2Dv& z4ch?a%GkAN81c&)Dc6AQo|RxPawz4)8X&SPkjgTIPlCpbohMKE>I|m`MHqkt3j;!A zX{(P)N#vt3_hJieK$s4KTC#YqyAfK`4Tgzw(@{%Y|YCzIs!qf*Ub|n38P8R z(DI}Qf~@-T*B@6)=js->GHmmJKzqj1D&HCW_)SbVEH;h5I`nN=%OE#0HO5#DWhcJz z&$E!RtS@kF<wYM@)}(|iKpcRuYW z0GePkd3KDK$?)vg^IdnBJ#V}jJWuy0LiXYffS%@E2=|`x^X4nx-phNi$ex`q?o;)j z$$tUh%JP!;0%gQyG#==uaRIuKITySt@q5)E>`%Ch>4nQhxgpi8b1-SBGAw_#C&jTb zoLc9zjnNqPXl-}>jn>&NA1dyIr)T-_>^UeA3p9VS|3kU9Ms29W2^bDNSQpJJ82hIqef0I)$!UfQ zeO&SDKv}RZGJKFHwHQun`awRi!zTjrcqxC6;b*_{#_?DG{7O_=(+Y28C_>)krl;yiYrg(J-HnAVIV=p04<$1xrr<3?`*EwU6G4RDzX1?I&1Z>-L6tH%iFwp=TEIOd@ zDUV)LSi~m{_(e#~yE-`fhGw6VGfR1l6L9;(F26 zO#K8>&dpg5lWRgff0JA*>@gDKJ7a}ghiF>g&FAEeylZRY>>BF1#mDBwFdS!*CwzT^ zL#G=g;<$cT=7s^0fX+{1WIobm?d&IQDu$36#PdAwN02!+M&^t|WMCU3{{Vp^^KzZmpzxg*UfM?zO5M+QI24YNpL3O+!>^C=&-09D>K@PO z`4%f2leeBi{%_z707waQL)|(3w!03Qk*xAXe^ubc8vw1vE|7cA_<8e{KihLnJS+Q= z=b!Vx0PrGh=vd0R0MAIAcD@&-Y7V(3_F~OMo4z2Oi*hbxbs^kM27Wf_y{3lB81`LP z;!%$449-nhGPk!d;s*gBIw$rF(eDdApZ%E{bFh=AF@cT2KHQ+Y3riVwZgyWjKFD7U zf8%)P_>DjN+VQvl>gSJ_pM3ZD&42m!@vRRY9k0Lk+VKkiB5jg1{@6ia?C~dmV%idK zPGIx_mO&B9I5aM)a^Ra-CD)%nO~J+|Y1x6%;nr z%gZDntSJjTFWO4dxU3!i)ATVl&=5g=NOQ`-g2Sl!<>(g@V9WsYhD2iL_}DmwmL$Xa z#cYTH_SB-a0GF43*$Ar!D!;V%o5Ns2C zDz$H5iNO|>6O#d~9iqJkS61TM?2BT~S8setK%()RalWg^N9Umxr?-`jYjrU?_X(iO zmO6DG!u-Z1osN`el(h^N46|vm_ZpAP8l5UUTy58)Yc*nS&=(-mI)bmA@hw5PcUS~( zTt$Z5N2Jy(H^#iPlDw_s7@5~D1l(#16H9;Bd?w-2|LLqXbLt`ab2@^ewA+}sb{TEW zhYO6l@#K1ETa%=G{i%9#i4wUK8Ek*%7#U-07+hw~6QyJ7Z;!$Yl;iEnDO?ieNy{S+g0DO&%rC3a$TJ(K@@30-@NrcaE3bB|FO z_z>!g1z7piXy@aX%I^AusJ4w=nu%rMa_z*kfo}vJhJkVYgTHKu5&U2oYdUjS#3Q6( z%Q0NcydDONd_j+t+92dDX6*bv5x59A8AY zq7dLd1{{c=2RsVbJE(!d(6(4k-0lrtiwUdN15D>RBivaZ7jfB)3p=*rH2uq?Mj7VY z8eiAQ=DxbFp&?RO+}ad(WSM^>l@^v66v=V-XyVOG zl$I8}qH{Pw7*h`RVeKMfUf%LV45m>q>BA`aK?klH(Pf8_mN@cVy81El3Wj&QL?)N# zyZ-e%awL5X(fuI50`NcAfyqMqqdsDy&GUL>G{f!i#qoz#;KdsNtxi{N)_kTvY`pqU z>e*>N3G-b2XZZxc*|CeOp5Xf(Gb1!SEDb4}8NDIjH?2t31B`N?wD*ak8(9#>6F(U~^+|A_ z=+;5}BrmfB(yG9KZhauN?o~-~OrNXMgOY<7>bBo#X3oeRzD3k4N+G z#f+CY6PGdJK2JLP)9@?KdD3z-GssDZkXqA8$GPLkQI(5wgd?Ur(KgxYJ(E7$qc4{p zV!SosMqabwkT?SPu_-fiEQSLmjk0y*Kp*OO($~A%^9Fi!wPSPcxxo(l`jUmDV!Q0o zywq(&EIb-C08l)s?YglJ6Bjkyx~#2U;W(cF2b|7&K(B9@8Dr6!nF2T98Nkg8#7B8C z+;xRvkmeGu{b>=YkWaq%hc$?BQ4gx*I|ZnXvAC0e?C5Mb>!3#ijEwjq>5WWd2Y`BC z&=y18E)L?men1kiRJSONsV|COdX!%U$eRE5ciugI=}WI3KgAyfoILR*D{(ZOI9_4v zQ0|Hi4BLtOtV2nl69|PlC|KK0$hbArNa084V(9APcXzoCKgu5keERN_{9S;Ljt}4c z@Obpf)8p6w!cQLm!IwXGeEn>xdRxXYU%6b&X@xG=ig`3E3 zHHzZ0=UOV#qy8s|W;tSu8N06An}v0NZ}TJTc*q>zjF=AR%#AZY98nd--dn-ZHMhBr zofyWuN?4Cq;MA0RE#o`SLGq4Vs|n89#|Qh4F)TgIk#PoNq^_}Xq?N1nkDoK12dOpo zP?Uze;L6QzioE-6MA6rW?pdhTYJ$-QUV#R-xo-BZHq?0-cd)gl1|6}7GScQ8_f@`p z`=qTuf+pVbU4w|v23s3G7K>D$^2I;r6}lXd_a2Ke9&*meJvlR1(gDNf!ocs4XirzA zQD)4~_B|Kku2^J@e&B{duJLF*@mel`(?Suh-6QMkNBARvB_`SH0rSpxeD4|4zxa*uVLC{ssWBtl{iHdx7pxV^E!&r59u` zyvm}}l*=*h!5UC6Tm(LmMutXi`J&;?ah(T?5I9d*rs;t?M9BAq<}`Dr$jH400|?kU2e^^|f~{}(Rt^`9PF`^8i62?H zld4U84sPyUOyx=-JUK*T&6dL_42kN)nwCoblT^;k!pR#=`VF)0ETADtLTdd`%TxA3LgC&$038eIP+>Z5!E|4mZMB17pqb#ngC4 zmSEw}(_xNjg$EQPzuQ+yteL}OKhlhuHnNPD3nUI-e(m_(KYH(Y^w9^$pZ(d_j-Plv zKQ-rH@QHLsz}5J}=6WcWn^Bv-F|d#fcyxNZM^rYcItE5`_h!~Q90=ny!hZC!tLQlL zNdV5}hxt^%`|p2n{9OJx;NSeUFC5?e_IHlo{Oxy+@8wehk6(Kw*G~*{W6@fyABA$R zYkfw-jX2jvR+ZAWz$zSoj|hLdjNcRd;%(mPgEl~U6m5?rn ztS^!Q@SuT-opMPs$3KFxSD!cV#_m)Fa^?v-b7{bhsWFv2N`&R!ytR;LZ_uyWNfQUn zs@xlw>lkl6?=EY{#baAz@AaZaRnZ6slxvL@edA>D{=2BAwZ*KU^7yipfUp?5? zfjPeF13678xeFTX*dkm1wY%Hzcw;V~G!#9L+E@N;Jj{WC_qlms{e%)Sc=I5A$J_IQ zj-U9#-#rJ@2YIM#Tqr`(%8Up+&iO)fy}8GH{lJ+V=jgt~8d`l~+H+5QWg6Q|3>n9G zo;i3J`R34ZCRrocW29`!C{Q#!(^*SFIY1#tfs9+r#>Cv1@JEecaja1}&wbWu49Y7} zL^zO#q4UHjKSWQYwbD=hm`_De0JpM zsC|MI6D{YppvHB7lWpsBk4+lwA#UAFI&q&b{NrltF|uvo zwvp_M_AwQB@diK(vx}rx#wGi>`N}`3=gRz%9&dd9%YPTrYXiD2Yj1$KkO6GFP0kIT zaHyp+Z{AqrA_*#DN|LJRQ9{F`sR1?uhPDMy!&A`xcrpV8;!VVedirj2nmFo@Vh}d8(GGiUqOMf(GA?3 zGvUR?Zm5;b$F0^{Zd~k!Iqpm?yo(_o@4XefQbS7 zJb`pk!X+!r+U!igOwQjeZgD0=&P8KsWIaY0CZ2+!n@S*y?c5WNoq#~1FxlqD^QvIO z8RpxVFok=QSQ`R@p94C^uF*t6j0*Rqw|e5q)7yYCwNBv_KX}%j;{h{kP zna5{;x+ufR;Z>De(xc;V{&{}A=l$cW`B#B&eJ{Fv%7af2c#h@vqSMA{ z7@HF}H67!{H%X%4MXonH1ZfO0O`EJc$q|e`)WDT&tW}H{U`+mbuoonxo{Ff-4=fXG z@}*uoOo%JFaMJ~oHjPzUrNyZacY83Lhv*_0I_JnkqpzUEuZ`xXo{*~N+U`CU&Z%i{ zFo%g6z-hc0Nz@o7vBt7`yl-x21QYAbjeB*$_8j45_$R5Zt>H6b@-~2mAxGINrk0DZ z1IjA`YU5%h02{l)dY&Sy6nzzyOuZr-ajPdsBolAfikH=cnqfnBG@gGJhxwQ`uS|?F zIQ+6+a9GUb#UwIR4virbB|W;YApxg7-q*e|EwsJqf`POCkb`9<&AMV7rTdP$#lp>) z!!^d1tu&JIWZb`H((@E>zG9~IkUARChFXHGZN8@uht0o^+F9f1DK)z!_SPXI zY|Wx{(NO<hBKZ4{W?q&jOh#Yve@{tXimsF<`z-t&x)Jx{Q!FVGF#Iv@y((E!#mJ+p zK8&S}b>sFp7wf(uT)XmH3v9$E{yE>+RcO|@uvTS_zbtE>BKTV<`fm{u(X983%F)`H zYcS_?53!pQM2zifa!Ud^IjV0&69;a$_Q~jGb48Hn(wvK)?-~mOV0bu1?&0{}TmBKi z0)Mn41pC19+3}sN&hC;I)l{3yxnl@ z@irR(7phmQ7iXUacoHz&Tzxx?pd710Fc*5cQ4EGYn^>Qqxqf<4gXj}XHaRiFxf+;4LIzaI5S1cJ6e2Wx^buz9UoY2`qoP ziv<8>?*!q=nD`#GsvOBnG2;Nln?nRAcg!-SnRifPliSwC8;yD5$)EBI@?lN}3rie` zEm?RNG(?@FN0vu(A?^X4=cDtHYA=Q$gYmp!FQ7T~*euN9xWJ%OUtH%w zaeaud9y`}xsH4#Se9_+gmI%-1zT$UwjcCLffoyi5nAQreYSy zn)D=NtFjodnHQT0^L(u>SUnBq|6}jXo^HFY>%MjSz6Eg65+DeW1i%g?Be9dJ94S&{ zRpQukqADqlR7zNmlT`U7X1As(-FK*v{ z-Oc!oG3VO*yS$VjN^p_#UEg>1UTe-V$DDKRwbyRWKIhO21f4FYE}y*vVQg}e>bfg5 zWY%#bgT`zzvBap<1Q9xMNV1O4)((tXB@SkVS2e})#NPhkl`Qq}Prfp7-gjp=^gSLY2z z%ibSj>iFnu$!g~e!B_-M0q{4K7rZQr)nf*h>RxW~#i65=)sDk>5ni%I&L*g(cc_1ZSfIWZ}t zG$sM~{V_}UOpU#V@*Ep35SxKK#AEtv+*h};c%2t@oc%z+1$d1Bi9;^g@(kYmqHh$uYb^O&(bsGs{zZ|dW#?3$9UjcB)V(zu7F88)u zoD1cyXVdGW!`WyJ(scHj-Kj z)EAN7QN3?Smw)e^-aCZL-@SWJCUy=mnH)16fThNi!2ucC@DNKpIZA{MR5D^g-IH(4 zK%OvEpL#G=j8}b5DiSnh-(7`1(EyC$T|Mf|!F_Y@k@3pAcgE#6E{(^J>>1BIePsNl z&z>EheEQ(Ht&at~qerA~Zs=l9-w(h9>H~-<`hePm@qs-29gmC*@w<2A-8lwEst$>; zu+5{A$SP3dlTX}?Tjc`-uv9p3=iLI>6c^&=0;m$-;JUpt_UW_oZ(rRSH?D7tXCKk`0i4-yyWGK- zx5CC^)s{S}6`-o*OJTY6TLhIBY6FZ(YnQL|XB6pQCF5X7svIf7ef#5W=eEvxIqB7} z1nk|rGhTe*P@(KsWa$1iu+h~V(h+}zRG2` zrMt+vbu?K^OW><*2hTFcPPTeSuDljEEpp9MJQY`WSjC9moW_b9$JF_gZ<@#oZVh-@ z`Q-;zG&sydf7yaH47AKZGZ@)=ltV}zb&+=;!4(=S!(=j9S{Lr3h_9s~jE)g``*+Dl z`tS>m1$dSAKphirJA^8xq~ai{bf}3PYgFJIUIR+zj|Z8AjN=RH*>psC>xMIbAJ-JZXS1x>mWlX8Y+{sN@ zf~~%y&2eg5UzW>F^6l*{jl+6vX}zWI-PqdH$At9qS~u2I-`?67+nXC>tJd3k`es{t z%O%^9Zrk?y@=h>YcNXl{ZE<0H$7^(x3)_-!HQ(lKW4H8+KD@ShVPm^n3;$YY|KSa; z?8+AZ_}msZuPxRa&8aqZVTmQVmc4ySzKvY@D({_5*7Og3qducA+@I=O^(j~7e$zyo zhSB6d1{m9sZB;K{gw@46vSlvTlW5*&*=!jb84qQf!RJltacgSn7!@81)Nxazgw4;N z*4BejW6p$C%?qlnAwjrGZV3hV^%Q8u|Kk+U~*1@gA{c3uV!P>BvukJ z8!I1!pb8vu2?{>iI464QY%g>v)Jt7!JjWz9!S?Y^3@I2<3cO;p*l}3DXlTZl zjf`u1X%eG(GeWAGc-yh|fw*izXz)i`k;1h{PXPST9|6Eczi@DGJx;SkM_C87u1EV| zspmx>l=s^M|9S?Hb`noI-qQ$8lhbN)$hcoZ$w+4!p~ghUDie?=3-5%{d50A4Uh8;a zS;Z5OPzDkY@?5+bQM*^~;EoADD2u#In!;wS^K>@zleG+KBA*i>M-S-Md=LaEO-+(J z0C>q(2WSp%H};+yU;E~JW9J{7AHRBOOTRIGbiAn7fBS1686W>g?~LF4-J9d<7k6|4 zad7NAe9#BSvgxDi;Kie0iu>6+vBNiW+YQqq7saT_5c3yHW;g+a_;=h(JJ zg5jwQe0q@}+qrCzwqH;wkZ@vMhhn%X#lzT&BugJuf~X}x9+zhYSNYM}z8sJ;K@Yd} zYE;|X6S3K3%fZf2Ny-)#rd|ta3?S*<7x7da!O`#+F9K6=$r}>Yv~ta{l$&V8Ej_$B zvlh^fQV=!Qex25SXh($B9^d%C5Q43ji-& z!^`hr*;%gseM7(;fClb zKy0!$-drpapw?A|P-1si`OQU@5fkpz(8Hhm7Y3Axw~6ao1e-i7<6z07Lhw5(oFLxZ z8hiL21L^MQqT{nK93TJ9>8Hk1|LghjwSRtdymRf)*n3d>aNRr_x_L6+nV};bJWCwg z4H;KO`P0{FdD;63SZ_OXC=P)*ehMV5N5&9qNo2&4n`H%{Z>z(W8^_sKvXNx4>gVip z#U+ZRopFlaj3GFv7lybcSkgg*GICd~Y;LXDe$^eGS5oYYpwEq>eB?B?>=mKaNnh`FB}AeU^DTr`qDH&X8ENkncA@I+$U zfF)0u{6RqNFXocOUeTj&U*;BCMpX9@r#Xz$W@By3=vO+3&>A^ohFB8KjV{zZF3C_b z>TL)w|H2q%KkX}HkT*;6glMqgjEf3Ae!?0)Bm_mQ>wQ9$__43JF$@8H)P3M>U-}}q zp4cfKdk#kn((?-9s@FOSXY0%|7GS_2{Y_o1@T*2_E(pO?HzLdUiI3TKzXPiId3UEs zp6zcg1xO4;)Lif&@w7_Z{*y@C9Sr-s_n*LkrVwAD9je=k2rC%QJYS+%4nJ0F*9 zZih2IpA!kqABAm`LqOugyeO;(Mh>8@OMmQw1o(k0@smJ55c4r#&gE)iaY7*{K=o?3mui81}|+;K||2yMiXout(o}M{L9|KI`ow+CE@$ z(vN=b(lP>(CGMIHjHVb!C5p*v@)EAcG)Y1j-5x-=k+FHRs}SKrvKToN;!HoB{u z0Q$SU^U(OsKe{@$@7@@{s+$DQ-`E<*^wVPh>0drKKKb0u@tgnT()d5Waecgg?Vx@w z;D{bG);EmngvmXYMD5oL;&KEL5nBQ!uJkD;9kVBELAWc8zWXNcB*KL~_(~uW=ZkC+ z>)i!I*v4@X*IMcy(f60KH&C!1Mz|y%A4Meh0klB&Po0=Tx=id9FL~Ntgj&1Kb|8qD zhQ*x_8|R0zxdENrtb*Y(dX+Oiwua1(rYIHzslrG zVivTFoO>G-g;1)soH3`;yx6rZa{C9~+z1;CPmNhboOIpY&`I?*ofzpxz^x7C^T^Th zpa1p8$CKyY8~^h^zBc~o?Ym=R-(h|HK_3HJ_pcpmAs+bIjuhhewjqKF3`jS;-VcsH7a)??SMd=RDCrDRAtIO+T@u-3$iA$EQ$0th%`YixS^03>eKRaEa=FKoa1 zcO2yuQau^4r7tSgQww_CzIlCY+`2w)-MFk@F}XQ5Zr{?)*4txqV`JP_{q~J(dR^C3 z2YQ;oPYrNRrX1u;&u2L9+`wd;NTYz{A@LFxoj_JHV6(Z;gmK?H_SB65iH<+nWt%K{ zK)2i^ln?BA0ny7%`p!VGlDKV&^lBGg%5Y(by0DlU1TIWj!XupXW6WcZ#{81QfdwGe zcq?BX18zu;E&Gjd?NXzq>am5pSsV+5lDTK5A4H5HY|*uE2VQ0c#*rAiPYZzrX4?~X z>n%heAS+68O}#|MM^cO=>Z)S0KMWI_TX8MEkbl5saryx}`f;a!a0B4awgnkzA3(`o zJ|`2JJqh4Vbx%C&9aa+=``tPqAAGg9dh*1qCklb)i7OTW`0qWtc4AMW_T4_U*1<3P zG?NN(EIYphQBjd5ak}A!Tv$e&?aBrV1c38Ev@3tLbK#!@eIFp1u-q3IsF+tLhkUd6 zjqS7JAAIAg4#ro+1NY-?=uf+&Zjx zO8B(^9sbwx`Lq#cM~{cpS-BSf#F4S{&-%V|ZoREVeeV_9rpYWXZ`4XG5GMrf>+SuaT$EXWt8( z{sqekq?vtkedzEJy+gh+{-@u)KAt&yaQy5`Cv*ZSd(N5#2Z}q-U4G=I*BYNgrw0x4nOC?c5lrAKn?i z`U~gA(~lh+fA6<0jNkpHPQW*h>!(5asX*a%LCOrp!rbj^`j)`{;tetV*gcUjS%NE$ zif_?bl^Fut;!DyA-g&f7Z$&O#35G)6*uf(yeH?cLGg0Af3!B;Tl-njzkqw1@Z(g%Q zT>JV|3fJ+$<%=a>fDjoaF@(8gwQbsuaYE+GB#v#myI+YX5@s{lGmgSa6!L<2?aV<) zfXoCEB&je+W|eKk5L%^4F3n%|jtLr*#*OM}#kGAP5mCXgNUk10l7=?2@ zg>~*yp*7y~9h~&B{(NDmcag=lqbFUsP~>O7_8mB)i~6JE$l+t-=&4iV)Y)_6#6#y? zKXm-mIC=K$IClEsaq`qz-2gbMpU^y{{MEQI-FAF*LGnnv zB?Jc;VH>Hws$!V7cieUrF3gF`Yw^3bs3Her2X1Pi_}W2L++@K^_TBvrGiAr$N`cem znqA@1Ket=j#@<$qS*`dgT05l2%%uek(CyO#88=_=`XdN;#^#-ynNq%Eok^I(`^Z9sz;^ZTCdvz0&5y4FwZU*oo1jZ76e0=nph(JcJ zWm0fp0FY;FVpqn-WKo1>K(7~Ml&ZtuZT!=fa7K;)HYgib_BqX}B8zDceew1-vK`Pc z8(S@;3%vZ15V1&=n2d4*|1MIvR?Wx?S1VM!It!1xwy%JrQ^ZAA^9d{~q*;9&t^-C@PO zvM5V<;fSp&s*y!xzR@P0zJ_q0n-?Ty@o#?-F7ny_bE}YfIsJ3v{5OKgL*_47ruWNf zExTVGS32K)27q%8e?JXw8AY4dgn0GmY$%Gzxc*8j-TCD9H)5K){1Yke*>mx|}0g(c1Ml~xd zrK(Ika2P8d{9v@ab5(e+5+7E44ppBD7>9PQj-P$<&iJ)293LP5&>_8hq66*8{o~j} zN5|_|?~Z@?&#vfoef-O}_l#TP$T)aFj}>diw4W6(Z#ebE~KRIunW#XA<(Pqs;cbj z1A%3NR50Oe4<6sui{1|C5f@jjuteTXt4$>d@lSni>uR&IU-{g7L=KMVLjTOcap=T} z@dvMLjQ{a#=f^+%y<6k*rrzn)jSt?%+tE9xOUYiAT#?dF@wlTwTyvgEo=(xZX+l@S zec|Af0eW)R{RR`H9oZ_G(qW&ID|%{||CmFi(i%cqa8oX|dy07V7kJ`v!*e9Lw5)J2 zXXDufW<1%4D)xkph0(74H(j>SpEMOr^Sh~qLs-ROpM`CH^Hvb$vO{zKHkXCqiq|(-G!bwd zXWRJQV11sP&(m`QfM2QMVxN!i965e^oOTk@YN z6FbKK&zx!NP&A48yr|sR?`I!l+=K>cY^_Pwb?K+B30B4tc?(QV<5&D{YvIw|adw8a zZ$O!gcg-b~X`gLlk!38FTmr2&914hc@AnwxM95A4$y6I0(e4js~s9C_m> zS=m;6C&BfL7sflUeQR8N8WR~9nqUmtrK2%vsc2g=Z_S&04Jcdt6HU+MRu@6o z)hIXZFa9NlqZ_ztPDSADSACy(lejpz@L$Zb^_wivV2|@3RK&fUt1=JEqT)28jl(j< z0^lnlmb7AQxJRQK=}%DE76{eyF{QIvf{S+X1k~LDM3v^Zg~0_Vifm`FKKKyj>`L>{ zH&QPiRC6qop!}>+$+6CbnAB4SyQm=;| zjv8HO-R}RJTeyLPAi(^b|5bJ}MIqvix<4U$(`9ZC#_VF$W57Ct`MZ#k9m zihTTd_s#dlFTJ#X{OzB6bbR>X{d!Eb_8@WfyH`#e(p4dTio0dj6TF)ZC{Rw9g!i^p zJcd@XW`fNB)hY`h5L&kj5FC1PQLcs^())KubW(icz&Lv5_;~Hop7HnpxAWug|Muna zy{kuc6Ch7JaMInS=p9+h{5f_c(|0P4-(vc-WOM?3T*kC0(K|e~>UkZ3THlp$#(HDTFKXLbT%O?xtc~1U=7467&oY(281=m0sHrc(+&bMK&RGGw4+YYH_os759&xgY zn;DxEF5jr!XN$qo4zSvZ9TD*?eXec81^LdV9v#=a{CY%upMJe&|KXG4%(*AWLr*?C z&VJ~_;&Mgk> z#=w5zcJ6HGNq~#v(mUTB?|$#q@%FdBJ+7R8P3^bFt(%v0!*)wI0uGBu-{GK-ez?P( zB@6nORryC%oL3wc`(wON0xV*ZnYyvsX zN$;rM&7|Sq5oWhrPc}HzUhdHyE(Bq-iiL`IW+p%Cdim~X_VA@Q@F#$GXh7h4=}HMD zb4?55rx^ZB2bk@efQYe-Ood?;%eCk%Oltc~KET#Fci3gVc%+l`Bmfrz2RE;dpa1af z@i)J6bUd%0N5lEH4#MN;-f>v%n>+i*|Ni?o#&7-hwedTz-W^xA5BYPIx$~X8^x@Ow zS-Ge8@S50}TzBP2B=iY?g3Oo+iyS)OUF+s5O!ZM9(UrSm=qQ@8eBoP&)?$+z3GH=> z4PD2!93b396`5>$`)KVblvtQ(S3M5vq$>FZjj!@c9Q9X3?xS*KP2_Fgnp#&J<|CG( z^+g2jim&wxIZ+oFDplQbGU4u6ana#+mLQ_XE& zJPJxOd3c;StY6HyqhAb= zPd?s3zJvwa`zekEp#8?4ru&TwY{f~-yP+%b0nVj5dOepRpZcI`u8Xa^1k3^T{$V{b zdt4{fr}XOpZOW2NwXUrypxv0$J^ z+C)c#)|z9tkLg>sfl>)3+q)XIiW4ycwoUaFCKFTDkQ?WolHMPAs7&dHbs>Hv>DBI+ z6+(Dh2q>ugaiyJA>x6WO!eSMCAmp{H7>Mu4eWOl}d=pJTyfIe4f1FgTyU9Ivz~-V~ zKSQg}jPKmtr+42I~?8~5|>{x^ z0GI2|K?QT^J7z;2K>8R8Ziqy_#Esl3!^zD9IpBBP_v!mrcK zEV0we|7~f6;N_LTX8^&j1hxmF{|Tdh;gx^-XMF+y8ZH9*LciC@Ti5mVT59WCwr+Qw zH3dwUb^VW%weH7iJvZTxRn&icu=mSpExTVGSd-jXD z0ZSoS{agVJIjRSGvSKXk5p+*iH%sj z+_~@gO=^dH7dTfu2iM=QF9RMc}j@K@1kN@NU zy)l0CpI;xp|F$08JD_(I^-bg6wDv2I$ z@Vk3UoKvTL#3!iiE4*~Fbwd{tkB`ga@BHlX@hd<5h`t+xZ`hAdB2HKpO$VhImiUQs zcR@$ov#5=!MQvCzgbf8V6EEW)%jt+7Q>C=QVviIqeguS@0DF(=@##~Cw67iN^V5F(T6n(;?miDcJS6CkJ!uRwk9r$RoLCcd#)D+5WOw7j zS7FMwGqnS=En^-Y+-AE?9`=DYBS!kK386vfHgQH*&0v8zzQi(3?2J~(z+}_Je`3X^ z#}Td)i=P_8tU~K&uedSok}wim1!!C3Wn*3_92-$|eB@DiLPma+?iX*5h_JF6yfGzL zKP3Lf;fH$h(vU$v#e>TBhT~tE_(B8=8)ltq^^?J|2)XK@#bliNLRD`sP>R35EOc{2 zKUaC{n)bgv37s9z$5?f#t3wbJ%#zyEvV{2SlW&D$HgVURC-+^6wt-xLSBkX*=2Du(p9? zv7qfmtTD3W)3FnGnc3c%tYX1F*qNV6)^?>QNhd_R`lI5Rxy^*(Er(QH!ihgKYO(g& zb)njz%+~lt6%H@WLnuAZ$G5PG$81`!@#*W>!U$?t%X!rK7&^EEoUyw(Q|#Q3sz{!$ z(HI7kDbK11sIEL36m=UT`T%YK5Dh0utowCu8#$%*_qJPSP~q-Z|Knt>`>|T{jPqZ# zvW&tdv$gDgb!08?`u*B#-Mw|rh+4L;x9okbkDqz!s~MfZDXg=@w!~sDdOVjz044(C zytl>z6w>G-Ti3D91X4T}u&7A5kPGPwu)B&n%#k|^3o>DupV&eqYUGLR`z&P#%rO@) zZD;F=C8wWoO$IJi%N)<*( z`Z>PWc!yFba-UI35f{nXJd*J@otwMbCW4=MipTYWV=Kbsjv-h9D$($kY~=w6fq?CZ zBvFB!2g+ri}GYDCYuCJa%|| z`UQO{nts3gJFlD{*Y51mN%m3c^3CuwA`yj$J`|Vxw0bOqMm8!qtSq9XP3b%hXc0k? zN{TMfx=$>%BeckSUM>8L2X%QOuI4M5t&0cGekTxbH3wFxXi|j({e8-e)O>Ie7p$>% z-A<5XKMiYf7jtloQhBm@afmA?!r=3_JC@+$Z;7+4>B_|8wb-S=J|VWP*7=vx+L=S= z2h!iP-h4PzNxrVQ?FAHFDHr%d3}1;XC~v;NCkW<#UK{!XxSRU!4Sgm5c=Ds49-sNC zUl^bJnSXD*_@$p8AA0fgU+PP3gMVTFg+;DM{})##LU^i2U-0$PRIe%p}-`-jaLfOEm?{3)M(vuy!(X*jn47hcJ z@uHWuIX8fA-PFfDHiXsqIiM$*PCfdxZXSJnJpICp&233Gegxcr`Y?&#b^ zH$XMNb1qV0%1>gN`L7h-R)xU8{SpIP&4pz29s6+ip>>i0Us0}2R=V_k__2Vn4HxTh zmmF{v5UVDwv;}GF$Vwov<&GCyVqZAIyzqx?Ve-v1dnw0j=S)6j+7_rCdmlSIr)&EH z04qS5%s!m`Xxm9C@VbPcD4gu1Gz?9B{6w|HlVv+>zsa%V%$iYH9aT=%b~4p05@Ll1 zm6o!xr9o)eAG3d06nVglK)A$ycig=E`rnm;<`46Nv+cURUQ?%lc~IU*4?MU5kWTU# zum0+~hrDF#_McQ=U-(mBxBnzt>yPOMfQPSlB1AowdyPy|nx*zGYHKgpErY>!V!%hf z=z-A+s86=5727h4C4T!rutY{M9bNl?8HB@>-$rCYMrw`uK(6PEOptht*R^kB+nJ!JtbNZfu+t)V7>lbd0+qz)lLMopf7O0&muuP5kOKz4(@94nkzb8vitO+eLEiLmw zCRhyC{pQ?jk!^;n%AKAlz6Dn(LGmsD!%;=R{!Rh--QPvyYrsB}3_5zq=eBR&GAhUB zAqMzKR@`0a8^a`Wo@i0aVfr%2Toe^{+9xrOJ=x?qtiCaQ1V#i_#Nnn7DfU@<;wWiX zVq>`$P};X0xSf1lO&(?qFHrcLzt_S!IP$;}Hj^5-;OsCmp*&JL2KcGF(~3{+x&N)U zg`v`=$P@9{E<%=;DTcjzlI1Op<##V!9nYUTq;JtbtP@b);j?!y+5D5P{F{3UZRlOLqvI~0&&5tL!RgSna1Qoswe<*z0j!^<09-Oq>EpuFPPN_vEWMME zFRf#q&kd7w+k2lgpB8awHX@`+Y{6P7X?t2YFhonS7H9Vs$6j(svCzARx=d*!+rkuo z!scHw>|!^wG35tV@?bwtsVKWSSjQrnqc^dXU*T`3ta{5HR8CzKq91t zg^xGMyQEK<=oie?P5wy0n#YMP+#DwybMyM7UtjYk$Q^xw+x07#bkTNteC)G7J-+al ze`$RBFa6?p{Dq$!$Id)6cJ>_|w{*k#+Lb%w;>GLZsxJ7iUb-@_U%RF!1@!ZAy5Q#v z0r&7rHrg!2t_Re7AxYasaW0|CsX7Xk=LY)tGdDZ{06+jqL_t)oV5y`Z-Di$B+GW{j zlwgBLnla1vp@Eu8Z(#|*#)<2>7@%JTb735Hwf%(3QtK9ZA+>@V9xd!sBEu{U3`pxN zS@|-9BGc1-Jq~~nOK5_PdpP}Xmbr*B&GJpI&PQ#Ygz?B!42%=se4BM-#24N*RgWpQ zD>rfYvj4s0DL!rr@Cy*PZ*dbqFJ0i@y1`8XzC2Lg^!fjzC(n$tPkdxN`NAjk6v?N? ziPMjaYZot$EAM>IV`s0PBH;X_x1(cA)`?xd9G4QQ$Q{2^R1}WYu~**(EXh)`PgJ`T zrMYx)5ut3x!fWO2Mqd#FeS}@X5^t~>TTx_esXp;7FT?V*I}dLmJch6^wDD`7st^w! z^IZCBgG3mEbj(chXh622G3NGsjT$239KiYaJQW(Yu4mMq@}F8 z4n_Mx*8G+`vaYcvj#$pnn22fYBJ6!Rlew{3EF5Y(i?(Z%Ahhf$N(w#B$W4Hqy@$r@ zm-mfty>(@L{)t25;nN57d*k)fVVvOc&Zu6;5A7MxJbPrk{HaspDSbrXy|=H8H*_Ol zXXJO7`N^eB{K<#V=q6v(5)ZLx?U3Dnv@2e#i3y1QbV9&i2!LUzf8@52fs2GP;?IBx zeUeyJ%Q>H~R+=gNN6!hc8P;}l#HdSp33wHvIqz0j6re=KH(Ta}4l$E@v@ zTR9k!JaV=aVEmPmb^AfYYYrt_#a{?QG;K?d)Z$--MXv`Y{x8AYL!OX^nc48pD`=E$czDY zuYD7NL8r%q`MJQ%Q#<#W1$>IZKwtsBgUh_brl3(ah zoi==yWdCHMp6anb?Fm}_@whbsW3TpHi333`iYB~Xv3Oi<+{rc z4YEz=i?G80bvWGeL<}l==Zd{|`dG(K zc_;^uN7jkD;sTF7lU8eBTnc)RALAUs1UCN)eXns{+og|OleEGx&_+YOcLsu(Ue zOHKYe8t0YxvfT^}R<>xui9!3u+71v_2_sm1=b~42ZMyj@LMT+SR7Ht}d$Fx<76_SM zRt1L$y!*%v)UE3|VRv6A9#F!HJpL+(%H1sX2fuVe+lOl1Q<0#lLM*ZmP7NxKh1}z3 z?JE%o)CA5wTy+DWh~M`LkLwqP-R?T;F6bVV_t66nZUCf{7^*#7yMDj+TK9p}kDvX} zSLb%qjFN*EyQX%_+5mJwi@({tFKhfKKrQtjnW{Q)7>5ON67!y(Mr5j^Z$|=U@_+|> z+N$fti6v`<#=wZaPE72;zVL@paDuqanv!?pt)4i`WdnVj3P)YbOgD*TazKyT6H1Wr zhj~!BapJdVKw3^*Q*T*rj_B)`#~WA2_*dUMKR)-wk@1**R&0yM?x50ZM|GYC*r!K} z&z{^fKK|0N@mamAcvR-!`QDZB-u2u1ws9S3_4pk(7ATIY`T>&e6W7rK5O;7k2?hyr z`os36)4|aurNc7YH+q33Fw+fqG{z-*s_Q-ve-aeE!*!`s}I9bn)zyvA772>bpuO((6*8-52Q_u-L+y7+L3r47F8R@q&yOwkyfmaeVs=Z)wXGm0s+Z z_TWY=C-W*s)EV~~FJK(IF=nt?$Jb&9QLLyqm+U%l?Nx=PhxVn{v7Ng9koC zzoVxE_^7~*Yd6OY-4NK+_qXgYFKHe>bmF1$@UtHqAAR}r`gp*{G~TX_x4-j;I)Ax2 z4jntH*figBBcS{{Ct`FQS-7r6L$XKIHWM;==X})hV&-$r!kD~r5>GJL3Fl*5`U(f= zIu`0(vMuo(?^)uf{1dU^#BSn>cj2&K@OEU=(95CurK7LC&zL$)D~7}_0Wo%b&L2E~ zox}8jHSq)wHvI*O#pYRZmQ0PLj&0@V*zgb|mTUhVe*&{INKqIk131^YbpX4b0F9|> z&}WVy4wZ_lXLPxbr-M?%KPYn z2R8uHNsL;L^;-X+cFRAo_0iK$ezkYL?6it#?p(X0WG8ggs!;6{PWI46C*!tnq1!T; zMb;1i)!KKV!7`EQ4|e~7p-9&!7LK)KGH)91>~5f&lbubyfF3$*D49H5OPi(RjIZDo zP00)*HiwC@B*YA9wF`iQ_>yjN2(z>Apl$-}9l!tDh4Hc;iGKW{gSzw1q*xrP-_=b3 zUWfE(<~jX@+RHDW9G}V6vL5@#p91FFyvqYX3D@9*o^VuI3Dk#?N zGK-kI>fFI6pNd5SWVCyqv;h7n7CyCkRL-u|M^J;Y3$T>x(=eJia+Y8V=amf+^Z2>O zl$foTgMJ)6ti>IV=Cdgz#YcX*zn~o1e(>qJ;yZWu>uHu7j5UL8 zntjqEaFWDqckLz(#F9H!$Y?jvtuixD`no_y*+K*kz4)y!pOw-KVOFH~O#{5C?(YQ9 zQw@7`#kNoHLOt}*{_)8dPmeRl_KiRK#`*Eyt-Ir>PL4C~@sR$-WxMUTvt2T-=sWfS zX4}@sATiI8+JORP19+AF$Mb9DV_Ve?A@7+G7SlsXmp1gg7?;M?K7%{rWlfdG8oD$E7!wUb!6i1ZNUYLzwB)# zBR2a?GVz1Cip^a^89?V}JwY`}_59hu3x}i{me}&|y95e`UP$ z`kUj>$tT7ae(`UNpZ?`vAJ2UD%lb0P$H$%R{rVjL=D4Jf*_?m(!npk2rE!bL`}Lg^ zJW1pmRk{h+VPzY#FR(pvl^E1asQ`(q`#AY6F=OTZS~up?k3F6>mtt=Ycr&-gC-nH0 z(%pu>p*BcEx>6Sr+qcUqR&krFIcT{*g=K8uCrmc(7~Bt*#HZs|Upq$}S11ln_C9_U zH)i22Q2CiAPPgM=ZAY=HhR3zV3h4e z9hw6I`eGknMy$Vi)5%f9mzHjEEZEX_2k`m-o7eO`5qd&kN6%&RRKVVYr^dtj8Ocw5 z`HSPxC!ZT{y!OU;=hbiMCg{+Ofa4A$Uxr%w5R)Uz!g*AzBLnj;$Szk6**;>Q@eZ_1im?iB-R<7fO}r5|c$N9FNs= z;U`;&QF?41+yIze^CMAta04Klf#K_MTrWl+scy#MHkP&0^JK&JEy<5rARXfFlia*dK;Qr&| z^(#B$_rH67eDV=}Y15;JbrV3B^}2WfsZR{}X@D(#9`EkW&2dcM82I$l2gjE_cWOL; za{u_FZ=D~nzN-r<{butKeIxmn9_j3S6JY0ExsXqV1kRz(%nC!>y2RjkiN*a!()1RB zsWAic_-?E>gTx$#;F<=L3rU6Ki#|69$|Ze_t>5Kvhs#3$oNzWK+}V1>s7*d&gF9wy zsfZ)%Rzck)8t^nE2RPS}nZyg_BYm({H#&CBQS8>lW8xrYGqTXjmo4^(yoByA4wQXF zcQBn$)-bcJ6e{LKjCIG3+F6j3{vC4*G3Wy)wgH-tGY4`&mUo@mej?z6iLoig%+YrE zNu}izQ-19hh}t{}pzD3VUvTf{|aT-HRA zzfuRJrE?-qfZoomA@G0UB(NS;az!CXpewBXmBJoN=cfU511~>`cy}B>zIVL%u@mD% z4;>k=e)Gb3<>IYz?AWpRtA0*@r(e6CZ}paMPBy`5&Yh9i7tSfftQD^%d<&XO4d1|F zZJ2Ro(Du@~TUZyaw3oHE=Z@+;$@}$CL3g;}wRJ z`lSz7zMXUISu&?}KR8ir?Mz=JsmEk?Ht*i#gJ zbIRPHHnue<`}hrs#n~>9nuE3edi!=i`C7_8!QnP`8UOeLDTRYq8w@M9n|(J^?0SFc ziP4|Q@9ho^1aM$)b}dxAy}^O03p~=oE%E1AR(0W_NWnlL$JhGA5)>XyBDi|M{B4U_ zVdDsbMd@+jsn@bVh$S|T84U_ndS!csBVw?v4XAr8+pFKDw{_hFtE)$w(NE~&lk*I| zE8vE{Ja9u#1n3rm#*j|w_a7aPf8_b`@=yKLICS*Pc;)L~AD7?#p6Z9k0o}aHcu9;M zjmI3Z#kKQN=c87sev#gJ3X|;sxMWmT{bfGutdL6BbQ-{_CVQ~>=stA2`Y~8+;fb&G zt6M&3TV;qA#GseCpeJ*RSbGfVVD< z&zw7`i-d#v+@^yx*5_5+2+)@W?&wBWBj7NB=9SrIyp|L{X2i~*0^$Odz?IV z!ZGNalOPkHf^lYQd;0A3yk;T20hO1J3hDPs*C&VMEJPSnnFF4+*2p$4_#ujPuq)ID)YR5NvdOddVW_wv=4CARUY!uX6!gZeMOU9hT znd7s(o6Xw|ztd;l4VwI=plyxTiw@=5cD9!Obe{*4aX?*j!@dLlWq>Q!u8)tMJ3Jmc z%M&m=dN(Tl(5HY2%xMcV;z5UTIl0;t~ zt+##k)jc+9s_$5eP3G*Yth0^bTbJ@>QO6&DZYhD@Zf#{c`akfBOUdYs?%v>Xk_|V(4Ziu<44L?F_3Zt_T*=>&v{d&MnJr!_!LqF}Rxomq!J`SB6 z&%OM~@yVb3qV#*mtAFr&WAoOPapc5FjibF|TfZ)`E~3P>eP=vMi(vLjbP23fhE#0S z^;#F3TS(O5LguH~07g_5t=RT9Dv|W04G?JdCDrM}`m=)Z32HjD5r!!!RhoL{XREf8 zjVGFFYwUaesqqFySXI-1-)!@KAw{ruWBodhxj#4#fwj)u=19~;!G5aa6n_eI-awPe zTv|K4%H5uFa5teooEVZpP(0qK7)CE2L-hX9pJNQ)ScgixxqsR?96mp}# z`j=_pZKDM$$sRlbpuYGKDmAQmM z%}H+X;RQu6$g26Yj`bATX?7Lj4K{Iv3$Ny58zdle*nd3ElZ8Bz3Acd$oTejn49yu5 zFm_$JB}dzd(=nTy1x_gypVpLMh^c*WU>8cCXMX##zHCaLO@8_56XW<%?L&MFX1%|M z0LrDb8@MaBR??>Qc1SDB^h0eU0qJ4qQQVkTh%=Klf2eyq#rNb-YSS-s7EkaDZUSuS z=?3Zbn;+wuCy$O#f8>E^StnhPMCJmm)|3dz0CI6(=VAn}(? z+jUM_d)&h*0${8c4mD*%{&=#MlQxyuLCC8x)uDD%odPQ+JRY2QrUjmC-T02hjJ2?D z4`?&lpD)zz@#*M^GlSnTb5o_cXN(;$`B*Q6?2?^PyW6N|q{QC+K=iB94Ra9(zQc_w zdE~^Jcl_u0U3qrD&vrQQ;BIX`aq_tT9_<%=SH#V$=f|7hdv!eg%ukHJ`d|Kc<4eEv zOS-svY+Sj%r7zOFJ+9~pnoAe-n7_Wse_P+;&u+u~*cU5~5eL-)j=}wi=eo&6)unqW z>!iHu2S2qYowl_vqL_R2CptRL#oO5Kmi*km=!HvNR$v^5E3^NMk;ptSY93=hN*^UI z`$L!Jf;D>yt)#A4IZeP9ToO43R~lQvnX>a03bh?;Jxj3gk+WBY$!g(>N%N!yhB3x= z>im;y_|SSAIex&P6BA3=$-qlF?;@bBEXDtisLMERmFp9KFN9=`0yfG|^(myXk?X*QjGxPUDAxQPMo6 zgsqJmX*>+Jb3oPSg1HGV70hN#iOtQZ0+s;HlB3=D=CCb_A73&PU**C^sW>5U-wNZfw`-zv)FKuLZ6!nXw89=f*Vgj!aInFZ49ztw3%e$kAqt& zipTsirP=(Aacn*iVZ$U6UQ?)=i7dvBqJ35(NpDY@iQ@oCWdEU;1)=kR?|NtL`h>?h8%+^bPiT8Du82(ZBl3h50(` z;*>6r!N$H10Bws?Bel58?^&ss%Q2ayG>vQ5Ko$--ppDA1Mb-zOG zezA`%vMs{BPn~{S?-;##d2<}mm*#!$DSe*>G;+*o4?Je=zN1n4xeo20xV$$G_y1Zb zUN`M9bgga?-9r2ciddqdpD47xUoEMgY~baK5M}nnqX)-lK6X;y@3Aqy{oRY>j((zT z@BV}8c75kZkZulUW){wNtB_puFYtkdyPu`GUS6fp7W zHu1qzg$o**ElX_VP{PJ)&G9Sp@Rft`3y#)2VD(ZYTH69PUywC_UwBSqBf`5fk)X0L zpQi1DnX@mQe_NlGIXS-kSAS#t{ICC4tkc%j$G&l zvEH%uHkskD2dT6(`jxwGmeI{bpLgWgE*2M-d9nmrL8uoi$^ED@W2mrRN#}8@{kdR{ zC37kg@O4NjHFZselH~=8D zLTflA>LF`Bi-q!5j*sSTJp3+YkKVd!<40}pn{-BDGv5bGF1XDcnpmwb9{Yzz_PHnw zx3`}u!z*}VRZeW@scQcK^jh2D8{Q7h8@v=A1{3Vb2=Y6G2VLR)p6(AyW^04DrJv;^EmNfpS-m6AKPX< z#vE&HAbgSwKCz?TSY%dB9&}_up>I}pSOZ4nx~bBrCHmL`U@i`v^S7ANr+^{h6<^pf zrmt+cW3pVIKxt{nH!Ddx{AlNgQg%vvMqb5S=?XNsJR`4i2`Nv688c z5>o|91d9{j)$VOW--I)PV6MN)4|i-|c*uYfdM_ieOl<*{e!@gNGR-l8+ypT%Ku2V< z?)&&;TPR=X{UR3ORe$gV!0hfHiOPc;0ND&ZRB3gcHD%rY!0Y}F0PQ>+e6rK_KE%$h zIy;|t!wL==6820M)}zyju9n&H%4V0ocIx6HF{(^cJ`uFB=`6=DA{NBq*od0RlPZw}6DE8aHrH-K(CoT1 zx`&te_v^QGU)9CX+xm>~^Lixu$Es8TDF%qT5Pd>!}9zxycWyOyyhE(o;N-{dT0$ALpo=GP)87wOl=_-6nO z=qPKg72Hcn-A`bUGpt(g_0bT5MoU9%{F@gBH3C;(QK8Acqa|%@oeym_dyc@=1z}#m zax&Yt$i*NzrT0%~se#SUkKNQymA!lU=6LedzVY0nhxA<**a%@$;;<=EB(^9LvvKqz zIvLos3}UuxIk^P!lOw`|Mh>m@tk)+bFuN!D=D`p;w@ViYSu4TtVv+KLYkZj$D>g>d(C_6yOu$f~-^4JF3 zj@X~;5~uLdK;w6nY}aVXRQ0yDsQUzI_#NlWiTpg8GS5`9k=VouWcv_T3UQ{t;RI5C z;>MulT?XDZ!qW5vx_2DZu3G0-5Ae)^2_6Ae&xT=b|63Q#ylWVXT$a7RZRo9h=o@Cn4`N)QzNKtic zYTnz>e181Q!{fQne0n_b;pfK{y~%O@^>6E`M!oT&kGaTN95|<_N9@~GpP$&5g~UZ` zUCPeel-OxU*1g*{%eGqdjDy%T=kDB)dK<~aPtA33b3NU8yBMDXIn~G%8yxG%9ZTIs z2vup-NWZHspP7SMI|_47UeW+o$LTpPOcg$lbHVISI4=C1J^5gO&Jy{Zd=&#~$!zPo z7BR7+%%M=33fFBT8I+7j$4{az;YUW9>#DDL9lr!dvO~HkVhI{&Uv7w3`pC(u`5)W> zsE+%QSv|M`kWIk|%_z`!cEODL$V278WT{}p4b1+n8`ljv^IH`RhGHo!Y0as2RIWX`CQ(|WV z5oXSW(xJqL6nK!DKSx#lECMWyvJ-)|CeGk!)QgqX*(TPH%T&46QgJ?ozOl%N|42=Dkx!RH% z&hYk_0XIwX$;Akfq!g7J7$rjUr)rsLY*KukAXe%}`zw{BD1F>#oAy4(^CjU|gtF;e zvfs)b6_vOn<}_lTppfGS$UjB_V4=JzVTSPKjA-l7oc1LtL(FzJYUk>A(ueo3E5ovsK=J1whpQ~D!-QuNAh z9m%AbVU(Gp=f(!_is?oGzrlXuguWc`)p@@9-Bu*2 z;Zl8}I$;@f=fpzY zNMjHn;^GBs8hQ~E75>$^T$r@N+XGw|@Uo}m-F)~(AVN!{vYr?{PW&WUVl=2@7mC>Y zA_mze|0Y2gDwg=+FYn})T>5N@6%M~9lesoR>d1s`-_F6tc1#QgNW{;%GRAIRy{z9+ zKRy1fpZgETm;c(Yk5f;+INrN-Yg~9&@Am7vGOp`U|C@T(KOZyDTu`6WHZ_D5gL4pX z1)%uLFOlou!G$X~4g{$9FwQn`-wICe5jq-*sqHBBXvmc|$0YGWfu-8!p;;yE=p35l zdD0;L#M~BVCd9k_!-bFV!m@6cF9H?DH-?NYrx7YP*n-80_Q3G@(j@-v#L2={xu@!U zY(XIAH*m(3_%K7stFi@dnS6R2psjNj$x(T~#zZ!;T~<(m2}eQ7-ZEW4_IZH2z&tRC z8{^{4M+KT6c>$@ZN(>(3o#Qm3_6J@+e)>aSt>a-iW)ku4oSm7S zUqP{BJ3#NX36lxiTJP7I9AuXhA7%kc*0xitCjw(6#7jyh7|YESOWz-!xcFk3h+^3j z5G~j3GQ7r`ul+d07BwSP9MnUiH#FJ|2f#Yu7xfxwl3+Qt6vK^ zd1B9a@%aKXjmV`c z*(UZBsEj=31afQ`5}Mi`W2)FR9T6&F5@Y9+n3EfUwj5GS%vAo+l`mAPA#mv{W@9xAiU3?_SeM;@!>h!V^cviG#Yp5r5~Qid}RX(AW)fc3{YOm2cM# zx<>$}O6LV4e&WwvAtCxY&r-b%Yt`E%JxRaFb?KltXNc7huXOAaJK9hAvO_*AyRDl6 z#|~*<)h`5m^s$5E^>?n0*WbOZFAF&2pXTy~aoL(9QF;mA>>Kw#v1dCHYxlW?j>dUV zS4_l-Jq%sQqtr{T-PtJECvB{%`@3vCk2n(NnSKdt$3Q&&q>ua2e8`9;vBo#?6I*dB zBG)DJO~i_a3p!2&DN=c1A8_fc8}jutn`$Xaa%+IrjG7+V9t=A3ILjz^}iy z@Uc*!;G}nHrzUTq$ho1nR~JE=oAq;jk3Re9@uk1^YvYBl{NmW$dt$uv_9cCz{}ui0 z+I2tfzqPgDzW0p~CkK^#0IJ=^;`YZ{fU@z8aS{fjV-B(B_>+8RJ{~A0GI#naZP#U& zn}Ts&T_}@zuL zyGkdSv08L=#NGNi4lUGnfUk4KLjTF8xFmpwsV)k}MseFwf|wlOY_aMSSFH$#_Q8w^ zd>5~_UFZsDXStyk2_&kSi-jvQF9|}HWTV!Yx2;VxZY^jRY9xPK7e#R7V=n^G1D&7U zn4}^Q4ws3B82FFCHbtG>=(!a4r+FB&_>u-Ls}qCUoQIT;XnVVY5jbYWi#2?#!W56h z82p3p0B{HY$SfY*0LZ3bv}VL+{e#*q|G?JAPU|}W#O|Ffd(zx7`)*?nfPf6F447=P ziLCD5TK4SM z&xLJ|3;MFBr%vu0kDWST8s0>#Fk$rx7;AHhN8cVe?&xBFQy&93d-lNi2YunOYT{W@q=gq$U>~;lnQnTIi(PYh)-Ejjv!yq>8ag%u@Qf?A`MPbzO4oU2k)PW1pBfIWj@TG`p-lR=jE|c=&MGCkbvZ zNaxoKtqXkuOWrYPJ*}?adve}#dW5p%Lf(=&Cab)#%wmvvQiR(xfhq=QDvzq#4m52R z#ArXld4yV#iztJUCMh+ISaD+8B{=t$II{Og=YFs+Oy$Q$gS zE*(rO+`BQ2c>ulLdLNqeEBWXt0Gt@}nuiqHAhw|46 zF~w{m=H!WZGj~Z*0kL&l4N!Fg_0~x2wLjU`X7pJQyff($QCyZTWD9S}SYb<4)Y&!^ zKkbrg`KJ-3ZAzDMlh~{kM@4ExE<`iNEJt6y0jODRE?nJ;y*fELwbu?THX--20qW1b zY8F;Lh|R79V_bDVF1Gaavd{GP#RHMVQ{}7{{o2Lv!mc>EFh#a;`=-AC;pq6-PyX!q z!e9AM#<`Dvc3jkF{oi@(J%6kJts6J=nQA@VB`!bi@4L5<6Z7KBfzxy#iKde=v=U29 z={fYynIIk8Byb;LQcNJ?juUgYcIynp5m~z*Wm!Nt{4!bkmA-SYWv7TeEu!vp^voaV~}0eF(Pwrt*l&-Q9N!WbJMx7aK(C84J1sqGX2exOsZc(HKF7) z`x(4o?gHUFPVnG5{#D7p?bB88CkhAQ;M!lEH?uzh_E?*&j*aszOPbs9CWgLI)4Yse z-()2o_-OM-n>vBalDHgP$=r{&jd3B|uec{_D0maBGfKY+A3*t#RHCKda1iIVcP_*g zwrEv1#E}}Grsi6>kQi^NBk6e8_TD8{zR=lTikp|;_`7K#`JrFMX#1|S?gICN@;-Xt z!3}_PlE-%SSJyMjYurn>mVaRNBl;3RhILM;%d3a8c6{x8J+gQ2c)eq4kFqV9)RZcl z?6gwoKXs;+O0V>mSfqtWsCsgP3UtF&cMO?bN*m152)l8@`y$Z3IjEW0&^Sq6OI%Sc zT-18nBYv92Ozh|+W76TIwRwm+VBx{p@c(D;O@Hjlvh2PS!C-JKCdtesGs&E@vMOtA zRdtrjhNObkEwojFyCn~hY{?b`qhb4tVZe~#|3-g}zZftK3vRiknz|}8nFHsU3^Ib$ z`mMG1xi^@Z`qIb}Kg5Z6_nfo$+H3E9?zzLe@4owxLJ%3eoB)#0)ECYpAU~V@q>e5E ze5g4+wmCL$}~+z%kuIx~1m>V3*7w3ZK20tOY?3uOtRC92`t@o`f81^s!eT5C+Dk zX@4xbRFmB=gL3M8Rb&ajeK=;I;$r z(ZLqIH4sBvyky^P$n2LnmKbCL0C+}6OYpI>ciSnJaHU*eJudiL;|q{Exg{>7!1}%bg|RIt9hRtnv|?dwT%ay zwre-75KqR&>q0>Sb7?B;>4byvW&JX?{8S)s0(s`a<0rf0?bl9>_uoCKhh*IwAAWdu z+}_>NQ?vQ%PGW_{MGbhm-O1RubFK9S#B(I!S2C3gvCe1(EE`CB&}p_C`{cr;SyX49 zG_%bdRU1Tti;Q#pd4wcDW@Lh%j=cWtHyNU~%y?u3P?47mk!flPZ*4x_R;=qpgb53C zGI7{GK?;v`PR<>B;bSG0eTV^{GYRC_b%8e#MdGMQ#4omAp4z{opKv|>%G={dfAU|9 zKlr=29tEzJ>ab9+t-OAbApr6R)JjEnkU6a@^Wa$3mi?nI&p3$3+a|$2zsC1$7D6 z(zhQgohe91$eiPEvmO=;C$^nOnFwFK+hQTeJt+vh~O|GLjh z+;@Ja)*_umS28Dogmr@~o-;m@vr(^09OYgV;Y?FzpL#qhwd&XPB9*eBc3WrdgP4UPm z7mZ0Ix@A8zGZ4Q=L;_jcQ6g|N35EyS8C+qI^>E^ zy6HHPxy@Hei@W!G@b?%RV*(q554;K_h(@-fg>^v}$B9Ev> z-gL+!Z%c6fb;MYL$6?RSAQMvTje{pgQlatPV;2^Oh**aAZyj6!s8M+?s)GvvSq*Fw z-YlyAs(#DAw)(j40Pu#%#>kc;14f6KusNr3y=Q@zy5_NF~t`*L;Bj z7na-i-CP!>pW-q%ISlHzjv93!HGa}=>C>Lw%`H6`aCcnO?>)bIYI9sTb$A?-vHihO z#@M=a13BL})@{{0vORu$L(c~|KEC_T(Q*EiuEIai&q&?Sg#g`_x3P8DzOaWc2az1` zIa$s4#Zeysaxg=dv10v^ly|`uLt~9`cEKjo4z%p0$77^gi*YAPN&L^4iQg{4MILUJ zD$=igMu-^J7vqJU$4#bKyS=hCH@EZ%xS?BQAMHIJ z=XK}9cl2<;Z|IJlk1pLAmvzU^A^k#t?+QwQW|$|V3L=p?_{xcPwxM;5-5bz!!i%fJZCFdbIAem0EZu->5P#9 zzRefk@ei&X5Qj_jK-a}wJq}V-D)JHW1yl_!J75GhE3O_uqU%E6N+|{!%j_Beq54RLy@?xyQ?_n`7epD*WM3`lKVp~ZD znZ9JKI#k)8CDz5B+@OuEmjO?{MnHnzTWNsy)VA;xjpZPLvH$5AM=-q(u(N)}Rfee~ zZ+-h{WBY=;49r>aO^&j6zkriR!tBqb@Bm2T{VKp3ky0gI^b(-vRh|*K$d*DE>poT> zbE(*JpMy~5YU7nZH8T%@w7yAJccEDqZ#}lbZ|DNR#|L)+EJOAmymfE^Agh4c+B3S_ zU)EpizLvJ10kHPG3XD**BVU5e#)^i*RbF-@+{Bd~wW+i~HcK^AWdjeocxwlc-G;2p zNmaXB4E0)bmdJ{E%qqLZHM;{m#dCH?;WZ( zT|n!W+geaNJCnKPbv4Jno#3xyphiB|4@4bL=48NFFhBKL;hP4TS3qHr~<9INI!sRQT0Npytr@NASxEmR@~_SKDaa z`SO__YPqR5#P7X&WSlz2!;k{=5a6fR*%@b zjS_#W!sZiMpZu!7Hfg+SX#CPP>R$-Z%^(l;sqope+D6|$HFQIOo(XVkT)L)bBW!N# zZXJC`R{Mlmii>$eij;)blH}qUA_ee#>ZOJZycNYj3anSf{Rpw-4I^F{WBbCsZQHCk z=6V2$OfNXn%rd?sw|R|g&y%j3I!>EQc0GqGhKUzF@zrT|#@C)5wffn21m6)+SB!23 z%O2SDT1Rl=0wR7)|#&UbS`;$K!|IwfQ({b*dAB-FN z+RIgL`M-VFZ~pf*@A<^v7bze!t41H6PPQ%No<+$%Y z?Uj!b%M8O9+rK!Ua*hHXt%Zq=b;cnMU1!(ZYlc7Twh^(#Q{>KFe8$GXzMSz$!6MI; zkfr?*WgLgou(+{C>qh%Ke!g<=(QYmT=uRkpCE(R}-y7S<^otiC{dU~Bp`QxWMS#si zhaCef9i!7+)7ID;qebVNV?5)I@p30Y&CrS$T`UcA8(HOnibCJ#Le1Cnoc+A?|5ywF z002M$Nkl8-7bBId~PKRH65?!sE22wXh2lSBsv1< z^sL9e5$)CcrsmPW^*+{&_?u2GL159rLjW0%=cgQ80LZ%Vl&#g$ZEDK8|FySIoO#V( z0q}Nd*X%_)5V^0Y9EcA(C6J;IK{oIP7&|ASzD2#U(=T;z-00md9s2AP!K#O?b}H%gfbodHnq!enI0X={JSUPNbwDbLc2()C$Cy_jv8Bi#|ABb%VCruv2D=`9e(4g zt;)W@s@<5x0)|(OS!to;Wo*T2e2s71VJBRH+Xolx!e|2f_JP_5aGPM|zc94yOX_C; zKIvZ0OJd-ktPo#_;X}&* zu`U7}Ihlt8zV*`fxOVOC_~^48J;d{nz7oL25S(foAYQle;*M%c#)Wu#8wN`|5f*9{ zOmLVA!Hc>3%yw*M>6ZO{cr3RmPU44|6?*V+Ngj3LR@u zM~-}UFG{WAYMPRDO+JGKM(U2v9Baph51 zoLlGPOTcA9ykxHeWfuuDmm(nMlmc0A_cqI$D-hD}<1usDqCyEqt$KNoB=tN~ENzbE z%o_&#WDZ-?nW9nKO52*pT700(423s*Sw}V`6l2}1n4-ta-1g~EAar3pwh&%)EQ;IC zf@Im-Q%n}S;L~>wfCUPZJ1it(T$&Vpw&f*;36JnL87`TtcL?`u{i{k84dHQ z8=t)l53zKyox1r|gTxiCM!=tT$C_F~)8IR~@Jj)_crfatoxO4F_;FtZIPt=Z(dRF>l_wXponyy`q1)n2XxL>8JP*{t#?oaV zgVDP8pEeWQkdqtn-*;#Q1-oXYHz|DOZ;p$#LI&oZ7OO%a@e^T>fqIh1S2Pa65iNMr zI#Hi|#YmX=kDUiXK(G{evaFy8j+eX1#gxW@%pcu?s6k7`V_0MCaf{44Eqq~$JQ|PM zN;BDheF4E2ql=m&Xy-BGk#WmlV*VaH1E5Fy`KS*r0AxKd&okFke^tNbUt4{wz5+1A zsg04%dWNdzzMWQY%!QyrZwqgY7)(Z^Y!3h&IxV~{8=swLfGnd!+NUGUHxJYZ42@s& z_s#(yQL4rno$OS~%35~Zc3)^$$jDFd+I2bBwhx(hsG*COkhq zl|1WUBI6C7(ySlU-O|19d%7j=cltWO6@6lKQMX3(9ckn1SlD9{7dc4af)_aM1{nHX z-aUQd|M0=?IC)}oyz}Pq@q@RH>Y{=!GVDGcxAe*DO+83(SGQts>%i+b5p~??(R9+4 zhxsdytjO{!nZ?vSM${^dHyq1w)giHL@M9f@O@fI__-S(G+qmM59tE!=Yc73H|eZ;Wrg zepFwHcrY$~`aoaV+0@Tw)pqHX;L$S&Ip81r8di_1iIrH^TNw${pAuo5xZTjaQLhH1 zd5lmeVsSWFEK^`zn31s_1F~P56vvomFMZdTp8pWYewH|lQSUcw*L+Y`tjyV<TQH5R=Nie_IGJC@aQ<&ljj;<8bv15&8=FT2zp z%HWvKOb97zZ#3<}vK|u?W<(rnA0^qGj=v~QlgrD^MLa9 zR2WrxGb4E%O@-$hvYxZfzs9Li$kcW&!cGc=D)gNzx`-sBO^^xH7)h*`2z-Ovrj^Tl zjD~UT?GPR_Q`1qe^?d;;RtY4ClBi-FcJ*_pk983MyT|%Uz?RNAF1-8Aapv4BMxdU zm6Yh=j~uG?&Z+qbq_~J7UHhdC%2JadQ7Ifv>(%caS6Iczfxd}jWOhzAO9ATGrzm=lFg{gg%Q5r1ww{pA0v73JARU3wYGTtq)C9@G zm0cEhgm`s=iMs(&u9jhhnOokk-`g9v^w7$0>3IO>PU+4RA)UMQrf5sKZcCz=aj8AW zsf870n^MEYw3s>2{tDbaznIK%kP*t2oyS@-i;?qE0^P*gMFO8V;+N+FaIubu1L_Mv zuU$Mk-v8$Dv84+mAAfRhT+?#_I3eEBn`XxhS(VJQbfD_o)0Sfy?EA#1lPQiBRY+P; zI4ZdC+o}KyE}@}ZoGV42ewywsGVePydB}yff5Aa*ujBH~Z-pn*d|8Cp zh?7@AY)b}=l;1?t@qqzf{fa(DF!r{-(%0aGKQZ-ugQwJvFLG?rs7|x|MVfsudkG;R zRhj1^>YJ}`$1i(u$x8wnsw@*23dX6q;T~hFDPtCj?JLj)NISd?%9^*Gl8cY{}9h{kd;FqsiO6#hyER^Ub49MK_*jXQhQQlvZZERrgGR@^6>o~r>L@7D+m@a$${q3+V?10Ne zhLvaeZdBI!f@(P@QU_lF=(Y2F)CU&;vL3uS)GFyVHD%rZ+S_~uVD3P0zU&m)W3vFyY zULAsXnBO05|kzKtJpEnw|;prY-{TJG)PLy0eUVP@cnAd-7Ho^gX6v^akUJ zZu{TS9RV9p_r@!_-T3|YbRj@L8~DQ3?znYFKO1;=Pe0G5PaXB0RDL=zJK03)7~PDQ z`96_|5h-3rua3vduwXIk7I|XZF{c57)xx~M9!%C>#d+hHtT#~h=)(PA5nZ%5khWuNV~F4_vc1M%1gOK`ouyfrlj6WR?^ zH+Kz`zH#u;E<pw zjyFO8^5svo0jY0r8A{~h!HL>^ax^wLj}`oumrXnG?yTEJHBC`c8~b8{_qN-Wyjw`e=Oq@o&aq z{bJFUemS7`RV0x$#<~q3%ju``MCS1?|8v|>sPwv_j;`|+!Q@4!j>wG>gmpV-40rk% zO!R^o3wv|XR>4j>ud?C;(HBE)3#|M$7E|kNNRJW_OQwo@YA|1Ya$|#F5>+s?lM5V) z&&xCsF2&^GScKy7AjtYzn-YY-l){EaOGMZrP`i2HE)h*_u@%|mLlC}>z1Tx(UMwjv zr8NJ+1%Mur=c7Kj08sN&RnJ!HexdF5@1;JWI{@Oeb`IIBvVjsom31(L=pBnUOxbae z)W%IWZ|Kmo-S(y`3w8#zLolUOrq=>k_6>1}6Zy8fz=z%L6x_tWVUjfh? zqmOhaz=xObjkomc0B`E);T%MLgt_QW>(>9R%_rm4 z3rEKfzkPCi@BG%-+I=)WzpiHlJkSS{`oxigFza@SeOWilh-5U9u0MmX5HfZ-Aw?u2 z2N8}eO^yTGWSxOqT`RVk*$V}Y{*-s)O*^&ardSzH{3brxcpY)nq=X};%#$UKX`B;Y+pQsB$*BoHtr+itSA-0b;fJOzog*O~llui*E!FcxV_Wef1I2$Jr z$AHj2=q=oQ#iF6pVazIC#wVp~T*qd`MH9Qi+Lb_^R@bQ02CNqwn(Dnx&Gjqy#tVm^ zjBj5!K8|Pt@=KTgFlWuVvd6sVLO~q!lo3q1nMoj{kU+OB*uO}OKzgp!HjoWt=3qUh z-eG`Mn-~1$!){vUpaoGMDsRh=*`{?7K%b5sKY3`p_wFfu{pZlQ{Q14{(RKZ#md1vQ z0LwPD3f<)LrP49u7T>e49R+_Bmh+9HI>D%+_%jayfNWiou+G~M3ajTL@ZK6)%viw7 zo8N3FZDvMyGPlZI8#-3hb3G~`j}>&1=S_z?;x|_j*q`+7cJhJEoUrL!)e^Ri)p4I? zjTR@`Aw#GFnJNXt!&Ld1zuUUK|CRTCJpTSa`(MY|H@`Km>sbyruHMp{|6BUb^CQ_a zt~M?%!dBeyGM?;`97x8Wu|ij28r$|^DIFatFl~K!lg~1C=!Ggy%z~h0$CfxA_mMXu z>kt%J#wz(lVyUT@zM)^Ta89roTI;Re(KtTwuk&c!5(}g?N6mxd>JzTIi7@RPNuG%d z(sDA#L~zSi<3sv}nzT5cp>izf*G2ItqABgW4Tvl`;!7{T@x}@5lBuFt)pzz7f-ne*qz#dp3nE`R*-xO(Zgeg;Y&hT47v#aN}|b;q3W zl3VKvOFTrUx=dvPhx#^7Ow|dUJ7mQ9C_E9{igS|{7qW^jv_LT^+V0w42r70<%9z+t zcB!_i_)4rubLK)&>ew;5;1fsM3txaGmG9QeUd+9?F%8n z6Jt;;(_H$AHB6p6UZLWh&N`d2NfqC$XTq@GsX$`+!7~6n6wl4#-~vEa1v9m0Yq!6w zzt(*%ZN38FO-~z}H?wsV>uFOve;-IB=PGu#xi%1sH(2`128+nM2sNxWXB`qOFw3-I zRD4of;%1Aj>?Dt$v>^q<@dOh9=q;<0Of<;6Ujd^scXnzgzLFIW_K78S<_1|L&cK|} z;M_LYsboi%mIYb}t{4)Fz1ACtVrUr1`M1PO9I@r+!9KpVH-7o~o$>CATjR}__4~Q{ zRNq+nAP#&H)4qbN3a-KMNu!?+pzj_(d87yOZ1JGLBjZQed`WSkhlA?x*|mTfxzj)6cOqHbw)JoL)Wa@!?uZ19^L?FsV`D3NZ* zu6!p5P_iXXle^>fXtGjL>1BI0dJS-LvgCnj;&Cm!twQb|eRGtrXUzQFym0FGKp|K2|hr%Ecs)LW2%Sz8Wbtyj+6SJ~SSm+#*u-qEU z#egSzZErsvZ@zJ2yz%0;-b~&bA6|Xv2ZVBmPR+RZ=%wt5$LkgUb3H`fN#l>ORJqJ? zs#u*6>q5X>Faz0qnAnl%mznEXY`iH8-lLFrxA-Nd#8^026^V5v#|6#0FtwcAV=o;G z`zM;%Cl8b|&VOr)G?mO;JXh3m9>i|W)}f#cd;XdeDe-LbH7&h~xpm{txbW?tj6eGy z|HU}*^6TTOe$C;Qz6x;b*6p#Y+nxV?g;+Rbk%2w2A2omC$-2ZJ`C388l+K&D-Rnj7 zRJV;)J!70y99rI6lgXQ8){G7N>9VSt-hwB#9#ae}JY$?65yIh4$NNS5tiO0l8@8`1 zonK-BZyN_9nbg^;6dUapSxzkIOM%YEFO8@~jxz-2G!%G`LMIp!YrK#=wlK$0*5C4` z(L=BryAGiOo>c-|JcFxfi#hRtnB&&)xJKhdi6wbCN(|fxA2|nC+6Dz?P%xp-IL|ya zdH2mxS$7z2xf4&*DP0x(?&-Mz{8S+OwB5%WaYrJ=6OK%K#a}-?(>G{_1om!4WK+aFnII| zC-Ej1dm&jVs0`2ooC|hdr#6=;Cr1E{0?7EQwhMJLW+0v|i%&2%Es)(f0NMG?aunc7 zoHx+`DXQ#;+MS3eDf|mm%H^OMq*#r?+6=`fBUHG6K>vPHx+NY8FPgh!a~~t@cxl0y zxTiY#S|FLMR^yM<7f!6^L42{ty7_5SjMdVytvI}z>tj-p$GYQ)ePn$nf_qLR zhRqRC#~xiT@pVXdyy&qMz%RQL`tV`S|{jr-Nq%$_=}(aexa-6 z?Vt9ShcLw*y2k>073VNHzl6X>wf^NW|Ondak`dAhFmEBvww_1)&p-qsEh1bFKPm>5*(fQ?_44&&}3Cswq5+N-{vpFprv;v>=+i?{&cV< z=9c5mA^il^7a)nNM$c4py%b5u-Knr|a8>YQIEm?ZbQta)!~z9Ai3OfFwy@7n9Mo z4}|pXhpaOgl7$jn(=1L(C}qKo@3@S!QF);apQfpoM zoJXCkOZ-J=&k!5vhNDLBqKfBY?C2uErf&J))rH<~oH;wrz4`X|{CB?{w=Vxq`#PO_ z@RdZyLPpM-wkhx(Up2e4{e<11%#5}Kn|6OKp-K!wcstdGt~02i2m_1vV7 zA1>5V$XhlM@8fi?)4!qiw`?=X&CcUyiKqLRRXgK=$GlWkOA>=Bf3;WUU%*F~zz!|| zWE7v5<-rAjtcmp;?{?4Wb^mK`AAjM39s0p$cD8{yPK48J$#ptDJ5gKl|SSsKUFuDfjYv1)YlCKq-X^T999OFKs$nQ9l} zkm7GLTDCs%=^dsK$}`MbIuCZXeIQaK@-fqb$#@4DUnTR7RBiC^cS#gWEO40*k^C*W zV#6m+k{muVF5llA|KCT~$G2WMJYGM)Eod?fD(qgLG>dccO5}rxYc2G1WKVWvuQwce zOz+s#(|OOH-5h`L-IL>oZyX!D4|e<$ZTEGzz*C(hY;6%7p7i#Fe91|@WqF>(Pp5#=h_#GsAHN3#J-7c&d%8{m@<)`)W_*=6H!% z4O1?h-H#-3;)_4?Lks~GF9CV;Psj7A6wJ{$>Ka92bi;Ubi>${U8NXfa+2WJ9_)qS# zi4kn3%0fofhbPU9r~7C<=0Vr+r=um-Hmck*X4u3o7lYzEkofL)e8ivgHetmLziv@E zboi*Ad+~5Q)bFK#pgU7e>9+y7H9mO(QWHB-m$^Dov!?ObDNxU0091DSYUG7;O&=a) zw5slQr7n5Rf04y&u!dvg;8yk$O)ly3$s-Q@Z`auJb6Na4fcIxwzpv=0Jin)}1U%99 z`0I~ujk}L^QBDu--0;sW5|vyzFMKKz_IvhS#Q1`^O4`~gP#YLP<`uDI&Xb?9#cfJ2 zAQGmOrZz?Va<`b1k&HKs@Or)DPd1qY2_|8&tQPye=`>?c3rh?%=R+*01lxMYlato9$H40kL|7T)B^OmvaZ<8JcO$yGm5pPaZ* zC`r*IcaJ?dNHa37z{A(;GqKr|agKeu4re%W%rUZf@$3B-b9MS55|!Cc{5bD1V_pW; zGBA0zf-@m!IO?EF%#@D99WNx0fpcn6<9q?trt+u%oL9uUVzA)Z1q&v>s_jygt+ zKun6#JCrs50?>{MBG#oWg^!0=z&8sv3B>rw6-SBLUUnYt=z*t4^n8FZPMtfeuLQg{ zKKaG}Kknc7Our7W&5mTohEGbbFSp$%esqeZ{1KH$3}61U+7w|)XhkVI9=O`u3o#ZK zfHE+j{bfDcRlJ%kF-&%8D9P73r>7;{iP@v21+^^~pmQOgjtd)gY;OZuWGu`g5x%51 z`QpR=Vx=V|@t4PypXeB`rBpr%&M_vY#B3a6m4+zs>p&+3{kDmaIXW#Iu6t`&0>-BE zDP_#$FXIx&+yU^(zmy4}zs`&B+P>S=T`Gv~9@Jko0tXiWGBQlpnzF9Hs^9Xjtv-I{ zLY@KOBT_alLd%uZ3b88W-e`G~QYD|L(y5JED(?`rNwB?xw{}&tk+$3qc#{SGDB1-; z6}{@-$w9`B44q$qX;(q(e)%Pa_Tj6WsKwzebz(3Mq3x>+4rxwkLBNHQc(f?4G_-7` z5td3u1dhVFr5!Bnm^c>b=$PLN_i0VNG1W6xC+h^FBR4;vbM@io_>w>^# zeW&%xP2CN!C%oP4l3y1n~x^PMWS3U*6fkxA3h1kcp z{iCYV@pNA>pHt$AA#FXpT{yPW_Z>QGh5ZRNvB}LBmL%j&(cz;f#{d1{)$xMj`o11m zc~}>p9`WfoW>mcj)P^R*nOTJ(NGWI-pqkP?*Y&y$B&#Oy)*)A$ZH>CyfI4@SjJsuW z>~)aNbn9-%)KW|wFzZEDYH#YRI(}w{#$s0|$fxxS9^co)0k`$$^B2FpHE!%|=+m(+ z;d2sh`%T>=Q9Skoml}>Wt%}uBL4BVAP-$nh)kmh{?M3rVx%onx`gP8hSaE2dHj8c9 z;CPM=8WXbRvie{{<|VCFK^EKWSC=**j}dxzSWv#mQwVGGMlpGK-=THvInN3uUV<_O zW0Lj28cb?Zcr0b4^>J6<`9F33o8#yI!~Zdkzj$F>)+hh>bg}A|KKaKs+kMtQ#QVm; z(cp_%S>%hG=L*?A*H+`fV_1$cPM zEWF6Tr*?<<_17}$X* zu#;c%LhOLU?Tjasabx^})hMcy^?`2H7KWJ3VodcpWR{w)n8P-l`1$`?-U%lqeW#CKt9 z`=OVEtg3DUG*~{`UVV$P(^%xfa|JEC+?fkUc(N{_$#!pUOg+os0tuBfaJya7ah~PV z%0!o@^_%(?fP=39%mH~08V45uvJ$cl>~Ckb_xAC7s*mwAfQp0HYMHq(A?o%4&s<>_9p~72zouPe1nJ27Y^j7P6h05!3yA8+KHp? zD3PIk^>~;DnS3~sENT|1BdPOX+nkY`1Ef@?Pe62yQUgDX3z+buO(C8xwq(ILIu79) z+O_9wI#VQ*zL-GH&Ra^4xyeDU(FlX%)0Vs`)0;5e39!9=eEgrkyfS|9^3n0l*G}k@ zSIK#X1#`9%qSAn~taYqL)6+1}>V1pYuSB6R+~c=W(FFgj9N9iO9OaS_80U3~&j8kT zKAD!G(Wv!DO8$zEej$Ler(Z`nacX1y=!d7ri$^xbFMfS(T)o2uL7f=elDQ&m1?f=S zu6d-k*CVn7l5rBy>j_&*1=j1Ub!?ls@%k+L@;H6Q94V!iE5F#n>-}r{BObN+i%&=H zG*DT+;xndfl4J4%7>}{HiG0OA8pmI#xqmPw{%uo>aF-o2^4I*lfAj7*cKX8j?cH*P%lVVJri-hEge#WAHSs7-% zt%J2r1{udd{RtbPD|W1#i<(~Ias>8eap~H*$7(f};Ruqojdhpir{5RFy$`{&{xg4g z1E77M_Jf%d0(;x<_`(L4fQ4Z_gY&<3p}hImn;`E?rPJ}q7kL7~Qh1_^k;f#HL9Pe{ zUvLBTzxfjnHt{>h2fPE2O0irwiD=MoS$2 zRSCwd&Ko@I6c)#vL|^OP zS}6#Xi#uws2S9C`pi`S?0_^I+fQR+#N1NKOU3lkpKd0!EU;U-ND)2~m0vuy1)j5;= z5TOV>9>tq=y2xt~aX@Glhl7bo1ic=UV{8){?R7q4FMn}I^y1C`KAyR~Ra{P#5LW&w z3d;!2cXNWriE1AMMDBHjOvRP`c}*C@_L&?AMM}8vqraj;qBc0QL{HoPkg2GTouHQ6 zS9aEA7yk({F$RncTOItz_0?z&N>-PlGI2k9}dxS8ZZdpKUq0Wj!5y z1;B&%+$;_*0Ay7#S9=zB`^)-k-Ph7Ssb>HXk~i+emcZm~ZrG*wCyVSPDiRJr>}Yt? z*hV>!G#?vxNL{fI-a8eV-ouEnWCdN>WMeL*NI9$t#ZJP+;pfd9wnn4IB|Cz0KCeWA zKn9ovZQRctA@bfS!otog+`U81CnK?i%T%xxmp|=+#=fW>jrBk>sK|+B)fbFzVh%6u z9E8Afl4Jvnt4%FRo%HZbfNKwrjQ{JmH}rLY&GCkQ9pI36z&bf_j?HiLaKN+T%0*)c zCFlGe|9XSPvjH}AA%F`4yLTRsQ>VxH*-y`ozx}O~I@!HHKK%IhxVxkHw)1=Ko)Dz% zaJ9aD!pVAPqEOp~^|eOpO`QDsk8Z|?ImkPNj6Z~lYu481>T=7>&zv#`&a@u&l?i@T zf=`pVYr%ZT$iBotND29m9U%Ni7-`~H+bQJa+80iQnpoOc z;a^E?+P5U$Mi~=y8H0rnUzrE7j=i8Ni9JN_O`~q`S8a0@!QA7>$=dz zgYxSAzSmLj3& zHT>FU%XhZFaEF%IaF}A5n$(nF(!if(8cfeobt)79iUNJbYYFxsB5OarUnDONXF1~n zT1v*Fb$(Rv(EnLoAuh_wij6QTIsPt~d|z7LIu_-|DkTqObfSwrzO8dNGMq<_hqMWFks+s`YaaBF zh0j_X>!1Bza=`cEgIFQ0DJPw*%AS38kg<&K1#8aYX6&Epz~%E50kO+i(OT?Lq-VE| zg+AEKx5~$XAeTYeAnLx`vO_u7iJ4gs8LvbUn;a9S=U77RS8`g$F*d%tL5>#w;I*_J z3vY`>OHA!y*#$gz{-)wkaoH?CY8S3dlee!1wW?s_^> zensH1jsqC`qK3!9x#1=L_UEu{6TQ9&40Pra0mqIz6BL$Wto@eS;bP8!AwMnb9}e0n zof8*jGDg^Det@UMK5{y6XMEDO%>0aN{KP-jwSEZKI%Mm8klF0Yeo%{o`4|qOAvy^7 z)hXGkIb$?PahN;4+NW*ct30rwo!Bc@?^or}^C(cqi93rk7R-&x)+}aaB^Ebe^M(qw z?W0DA3nDo93V;XaIa>75{y7TiuN{h}+ZW1O_GN8kE${Z1_1C(urG4T|eg<&KK%0#> z^xCM{SRE?vvw;$NJ_X2z-T3BU<7`=PjNZ`MoJF(f=->x@xH-|M%?=VEZM&z^i$c{q z01E_gUz*loOPSnm`vXjb>Vd^4*3gRl-hPwOF^jOc9I|@2z`vuR zrx!fP)s~prSMBQr2!wMr20iG)r`ai$4nRO)x&4bbNY@{2jen)@1;6=?O}#-nqFaY+ zm!9D$i^LiJYD2XS*?86iV<8p4GN3mePvN_-pX|BwaJ>BT=JG#Rpx;D7eR-3NAj`C>@;0S+uR=tVs+Sd1TCv z%(F;%~3iqvhnOdtRL+VO#mSh07k)@RW+guTRzu6S4Ov86oGN&WV*6XTM8oATa``{Vm>93SVt zv84yFancwc#zJAg)T?5-`d!DlW1BM6#H*5=3OsGl$0Q&x7fvZ--wDtUCw!E(y~m*` z*yU*&B$vhBv1#0~XZ|s>^)$}h<)hpmjmP8r-#eq{bi6SB^4FKgr7Jt*(DpHbvd@vB z1I91o;~EayS|qMYkol>9K+eCw#)xM1q z|8(QX_!~d}@5b97{A}E~c5mFfqo@5}>rei(-b0*t;zMoz@FjucY(J`<7LHXM<}^~T z=0M&ARuZZ_PGy0;B2M5m)rX>-m4I~tW_BG%#}dBi7g@#z-;4)-eEgyhze>hR)*X`? z$m~dUxUwD?V)`Ci>x5#(l8x;d9~--0MDi7xSsjPKDxL=-jScg@+g4kSrTtEp97D+0 zv13I{9P>>Zd3+}>+~*h&USjnrLJSfIAm14lK9KNxUd@~`j_5KjL?^P!DPx@6kaGdV z+d<7)v6U}O$iUVaD@a=++PDm&d6Ci1w%2npR_ue^>h(jCvviy#K&Suks#(Wv0wFJc zwFOiFp63pP2X6k~84JFpWyvy?f%tA`SE+}Y4qnogW~alCxt;<)3tud%Dtr7%N4D14PTJ}-v{ymWKCcH+>upl1SXldC|n#1@04 zPH+FxV=#fj^3Xw?=o8lsUOH$zeV|+Pb{>y+zIk%|>5tBjqlX@i4=-IAH}B|o%Jpml zeis{)WKsO$bdK$gezkcss-ao*OaR5*u{h6+VjU3B#n?N2A0!rgRDCiZ4(Vi{a}4D( zP)}O_vmkbC5KB*7mhq_!^Db}d9kW?i95%r)ew`2Y2(%!U{bOJxX#D|+Et`p(5)w;t z2ixOHOzt790$9x)$y=y8`PcyeNW`C5cE>S258z*ac4wT>C*a@HR{@Uep@903$T(x= z$Zt#N-~b=ID0FGBb%bd-w#ZAxs-%jjf%;BuK4v}^x} zooy>Q1?2IN%%N(XRY;DvvM{e8);U%!=6p0GI<24V+-tp(E%5;MKNN+g&K!2k8ldEn zBLOkxWHb52y4s>kZl=>>@qw$3-xss-*QtuS^>gmCvryp;z@vM2^~vO+@twc*XXA%| z^rz$ggS~O*_U&;;KljHQgUziF`Hdn*@|CiVvHeHsSnz>w#?}6H-~ z`T0*WV+2an(F5f*b>R2|*TCkbmSV|&dbGVS6lyGT5uiCz8>s|hTf`E!U;L$j&&w#} zG#sRAY*?sdKbHL>(&PaYgRHRTw}BUh3sEF?4(kk}TH+xVP+BbK4M;Sq_7j^We!v-X zT9oWFxKPR)9aCD)ym4-lVZkT*?4^jAl6)2e3iox3phWekW_p@Uyyq-jEv+SWb*fFY`E?es}5tNjuf?C)l3Wsv5n0-9`pxa0noraN9EuGKvqU(?fy10O6z_v z_3;;U0iZT$HlZ(U*xtAligvtn`&W?t$su_5jVN;~JsUhb2vYHu>o;0-u{Yj3z-}Xt z-!dv>@an`yHE)z$piRrVaHFdOs&^8Km)h*HV+Y(=?=p(6W%jSYy%Xs%5r<(Ugsd4P zBp3Urnvmdf=|(kJj&?v3%w%Xh~s zx)b0vJr`hG=9RANc#a9QtdgZBHt@Ax$`G0D_}(=?8>qVhp6WZvd$%9yR^+|$(+|#$ z|MdOS#woQI9tV$w`sB?U8|GafglkP;ph9eB zNLR~TB*{AA00f@U{YIbl$VH1r!|iaucLb&E5S=iwWjxy0>kT6pf>12-NAdcizp{0# zrL$adz%^~u=AeJVM zd->jY<@gxizHn4Aa*`N(-rm}p^{Ybe*v3x<()84b1e$4LgdD?lY1z77w+q`T%oLyH z5e`hp6lYozz_Zvo??mjeX}t*q=NAI>ECi+q56!xuvG~LHUmPEOc4PcTUzON6e9R|x zorXp(?#vUio*z-rOCf%bnIt_ouvjimX^sF=!OHPD`5J%8qcucr<`OFfDK7@0>}AKB zF6J}{W^8i<;VNJm?>IqaLRMx<8!+Ml^Y*Jk$dct^iRp*x}8 z{)3;5AOHLx>-i_g^y&Xiz4^bT?xH+u04{mBS9#4(aMjPU+z5$k&ILrtr(c3jxINFf5 zC9y^9V~rZvCRT&0-E)d@0h>8bUW^mPZ^z1C)>qk!57t?#iLIkdVB*a7vcy$D$!l~I zeiIRhN+K3UIFB<)lS6rp9EtE#N7Igj^(XhF8V+=eUDyP)%rTem=JRnq0G8gLBxU(< zC^g>{0>kBu#KBJl>i$AM^XSEk7c`G|$K}8J#d!4Kt{xVchaY24?9R>X;qpZWGg)g5 z3&)NH!(-nTqFRcSGgmmY56gOoJ1~!~+VKlMakGDmtbl^!lYNdaGTC>JHC$!_G}{i% z=2{S_bdHxO+%^K{N+B57n$L9Ir31uznzWM3GA9satnfjhmy*8U16b7hX!8|I+F`c6 zLkeGe#uvK$0na!Sj$Jxe+I=xmZSSkw-+n$kCe~#f4(Io zB*w7tON*{0^3_R!5t)=W#t|TOLDpB5(HYWMAz;|Iqq7wOu)}g7mat&wQy$9?m?EXM za{o*i=IC+21}vsYl?GQ%@DXA3X1Cl6c9Lq$Pm@Yxzfw3?2z`=)GVwp%+8&o5Y>eOO zO2D}jo8!Xi!+Ki(2EX)I{^1N+b9sMTvS>tG_-CS0OxjuN&Bq3}U;8-$x=ruV?l`Tl z1N`w%&yOGLo!RB9SM|Nv`{N;}J9>~0KdCbZ!462E$2a5SF>uBJB=b3Ha_Vui8q**= z1{r5?@GLK~I50Rw-=ht^US`;2Kca5W$6tZ1xU#v*T8xYOnS?xAt{`knFaOIzd3mvj+8 z@3JaYt&l{*(wri2IJI;Y!Q#gQxJ22lGbjy9j1Zs-EbPUpTM*+l_HopZ@dat?7t@ToH^C8R2V{Nhefrisd#z+l^$U-l-ORf%j=cJ%ex!*+Cnjq9RMN}_Uwq1W3 zZ7w*Q1CR!rs<+!>$Lj0;@Nk=$Zwb0TCiRl&zv>*SJv5MbeTmA>uTUJ4-lWOR@O z=o4KE`Yr!k9FF#F^(QTshmxDwU01;c)MjxFodrjbk0DXBiL4GtdsYWV?5f(O?zdXi_cg%&5=3e zi}ZDZ8DGtSWiloRS=&DTz|?5;+{pzheA9K!9>EL_p>_yuYn73vCVqApHqp}g zSS@+Qrf&9gy8nQWaX@2GNp+0oi0L!S?BEdE#A8yiNoKq9wKj}A630qY!uAut#Iuws z1IJ4z{h!}^IzG~y@UurZ#`!ac$F^=y_0z=Ll)7I{F46RfZY6iOWH|sy&vOB|BS3FL zp5EUZTl(pM*WNub{SUg&^ak z7C`_h|DYCp>5rytS~d!G^)u zuXyp57bhh1e|)|(D=!ZUmD+dv^W0Mzr8vhKIyOI zWK^>Zk4IHa>a3ILE{)Z?#6hAZR=@p@U4;~ugh%lDcZWRZCx4MnIfP~f-))&O7C9%5 zuVR%PkeMS=lPzigY^1-x&`<2)&W>F&=uo(^V6bNWdY$O@lAZex#_99l8bA7z|5i`@ z|Ms|kRX_Kq2LbNt$I98>mJ4Z+aXf8G;$KBGo8agGEWg6FI=<7}*TzD)xvrWUI;^21 zZv9!L1uSkCgbrpcTPVuE#@J&bgn9G^3(hc=t;c2|v9?I@=hBTR=XfH9Zu*Tgo5WAd z0f3$JLY?HrdTDaV;FHG0Ws4XeQf7W(xw4sUf}>zBeZ`VD!O?Y0wk}9B0iO)k(Tlb* z-M5?7BJnypOP|fD`}p9^BNwA66=LR`jz4Sv20XK{z80}1GWcq2)??wIGE$QlEM5>` zs=9{?KHARJ^MrOl9p?nwG~mu%B9D8=g$o>HUC@S2-lgD|0l4F7Pd`EY!i(p|@l!91 ztCv0;cdmUl4(lPremI|ijztcfUk71_;Y%LzWPTZdZJ()IpZIJ;EDk^1uwfq;=!liS zY%g52M7Cm@e)>Zy;~ns1OL*p5#Z`Xn!}~w676$WNKrhR}g&jo~ zH4p9p=)rhC>VpdaSr4AxwMx28Oyh{kHpbrtm(QB9~_CnVq!sNn?}X2$I84Y18CpaKH4}s zKEC;I9DDkBeCw5CiZn}O2w4SO=2{z;+`6=#gK+D3)Uh(v zs!g+~%DSK#vka90YaHF;Ynx{|_Qk**5V{b+1-ZwM_r|efPqqD>9j|U59{)zq1<)=) z-%saG9Fk=1)*LIJRLvKEy#S&>UB8}_W6w`wG8RzTdQwke$+Pl|iOs^(cXL5OBt*2N zDx%`@n=mUfr)btHvX!?n=A-Rn7p@|}flBmgr_Z(!Cg;_l!WtQQl9eWLn8EE0eto~2;CNb)`0B|eW`kusz- z7vAE++!PBB{J{%T{QK4eEWByPPxP%%*ku8 z7GM`!$4g&0Z<}a4J+Nvs#_Xpn-k$CPs2EPa{Hl&G zo8#I?ztXcgZj8f+4?CclqTR?o0om{3+sY+@sX#;^iESCL$h)6-g8^;wSZO&&plO_! zVJs*%B9qy13m)9h3tEQuoN*__k1@Jm0w!4KsD=#xDGA= z)UZ4!)xiaTtO#c7dd7ZLzvW+BeOwO#BqSVUBc(;5*X?z0BD3Yy*2~709b@!tlu^}= zfPPUT>60%!HDe!8T8Dhm(&|4eqLm}#L|&nIhv5B=b&^ZbKEbxXu#_D;)8;Dra0u_K z?y^E}C+!KYr44a7!iAPm;LrX=7)j|@T-d=s4=#?OVlxW@>{5H_cC8x}eLz4-T=u66 z0s7SavwKg*rK=Ce+2b4Ig6;%3!kbe;`fdQIip~w<{nAq6RMmk;P43p>*u(Py_VkqU zy@$FRKv(Qvy0ATd^!-!gy;qNpt-YOb>(>2oOBVw8#egk6ED&G5xuP68NBEr6DhdJy zU2@}yv&Pj(3G+uU^DKC5Jt|mOLv2cpmEZfDFu3M67oCWqh<|MLhYB7RIbhRUd?B~q z7(n!67vBY_9I%W}_`F<(_yVy=VmuJ_EV2bQIqj$VgS8v7LR0Eo=c85c)x0#rcYT`#2&+LJ5Cl7%rO$*EbI0Zet9F%vaQP0c7g+Pc9pvP zu3fNC!qjtEU&ndE1rTjeySfN)RCnOK_x`Ez+6zbYbDcNGXE(Hgvdyi2#)>hT#l$#V zWFC+1mgC-DmJuoj>4~KxE+ILTR28lCgsKKr%`)3~Hkd1bxvmWCxliO==nOwLtnFAp zqgLb9n<-Q~DQ1300pFKta05}hxoW#2Yu_* z%p9*gGB}OE4|-547}*(`H}OwJtSe`z6HSH=Y#?YW&f~m2;yn zIqRn1NC#ePM!4RdgF#^9m9vhHTI!WXNIP?CQjl5ur^hjFAKnHa;1b{@zWJYV&KCPd}nOYS#9S=*cPMsGLse_rP3vKI@1EYwGK8K1lm^Sc)?NI z4zYD1hIPN?>$>5YClxy$ZOA$cng;|v)z<+S&!ZGM^B`@Uz2mHHa0X0}F5Zx{!J(|}I`;Gh;ivNA*wLWat~>kIRH7|UeI0wT&@!MD@Oy9)>Y1w4yBkX+KwjqA>=V4BEju%^- zlDmmYfH*koA)?et<;2RSPnlvmHV5?=KxNUGwXI|sm&8$7D-MEK0%=ofzu;H}vLL1B+>OnMU+UmO zfbIy;^RdQT@0`@dkrU$+Js9*u{Y)Sa=gjx6JriN9f)h3SrRK_&M`O6U)#=&z$IDe90qwM%Tcu_whz(UN>3u@k>0N28`{q*EuJZjK4wH!i#}Q&)28A z-FQd)uk-JHFn;*Q|MfV0;>B@Y-}~Qr_|U&mj%|F$5N`apedaB3MBgXlUE8_9&bWLh zg4Hr)7GT%$ThIZk14~6=%%sC!nm(=1evi0?0L04ys9u$64-UW5#dm2+w$B#T7r1IY zh{xd;pIy<8Q2fP37hf7DPMscCKK|XfbNQpOeRwNZL(6;HcTP(n1emet`IMZHE$KSHC0ThT6UvfN z#tm7<)efU_GACL;K(YK-NNL=>B$1b8jZC|JrLV0AwT2M&Ad3+I$m?Hlz-2+0jYj z|7An>-YQ+G%7UFs6*k^!?<;rg2iS=OjfHm(GFh(pS=bD&vrEE8e|8gJSq5qznk%7Y zjVG=pw7^y(!%B}G{dChtV0i*imsom-SjfUuL>Rc~Tg~C4Uzk2Y2zI^1W_fiCeIm{o z1zMsDeR>uV6AdjmK=4NU^LrcmI)J{*s!s;rJhMHH5Hq9&Os>rlZ{{iy`e(~plyUH3 zFd_2Y2L(-?I6~RzqW4<(K&W%T8q8fp^mDS=98RyiIbSBFI|74 zW|>)g0WL(|cXUUhj9v2t6LklX+Wv`H!7W);JTcq1Z0ki>JXCV9r-waVx${Whg?}{O z(NAB#baKm|g5!b`AJc1ur8GrJg4OzM!Nv?buf}&a*Mn9bTgTM&U7%b5-~pX_6T7wbbX$w2p z!e=PE#XOL#R%qsXCrLhz(pKH}Jh8ZRvs&ffvI-WPxabk@D0*EH97Zvux$L?Vqm)x0 zYfQjni^>c4R@zPu0@k9Ua-@B)uoqQ~- zFP|rTGU<%v*8KQ)qxVd9iPvs8M0&s+ZnXhqj4IITBcDK;5opTahsPYM_xun4z*pBTs3a@^;yW3`NU zXKa-xzLE7CGx>6ij&Evj@qxGW8ZYp{R zkTKAvdWb?#l#OEVIO^*J+=h3-7U#oA%y5KvK-Wu_c}K=Q0?)mj}nv zY{{V_XaHEX85Rod#aHzUo2s?+((dykjJ@4S)A19?!5sjM?DJC&E&ya*WCrhVXO1(o ze~&L70_aVatwx@GIB+}Rc*9Mc(Fv4ITp(?9YdtVFV%LyWyQphd5p99O);6^fTNnEB zB?*`!XVZ_#7yV-k44-NAPLV#s+TnO-Ob0QHwoqRn?7cIUejO7?&aaB!bl@aPfoavV zEfhH^L*o?eV})z;vNdkX63eRVCSL8!Ve8Yr>0{xIP5QR1%M!d8O++<(_3{_ z*Irp$R_XlCxz{6JPPYt3S&!9+^voCTe($;GUiWbK7ZERBJY59Puczr#z`ME=KoLcg7iAjJSIJ?znvOzD`Px=?Z>6!F|Hni<0+^{dGXSe<}$1%NvZq@|#_| z=!l;G?9*U*-*cQ#ax%aO$PmCTFSaE7FXOypSj)l{bnsF@{D@ zTWC5$r1B_mux z5pQu5+r*4b{xC2-3K!T^*(Tz!ywz1HdoB)fYxWh5p;Jd6jZ69}z|M)Id=O4lvR&|r zQBvqtfqv1d{Y%3!-bj5=v=+K`5Y*bxy6I8^)cu;ykhS9~r^=T7Kx`@#Xc@Vv>N<{a zG*Mv{i}#@}!10v;Zks)J?8$iXg`M%%OQ*-pTldBb@ZF|LmR{CctaU3sfj&NhSy98NEWRt*>~`}Kk(rs4#U((>oHTfa!^== z{3kCb(y7i?nYqYq$X84BC{sO5@zIkL}94s%f!`r^` z_ho6uy29eXF7Pd*#HX^`piRlwd^5%puGf7h$||-LUn!#}Dn}MROB(4)Z5aQndQ2sVb?39+ ztY=-35q63Vd!IZl-lJr>3_1tDFUz2(kgcXablgC~w4CbbNIy!F>6(J=$2V(*lL?kgy zbOO_5@|BHa2QJ9H8z27#+W(&~TsB9S$vdGtO#g@;IJ^LmPGZQehwoR_TmH4>z5{?@ z37SpeQ7XOdo1#!<_(Q{QAn>p|1vyH+8af zLWUgF=1IfFQ_k=e@{T8T_LZWy1uqFPPqUmC$o~_4E#T4KBYi#K(b(D23CVLO#<$)$ zHC})5#MseK{CuG&m0i^@32f;i04F9~&8~6kUibw;&tnY+3PvYme4RKKUr;D7o5`F;s8Y z;*q5WLEo~9{p3=`?V1yKX<Ak=lz$)!fd;*(A zdCtqzg7l>|=Ce1dN|mkT3}B@2tpF+>)z7fqzV~F@(TUniXOE88o;jiC0R#hMe!uQdsr_g9lv9!5pzMiXPT z&uxj;ZNXg{ye=GIOLd7~_O=nP65C0EAj*;kGutFxkF!8kS0JE_6w$ISCeHSicm?PN zm!B`|1N(prC#!_quac!MN(18$RoYs0*>oG1J_v!=sp7J;iVfbx3z`2Di@Ds=>W4%a zNfA{nu`ev+LP5&BVoNv2oiI{#^b1$nVuV)XJNEGtH(*>+9(`kMW*zVA!33RSq_$i9 zg%=axSp1d_Z^gCnm){vjc!<~b+LTE-*yQegIFC_w8 zc-uO}vahVbF!SG5X@4+lo{SQsgSSoB%PCYcGKT{($T5}IC03IYzg~3NU5P#q0(Dw5n%SNK8 zV4T6zq6FiGKEX*>{Yt(0DEqs~x*On;9t8MAUkf;`pD27w7XaRU^Q3OyJ~p;=+wE^Y zyESg=q~+v}e&1auc29WlPy0$s!tVh^e-KIcZ)$F+94E9Hsc`FrO_*oA*Z^0`t+2E+ zoM1doW)7x2cO$#qCNK?5DZp)cPL5qHuI61jD^`i6+DE0Rs=39htmNH}#2Pha%k3PQ z3Z^Qfik;{zX&rJM03$uvEPABpS8R$aF3kgqA5J?2B>b}>Gk;SUv{cd-gvb<4 z2g7(SsSl0ysn0ci-Q@A3`{R-Ho!F`kyzw*}`zy{83ErnjDiZYWk}`5TCxI+b z3WUg5>lVI+#3g|$FZ`_8acc1Jatgi75U4WirB~L_MUoPfPQ>T+LAef+^HYJkV5rV` zPGA3d>$TJ4sOI0VKe#?_KjKb+?E{?N>&4ZScqOXd2jxv--#K9zG6Z^AtqrlDbEi_x z*gl z@;~b$!1u=Im#+?P{pZuhYC;8Wv+%ev_>xySV9fC6vZd8-%EF>|9P|vaSPn^aNd{*h(I=Xu;^^xK%I&-wQAR>i8)+?^CW#-zaF8wk9iJ2+OdogN1Mn z?Lds`SX3dZ#x4D_aFnN+xnERkY(hxCyAjgOewT7tLla*|nLdJ+Mv-r(1>NJl_4e2m z+a@NQNi4&Kdx7!(>ty0!U7T+sOBh8{#)YNNyaRB6iV=p5S%RfFtMccLl>nK*`3hnx zb6i;2++oai;r3X@L&bn?lJ{QddndMv9GtN*l1iYeIn7s^$q6j2>U|vq%?Zf<0**^^R|yBcOJiPKd!)b%!Mxg40jQiw(g=26uA<&j?=7oyb91jB53M(b0-nz7?j0{7~ zJ%>>1LN(ALa|BsMXLCFh6LqfauWbPK#iZrvUcv-so@~krzm+)l^!rz6MHHj#3xO&| zbFJ)bj;#uZ7XYd=pOWnG0zh^IW3xwkm%psO)_pByKLpS*)wJp;HU>XY+`zdpugUP1^?n_~TgC-|crjn%+@F^Z|m|Nq@-jngOPj3(XZ1{NRrISMs&>atT z+b}=V2i!fzCm{U0uDl3~t#B3V%AxxVo0vNeOijmeiGH`-UkkYXa2$KIKQ1VUORt|C z-+A-&c;Tcz&AoDS{PN0e?b2godq>~tQ(y6B@8lS0>#Du-;5Q8ce2`Fa5@2wv7==N- zmUO$|cUfa8`-M74S?Hg3JJFAl^TcIyVPr#K^+!E}#I^vH#wH^o(!wz-ma~J6fIAXz!7skbT9|dBI_J5pt+s5%6{5t7arrS5 zScyD+ZEval0?k2F@!Ax9VsYbQtxs|F)OPjl=QkhdA(#8(UET72dRybhFz{ou$ruJ6ure?~61VOZ@^gg$X7 z-wveu-~QC+j^B>7>BhJShYD^FxSBI?TO1jkkUCB<#9#_hYbs?8_8mSzFwn~u#sVt2 zEtXBxAZ=nB^@cg%;h}5%q!?rHjxIvJ`J+D_@BHzfjoaM%fAzY)_pb{}T7PiqMBa1T zf^dsn|MWfVB|{{PO|w>ePHQUwWVUy1Gt_QB?*&P$1+4b+BN0-^ z0f#4>a+M3=vKwf97|euGB~*@0^~4ok)V=P2A;kp-{FgAQxn0`!6}TqDLS^Gc><=cW zBUc^R^nv55WvO*53WLECoB34Fd$CA3NiRR>)+h4uVRK^^!iqhaI8ZOKVUfB3t9=9C zOeS9hwpMlap@Hi?TbB049$Y1S*Gr!J-{Gb|DmHvptXNacn5I9eBwEl`Sz@{sR`t3_ z>^YmR_F8O?s>d{(%}d^XthYMvUyFPd%ZiKe!0;6(&OEu(>D0LkZw|J!+_;X#xFTr|LGfw}>nUm9$;MI+ zf|T$9jWQ?pZkLTLIm(JW9#~%h^4|tkHiz+P%hXF&CW%3K`woe=5D>MA%)K_SJX*rB zG2FDEkGEWxIjPHY{8pS%C(4Kt1-??pze6z(*qU$X=`-#2- zKM(FyPZXw~2Vx7CN+xM0o#d<2_!+*>_l}Ie`}o#4t6TEF^YZT4QoxV(Q+`ML{%MmW zwzf8xV`ZNMkOrm7WXs8dm62N!kc(h>NEtsHs5=6l=&J$8rFixmC&oLMPLFTDc5$&2gi!BzVBx9b0fQ zD(n-+M>r&)-fVRo>z$yylnN4aB4J0zmZ%%8T_L6u?M zPNSf3%IGHOFt#-LX3dv`+&1JI(>jUcWcJF9z3~nG;>Fu9p46whoOGfUvnb)O<~c5x zF_(@Q!A%)*r^wdwU@=2yN)FaZx#>`^Y+SCoGi@+QxfE3= zrnNuM6nOP1HlJjpJELC%dHc)jL{QOr}$Ibi4HP7^0+De`Q4#=&u%qOl63}4~T zxWgd*W}hl!g(N41;M1s#L#o*4Yh*rvFFqQKop}V?EK06_E}QmvZNAxeD zoRCZhLEv*s&q%p*^ZGdT%$s`Z|GypE7oH!VfBM;YaPR)umpyBF+nGT!$66N>>;pu9 z(yMYufThPOCo6=acDj$KD5cHmHw)0y*P6^mP_C3dU+NY&4`8WgEM?R6RAb9F-V+bH z1t$&d(~CIyUngQ%uq#c+Em4P@_lWid*Q%WzfP;?z=1%+9j$>ewqs)__axapLr!16o*f;*zGr9Sh*%PKw`AN=jV_XinU+dF#3k-m1Q zWM1LTqdYQr!9cT9CDh_<3U)hCKGcmW`L zfw7v=ocycmE&tl`Q~DJE2T~KqZ)_GMLZvyd{G zX>7=2u9^zX@5LFndUN%fCIx7ps6-H~7aS>I!=G8hi-i{mRp$aOkRRH_(OdpY2gfQw z#!J3p+n;E_nNQh`2BTzORrVs*Wfm^GtTLOeBXQdq*|+A64MoRpUC@M zAw1!VPnX>eNC}{ljP0X^9bk^01u8IR{UUBXA7Ec!3wV6*p-%Llj8|XT8Q<4$n7^g` zjGh_rfxfQr`7J#}aOb3c+Ds2FqZ5mpvDKB{cXq=Y7kzAKfr%giI+or~FpyeTQC3@^ zh<##~mVQyC9~wswHLc&|1o3_@qULqKH#zai$lL}qn&qd7iZgILNaeRihw2U8>aHLb z^s4xi$KtjSxk)sVmAfcEj$gHPJwby(s*@f&2tj&)XjO8UU}DWNaqHbC`^T?Zq?qi> zL8#*bl(H;BVW06@0qejnwmvkGFb6m)Bw??AXie=4h?*DrD!|n{kH;;2kNYh>aPkG+ z^3E}$ak8Xs(}wuVfAZ8@Ug~CFrRFpH1 zblJ9kA(gJ@TX8zmhVjZ>0NjCdL=Of$tDjE1^sV!Hc;b=q_dmNjzSz^(aCFez`>6YB z_Psc~<`yseFe?HRKM`a^Bd>n**cN5&D^C0A2GXQ)BUCGe#|vYq1U|U{FC6>8bFAv{ zI7!DJBtCewzw%HSIO2%sj7zwV>(>9r4;2Hui4m)_=Za zEc<00h5+)SQQ7fAi)#8}zA4`FmvKVB)OaS|iG_bffDSqtgHYh6%`7Ad#gns(pCmUooUDDZ9>H zUy@5LjVW^kaNeR%Fz2(*+iz^7a3|ci1hH@)BGD4d^i~tvO z8^@-6Q6aD}t^C6kCRSzQ0@`_h+AfjIS;vbHfs?%~d~#u1i9H6252)|FQSP?cED^8q zd?>(kgLh7y)=vXIH?DsC!MO74zt#Hotnc1|CmutDt!2)-T>U@~mH%b_7)@s>WnM3) zj9cVMlsO4se4t;|=lH;=d|BTF*rz{{bb0ZYzIQAV+7CX9EB@0ar2cQ5+g-tSj6m_P zxZJajf4-rc-xiF+qRmAHq{Of7JOH3V)Y(V#c}yKF7LEZ-uvFd8#G}8ku5r1L%-m`n z)~UGFt`f+?eRu~zI_2rv9$o;bVXDkiq;kq%R&V*&mhYZ>`OopZEErh;=7NIG!Sy85 zq(mHPI?><1 z|4?t{N5(t)4fEgo)|v78^Lkj>?fc{Bit)BC7VPfs)`cd#i$@#3JZO;RWY#(%fJ0JA3VqeRC03ycHK1SC^!Y2{!wdJI(VthJ}Dhpjx;k* z;$PUpCxCKMe%9@CY<4SuQ%|8^+G8jL^wcbj%iQ{|!jmIg)N0DoHzwr9}EIoQeplv-+ ztH-Q;V+=okxPXIzxU$lIkyntcE5?8mK#%A9zS3&yU9os~> zyHpb)oFPCP1o*bGmr{itk0kt}NQf?I)7p-~{K9#Ek{5UPTYR#g%X`QZSMg!<_%XK= z>U}{E={*133%Zl(==jBd_;Rq zQ};b;y-%dY#cz|87a!q)w~tk27(P_QqrdRb?iCkB`Czy6MvS+_VKeDgXk!fwLjqVD zhKhuv!g|dXFHri0mwmOZ4Ggw#s(2)Z&Kz7R!y+_$BE^#j>E&R0CaynCHdh6fF89TvNeKJ?$J&DJA3gEKp)V{qbD7! zf#+6gj>G|F^0MG?aFz+r;v={xo61@#2;2`{DYmpwawc_6O88@9N3LWstoe&S0gML= zuX5jNB>8eBnWMMFAXGRBzzqrqyk2rFH(a>oU?ATj24RJyT+=NTL+EQC;3)2lP4H!%kU^A* zYyuFM;Jhbb%fq(xYXFb*vu=;?Js4*%9veUS=2=|`IH%uue=@%K^v3ulPchU<-p&pW zFT+T06cAT3vk&5ki*^%^H_5fl_(<HJU%rpIE$Poq zJGlL)yid}MfM53gW~^dQL;I%xk)?sOr^-HP&4EBktV11qq_L-c%iIN#_N1khV`J~S z{qxwk_xSkuVTtOgG$!%7+6@rGUkNAc5ODxirWhEHg*HsS>!Deh&~xKE@xh<>rv0ct9p-u;mPDEN31f_)C^v*@nvHfsy(KIgjibcUco^`V0zRCXmGgbdqb-| z5UG#pD$gP6wPxXrwPm_d!LiGY#STV#*+_%;Y|GASOW*(jwm>$M9Vf`dWJp+oO5fTa z0&}uQTyz{A!@NTyS_kL%><}ep2U7xbbi|UGd+~>DYiSiRxOLN2I9L$?Exnmb>txe?=EHBS}$$ZC2ExZg>W55}x4Y?A(io`Pkw)Nq_ znP;9E*FO36xcsxf)bWGv0^lwlCH(uL!t57wlyQv%dv6gwg=6h;XgK0uFIlHA%wy(Y zq-%Tvt3HCGxQa{+0z0PS-T!WT z`9}?$WW7G6VBaii%B&IiE2P&!f|aC1)>1c*_IWEHR=87XFfGoHL--yrZ)?f#zxDl~*x!^7S zV1P@ReG~!#@kmU{NeG3O6ieBWg-d3%Q+01E##qTg3eqaEpW>9lVxO9Lh=msi!Y9Y& zyT`^)esg17*m*ME)z5|Ty?ibL_&3$G5EJt3dif=eP%Z634fhbl46cURiX{L_ZfJ02ld#BwcD+nPyH-se;8x0Hk$tJCw{|DxnqF? zCz7}?*&8_QI>^)=lYF2gYn%+TpNR);Al4%>J>#6RD(EwQAdwtEP|9k|s}KFv8Dp{O z0|3f6P+olD1X#MVSz~>nd@i-<1Z|kEAR-UO=+?08_{}ea8d@{48 z@3Y@}aCCfn<;HkJ51D*h54zlEObN@uCGppPaixEdk<9751qJi?lEVJOLrZ2u(xI+X z1lDa1x6l%_|HU-@A$W{dl!)AB3SW}a2Nmbkr+rjyi<*~tgY|;}HNW>C?(50-N5=QR z``mc>%+~m;|NOD;pwOCd>Xd`eScpxww2FO0TO^@Vm7}8-$TLpd`ry)HU_Pkzn4nV0 zT0G^Wc4;*cQ+hp2r%JCYy{rRuBqz{DgiQ^}`RxTfhHj<9q+@ zzaD#g_s8`wu8l_z9@r^yf^T2!OmmeFbiRwh0fHl*@>epu0fZr1zA0 zzPT=t?UefjA$^Q2@i;_iAu%sscZQCwlC-Xc`;Kfr54XG0HwJ;-z9ZxeCN8g#R2HaR(sXCMH}M8EHEzjFx3j7$uI_*5Jm) zW~#A^(EUYU%~-99o2(U0fj89QF;+&dW9Rmj-uuIZSQvvf?_-@} zU;7?&))6bUr2v$o`;zxgguImGi?N6Ak{IuJrAA7aNh-{;isCJ5BNI`$QWi#d?=Snv z$v@FWjvh`(L!6#0Uh@~Lk23_T`IC6qV&B%Ohi=UmKy~Zk9RN$`Jr$+H3jo;-jM$9Y z>RgZsafwg0Ed9y9)yiyRV5FjVU4MF z_~6ZPVU^hO=|SkMDoePVZq4R7&EJZx0d3<;Om>%>kKeK%~N_ zMvg%hPWmy*#AIZ!0vhZ1i^SvD{T0m8FZdu10w5~-olh9ZN``C4Lczu4I4}e`!9>TH zioCgMKM0nXP-8gvoaALs40^>idN|q76x?f;S?+r2>@s?D%L<#6F)dysxV9cZ?2&=> z{>7K&6iAgTOKcr$wCvltc0}YYO**27*cVgPqB{du=EsuH!Kn%Jz`} z%Adj7)H+}&03^xnP3sFGAdUOPfQT2qml14W6xIvN|7t&`Y(vFNKfqUZ!p*kWscNK_1y*pp+28|Q2q=RUyj+;3Xx!MoH=O1#O?q9KmbWZK~&;D z<0U?9qs`$R0Nu$?M}Bw#Ap3#w=`mXQSJhkowdH;WfI`XCu6z}li%j^Mv0k)T589&T zGz47bG>^${$;1?~o#hk@J!(&CY`SAYl!J2t5+6PUaH@hbO4d(N3Sjd+VeBd%$&e?u z$XVRnK0XaWPaNgYc4AMQW!w?KsW%(jg0QhLq{;{k+w|BZwagH0`iU(^fXOnX*8wRJ)V#aH%@j-P&{I|1}{fVZF5uLHnt z?ux_hO8d-#uJmrR%E+NDakWfxW2MP|>h>Q<##ia}uF0=|9p#~f`t){RcLdzkR|B?B zkMU2wb8h^>JEzC#tq0@!)mu8ryRSP1j`>OENBOR#{P!m)xOC#pjJVJdWB=KI-hia4 z*wQ~7^dU2(h+M~B1>Pg0g*P($sy_4W;gb6|i|sUC-F}k>?Mn|3kP0_@4?kAl-J9Y1&i3(4hdI@(PcpIDqMRvXbT}M_tEHj^A8+FdppP8-H-=?AYNq zqD6v9uW5-ZzRX3jdB~$m<^a;)h&`Um|K#bq?X;;p{Y;g1h}gJ;4l4Z0eEb!Hz&Fa9 z*sj?fl`7zm*baup-nEPe18R;v(nIj>9JxP!`282g+ZT4m-~9b2<2P3yj*};K5kP&( ziHPHo5!CZl^-Kl!6FRgc+J~R2qjR}9RA1IPZ0m)+O=@4Yz1gBdZ5H*Vdoh9_DAQ*B zxvN=AG+BM?vUJRsV>&Rs{Lx3_2Y>oMjc@(Lm6#1|Or#1(wUXe!5nwZu4ejH+ucrNirl6@XqHm;2J4ETL^6CI)R0VXwqR zMZR*|?S;T9V?e}M)nM!d`}7f2IBi${>|0WD*0R`^U$9D%N>+Txx|}ObZ(ZB zky`gV$+-ZKHw7k+T-E|hnE<>vc(JImBuv_#xSpWsbJSujjWCS}V1dI|%}c>a4#_O? zQ!eel7gqy%BaAHwh$KSdb8OnSIC-SqmMq%+oo0+3)U>fRq6#>?I^Z%Ho3t%_F^7eu z5N0ecwvBQ=y>SvK;>6|eZKI$Ka$^6K4O(KizlxG_PTD|+&vDL}J!q6X!bkGmc}m&{QfwuPt&j7JK~4#UD!S{-uTA$I6=&!v1{V?A91SzWRw)I-(Zj- z?l=KpLt9fUY{`(5;K3ANmDwMBqH}~dcfE!#QD&L*bcJ07Hu5}2yPFtb1Q4|g)ZQl?} z3zh`>gvP=BCtKrJm-T#$6OYID-_)%wx(mQ>NN^gtY7xR5-6Z8Tup-7hO4F2XUG7*5=IXRbtz`6J!a-m>;c0$7)|~*F`u^(8 z-v0gZgZG{vZ$5iUzYg%(_~^<#ebq(}-qd%3{2f{u`oxsUsX-gR83W5WLFXEt^jGC| zkkWLw5pTzqHG~MI*Q-q?);-Pzt|-Yj#uRdCtJhq14EV6>$vB~tg4@@=7*9@I9Dn$) z{>V>wObEnAsMv-q*@SW*br9 z3O0wJoU66=)iL14egJ`Q&e%E(ofLT8!=JeXR7zYf&P~%=uT79(Ihk7Q>}RDXP@ON8 zhoVE~_zv_vcBWePuPwTv*;NiiReAxt@*1(@LZWIA#l?Q>@9_6~ zby?!kTo?t8wS~#M*m`jlLVZAqSH}Sevy!=!gzun~_js%p0IvP$;^qclUN7kH_60lT zB$s+^F!wcHCtD#tZ9K8h}5DBR8HhqJ)wdr9j4YHsptQ z095BZCE4Kxfb0my<{YO{HAcknxX(8imCc1(O*J3L6MBSB%(ATgSM`&IXXRaVOSwnfn>0cx(q zO)!oNu|$4D0jdPTpBTADC52`HG2?M;4XlG8`>J-kosV_J{P?(X_sRIh=eKnyz|rxl zE&^=nR=s}s58QJcP)?_rn6ejh!%4E`;e^GR-#^PS7O+5BpfgeTe*mAq=35|g}x^VQ%Prn%7)5W5fpVw3Fc^&}k zmmO}#WhxvfF$A65IF(d)pAb0Jnro?P%TbV$7~NLzZe)aPr;aee8FLUf+Yr60<O2ECAYjT%RQ0dVGJp_uc2mJ1?9XKY#y8-i@L@3ov}m_Va8$nmmN^4&@uw%zOA~luTI!;;0Xc}`a!u}IgSu_Yye#D z{USBv<(L|L_41YR_8E#o}GZ&>t7r@-W20+ zwyE}!$C-mo(;6FJiqf41DJKma(`_m zwZw}*26VXE4{%#a04_ZsSp$e&07qe2@#9npQC^X^Sx5!I9E`EvE_f;8&+L=S;KKWu zr2IG()+7MsD7>{J+D5q(7>o|2**3{tE{Jbghn;S6g1s;!;QVWWf|8TosEsh|vO!q=?WMSK(jn162zmJ_df_q3l>%1h#Em_Ok$Z-{00nfQ$Ov zV{g3wAOGFh**&QPh@6HTL4X1OB_~sIOfs;X9Ao!YbXX#@UUJkv)~fY+ z@5U#8AxJs+FU|?2Il4^V3Eg4(NA$qq1%Px?M)_vBhJ4Kc=ECpbb@J>>x&VM9O=R91 z?KX~C1TwO-9P}vn;^SE_oF|_Ms-7$pbt&UvLR`j=*K~n0sV!bM?hS3^6up-u%EVW` zSXh8jb?!;Oij~D%I{lX(RPhyu?JQg^+*OYyl{nxH29Ie!QesEHAk9|}OSORmdvL*u zHE6ie8^y*d{E(vSeG(qzeQG^xcPTZPPJ*~3jGx)f|f zkqVuUi#yIs98VTWG7oqt zV>3HNejGy%UQ))k>{YUFHnQO&6!uB%gW7izOkb3-w@G;H6B(&8cSt1JA~*j8RGb^u z;hrREkA0bi_7IE7ihbcT6G!5uFPFvzB?JU|apHPYUm>}A_0IT1jgd1u$8<3(lwf)J z@LUCWomA+4FhZ5qg+E|0-AC9_$E|H-LHx+tm|{Q$p{`ii8|G=Ofhbq013)DGZ$n}n zd1)gG|2hy+#ACKTZsY3!@^M^8Q#beb^y>i6j&HwyalHSVYvY5D_r~MnyShV258X@y z9awpBxi=oy;-NhrW%ipxWVcgw#%FM8l-phe)>Z4;K7OhL*7ml^cbMnG-#w#=)^ja8 zL2c6op}V(k>Ehv;@n8MR|7D#1#_QuMPyWAiXMXzM?J!NbjEu^v#TCcIqqVGZ6spq; z$dy%6t7v~$1B+T1dMfd9kv5-j(+|@eJK57VIMR3NYr7G!bD$lQ(JbCF3LDm>X5Osl zghR;M-)V#5=HOl?h+|pp>o!7Dlx76p^}?7_a`cH0fLel}z%l7N3#_#Pw*Dj?0N5BU z@kr$Um7EJc;jwATOEAWv?-+bRQTl0vz40v(*vWx*<^MBxzZqdq8Ivj|jOshJJ$^#f z@no+ei~oaBpb7s0z2fHNzZc;qUj;Q>{Hy1m4Le!(ZssfVF3rU6U*GN^CC=t9Sqo?miyoX{_ueE4_&kDeiP zMPF|`os-0Pbr?Q$oP4WsA~J_1PID_7f3403KJvASdFsUzF@00BtKxK9D9^OgBa@-q zq$04GE$vEw&_?2jLF289LDqwc8C+vL7jTmRryM5I9Cz$j`(VyjEYc_PioZxQf>07u zw+C#>wkm&MG!t>PO0-WXVfbo-BUa9wP9$o)|2%u-5rj&A~6cf%fPPGmKsb9iGpK76PYa8_D1D{0Ii-@Xb zq29X6owc3uHMwoP0@b3E_#y{lVw+TaL@9+2P=JAv-mz7+SMQb?h7DMOdohgOLI_~C zK3Of!Hd$I#=-}wb;`P;XNzu0-Op`3_igO>dvNB2)zt|Du;=#I=%=+pJlNek0vTJ*) zfrgXr^}h0IT%q9m*a`hQ!0<%?o(b^kg%e{(>o{1xkqVDrs>c)2HaR>1!dD@rf^%L< zR@X%xR|;5WOPeQ;3JSnq3((yFM|nPgz7}v#-}8R{`7J#k;KI1{>h?IL?=#=Hb$8sn zb6>xDrl|B2N?a_V4{&WaQ0b53+3p)82_aZFA%abeqwh_EW9%$E@sT@7g7cjo4j-S1 zBf(TZ$QkxN2$c!_Oj>hBVxjbIiL7Xad{1QxZBP50$i>eeV+?D2MO~oQgHoA9-entE zUcnhb{0qh>h$~F&1Ed^FxcgNkNNgv$|HGLRk=89a7|#`V19KOiic49??D?k)S|429 z8%OjtksrN%W}G-?BOjI!1;@%?5)PWkopl=%pYi3cW1$~f?xs{deSl7{-Z2Iev4geB z;R`Zz{F9J%s&ex~*X5{I;4TW#2d+&6Y4?%K8Ynz;lkb-v7w295;>I^Gog3eMzt1MPbAxvmXy(I?0=O7UI_H*$$)mN4#D3Hw?PTqL&M_u7M= zFACkXyMv zh@C(TXrH!hDp6i)v8LX##8bW3cG{8X*Y81b6RRFJ&4H_!Mq*p_Dcr_#qF3BTc#{TJ z&p@$C=(;`OBw|yvbM&S_zkC7=3AovAml4t)YnMCST37N45s*{&O*yJI$cVOS8y}S7 zGyG{c?ect*uGiS^1MuCqz3w>#^UzMLliJ3TDKxM!y^c+TiZk&|KlRB!bvS#yYW}jG zZE_6NA!MF23bI7*lC^Ei$t_pG9PFh0E8hGOIDIvnGYecu?RIy2ltXF*<>+NgqB!Gp zgE$&cDt}b^f-15Z8<rTu_b|`Yc7aK$Wx&ZS7}c!OK=;x>jw#C$QWV3nKpY2aWiwR}OZG!3Yc$ zp*0D2g_+@&EPk+1Vv#q$a$N-Yd~fK1V0Xv)6Jxx5ers&klhmvE_Fyx|Xa;WxebbNX zi+WZpt2YWB{I^c%{N`4c%bO|+{qt-9{ie6R>^&apVStbJAB?wO-Wfms&c*Ti3tQvF z!@GLG*PU^5PtOE6a$LU_a7+h=OI-9Bw;I;SS@og#t6$TOdXtLS`yy?_5(MzHj{VdP zHNUlrwZv{y$>M)j(qF=bF>)}}p|_9H!-H&oPZ(V9NGoR;DsV`qc7j)_`C~7E(u`Hg zym3Q9B5#Y7uycdZQqgPiy_BsJ2K_9z&5F|yZNkC+NUY@z4UppKxGbtThe0qDltczLSd0oGCuTQH8oi1C}Je=r7A3zU)tY0cvL^x$yE zTV{A5rCa(7Th(PgxdrifF%iT{l-G3&H#hV#ymnnGWSH4s*@w!~pfKQ{VZv7=G^dVh zUfj`B@n3#vcf9-7#qova(FgjKkcUr>>yvaob)O^O?G6#G5KqN1<6V81-EAdCaDY{| z6>*jvv6Dg4>faZFVn9WdkOTjRYy{Ws(6OK*>BUwolE z0&cp!ffsA-tTi9{xzFOp?ZjJOq_UV82*7F8M{ufr4pMy^NCjLq?>p=)mTi9mW&wV( zf8m(1v3_+$xMu7yTt{CqHFjxB+Z3SU_Ej;9dQ8EQz3xw!jU!eDO;X}hxt&jW6=plY zgv%QIIMCn-7cRe0FfNRbo?dm-wpscmcCqdDA@g4F*s?)6aR@1|oI8}b>@Kr5^4Mpu zro6O1ev8oYN}{~ulSU@7st^b+VvIe$9IyLbn{Id2XaC0hOSf*f@zsCuR!d@UWqS>W zVw^*hLTTN{Dlhg9$$H{NQ`EGyL=zpHw~2*f_6xSbFZJ#x{1+DnO5G>r(eZ?#^UhuVDm&rS!J52wG9yq)JkWR|z-z;aG_ssYm<-7VB zK*Cs0wA6bko71mnB4|%WH$t19w4U4;YdV;(1WZIPD&@p=U^Q)iYhuHp)Hrf#KB!O8 z{N7BCw!k-_#1J0|sO8WVA|PXncs0+LTa_@VtDch=$B9gZ5SmmntKuP;r6mSBKJX(oz!qC9y_Okli};>cMr(n!S%)wDC5#XGScq5X0Js;rv`lR>w-#Ig0IDKS1xT~)P=;s9Y{QYnJVt}4$;Fuv@C-)Ki zZb_6A+9Ho_YX~6wu4m9fAPhPO+c*f*x8bE-!a>)`ipYF{0ve(KV{!Z~abSondPBP$ z1GH{Ozp*zM4%^ut6o%z51?#c1Kfr`yI}Q$lcSdnGDqO~~f8)eCu&ySaY1C{rE|+nL zA}Hd(UOMwahK6=@^sXY(KRw3*;L-8$@v-siPp^;f>LSrA7q|0O58UMNGcE-2gIyY|Lc`)Ap==QkxSQpdubpTe#*{-IPtYa{JVX|-7 zXW4&g1wj+DY*-*FO{$e(YNc$b`yYNd`Kr&fUrLC)|Md{hTi36TXWsbXxb)+Ht_Oy0 zjT=|5j{OG@Y(>m`U>nX5HGkN0uv`P6aA;^RF<^@w8~Uz_Gpqf;dLW3l(kK~MI#qo~ zgLM8hQxG&@7jFD4b+Z%|ndvCRz>+ma0_&!ls=ZiYUzAixzfv?f?410kZQTO18*e)T zP^zqKTY@xeZ(`DR9SE>W@mcK$JaJ*px`A7i>7!uG+%yOB)^&8%My(&q{#$f5UKI9| zh`PDrYs!EX0^@r*X-e1&h!W8zfu)|*O=N$N+y|wkJVWt%7n=^CZCg6+Ex=zqFL?F? zN*wS?Pxf9#6D$EX=Ag`=f8?e|Sv5$Uc8`}XNHW`KR{CcurHkzpF_*9bTeRHk&suO& z7XbKq0+;mvo1CP1Lz`FrUUIOcg z6@A6*_P8FqZeKUa`@TT-4ovmgR|2+8Xc5G}@v8I+1Fo?l0LqDbli;xrOl{RuuZ5VV8Srq_&2-XbWyNdQ!eou;*E z>W#0|i+xVP?OK~tz6BC1dC1<8TSEYQBv+V zjfD-QYP```8w@mCHjZ7!jzyS`ZbHzRB?PWXV1EUo42I-Iv3xb>f-Q~$7c7ReKTKl6 zZddxL;((0Q4qeE8I-*;DKihjUe)EOy1lSql72OH2!-D~3(+`VdznVh!97Ftg4VebPR|K}TdC_&&GUKRJL%R-VVvg(;Zte^>~9aBF3oprT*M==2zKm@n#~iSxc};M~I1? zH~Z2(r4YlDc2xk7IAM)UUgeCR{o8+}H9iB`+lUV1zR+%=jM$a{&LUI&tm`WvsBRdp@nXQA@!~*)g1y~&%o1eN~67oM& z=p_)yckf8x_PZVr9zS!jGYMYwSN>r(k?Gx@>7e@F?T$0~Pyf@7RVX$oNMXx%(pYrEJD0Zo);>v9?{gbnF|x1X$u}h8~BB!}D37 z?d?;30N|s$SI5Uc`Ac04*j3Z{t%0QG+2~vN)js?Lzk>rkF)UFG*&7ilPximBdG$J%gu+4{@c_o zE>Q?d=UC_?DVLz89rkH&`bbtAysp~`#!VoI1Ijp?WWDS>i0O+NsDIHz_ z$lh2+=rUS8e5G#P?l6sSavxw*w{*4finG*h zFHjct=8vzr2sF2R=88J@VV(=alFe&1ENh%i*2JkO-R_A9lW~$6 zzStx-7R1mjYLS?y7E7s#*`n!jDPR{05cE;C&_RhRL6t#b>`#txj_t&#Vm=Neu@EIR zq0m9R?}v{?;kI4)<1_+zL)`^x z-7ey7dGOu5*c7QPdb7yDn%}{z!U-M6UyqdO5%3Rm^78D3t?`4mPK|f;e1Ox(AL;o3 zd*hnE5B^wB!91c*26?Ddx*>77P0d%4&rH}Qfh4WllRk+^aznD;X=k4R<^bOYR8!^G_S>m!WWlEL=uI#%VRd@b;XQWC+>>Yqj}BD+40VS{T7h@Jgg!B)(<~8i71wNRbm@f%UA8;w<=1VCeVeY> z5@(@dY^IJag0wOhO+h6k?qcn%osgHKSXT^^XIx3@a z#Lho;;vkyovg8I>*Si-~g@w5r0LQ%OZXx53-#e3muhq9OI2`^oTHuVLXK=;J)Rvxi%<@9jj`H^I~ydmBz8e4GdZM*IZx0 zk9cXN4Z;q`I!->(J%E+|;66#1vg6Nq=u-xbjIK13_3f=?x{X>V%lt&(hkBy=GrLE} zYtQPtcFiTYEvW0&i}&P1hQFv6{a4`qscl@_Cgc+IJ4eUbeB^GAT0=v00buBkfN_6+ zJkiNM2R<+ACk?;z*6H!~i#uaifEzdNj$3<=^p>gzgsBsc_~)^501>AIm*g;AMZY0c zWeN&RJJZ&UhRVJf>F+K#n{z3e-+NKiKG~5HJo~l19p#>7%bLqz%K$aM`KG_JHd%wB zG#hGFyPF})d?~+}%oyv<9s~H4%ubbhH6-@YMx?%xzFbKWWA8VWdq3Jj2H~Pc3fA;u znEmVqdn6kXl;Cm_KNQpkHS*y&F+TeI)_7KTv%K@Fe&=3e!*L0Mo&Dj8WP!4&lfdM# zenql=(ZSc8-8SbU0_tNyx3k7>Ikn9JF0+1_tlYJq_P(yWjjias08Qz5YUAkC%zfPn z;9F~Db3qr=-hBDgc&wk#d;df31khJ%bT~e7ORwlHuePLwx65i31{$Kz8ACDKl^&{O0@Mzq*c|#XV_N^~h z{v_G_b{3!3i3A?X=$%#<0=WyteI*tCCq}@cicJiSwV&cLFUaXPg~?;*_E3x!gJ9*^ za$6M#WZnnF2@VtM;?1FW({(^GE_cS4B=+F#I?~L(luJ>4C>&y8JL(9E&B1teGstes zck@)R(gTrQxuH)SUoM~s!iCb6 z*3GsMb4Ac0M+dvf(^!HuPaQkf!~=_}qfgDQ<|cfgl+5GEXJ7g5m1s+Lz<237OONG3 zAV~i@gq%F)Ckpu*z{y?3`e=Oei@()Z13%F(1Dv+0BcKh`Ivj$tyYxbd3xGl|GEytG zBP{B=RGxDJG#yxv3+&21eb2jX3s9;ys}NFI5tjs+BP@v9EJ>N#B6mSZV)L{|=9A8` zwJ$2hfv4a~#e$Buv@D#|9Bb*&S5M%@c#r3@Lx#KNp`H|85rQWpT?#8YgUl&a28C+FB%rZv-xf2?A! zNuO1~X!K#E3RcT=fYu|+r)VmbyzP7WmbGvap1`RM1-|rj&tFHc5*LbFP6yd)^C`La>~t$JUVk#nIQ2?e{s!o z-2w4eHUO2p_zGukOR{f_(q=xC(fiMU+Ludj+hQ7+RE#=R)`Rpu*Vh4lb>-gphJI4* z_2;+sz%UN~vDl2GTvwk+$A7YJW@HH=*4?MQk1HgY9qz0nNt&FklfW|Seo&wadgS+` z2am?~i6i69S9ZqtzjNe;Hf+}?<^_GLza>+BQa z%l;s)G<0PF!u+LGEj->|1YC(y@3G#$E4AC!Sm*ATNW^H@eK0@$o1kk2DH8iAj@XL> zC^mZK0KH_0@xiNYDmb%a!pUIShZ`DfY*q26-ZFR1GKe6ZV-7nfy&i?DzLYL8lFN1I>Z1%Itsv`>4RpF2! zAtkRp>iS&k*}wK{pvqdWw67oByQ|B6yW`S7`Ll86xmU)m8#l*&Jr_i`IK&TjrY&wr zsvb#glZkx!#8X^5KA_ZC8j>cA&P) z2EKAoMaSHRg#^)w5%Xnfx^880bWHJ*ekqUBH73?Hb%#}TGSgN4iGLGt=;!}-^=kkp z$KJJ%$CY3I&Di1&09_bx8`5F2Oyg%i!(ovM%5lZk`r>zBsAt`v)kcca&9R^WJqF0* zGI*^~-lx>0Ys%(siTerK;=utIyv#}O*pO)Z)l6{{dg)N(ML~p%D%cg?n23>j-x;Ef zbnc5Xa~VMKO@49a&N>0X){9cwYv#4rg#!cl$kVV8P`5pCB*+bnw1*b}+(}Q(=I{bQ zb_L_qW3}?Hs<-@W%eey}ll8zD>51k5d)Xn^pQB-t$HtQ$8HtHrFINj6HIqFYCNV`O zb}s@ex8d>8NG(p~1BO}-$`_%COvbr`A>}1NMWO|QPe^;Qnr}3Ybt1)FWflBpO(T@% zEv7~!5SmXcPIhUd#A2QF`8d9iOWXaXvzVG9ZHG1OUFufTJin|jzqAJns_1h;pm4>1 zaQ_%yWUQOnUr?CITTXhBbbpmQXErs8y&#;v`+McyvGG$q9Z=r{7;oz&>V!@Xcq=mv zOm$E>W9isr9z3-SOVH&gz*4N5}2!x5wpc_r?Q#xA_R)ZPtEt4DDDA%lE}KO4PR2rN27H#L*@M zh><7Pz~GPLIlXf9k6G%Ka=ajKp5_m8bo> zM4?ZuujxY8-Me?j@4t3toIa@oLq2J%lONzUB?#5=PX7oDK(Q)H);2aOpA$sEAptBy z)zez)5t32LhQe2*=I}`rL)KOSce!HiYBQyuyH>83YW9PSuwxt$_Y*y6^Dz(7)XylM zyLe)}_L6>I`@zHUiw|!2>j1~LG;caFU-V~Nawxp7A<_$8_zOY3JcYq^phB?gApqfA z%o!9&Vv0BO8x|ib^8Nq4+qcHq=ieT0{obF9v31g){_|Xea=BWwiBo**xWthztbj^~ zEb_$UaIC{Wu~cM|iID$FZP~u8b~~}l1?R;VM$>dvGNn0 zlmDP!1$dx`m+E3~{ehd*RGea;uM@z`D*?GI12vsSJ67WLnvbpIu9rpZf=gcjs)QX; zhFW|%mhE`LlXir-pa9ConRf!BCW3zrP#HIf%AL9KuNSTDuOoQ>8-orWw50GMvyJ;W z{lBP}2q^Vo@MgQ=LCarrn_)xB8q+aGyKEh=(G`{69GVfy;RS%Dubzg|;RS%~g^c{o za%NS=aqGYKynhC;2Zt9kReBORUq=CuneT;xqNXn8tPnFdL&+!~OqtMEm1Dd7V66dhz5q&Zq69(Ad9=+SrzuN)3%=+RV7i z*Q^&=u^R8#XH4QSNjasw0if)3?(1#jIA2C?nm&nFym8p6%QBHX4!#4QL(B%IozuBX?O_T4HIv0U`;E|eO(0j z{Mw!#X!&@2@3q~bn?qzKUP5eoM^y5XE&hZPpI?HITwd8m=FT4R&J6hKE?FthTb<@CG+%ujvzrk?k>i~QufbY&-hjbd;gm5s?ak5m@~Z}uv;f?&7OV~G-U^|ICIRZ7R>Q^e{rA())kr6RXDfFJUCK; ze;e0)&~5&ExA(>?-}|HSjkkZG+y5V`ep@g=jFt8+&n`xW+%$yP9f%8(!w9~@iJXdc zSfVd(a&*?0to-A2j%}B*thT}mWy#|tys&r=H=UK$=Ef6-68wn>G6~i;T_!e?Y+ICi z?D6I?CA~ct$W>dwU42(nn>M&jd@&WsK8w%JVwm}FfqjAVNkNIqb!xbE>&TavZ9vF& zeiCVV*yAT^m8+y|CfKzBJdaGdlgGap)C68A+#Ng4Y}u>z%j4!C3{ zvhA|JsA8*^9NB8-;d1|*hjG#TF|oe_cr1#?P`o1#t#gc#8IB>z`b10&8#>~LLZ7y? zS6wDf(k5_KM;}c4ug1HbmYF~(d>2~mB~50We7J9<^Qa;|<7KG#7+?Jr{r&j9;}Ek?a%0ra$|!DEq)s2)sOhL_B@Qt0>@r%RZ`%#Ioue zGS`V3E=ON}ozdS_@3`RVJ}!Rub%@+y@L=VaHm)nj&UD%wvfqiV!htsVLYuvYi#|-?cvPYt{LvWwyYF14a(D-TJK-tX99{s( z&R}$AgeL#0ddt7IeE0l|f1brkF7nTGn&B~*NIg$`D*LK02jWqC0`??CMj36}7tAso z6|MDI2x?;6E@*6ffouHaL8*VpPk%)Xb|eZ z`>gfk!B;HAQv}ecRyHd6Q<;#jZJG-#^48g5bLqCnVX_ z>!?mH3!9gct<1vsnC64qVu4doPU?jA>;?}Vr z2Md1SA_GFvq+I*X?dW}i7J(_epL+aRKF8gHWB>OUa6BF_Mu(=ja?+d`ZIL#vm7bbe zXFUbl$M9~kb2gIkc03h?OtnPhj?1zLwN0W>74ut~b`Uu-Y`s?DyRgJ-y!9AGLEGj9 zEOTLlZoxNpT1kChKWTUQ`mOPzo@w#Mb9%6)>9o|7Gt@Vm!;T^S&Dyk&zjhSvl5RT{ElaZmOlGDasqc2DC5)c#u}wXw%-v-WUc9 zLu_vYv+S4qUo_|31+b?(X><|b+_~f9)t4{$?tmZv{MxvCs0(NMnNTNum}3B< z>K#WLuz5C3PdJg`5BYo~LYs&a^lqQYINHvpj7{d)-u+!&=s7iB`R>0p&OGtlxTQBh z?A^O71b!aCB5ff1)Ck76bv%%au;JMs<@n=2d~*sXV=!{fik?+aEO|1;g}VOv9j{{o z)#d5diVhC}w4w(}Cs;T+?60Dm{VYaN zh%8%L=CLUZa3&VMm|L<^1<6Cd^s75EW{A+lZJR=ng7K}5eT2d<E`0Lxqr)KF}(n#7!)z`3HvSrMRJjYup z;S+{daV&c?uJ)iBB)hZ-=Zsx#hD36xQcPPtzF~xj--)dV&;To5*Bu|pIUNC%c-dU(5MVo0=o?}gV#DY3rdfgI%wl8rov?a8e$$nWY zwyEQW(a=vtRpQCG0#j_nDIiasWIZ!tN2G{$e~??!^yu4T5wk8WQ0;%&NmNSThGO4v zspELs3^7RVGy54&%qhQR0q}fqd#a_a_LVUWJWM{a(bY$H01&W;CoM+;506iOQcpZ4 zKLfI+eO?(_)4Tk6^)>GcDW5+7oPGj;H<>iJWkcmnFHW>?`G!x-;*(ng3}g%@8hjR} zmNO5DkYFXvLX=n_n&Sd>6>3rg+~O=WEtp3Lsz4w}4iuQUWuhfFbSJ=#``hE6yz%jP;>^}~ zP2Z&Q>M(8^wHPr37nSz2AYIkQtZoFTFwo=3aHd$ba5hmCA8b_Yec8cgGifc&I=1a&QKds{`Ip3k z6}Ejdy5-6?vOd|1Eo*TR$RL|TF9jIa^b?S;J#}(CrB__~_+t68T2`u`ut5-nZPyzD zz_N!3Zo#sQ^LUzmZ2iJ0xp=0^=OyEd5mn);KpD^I8w@Jh9$z#vxGh_#WU7yUm5o|bkWQg7Ev`|JajSZ z4v-|rWR-_rEn>Z#jtNV)yvEnK1v+CGBzO>(oH*UReQTV$@Zxy!n}1IC1fL#vZrt!| z4IMkMr9wCz6jeEq0EUzkFG?YFoS`H!E(o^bupTeM?RFa<;j(dbj0dG-P-a48D;#2O ztW=@e)g{ju2t4hCz1NW$yn-;22^Ql=Np0EC#Wee@ zYGPa>s(5CL%VBGIIAPN~^ZFtMX0=gPa|gP(kV zZ0To8$3%mlWir?vk5GlXlpa~0q_==OFS+2^UP^>CUz(h&0<>_k6nh!TU7-h6c z@xjrEaFHWx)WWA96RXyhw#SoUCYFt=2B!5v3{do?o(BrTz-QW;ay6rx6m7?$Vg(lvyUQmYv|VlP$}igM2oYMQfb^`UkY+!Md>kTTNrfrG^bk1_{n7T3mTc&AyOQ$MDmuv=@9ZuvSS2DYp(! z=_0@<<4L_D@TD(2MwsFJZF5rP970({Cdr?|w*^p#JBv#gbj zk$obD`9LQHm!AY2>Xm^9yAQ@O{igZ!_ThN-E2qYv|I-)8OM2De_h0{Te01fuzD+o- z*Pd=ZFgHJ`p z{U`@KhFZn^(wp|u7e~h_;EOFz8rs(M(|%yHZY(HUb$};^%-VjqyPX8~qgE zgByqXS;+4AmfjF?Mt8IL*DMu44&XUhl)7VzcCaaZPQnk!ox5yGgzbCy%}Nx)X4~so zQ>+4n1hMUYFn)|o^c>YDUX&|MlO;Ii#Sd?x7<;9g#w=}eU49(s0@{IY|35Y!jB^(@ z#+P3^H}-GbA3yl%<#D*BTWvSCgsl@8Y~Y7B86(LdLBzgox~8)GP$Qz-DmoY>%T2)0 zCf9>bv=Zi9+RSf}tX?s!Uhr3KY=cy5;pt-{#Hmgk|BX=n7|5DpUMrrWp?ps_EB5M?)CMj$nv zO8XOQ;tA7gR%Mk5M)R@hwrTAkhs(a+Cme-egz!)xAq%iR@;>EoY=icL!8h>->Jy&Y z?pw)q!Um0#c%FQ(s|Bt*7mdLA+k4Zc!_T>@%*nIyz>+K<5u#%~0WEE4Jba5ypU6)cM4MOsgD2dGFfvqEf~=q^URif3bGAt=bGHg1 zRlNoT;;y^fTq|86(srT`7O+mSA9*;gL5op!tFNWqtEHpwHu(Auxgb5dS$mT>-PAFeox)m8@uCk)>gQf+3~TwXdYj& zSLP)oCekZEma>@MIXes%#hp^J4n#;?OzU<)*}d`puLsz!#5o)KSE^&Ib-PU73Erdh z$B2LqpC6@%DFQtiGjB7-z0@$ndNQkAQ=d8Mo#5OlX|H8@H3}X(qh4$?B@4#0lUXDi zRVEH?A6u;(ft(N<%YL8~{hn=sNv$V6^2Tp$l;l{nV-JB)kgY{Zdg!tnaT`^hnB78& z_sIu<`SzmFRPVO53u&tv#`3{LA5;nperymy2z(==+&(1cuJwjS6d#$iwb~*&V&EYX z?2>6&lyDqtjkCf83HszADLlUxP35Rq0Ry%Nt!+Z#K!f_$_SU#^@6z}$f8(REsROBh z|5q-KO`ROv*EfaiR5o?M;{#3r^iQfx1#m)R+b-I3w~u(KhMcmtFIHrQ?SmqqBW79T z(9t#tBao=k@hTzWtCadRz=Nyz$NgJ-WApm`v3X&8ymaB@_^W^AnelJ`n@^0t@weX| z|HJS8bR2F!rIVctdPIOud-n96LE*%8wgp~0uQ2FWOofj<-)dT35qrCd3@KoOExPK~ zln_XP5r`x>xO4xh1_spdC5M)=ppvSuMeGxe^gD7KB!aE^ppS2Z6rc}yqih~FI3Dh} zh9$p{<&SjM<$tzo`bF5FRJO_w(oxDTW5D}BU#Hlt`GWJt! zY@=^%_Z-8^DeVDWDFTQZ%h0z&^ooVQ@mn8^W9Od_h7>%W zSN0l;-0{_hbt0}L=2jNP)+Oi}VBxrcV)Ug2UCAeo&}H$#o^I{XeLZI`J*S60>dg-~ zZjb%F{jsUO2)*|u8e(l3(yj2=)}ag2=9HWRzp(sq)oebVyDKRV?%emqJKR|Fni z0C>3iV@@>O@+2+)dII)r?yIrPt==VjqIs5O5@zZbjs&5yuo;`0Wa|*f3vDkLOlsSk zv$|$C3QF0zt01xuv6P#|MrBK5ujDzvokjZrh~$pQ03x~;wzRuEjme4SMYep8En5o~ zE|np)+rIJKmN=KX46)ct4g_fYksMn@(Xj{;krB}}qM4mvwAz*>r4tQn37b3=wp3fb z;{vt&#`Y!TgJlW$U{wpXn*fx3rPo1g|5Z{IJn-?&2Pjkss-CQWT({RHc_44>GQ_qew z7td*K=z)SdspvQ@hIA+^JV%eXIchk8G0~y9NI%z3UIgUL1F?NZ(5fh?AjYPZEp4EJ z5sv$FA}-kn*+Yhtz+Z;d)wph z{NVa{`RVQPYp(Jm#ytsIvYk|mpYG$(A^(EiU`i3PWbnA z@$6vZ*0}i8vGJe$hp&wX_kT40=KuBX*u40%(C+AW_&T9+5QBt?>|<1iRE?&XHMsE0 z73edT>IBz|M9t$DpG0FwgT41)Z=5*ugnk0>g!_MQ@4n1r)F79L2FVA#rpyT-3CWn< zPDCqn0$TM6J1hl1;}tET(HWvc)8)_jCv_u06I-EEDhz8?-8$fB48`N{u+1OZXddd~ z19JIjE$I^m8R~B`Gbh19PFhR|G^p#}>%U0onjf}h>?QNnW1dN*f0YsO7&4|nYHi=p z2|mw&*w9J-v8`=Ab)9EI=rGVRdY~_0bwYOcmOuAyULSkAH}p&fU8vFf+U<;eB7O`k z{Hss3Ik8ZiX?MlldhqRc#YZQQ{8=r?DktLU)H=DhfD|Pfdd*2yA*$v+RFp~|LDDMj z_~?MZ3*WJHQH=7-YE+LMADi2!#);GC#>umn#>vOd`5pDgHuXv!_5B0AZR3G1pd9Mr zz#$hk+{dsCq*#}as$$v(VCmDxOH}%LhWj6;>3j~O?KTzat~b=5n0 zTo=J(4tyoYTsb2|t33pl&Fl^48mn{1jd`r3v6MS6RWpG;C~Va;ry6X*TKnfn$nkwW z`TxESKu+qU|H5;xj8EVC13?-Dpu_=1;|ohV9f!6+J@Jwlb7yhO#>?v#2gG;~2s!YM zp$n>1N?aL-5DGN#Q8HO{5;7#2R$&u-k_K?vR>oITE5j#G%_0^^HBJGxj z`w=Wge8(yAuu~zbNR7l=`an3WEBM%BqVu>bX+RAT4z@_1rFK4R6EsV-0o55_P?IYj zD<1NX(!&vfM;8Ddj(#}eMRo|9K3Rb@n^;hCK!G3=w0W6eRTrH)JkMR#`F4VZ0i7H` zET(D>FNDneOx-%zU=rKDq~-q(sAR_V)ttx8-r@c{RMoczUFP9Dgf=02~)@>KUQ{0HVm@M|*mz6(0s8iV&1;7zMSDB+ZaqQ!=lcdkV z!Ke+1v3Dn!>8p`>~a;!rkq6u%tZhXO&yc&U)~!J?i`G*yZhtx<9p+~zj9*yS6_W? z{5!vSZTxrt;N$V54{wZstp86 z|F(%4CHgo43xhdlePk=S*g(o%M7;T3Xa!^#XiDh1tU}{B>hj%vZ-~8f< zWE=yqDB>qQ2hW~59K-XVjYs~)4>>x&Gs{Xy_R1B(lDm%j9zPP8uQ>HoWWg`qC& ziAO(LMsqfCQPp20$`jUee?w|1#41&rQDw$}qk~(Y=$8yM!eoC_D1CQ;%d|BYI1nJB z-Imzn8}*#jn`t}t(T=2Fu|vYw4G!!BC0W`-(}<-`#JfzrbnKfHQjNdx;zjDLe;z+V z0U9*x8$3MQAZP%|(B}50PWE|Vs`j}L_Q(GIUEOi<(YX2XJLATOZ|L=0A83r+)P)gXDr=t$}|RNHI)N}Hh>pz_j)=tPJNyoz;6+lCuj zwqV;4>Wh62dP> zm&Q|H`OY~1>?^u(bzy9r)B|aC(Q020szuv<7XzweBQ(kk1DjjZ6U@@%Ck@D}e`?(0 z3Mq8C2#-HS3mL-lY4jWj_t>G#;LQ*2z zKRV803Dy7+JfdC7Osk zTIocpv9sd0ufeK?$A*MaZAHt`k+5yykILcW9}?mj%w`^K9+C(=x&ZKybVR!`Cy6H| zlZUC7GA!`zvmkG{%GfZYLv(RZG_JkB6*y}|uQlXTdc8thv=$j%hI_%YK zBeGbvJ>#|v3jzAl)#BC*j&6&0R+nj=+*vQ3&kDm3CS@5P{{yz z06js0jU1n4$C^dT`jX9V3$N@MNCg#q^i34!ldukg0?3*jYL2^XOQ&iK1&;j zf%rOj*xDJ-%_r_C??~MQ8FFrZG^DF1aKlndB9e?w;uZ}maY>utd z=k>HMD`V`Ao4OO=%=pj$XFRN;MnF)?g)r>&oMOy`XX`3cW33}64va0%>k{|s+(=16 z`d*VPEUE;NRW%zj1yF%3WXZcl_GR|5)kSyvr0sD-9+;!;0Uhs@lWD+`S(jYS`qI7D z304Y1SAvqE(rs7CzDJ*!V~rz-oo0Al&X)Og5Ana@m-N5Ao!-4`x-rUE8nhVfF8E$E;CC<3ga zBgU5`_~9fQ-3y2X5BYVp8`Kgo{pV5HIAYOUk6(d!-=O{OzV4(rINTh^&s@~`|BgbK zpDalteqkNOb`ldLQzl{1#r9nl6>NFlE8cMRsyl0;RSQ*whOfUvbJh}kzuQ&d`V7=!{Uj=57 zVM%eS%#_SVFIG%vpA;dh|2fe#6aB}ECSC7*Y7*w4MMPxunG?Efv{`su)#NWLW8A@f z>r8#oD6^xEnc(K!DksQXp*5eivh9LxJ-j`dA|qPK24A-MO`?RYCS#NCGQQC+mtAb&jhI0dDvvocv;(Og1IVXN z2^@4aChbf0o6Et59tEWHjSsGMN*lm{(rt@B-HtvfO7lua^1-n;Di=Z3wXd|J+lPf< zE|<)vtU67jD!$@Lz)^8xO!K>AT0J={)js}rj+ZHMnv&~Z}qs55!A38olA#svP>h{}) zovSw4c5EP5=r~?D)(&Td1q1@9ldy^|)wUHMpoeDLs<0&Rlj6e%>WQ1WYeu?v^m+V= zG5-30^qRhHdwu+^-+pHtoO#Ai;r0on4LSmVO}jCVGqKLeXY49dnLfY){PT&as?$F+ zksmr)+SkGUX?^SWv~)Io0-AoeIish|*w*-0!^2N*5ZPGfrtAsd<|XTSCR2`*orWJ@ z7k`A}fMNqa@;z^vd-~6U>arh-DlCt3=B9X!Y30I*Z_Cyvlwe_?55`qa6+oE6%-$ zEg}5oEA2d{-?AS&!L98lGtUkfElP31{eX4GlA|jA7E}Dl$@N7Ui^74f$dG`&z>0@l$M>3i|ag>660Y`C43*8z~M8i*~ z!bjVfiV+=x3?E@1?A;xEdR6898=s7u@Be6A`SEX!3$J{4eCZp1cAUQSqHby5%1_Sl z!#)L>ZJ+pN&J^GD*!Kmi)tJI9ESqjQyP(o4Nv4lG@GoPm+HU)d)`|z?j3gZ_f=_bD zW?AygBQbLkz><+i*7Dlw-~LJ2s#CvgAg2RA-y`BHkoc)9wS*JdTC=%B@qjy0bg|<2 zsq@-DUl{wh-U}vM#ow)|w)mM8v=ayL0i4zRF}N_}Q#oamlBs@&s= zs!?dCd9b77G1l}ome|-bhQyIy%f%o*K~NX2&a<4*jJ+^SqQ0)kdPAS@SgRTCo? zDALCA3x#4*^qj&MIN zYl#mmB)4uGbdhL=lQgT)I{^65_>^#0q1LxN_Q8%LRbY)-kO5w{#ud*yWZ7`tCPb{d zy>e9$UA{BUY#xjk z&u@>DdUzfu03aW-bHz5|4k&d25(h!GpXRgaCSMHA8eYJ_- z!m52>dYnLsa_{ zwnmW;e&g%X4~yc`4%#G)25_qcsQz4}Rki?lN6U5!eHXHE8F?@qLn5Vw-29kr1Egzu(>jvTf~{Orlast0V5qmJriqeOF8Q}QTNvM8*QySyORtO{Gn zqXTg1t{`&0q)6S@0kV{MxY@-ETjRUG{M6XJb#MIW&1>WSIN@)OZ8m}Y94L(vOw`FL zk!RcxW^BX4e0D$7C1IjAavb09>v!clXP+ETf9+Strta#vcju1qbWy-_$BT;~IEmCr zaka(sb=B}5FJ=cC%kd5SC7a(m$63ux`-7jb?Un#CZgIQHfR=ztD&mt|BT z9v+5+hkW#@8`JW%1VPd&ucBos+iqi7J9?s9v}Ls3v9F;O{Ei}rZvD_VtGsi4>*Tij_@vf<{WNM*zyH!(HXP?bsV)O@h6@Tg zS#6i(lkH(rWuJIei&dT%EafGAva zA2&Yu$+-5;AL$JiH}ycvr+r5Y{le|-bPC;>R0R=?D zM2RjKHYQ9TuQ_ONgXc9$Jj+|p>hW(nRQBLY7Dv5)YfMx$q8Z2lAd}LvHLXEIX3YW8 za|gZx?eQS&<0tiIBJF>#z5nB}d+kHN3BcWN0nn{r-|>r2?*r4kcwmd>xz(0)J8%Kp z=vLX`i82%?#uj{uv9-J_t!MH&-j;%jbm>+p1IZiyw$PXYU9rQpR>M`p}DGeQjK4G4Z!4C1#>A zAcWX{q3>l$g#`l-%?207*huKkbt0^jJ1xnJOwN_;Bc z5T9*nOy&NDggXAWvnnFrAK2^EbW}QC8@hmTpl2HF>t_Lb_x8tQr;d%+UO6?srO(9^ zhvT{~1YEswPY)qeTzDWBx@zn6Nd(&MgGkC{(0wV#kav=d-Gos7#)tA(bYq&00ChCA zX$;lq2UiQDve>EEgB#VdZ)~un3%>d@d9b)JNXZ9+GzMkUl(`?w)&{)xGfvUs%rFo_ zlc41aqM?dk9#=N?rJ9(zfMKIGMq|#HKu}6QEOrCib=7!Sk`Bb*zjjZjt9#=sPn{eW zcD5?E_#RpOINBcqZ&#EvZz5^4Mq0gbkcG&3IQlGGWM&G_nBum;D?lI13_y#}sk^Tey&i4HIt?|uoKdx6a-5r1Q z#`U4oM4ja5#84u{((s1y1^~r+G0sI9&t1zia#ZM(G5jbsX9B~2ZkImy^ef}>SHB~7 zw#L1?cO}P9L25Qg$ZfW=H0=aDiFv?)h78*>U@rKoA0?T?2^@ojKh{H(d$br0ut-+6 zfcTq7Q8RT4-xz{%71=}!lxW7kfUy+^`}RNWvqkjFbh}U@Xjreuv>_m&b4>B#tVu%q zcdzLIYQI0;`~E*1AOGmL#;uQkqSvNg(_K>glG*YJ6%YOMtsq))z;`5EQ2$Mj<2fdL zu%7_i5BkF&>6lz~gGoMo;R=GtM%M0GA0_n6RU!E3)h8TRJPPWB7*Dw-(e{l1mjCcm zJahrV{gR#jHxES;UC&=(tk)%QNXDY#wt`E*`lF(Bxq!Z@nCe=x-cECU-2CW`aqIF2 zdSKwrIDO$suTi``z}6(6eg_*1Nw%Y6d?&7A79aWM+cqlAMh<_9Hpg^COg7tMk;_G^ zDhmky8YW7iO(#}(#5Q(TwyjhfgLN52oJE#$)m<=<1rw8Fx+8H%cOU6>#UKBCTz~&( zzQE!+0fYdSIG{$~SzQ~z^+C>=6~Zi`xg1QHXd%>b2XI10+cw-@>=lg+i0x_mU$v>{evPz(~n}}YPf(aO@C-T7KCL+Hptt!sQqV8-07%Gz>X@bpAJAvyu~QK zag0#lMQ@w-gZ%|`Y^Jfc?eU|@)VAyrZrL>LWWNya+-C6}T>z*!KP1_s3jpbe9=p`K zOio(Yzwq*o?f~$Wy_%FvpP5u#)k0>1d6K2dqKOQXa6K_623%IHO2{JYoTC4V8J4L~ zdNMceTw%n^@)Tc?^*Z4~m6TZ@$4F$gu(a)*tdwr4HP1TUU?W&_2QNYvHh3tKXi4NK z95KrR%%8!tz|O15(peB#z_Y-)%?32I0qw8BMT0Cr|Mh}dG(`LnFbB(N8j|az+VoxY zb^?*L^R8En8rZTdxGPcM>`(H*w8d&WdK?Vt+oMnPbAWfR-W`u^9gY`tC%_K3krF3V zN^NR)J2^^&J^3x%lB-5E30?e*YPKad<7d!C0Q{EkeBq|#xU1-XLR#l1{BCpX>bIG< z^>lF^h&`c;8()9r^!VEIC&#H{`{Ty7yW`p|J;X@{Hu(mv8-jo8L)_wggq@-B&Bue4 z7bieS1wYtEZ5#jO8?ZDw-HcAxsqdYgb;pqs4GFs3#o7%W0jZrAc3+K zM`OUASx&NY!tEJ4{M`N6Gaayl_b}TXd5j+ZsP>a zl~!3PVk&>#rq3{4JsO9loyD}jlpPh%IoWGJEW~CZETx5vi|e)~UPd%R$InR2Td@xJ z^kV@1mVH+b<2!e8bA0X9bK`;T1o)%3u8zA8IJwcS;hqO-0rLE%<87ECw0Y95a{DlS zRDlb%{Ns&dq5j*~T{us^^2_7m3t!XS0J>|3-%m>!KR48`NczB)cz7((?;>NvA1v_c ztvKeJ)W)1=Ea3o{@v(i0zlGy0Wl-E!`$I)`q;GkkRA25OV#MPY`wEL%VIp+_C6$S# zbIL9hzA_T*PQG9hCqoj3ZTrdnx{z}Bs=np_!FcZn|4_H1|IWB`z%v1%Nx3-_mm`eyHnIiV+upi~?l(0|IR`gf^y{K#BQX3fL|`e1Q@LKH}GR z;TA*&vX3QUR%?#TWduN9VTXb=#PEp2(t|Be4q6VDmRL0(q@>I>l_lSQ8EN)(0x-S{58P1kjqi zA}z_S$Rute-zJhQEX;O9rC3YZ)yS&2 zcHK)Vuu~8d@(XZVfTId^Y?HB3orNtFEpk$D+tkqJBZ(LG)euM|Vb{J>&AOiUQFrX6 zQ1;3hI8%S6z35GW_Fqzt6IfzaMsB~rtA1)#`vl*gQlcVX(sxJ(H-*ssrJHU8{rK+T z_~6>^IIH9D7cOj%6S@dsxX#mm{w&CkZP?yXV^u_jJN>hubyvzG1y`?fECR$G2ZTJzjZ256RlUH?HZMGWIOuQo zG3J9^gGI<@3N!kSYWbeNwZ092O@U-h8%A%A4H_g7>T9u7@KKx^bM3FI5=V6=mE(yh zYkK1rF|N}tgyKgqrgnTp9z!~D#5cMc#;Z{5|;S2oA9=k=|%d9hE?O`)cgOtXtsCS1!Ev8R za>2#l=3uPG8+fd>ocv=0GH%drmqnv)UP`LSsOS&$(66z%GoJp+ujrQP=f}N!dPU(r z?>+~$@o1yP-9#_6ww*YDo*wJC#GZ{aR{X#4p!3)MfX#ehO01+@Hj<5piH_wtbzly7 z?*Ra2GHxyII7mm8$Ok*x=!wqBI9hAN#z{N{0oVGTZ>8hY7WF%?@Y~dzT=w^FjjQkc zaD4cKe>5)tuXNeeNvE#r>co?NlU*?RsNiK%}5OG@aKVZcjO=$^DmnOOq;7k`!3X++NRaPCRA6)<-mJd&QbO9iJk#T#p42{&h|6lS`=brmsjAp_zty7oz z_NbgPqc^p}N2Fc#_hFi^OhS|jpxMxJG)-x?)ZcVe9RyGOn*6RqtM#OzvN&XcfaRqG zd)ABHYzvsmw9R4xT}cJ+jwb;c|5=&PHGN@Yi%1%X6; z6d?OqHn0w-T(xb+2RmGS4L&aGwR&6xcuaSTen}5mJGsp>0f39k3=1G4$^NBV zxRocI{4|@1Gw{Vc^pQ=DMN1K?KhN?x$Xk+>fJ{s0C{?eb! zU!nU<13fJ1FQO2fs2_CiU@4!BESdNc@@{*`1;c)#uKNvbmGI( zBAZfSS#0@eiwLb8>fF2|4vA7`eNG|Fs4QsKbrnPHA%xffleX8t>1%tf--ylY{HUKR zpAB4EtqkpR(!?@vH9ByM2I04!383p@V_zqj=PsQXFF*I#xT&86z46|SaqmD6iPLT7 z{HEC#9uy;=L{zMNLaQ=;k+E)I#~ytC1g&jOvbbQtT-(|?H=g?Pca>il_x0^RCrBAH zX%Maj`)H$#Xc18PkQg)Zp>2x9|FWUNr&N$*Y{WMNt1MbDLO}(=4F$+2|Lg#zWM3T% z)zN{*rcy$S0sJxq0+vH$Ik`8SWGrQEmsb16K1({L6Z;L__J8a0&&S6<{H^h!K6gI+ ziDGwmoX~^(I04njPb};Zc7mLCgKRf!O{M&|X`D7+Ix72OpZuU~1?QAg?|s{P{|XOw zQe=_Kg~P(K4fdmah)v|IL)mSYtp0NM1{~2z8b4tN>$AQY%99@Xe1fEY5Yr!!xrzXP zB|G_mn2tfE*%zsTN`g$=l9cm&2xwb+{hoe)aqE*eeG%X>y zgL3<(c&P6A)$MI`iE%NTKm5j5TY&kJO3BeoBoC6 z`~(1(+L^egx+j^&bx*oxkgtdP|=vViw%s7BgAxV9_NZ$8u{lHZy+u zw!t;!oke_{vukBmmLqfRCId-%aIe!+rpf+w5oaG?EDylEQ zEgb~#B4ZH_GF*U&5AbQ1c34#5>IuC(RiEFvI>by{SerH&Tu`N9kiy4FW_ z0gAd~AqJ`9j7^HzY5P8DRGW_2HeY(EmwW{UG||OqdnFUPw+M8>va8y{lRojx35+Vd z4^(qQ_rZ({da&ZlPoExF^pl|1-?^=e09*cvOwR-RY76QasZD&!)oxsL@=2a5(0O)) zjPC1%f9J8M#uKl6XAHgei#ccGh?N=*G=>ZaR*AYkNa$a#LZRqV0-`!fmJ`_kNCbgW zKFj_K%6c8m$$*fn&!nQ%mcTFA!VGqKsLcBhYaoZU@=WFU79XG&+X5a376&VM7Qhc3 zICG2nz8>&*`Ded3-q-K^uf6%t^c(-HV_VN^IHrr0$a0rP0)nmHTiKFZ8E+5`pL%?d zY&jEJ?ovowOtB6~$XP#zAXJIGc*e@fdtz{uj*d_4106i$!oftwiEV{q`Dqtf=w-)v zO>4T?UN4a8PhlGuGGQ*gBY4nESHA-SCb`$1;(-aLFw$qLc--iMnl7dv?(L4-SKbxY zv2ph47xk3;$Fwf#PM4k&;PG#);4O8-tKI4wF!jL{dG_5Hug_|{xE-o9SKWrfFLcq+ z(Z*o3r7@IKG$G{}2rc?xiibZTd?s&VbQ;CESQ(#*pY4l=20n8^W>Xh)5AN^kfr>xU z-FjEG=5R+B+_oqC{Gr5}2~QtK#x(d=DR|ZVZ)z-2bc(L6i{^`16%(2lyOB&cNj_C$ z+CbNxYs{_$y0~a9rKqKDlQw9R?l&6{fZHeGb-1fxww0eGb!-a1v82~N2*EY{GZt}E zq5W+;XrR+{6&)7{(CjNRu7_Y6b?dPP#cxa3__lS+Y&^OEKu{l|^ymUWI>Y0)`lZX{ zq;>rZFYi3|^!J!Iw(6`V+$7ax^h8ftteIF0JspMNgL>tzOJaegloXzJ$Z#QhwpLbR zOnB&IwF;<$AW6iqJ^7n7i55Yzl2-_E3$u0MBE_eXF_?Ocy9U#32LpL;QYpq3Y!QlH_)$+?c`4se4Kn_mfx#(RSEm@M3 z{LKiI^2f!J03z)ug0y|WCPu-FA)&70zYk*UtbC%+En$GzuAPE*ydU1)7;ozY;EYbH zUe@ocPfB;6w*wToGbtGZGwlYL>q<8s`_od0v(;ko4P;{?M{iKi7^bGQ#xentCBsKg zN@mSGdd6-H&IVWTXNiLzUc!o z0F-jnXFJBlchlpP59Xn`--xMaSL7oZn24*~4KrC1%ijvtC$nwGC(!6k3`-`4z&VK- zg(ie5r+b}%Jt1h!bVcRKK&|3xY#1@(`Q#$)T+zcEpvneE%?EdXMq+yfW;2-EhjUFELU~_z^w^_V+;n?`4r%#RtlHm~$of!Ib8*_j^D;Lw|p{8JJ zY^o^QTpJ~jxHW3QlrZ{k;~HN)*h^a3!5)0{&>s{tf8xO|gPwtE_J#l(`a{1Qy*?YJ2b^tDh>2N{5BnssWebGQDi%d0f za6u$f%-GNsxP4uCJM+XVy`Ll&ve~Nmz>_SUBrkMLUirWj-^d zVmh?qV~^ixaQ6idN4u-vmVfZie{+2F2mfg7UU^IFk)DIWt^VpeUbkjdf!Mdyismf1 z_A9Ht?MWB^FvS?xG8KQbs;}I{Z%HtTCR{mMb(TjIEFnzBRMx?%5CP_2t%u>*a*F8d zVqV*UL&~@H#2F(>IPV5@A2b>4=)iGF_4Gk>p!I&TF)TRsz+c%=J6b;LQTY&)CA?l0 zG9IwGr3*8>Ht^2Xk9DWZ8C?W;!9UM9(D?U$)OIFBjbr?7MmJNKHOw#@SCJ7pS$vjE zVh#}nVObdeGQZG?aFy2jDr1{r-l=Ud$1JMNWW$6WA*m2+XJsB9NV49bB20Pn%tlBT zv-Hdgtq<4U{ljth>idr0hTdO_@A1rHwMqM?GpYto+ro7mRmOICpOHQN4HPl-zQF~Q zt*IQ)fI*plBe7~nYoP8p8D~MkN?*99?ACxAXt@4sA6+lI`RP^5Mj@mtcN~+7b!@lS%j6Ll@KZ&x1s6<6##8}45r^8K#P&PH$M1vQQGh?2x69<6;5|xzj0ils0FWRt#Cw=``Sa>)-WO8dIs44_GGXFSFFJ9iCVG2@@Aje= zr=qtGY<6B=d_8fYWahL?5YZ3MTa}w0YVkGUp+__q4P0C4y2wUTaFPprgKsEE__8v{ zY@M>^BNB=iR2Q)%`*WqDF2+<|5YRObEK=($4=&uS5pGe@F}c7~K{vU!E-!1InE5w+ z_*SR`h6M`&_<^$|Xoe2Q)wywhO@U~(K1#SWQ&*r*Vi!1AiIXj6CyG63KBkej{_Ud< z(s;1Z$F~m0JGuyP_W0p=^^zXaqpw>Za4WqYz=kdKCkBd@CQWsd5q81=5l63y%K5Kq zQ(L_Cnr~(6hr{+r%Ue*nvDgp-H!M1_QDaF@L*LW$0rv0ijWb&Z=*b#w|S={jweusQV*yfT9NlDmLyP?Nx1x_Owk~q#ipMCbSFxv*nf}?*Mjd8YK9B zueqhPTNTT5!CUFkRzARBd~pDR|7)X~G%XlbtbRrZe#xwgaxug;yu6dJ))^1A;#>V_ zdzO;{e6`AI(}c8@zN(RHndVZVY<-$tws~8__KEHBiGJR3^~Rm?wP#L@XD^)4!{zv0 zdF;6#3INaAhXq?DjsjVtifCJw4Pm+X)vL!8wbHtu8$*o6n2Rg$?sJj4EsMNjk&Z4> z>A6;2f!>;2WipQkG1qLYEU9=APQbY^rjwHmolqVgdoZ4SQgOU=YJ7D0_ITri+nNJ< zu$)dv{Y{>Iw{rQg!nRYwSJ0snZ<24@)jnWP4<5Yu{8z^Lr(e@=*&q0~>RjDYS1Dr* zL_YJ3I=!dF{zG>WEd8gspvvU?Y#&<25tb>dWANB<`%auHP_|cXl_g&7cT87CZ+!UE@$T>aZ{yR~|H(MKcTK;S z7G1nv6VT^`+wGRWz&Um*w@)r~hqw*cBrZ7tPl&NC=ky;8JLLUY=r|64M%3d56#k7@ zeU%tQJ|vX|Zwq#+?8ZcJ1+wS`5_Z~_oc{5}5ulY~p~|zdFz`xT%h5_meKG@G@v3%M z4hS`RZQlbpP;AYEpV*=RjIbCKF+{=1IFjXcf&06+^_tD=@Vl339Aa2Rd_xFu6rmsrfktedKDH`sw(1Ee#^l8lSbr4YAMGR<*}}@j^D%QZ#UA-QKcK7C3?H-?5kd zl?lUGd=gcIfV}cY7XUia4@ds!0zmqKApT12Yl0}W->u>=Nc1+saVVtA2aC;#y&c1?y|I@1Gm_18PvWx-p6O9lm}-pydAD1~8k(R>2J0_~4vR3!DHK7F0E zh#+QBHpV7)6tyuU7^Y!|-4AlatK?Ur(KTH%PQf#j=!voz0;GM!!M;&<0i_r|ri0>tee`w+GEiTDFKs zVxX3Ie0G1*3MCl}=|FbNZ%~&K9`M+8u9% zRf+1Xghrd}54lL|?jmmMx?N!7b||MU)=3*WKIzBuSz>L|{a^)}nHH57B2W^|d8mbM z-ilnZQ$_AXZ~9+YEtsmd{PRJOb8KA{d!RXfAi|USDZn$AcE$%E-5hUzct_{o$8`~a zlTB8Mq`6K@-fa=t7oK6eJy^mQeIs?CXK?5>gO9)PjdA+%FX{LH`q6=IizZU|khbMr zDfR~p{DM#Bq%!^Kh8>Mf_|UA>RrzCK=`Hg11P$%E002M$Nkl+k+^U4GFe82uE$5XfSybK50`Q1B&t(iAMZG7F+e_o!e}Uc{W#@jGH*&c1h3cA^L5b!J&Qze^YlT?cTiV2VI_d z^2KrD%tg&F-oUYpk=|Feon`$8Mskc9d(w7QFLnE%a%?NsY9K5p7otPmvP@m$(cUEy zUQ+UmrDbjlbH#U&jXn!Xd_o5do1TuWhe%mWeoq&}8das2*gI zS|1?%DvU@YADNhx76lO#ccaAz8)&fASdcHNA%MQsLG@e)t9>Cy${!k?f7g-s1!vVf zJWOCyzJTjCP!A?!7TXG+f2O|XeIeyj zeg*(jR1=K}v`RhEpjtxwp4`1)c;abtTeH+#1}Gp4of@Rs;I3yuG0T&i5<0eD3m=%q zQQau3gNkUjl5}fP^8#XhX-i381eFKvQ#9k%L^)CbBYat(Wr>)`Mt&)Cn=#U?E`?-W zlUg8qf!W6B!%VbV)@|sDayL7{Q7zydKg{P2j3}i2m_F)P*KJE!Iha^mUbVIS@15M@ zo*2bj;$p{a9Fw*~t^*uIr??N4*lC8+uZ{Azr+VM|$9Kkfor?e`4)yKo&N!i+^a1x* z3#YmkldFWkRb3UKLPxUq||yyCg!y&CP}>0{$HT?qK*3p?YI+J5`?-EoyS2IvHd*KGNX0kS#Ig&c%# zi{OPx%su4Gi(R!9{ijW_ju*Fl`sDW7%dsg=b||Xn%@iT$LwTc$fgz2am)_@jB35 z`I+Mn#xr`Z!ZUgn$h+^~7;k;F>))JnQWM|MY`iXW!Y3lYUW|=y+JguCx`XJ%xb)&T z$M$1S>Mo5v*%OWN=?;<-N1#$pe56aPpk!e;4+(n>BZk_E#L{dtjYBnwnA^at+m3BS z9>%my8Ncj7n`k-KOcMSTjUbY`>Vjzchm^RNeaWKdv0$C7r~H2Wm@c?p`T6(9TmSU$ zkK1~f9CsgW@?cWp6eJtrG&QEQEt?oQrdy}Ub1np<)_fDDhGlXcS+Y0>%T7j@(`28V z`XrsTQUY#b`WXLPo+cQe^{Z~&c24$Vr);4iTJF@rxME7C$6)3(86 zJy~oO2<@h*kJq*KjodV{V6FQB6$>EbPxUJ`RONFh*o=)FLX>9NL1sg5*kMxL)kT2g zdidp;r(RM__45E8e2KWn7gq3au``PZO_|tFby+{GZ8_l?Qlmt5k1&r(##!+qfr|d) zuSr#Jxx`XEQfntN#%vc?_Kwg?uH~^{73A9-1gf3`@b%0cy>^s`TwZzm55`Sh0N~94 z`~+Yo=^G0Ns|>IGglCE7gQT{aOp5wwYWu9QSD zsX(3Kv#n4KL2;FG99V6weO!S{ik8A#Dbz76_-RjBvtyoF7Va@-u6TwhD0CY$YB7+w zh=+jZ8G@{1%Np43%(38cClPFv50BmgK-?alw3=NHk5hj_PcmYUf~;wuSBBQ~E`MHq z&HF;iJ7=HvLjXO4wUYG2p*fk@nXv5~^rf7M#=>E}C`5n>2%W#FKrL)fd|OxnO3)`a zs~t#Sz{0Y$C>q2Bh)K0bcQv*p%gLui`w%Ru@ng!W0G*|UoCB0jEJQP@=yuuxs1VSL z!kX-}yb{SVsUu8^heSB|sZ)|D;JaP8e_~vV;#-Doeq#iK$VBEZZXMA$? zo*s^-_ZRbg06&SYj7c>YInr0l!9a{*gHQWyuknuqO8Y@MF@a3NSL1jGkAdPK7E#Mt zwo1rz%s^0Vuhoz*{XXC|zLilxu=HFogH6=L1Hu&pQ&DPsR{&5_hKOquwg@J|OTFXd zv4VkCqKJq#dQ@vZTd=T48?>dUk-^MGIi)$KN{ zHuePrCcxLHeKEhR!(Y{1rQZG+3F=BeD(1`su$G@#voP^NF_Jf_*p7-$B>?RRT}t2lU!@ z)(+5*rpV~jd;h+4PmN12eQO*)d0r0y+?6k~#Q?ygnWIlX#eb7Uaes85FdsZ8U?5+~ zW%NQ!o^`jy5`pFypsU!_I58j?@Zt$ZJhz1lW@#7Sndr%_RdP*%$DFgZZl{>ggC^TL z`QOrd!ndIB{O;c$ck~ds?UVXB5*J*e8QV6LeMZ)s;(G1IKgK%FP-ZQ_2xVv{$FR$4 zantP_vMxlP1AgS{A^=4QP?vTB2N6l^l>NdrRpnwkcMPGSQTvhZX9UbQ76Pive%7qw zt-#W*whcdh2yOu8KpDTM#U64>rB4Q>+mf0kmZF5r*T%M{F18vA2}>blImQxY9@Myh z_s-bUh2_(iUKl4Id)#-v`1uWrH4yxisjSdy)9?ZwDU_uas^QJWGln^sT`4Y&)QG&mqAK9jRURw-$5OWbH6<@$HL)gOF($5ZAQm(!CN8`o^ zKl4KYc@>}&ZAs}fb*NHSO24>BP1MBIJW~q6Sw~Y9)ae7-iXFGvMO3Sf5O~5Bf6f%2g15JNnn3i(6%9!%b9TWU9*1>=;KPAkc=djwvoC-gq z%UlysQbL}(KZO>B>3j1Kg4GvMEoMs8iBdTp!iops(FFhk^zfud7XZ>19{SZSUC!9f zFkaKX(DKf?XTIkJ+&kS&w)JrNtW%!d2-FJUDK4S);@1lR3tM&$h3MIeYN2NKdeXa* zMeZpdGewjXYJ3W&K$AghdlAY48(Zy1@}s!X=lH|2)3?}T32u2xK46ecpTr;G*~fU_ zZH!+iB3a3{IJjs+w^#&dv=f$nX=XDG4 zSD)L_@gR2s2oI-xJ7fDd5q_ay>$nfc_NwAGEXFDMQ>5mQA8p=>lOTXRV?f``bA(mn ztOd`~*}%?WW3@vU0uFZdxv!g+_07by&uowHe*N6|`g14s;`ICDQ$2L<>K)xSpo1eG z)P??mZX=k#Ed{?i10F^DgH`&97V1A%$!llrgV%W0`Xy)?BuUL{oaGSBT+4usE(a`_ znmWMqfrxXfglw#fuEG(vMRUO6gN@=d2Ka_{9@MSyC{DW#COxlF)Kx~WLgkYIyygLa zPL{=wv;msk5IsqKq%t(!ygp9oo1=HG?u{FIe#3WOI6W@u{r0=NdWwVB)X3S5^2M3; z!H*5&dsDWAUE;~7?S<}Gm7Lk-)5I^lI3Lg5CdnZ`$A(!;TO)~pJ{Fvm&{kE7;H=Y; zxD_uMU=1l9)X4PVTu;ve)JJQAE(GY#|MAjGkLfjw$HyCQULWsW*&kba^_(6DQhm!9 z)3}iC9Or`fc)*N^jFAWT?~Tn9XU4@BzCAYdla2kod%E~ZKZ`FJ-d*oF#5FmPLR@2v zO$I8qmyIBd0>5W56f~14nJXuc;Fuk5&|AkNyzHnyM7Ev^o*@yAk18kb5ThSN=&=t_ z?5eH!(rsa#wZ5KZp*xGNz4wRX=l}TcjXR&dJx=VLls>b8_@Narig?j9$4oTtg6U*l z8E+p#i>|jdCt3$*3AyEIO7Y#QiB)!yEt;|1|K*>2qm}qx&6~1WUub~($@mzI2hJMT z`?JV2zNJdmPPVKVko(i}@sD+hZ|qAEpYgBkbcB3^b?o%7oN?BAhb#%63r~%W{Pq6=mJ2;=OM|L zy~RV~(EkT+%rUsaTGKwS46W&1{=E8{_l1=G696MK*;MfCl6RUzU8G%zbc*PV(}j=zT2wMraj9j&upi!8 zurr53N{o8Am{5TFyG7hm2Pf9_is#`EWn zja%1lkB>gx9XIYB_<&_=%b@N$8j_z|;LketMTbw@;i6_Aqi-KjGc8+JAt_l60^_~7Q@IB`1%#C&y~#J2_|1Apf8quN{o}fFAGE9N z{eVre;S+?MbXHwpwA*WQ$$Cy23-FE=1lJrh+rcih86X45jGbC=OQz)zciFkb?E^6o zo^%bzX3_-xxpp?f+TtkbixgJbgMRrz<}i8~h{jrVbOwZI_59L1%5o zaQ?VZleNIkpr&NZ!muv#RZreBorm9god>LCI!AUXtK_<6+f$Fz6=t2e#C9&~_(W7n z_?HV#(|N#yS-Jh`cDo%GktRBkp9I2d%w0#-?wXhE_EA9JrW) zF(p|e01>DH6#XH-mO*m?s z4%D~xP51TtTjQU-b8YAg@$s5oo5w@+{3RY((pi1i63gZAVu7|r7L_zA+^&Z1kRFkp zepz2N0d@abx7z9h#j+b2BZe!T*he5`zJ1K`i0Z(qA((JnbOPk}r1M}j-3_p>X9R4Y zI2hmj=GpOQzj}V0+SaR!F5euV=-%_Y`u8)1GvNEU8 z=!s~yUa?DNIq0+CJfK2}xS&hw@m%$y(?a+3YA0=RZRU8J+Cl;lj}sUdkF*12i!E(* z3#<}P5OJejST^ay<(n9QIxd!4nRYW*aPceSzz3rmr^j>~^_~De{N&bn^3=xoQ~LIL zZ+G9{Sg(Q86xkBKam&{wVvE1{gB#>FZ`q{{E}0RUi*7`Sjwt}>i9Rt@cKbz0+#A!@ z;;wkeOpHL5Bf+#*(^awQhWbo?)DAExVowQ0`nsw-3&6*IBvLX05wbsQNP*npl?GOo~@VRUXE z#IqhebmcPmX?I;%rLP$Ol0}!?Z8Dr>xKeg-Z|vT_IZm8?dYpagWnBQ!B#=}-U|Per zAUhUrNPL!HB{$CH_#j#NgjL@~gLT^lBl`)%h)5paq^`DjY`RzqZ2=QXmW{G%@ncro zcZ6)Gl&mOk2(pB;W~W@N_<NtRP%f}VMSmb7< z43fcZ*%);DMgHu*)?9-H(GN40os1x(RNo>wBd22ey!%E>`$`THpBXn*&;$XFOEZ@4 z38c-nKh{QHH91Zeu0L&mk5HW%LN+dg0 zuGC7{j(K*$uL31z(ws(8`?IZhK0OTia_n zFMLZyHac}lPN*0h7w~Ax@vTG_zB=gPKok{W8n$5s+r{=NGNP)1jx+H53DdlGrE>rZ zl+0~uTP0&`#)L&tKm|NX(7`v5a>gC*8_C~3b+GXWd2X@hVN^Hvj*s7c=hN}@iOun4 z-3hP-n`3m#8CK;bciHun%48q=*%fH9FTotMppg_;F;I0!$Yn_DJ}(JlwLE?$7TA!6 zIwcptB&{;E`7;vy;7q|b6CZ30{Ul&RPnGAJ6h<5;CbCTm^mIFz**V%3=xfa!F)^nX_~EAXU-XX#S!wFTWJT*tIlVse?*eoRN zq@5Q1ckv(4VzkggPcz9hlx##Jhus`DL39I+1{$wIz28|`m8tLdedl;YCeRXX#xRCO zdgcvxKj%B&Iqu=^HzID_xVvNX%tbvA?c8{%lV5*tS>(jQc&un}?O;>y>Jk@xni4Z) z{JA|cpxq3HX)8g$x8>ph*q(a=>%VPj0i-nFZE`;#v&OmQwgJ;)wcj7{iwpw?(gB$- zabic`=<7v(*xBCr)xZ8%Q z7$fYzj49$(!hk+dei&~KXNi#|%DkoQzmKrg4pb zzgkC}#NifTVs$=Y7n=2qlpSLq;EUe5k9%NtJB$WV*z#C9Fpj0hwrSV44zF#BtHuOA z87~z|DGRF$02}%W%)P6hj%y$Not{6U3%2?tB9hky`%hblp;Ka39X?-eN~?Z3 zZ0GS*yqTB9Q}o6+O}CL;f5b#$Om$!3+t(^BNf<`i2k1_$5OLyoB`%i`y5C&@-hlFB zzlE`ib&i79lZr-lj|vS5BvxxfEZqm4HhM1O!9soN_Oik=uZx?bh5DYU9PP^0l5%W^iL}#o@AIV*V#AxG~Ht#VinT z^76@p@>(;@HWv_TC`Qx<$$1CSRg9Skq}=Hg?Tj4w|BdbhcwS!zc>S5pak9d6 zsPH+i+L(iK6y9AWGtO^R(qoK(yviP%vh%)>Z0-ljf@KqV(YxLFGPik*1a0007g5V6 z7dDl=zhusFgyYuj{zG>H==fwj)K3TQ+`2!We&OW!FaPw}@dG^{;OdoY`t9_)>Cm>EM?+rr^$Of`QUHrY>Ksw!?EmR^A(j_?}M%4D;wL2&(Y9F zG>q6VRz2v95BEKhN#}ldxevw@OYe_fD{`V>%7j_tx9zbaHv2PQ`?A6@5D&>AxkRIs zXs}Y^VTaHU%8XCL!;4%und@sSpWS?@gYLWIPhLK&J2y7;DRj(esit)(<8EF+up8*K ztNQ?&>U;@c40gCu<~URa)8QB|rQ3n7^ueM zKik?+#ExNQmsrE^@okI%#MLfT;N)K`r0;?`rC(Y2(K}C!Eq#LdSO0Kn+#6eZ_JR)9 zt1WS#u|&+v!^!kp(6_FRTVH;mI{}{1MS!#8k$$Oxj%M8OslSu_abTH!nRZ0p5fQJ- z!1W?a-J`nNZ3_dU<06BBlNSNK(pQad{2_NJs0T5a-WRhBYFynlRDh3fS+<+IbH}K$nNX( zUF=%s_Q;MVgs**s3t8;qi?_tcQfC|6HE(fA=@4m4#YQ~s2g|-NYB_BP87M^V1IpFK zYNvjwWao~Sreovm^Ka-U0WXe+`k7h$q)jqv4g!y*={%lHM3oB*;RTlC7A~gQ*cXq8 z)3FjiW#T~Zc2&RFLr7sGYL5T9e~p(-_CNEOI0fniUE!_JcvO}-z3yFz#q+dE< z$6*B#Dw(q|y&t4WJ47Zup#|D|yJMMgdgBHXd z9xRo-fJZ+4-~+>%deLbaxzXkWmN!qytV)02s~4_5$T4&AhXE>;I!1JQb>d_Jwcn8C z6C1RNK()rNIM;s7QyBA_8oO?RV&%;cPGub*e$4HhVhqSSX^aP2Q5Pvvr77j{j=wj6-$$ z0Zts6+XeG$2RnXKO9vINb;87EEv$pXHO{^d2xNm_xjLo`0mpS)^oH8Ad-cJ%b$4gH ztUCez>pyvJJb!*~{O;o~$LH7dJLktw`62)@5kxp4rElB0t24&gW&wOFv}`?Q@hh2H zXIolKN()^G2S)_r_C7>h2l5tTPzk$kW5%u>n9mW)mq&4N;V%b+*g?|$oU!7u#v))H zS@;ooKM{8;5iu6%mr7|HHhAKtM0?|`s|Zt`V<`@>Xsr84+z)jj=8_%?xOHrI{E>bd zkgIokrsFCKQ+e&OOHs{;7!&>rhOOH|!50B32qVYS2Eh{gR9N3_#fRHOe@ys{9SZB! zJ^=2svZ2r5w+tW&e-QB^87nb3`C%WTVhlCbMeLO9t8C)8WR5re&%QmTivT>OeorU< zTW5}qx88Z$znJm!fB0xpLlG`R8=p^lAL;Ig)926Y)6RFthyT~V($&PPsA61QO8-j~-t4wff0J1fjcfX%}+Gf(P~O-u{E};QoWLeesoX{<-hy0szm!(7eD6 ze8!vAF_~8zua%~+V>!vvE*Zv%=u?y*>qG<7;neX&Ui~GTjN^_Y{O)&s5ENf+k>gWy zcO34U$mhi`_ZocR)VBH^F#O?zhl?Xz0JwiccL4nMZ?(SW0)TA_$FXtxL4xv2T#Qlv z(D79f_&VO%*5;Ub3f4Qo>N~`$!(t9N6Q*0^w^HgNSY$4G!+bk>2EfuE--goB1%T`YhG`GgE`MEpt@}pGJOq#ln1lVyG*84@YzVgl zOX$?|*9(&0uuJJr^KBEZp3rSe?#W9*6PQT~PcH(C5_KkcPj*aL4Z0%^FB0Ir@Dv8S zrCs5(JvgVz%PcY$VU<>pb-XChA81$g)m)sY3uGGSXu{$cSH5T8l|TEIz0oU<=1X7; zS4y>2WFD{@iw3PmWnvK+-){>y?3r-Fa=>?2B?yIvg+9%QGoGF7Xb8ofIb=I z>Vq@1B@pBTaIEA6L(a6eT%K%K-7zPHHAWvSzDxplS22RP~c zYBHOc%dujrDO29HM+rn!d8Kudi`*n{90OHjE<`@z<$~;Wm9#n1Izj>iva+GB%zDYudhO&~^fq+Wsip z7P%^6L0Dx-T}7bQ_dFBJY>#$BVhPrG#nXQ5h(1#+eH__sHHU+c6?yFh+)jRtb506& zA3hpq&go&GZ$B}1Z|{u1(VYN$C-vQR-5tb5EBnI`4*r$%%MPp`9PHn{aYf&M*E0bg zdrG&wZ_Tyo%=y?Moob@oRhX zaHDSwQi+Wo8JV{;|s7wE@3UadqcUtK6dZkIQztlA)tS3D(3mUqXmEfc3>Ell@n$B&UIiKQy!T}I?MU062F6N%BYIBR-702cyy5YI9F zYQWC*`{UGwW8+``;WOh8^|gSTH?NK_uj^|8`??Ttj3*nbzs;g;caWVQ^j6U&^TCCT zWa74#eeI^mRDmvg1}JqK_$1XPZ0bO`xjg5oc!!`@*%`J}6Ic3DW%S19aVTa0U~0`Sa{F`Yl5(_i)|rH+8P^s#9nfrV2B4&eQrH&+}qP{ao-+q zKeIg^JAXpoKhGMeyK$ZDvr8qjd!~zNw5f2Y`vtyrDlT!MP^wtm6zbSjnzAWK;Xoh5 zEpcSHPus$S(j8&L#yG}y)bUpRuutld;f0iakaGEL7huz={yMELOntiCW%=!sn>Uf-EEG09SVhYWsv+e*3|F+0mBy#0;ELMXJ(j zJX(WJQZ9hh!TZ*^)8pg6`9H>`cmHB+YQ5ah1%X^_P!BLaF(9-5khom+w1ox&(vJgTle)*p5BGyJw<|P0i z$Af``Y0xSsR$vB7o;WNsPyB};6x>B?o1!W#_P8Q#=>faBx-^-ssu zkA5-qgv5CP00y@K{*}!J1PYAUcI~(iLLw-05Tan20*Ht(c=qGO0#WcHyuD_gqs|?)Q>Iz&~e|MbaVkA`-0J#5t{t> z)m#3JR$<&7si-BQ<9c3xmr|-0>8Ca;Px*ZCV_ZL$Ks)BYgN1CADnTcE?k8BBsZr4gkL9oK#?m zSrBw-PjKNPzKUrbyL}wwhVy`b)kB{Sp==7?)DPJcg!N?;U{x?G+t?%5YsMp6RY~i- zy2a9lx2$8~V9f1y2h^L2nc@>&UW>cLE?;)Gv_%LB%Y$;B;Co~D*!ZoUy3U;dFI?R8 zL2VF;+2glN*jwg+Cgh>4b`{Lg)h<;AIA)fq><|D`CTlL$Rz>r;4oJz^6y4bLbt%zP zbZp5dKfJbX<6!k($a}IL6u76KdeT9@zGr@1pX}`FK=1jNHpf5z@e||K$BvJy*KUp* z`m}Ucx25m%#?A@FJVAn>+DOU%8K=mXL>n`9)7~Dtbp#|JoJ*Xv#mzBcY{FK=_Jcq6 zFPbt4=+IU=%!GxGgVosCaAMh4aA|89+jY$5K!!F>RnA}QP_-^?h9!K~)yC!(hht)A zklY94ibAqSs$admt2#F?~!74K8n8ok69LJ}ko4t#W8!Fh3>LS7EtsYMt28 z&yRQ*rY@p9)OYxwc>Kh8=e5Vj7r(nR{`SM`I+;Cf9=N!mL+ZO&+GS2u_r~pOU+QZB zo4N?_xX>r&II%;=Lv!&g9{tY)b@N&v9s0z)@W&)JEnT%qoEekVZv}T7@yoc8v0X!= z6rGEzbUg9h<2%6EMn;V43CF8(s9XHE&giNCH@_So{@?%o*u8T_xBj12U|@))j_&bi zhl^MDgM@2&`Vko?qPokdY|>|qC91^f_}rfGg2Tq)36pX@K5$=G7Y7$V;gFG?(N`1~ zzSe(5R=D_zd6#2Tl&-)>VB9r=e0l$Zx8rqg*NUx4$Q_R@*^3fnOWtX{&w!_mt;Ht& zk#>Xw-u4}Q;XtFq7yl~TPVRaR#E0&lxqn~Z|9^Zu`RWga*Uw?<*D(4*Nk9BCQ6yIL z&af*E0T8tgZeKvMVfBRqEry_HXE{J4LqbtVgIE1H+n`pd|J`3LD---y_fB7P+*^@; z0Ox0X*Z`A6#x{MW3p2VX$OV9FAL%Oqx;uzx061ZjPFFQ;O1p^*{%}!tYHZgdJ-A)B zwQz^+5f`Iut8$=ETd$ZL17jnx;Eb{0hkBRi@Jnyf@F8mp%Kbc>84EB1(b|AvjWCy` z;J=rmDmNQ;SdfsVL|-LDxT2%p{*ZP#c9=`Xvg8=3$`Tv1cALY7!px3MCE3`!>i2Jc z_UEwu2fk!JIl4^V3I3z>kLZD;3jpb)jN^ml9?h-$kCJce82~+N9RL%p)4Et?CTf3b zjL2f!WWt)O7NlT>z=l`zwjK4AZn<)}OyFJ^aKSXUM<}svMk}*0TZ&RKWRZ^Vw$4n2 zAPnG1)QGU7wBMT69fN`3D(2=~>!IzJ7r8PDfBYbdO~)oChqJ1Cy#ZJRMAk8v0~Y=i z(fM?6gB0)7}PDZW7;9GH)OG$`o)9a0D#V0)kBBj0D=QgU_ov`Th9Hz46%QvGL-?lVe*K1FS2~CP+EG4zw#oqr_&$+;2*)C_PzdYag#{Toeg;}|SD_ZjE(dV|%|=6Q1Z zalQ8SivfEl_Qv;LJ3IdLjSJ)a=A&`#)?Ga_U{7Bc&?kSqv3j@&Yv*F?j)vR3>HFR% z=qdNXhUGIf>}dqKvXqSP@zlMVfgmn0<&(V3Y}*@R%SsT5aRw%~#*xF|-KQ|xXMY{3 zagKdDq5yyXSbO5{Yq$^C6dTP|!rDBuEs|9r{8s%feHGy5?R(=XeSiJ+=T7TXE2E2c zVY%){Q@H<4sZHrAu#d|}xkO3;`ZrUROIGn&Pnj1mGTTt7S7Cd97=Qt|_Nj{JPTAno zs^&0p@maTwmFAgLV3oW-Q<^Tp2A>>7M9PViF|KS^CuvVUy*=J~?TPW553i12|L%rv z>p!EY`NUg +An#l8yuM6xyygzPV`C^>XlhL;?JgEVb!;*ZeDsMO>iGw0b#%wDw zNZPSeUD^ejSNt=c(0e>0R!WvOxh_HXaeOpFTKj5#RZxMqA@%Unuvif?F=Lq6!?8cM zbphbRzxppPMrf82)%oGe& zxcH9`OUxme-CzVK8YLH~EOB7pseN~jJSQ5&HoH#c7?D-cd6#1s9}5?Kt4I}}`%?pe z;dGEgHWgdj;mQ8+MQ@NZcnF+bqLjNHBJ1~Tc))~TWvZ?tbH#Z+ZEsodHUjN^hh37# zf0Z|MvHX#KG3Ern1n`|7>tfki-x0t?^rH9sK|&O7lc-Q(FS3#x_SYs5HfOh?^Nh_)oneX*>M9{^myshfIC6(m?O5+eb5yKpCsY#fnsXTdZ6X(+a}`Oz zQnEZTFbVTwB8SA~^7#5R`J@|6r5gWHS!bf^v4gf{ z?{=CgehbT*j#uqf%N-LiC6^EQKv;4Wk1hbvOW&S!bO9jyf+1VO*7@(NxBMH+xAY8v zxhgs~7O!4-D%g%R)lBAENxd+sY=~xK4nPhrSjNbfg@c!|RX9X#9V(|@C8*38`bUV90PNSA}lO|=@Z8yA#?}0R(0F1 zA^?kw=CrN|mVU&kYWOqOb;|6;Wxt>^hk;>R$AKBK(szM`0eLP?ls!RJT1sUr`Rt1d zx+Alh3~bXJIC4U|W-BQ;VH%zm(WZXswly8Re|i7d_~hEoxVSyW^A}Ez)B0W?eElg1 zY+={d1-H=L?z{36Tt*WxpKz3|V_3!FxGC&f+YHTL7Zy)OADHw6bgx zRl=V%#3LvNCw}wi_ZvU%VjZyY53Ii*xBrRyz;|be#lGy<%;zo&!=sr({fzN6sEeX^RU%QR%EW5~b$qEb#d z74JjJ)#jW$MsKm@u}$2N6<6_@9hrSB*!H0aW}7V&(bVC@FHj^%!_k=K#2mY2EVSNc zG@$)g-dyA}c2JIAerQ|O!?Dt}U~(bA28$(yEA3n2A(kX$9t&(01TUJ~i4*;Yx&Uze z#P+!O>QBbzxu^6TfO~%5=zTHQUJPr0xIMH(MBax8ia4^4iJW+XHG#wH`9dTXQ20vf zHU*)XC?DLtgD<<|gi^}J9VW2r7Gl60nz1@^S7``wJ9hYV?7&w9?p^tKT>qG#0eqxB z;%hO|0qRr^@Sna8M>pv!ah37(RXk1Uh*Ys&oA?vA{L)XzDUv5u32ZB+<&XWIk`&eM z=4%qu+Ri0WQelgAN*2k`5;+0kwz}=EmCgpH2nt|i?jKe9xGQ>jn4P)uSYzCMSN6^0 z)=TE*pi>Oy7Ei_*GT0M;{3eF9RXVpt7XXfa1~47-E!iGj0LYGDSg(iu@2j``8_Q2~ z2SBAvG9v5HTEiTyrQ&OJnZ&YTqGIw@^M&Y;y6Mcnn&9RwP=p0nzrvp;z`t$>}QqylP=3FsjZer&vpJ zbZdSPse^1oTH7rynW{C4f-+ni!>9o0_E*2_!GM=_lJ)V``{S|gTxnj#fU0728_TWBGNDQt4$I&xt`d~BiEPj|C9&)5BQ)?7p)4br z$i*I!d?sp)>Qw?beCVnR0bBsk$Nl~Zwc~mxec`!N;}73BKVE-UKNF}2f!(?FVBEYf zy)FXeQ@!k;ro>B!1aI~o0SHk6CM%1QfxvL7M!%k?&9O$=&bF8rXZdRXmP+^kxfWrQ z!b$jUptd^8ouN@w?5^+I^oPIggqR9znd`Be_|o@R z-sXv?Ibz=&v57r=Q%)%kBXtLOQ^TZV@3?Jh?0g@WeYXj&l;I65TUGSGe4^UC3kEzr zO*&xeb~e8G*|U_hM%0j2J(lg;>qe1AC%u&ji?fX-p=g{i8CeUTCAQVtqGw(_+PUYi z$vpM?A8M>WGj{IX(aA4se?_m%`-b;c%gUbzQpM4M%6GSZwt@H@)7SJ0ihg0bPEb!J zwyU-l4j-1GVt;%?;9;8a{Kf zo}e=#7~|Nih0@1cfV^Ls1CR|;r)pfA!@-N>@>;MKC!TKSYDm;P2!W}z3Cj`@{T-dR z9a0?B);3X>WU;qEx`ihY$5Ut@qY2|N8gFiFchx+s7Oi=FwhttJyguOH)kD5ZJpID} zwqNcLDn}Op+zH>J&Cvyb?2I0&)ViDzd$7LNeIw$g-XrbZAg|kuF&LHh7e9g6v+k8c)j4CvisFFJrkoOx~`rG<4 zi>vru<1B~IK8QoMy!6*^GTTu!_aU7V;qiIEF0 z2NB^Tbu{4dy&R}oTAN@E6DT;FEc{TI!z9#fi%j?OjY~SA{p>nl2RN=f0Z#cMfOQ08 zyV%<(qA(cLQswMRC1~Tp)dOWq*2+NKcEoY1Ed>VAA#6OX#px%*ya_|mIz#NxT!25`&VXQ}N(ea;)+usHMIZ&ao{P$7D9R)-g%53W(!Z zV|9+Wd>T>w)}`!mm<}vf`EZ;>1b^97*462&j$-UuO02wvgJXUYLLF%8ri*dq*8TCg z)}>dU+S1(^K^vl?V{Tcily|XXq290xdSc*0)_qfpSLs7`*mfGPd@T;zfA{_3o4#;t z-q>?C)Jxg>-|?&<>*9<@Y?xBVe4QGTu`e8b%QISZ5rE&e*A=bt)C;FI=eNguzrHd) zxv@J=_S3vg#C}bny`{=Ufcv+uj-6XK$N6Vo8Yi~S>)~h`G|U4fUrvjGVxk~ls~_u9 z^Z)=r07*naRJJweva@aWl?^8TRC8*=wVq$>e{jujXzldw$BB0=LUhNhizY!JDt(H2 za`QA#!XBUe+y7B(!0oZ2PyeBiU;m%ek0Rfn_7ZiOo43$e?c&G}vJ1y`y2 zqb2TB=~oa~8s1jfzsM&rZS_T;DQkFoBv`n3)%$o3Or%=-Se3J&$bt(1+yQV`MwsE9d)l&$$rK^qcQQ1s&)0HiJb1s8Lp5`rlX2P9g^$t2Dl2r*NaWGc-M}b_4W6K$<1<|A}S$~Nc zo91tP7$lE(3NyJ_24qJM0i0d)ttcE_0LX4&oc6Ho^4HbZx^JYst*-#sv1eLMLM9$@ zTIN!wT4AP2(!RAmC^RukDKpr*tb{fFqdl;#*`7rP4q5RcW%a5$GG18*vS1*>m!5d8 z+qhml{b2kzfAGY3V&lR1)hD;c1N|=g$&-BFjqitId5Bl$)7OgExb_X?&?^zJl}52v zN%df7;ZWNwug&2_ZR+eSyeWRon+A$X36n*&1QZkyS&C7#IPp(y-sdyqCezJRlRBGPJl~y$N1#RU40!u z&jffP7Xjd4obn3+Q1#0k=nSBS-X5)Lak&@J5bNfq;T_{ts32XpgAVFGvRrC((|lcl zV;WMa7%8+3{>o<;Y*I4HO~KCv4xQxh-Fu|pRev;2>n@4cUfLQzc=_~r>iih@^n8HN zuihOG9v&MfPo0!qeILFFS98E2G%=MWh!pLAah^El2oNSMZrC9PGtP}c(B{u9m_yIs zDvpB(RP1Z+i|O7CV{Br-=9>P>4>)@$|8{6l3o2LEKGM!u+Ppbr=P1;tH*^u^wjRj% zohMF?=g-s6VeWjoI2d*@IV2n4eI78{2yyzNnNzOX%>I=4CAd;jYAjEev| z!S9qVg|zyK_UUy(5B<7x?Xo@*)mMm~dqpS6XT~G$9^;oYbP`2;iE$loc(PwB?tt2z z@_5WP<7AFk)`At%awu6K^q;W_B6TDkho_>&D+URXI|S)EvEH3Jy){1n<-ZwMfBVE{pOT|V{C!S?$5<^6ED@Z{tzv8Sz$%mJARHgmS$C0Ha0sH0773DPBTO}!gY zW-6PzWyKYL(_0FSaX*N!*Q}~fG!7T{2gJ3bo%Njx#=;?FbM}68bnRDwrft`aTlynJ z$Y&dDr4Icj>7|+U4 zl%FF1N_!*6cl$>|%gG|E8WP)wR#IIUIez@%xcSAe$IVZErGAo3ePt`$$HH~TD#P@b z5R|PiQpynP#W*p3rLx*}>{jF5H56%qS>cJua&uY|7cO>lfd)SF_!d*~c-$Ie_Bsw> z9~6d|p(%WbFeoR}2l&QOpj;^B>p09UQ9$8A77)2T#;5%vgRjP;%NEtps#uAcKL-M6 z!Bo*PnNq5w3jpb#Z_D=R0zmczV|9+#Dt}$Qaom4EStPH^t&dCwYI0P{x^P82+;!kihuH}s*F{OQp z$a@gHsy5Sx4;{)SE|LPDoEX>^E&dy(a`>$%>5@U?HejGv`Yz--oG6(t_FU4#?mp59 z?GtB?kCz|U#UFX(wqdUJS2!ki8Lq|6B3B9d)ZurXr0_wIWW;S;VO(F8F?0102R7L+ zO#reI$^&>R)kmH$vlkO*)NQ@wP{YNi;kpp8r=Nh@+tE$w`lR#m3mfANT?F`^el_5U zlMi(}^xg3(cg^UQ(G5K$41f6q9bb@yj8a9TlFH>fC~W~$N_nwudFO@-v<{!qmi^l( z;0yB<_K*rB{_>1sWLi< z;-h^%wDQj0*wkH0Z$7&@&g(*qPh{ODTezJ~d?`a%w%{G^F`K>rq;_ELbPn;aLu6*i;;$3+5 zRlP@S>dpdP1n`L$QP7{|k9NBeC6_LNPzRaKGL9BJC)Vs!#th9cC-|9c9S&pyboZv& zieqBYXIupu1P<~iTea($o^1Z{FaFo@;Kt{={eMgQ@g&1h)O^jMVwmkwU5mKyB64tP zx1^3Weq<$G+at4b;#U#6m^zWW-^y3UMdp3@K!hvr{Z&VnfGMS%(t$0u@wAA0KXvXn z*Qnk}vm#&36ULUE-M9a%OXzPMCH? zkb0rOs%7gk3M&zshbP@XxOaDKUwm%7@Pj|qeAxCg0JtzPDP-cdVmr+#mqNn!MsG3l zI>t2#a9(gsJayMHUa7VYjqwx?C)=T~{lJaXF_s0p<8P_CpC`f$AIzpFQX;EoukmWEZMWmWK_P~6h_2!O^TY?`9dD*Zz zuuTl%Z9|~ZdB>S5h*%O%>TCPu1G{ERpTq->N$66}*n_L(&h?$ZlZ7_NeXh*VWg$Z=}pu z0D5G!1J~EH2tm~kPr@v2253{ufr#L;j*=^?lk;LhtUuK}xyh5H;Q*~bQol^nm_=5G zZ_4ZCZdu@rmfhq#v?ldJOsI6@qQ*-L^Y&zbL7Y_W!;PY%bp$`abZj@sv&mUeTQZrx;UefI}f>Y>E&WrcRX6 zIjxr+8aA>TUS`SsxtbCr_gfpewifo#0`U# z%3K1cLiSC129xf~ZtLVm>4fzP=bFfx@1e%0AZK*Z?|FS4U{fbO|M1?Gac$?gF8u0F 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%0Anl+F$6G4a92r6g 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

    o#y?A(GP5}3a| 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�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�NLVL*d$XQjVqLr^h8o zJXx>!CVjlQutu@&qij2itLvmcDe2x|J8|%U>2WgT35s|)ph(-j+)xq-d#GbV9=qD^ zWyO3YHtPbNxNRox5r!pe5*q~+k7iE}7(bIV`*#8p4!q;mHAyaKuObH?vxwjV0*?5a z6AfXC(ZZ2weR&X3CHC0)jUjw6cFy)!|Mp@^`;wkQ8=OBeLTvUq{)oq@<|=qh2>~B& z2*bQ(tdK$@8|BICd-RDr+_4r=<@(K6B#9XgnBdM&?4$Edy<#JF_Da{NR2;Dd8Na!_ zfYhRnOUK20C4buYLna2sn)M4dW0Eh~I&$I8v66$z9gcfhx5U%AN{k>fHv3f)^9GGL z)Zpm)=h|6C4q}Of7J<`Ftj;yvI7!~sw!AW{iB^WQ1~Caw*crDNlM|^LJD|Rq?R?mf zQ3sPyY>Bn)@NQq61t8a~84ljqv5n3iFG7_{-OF;eI_|YP9X>I zQ{!LFu|pphR&puJMl@+xR7$qz!{84z}Df!6(A0z(gC)w zx$qF<+u!)|T_69)B!HKz!Bb9~_V21s8SUEw&nM+WWZ;v31DK?-fU@$hlUVs}4XUzh zi|Za3im#{V)ab$WxGN4Yca_@g+BYHIjq*YwTCR28Y4#@N3m+;8v0@WwbnfN_fEUJW zLfM#XAw2LH>^d(p=qB_NQ(57sPh>9Ms@ieQ=Cd~}iQut}uyK$VCvR_a_iYH)Y9tcQ zAnX*4%GTkPJNNAiEs$)KSdllgm?ECdiRs|zk0sXQFM4jYGaK}U(-=UfFos0BVpv?r z8>^e1M`EMY?m$=tPxLza8YODXnwgKyV)BDRBImW?H+oEhp* z0S~yEWkZ@Z>$Du8_#s`JakVg)-2EAtZweM5MDFU;`7oDl>nJztjV7+VnkRRvM-+`oU*e)o+{v``V>1nR;cDz15p~AlmSam_ z1S~{#JYRI-hu0_YQZpV{{cYv6qczpIZ(l@xo7N{Ioa^HuwUr(~QmI_lXejl7bJr$A?PCi`)-v$cM+3 zx`^U?#$_1~*ai>(&gD~Xgr&0`B(w-kEjREwrlzoXa3C6PZ9Hyu=-ZC$>P!76BBB@G z`cO}~!y$2#6X#YUkfu1DL_!q8gAh)=+BTYPHs z1(o&o$XHbB)BfpO>5yzLfkU3SYL98w<%~dck%xJC@=(Z4#^Tzr>THecDa6`#bTQ=( z7i_}gprp>K8<{Hf;DW_3pN1N=VT`^U@sr#L!#m`pEqdj`&!X#1o8-7qsU203Gut=B;O5Nq=>&Wv+N zGw(riCQIohZ_s8=I;7?XdAYrwWV!u>!)Y^NV;**sqzw`t7ZXlXmG>)=bo}&vzjoR? zkJu!_*oaWymiQv3yLNcI-5wCUY&mUfgN$-lU0D!!pHEENxAm=M^|$hmO+P!)$7Z-| zpzk;FA4ZSOc`Romr(fQ)ZoB%E;{&(f{>E?p2D?*V^t&;n)&^rQ<1(GK387+Nh!*AE zsJnr{)Arizu>&n-bS9PrzG=6%RHud@bz`*5{I)cg;a~^Ep3S!II3-IBN+7!`@gf>u zCRv<$XLQE50*D)s9RaGU8H+b+$x?&d?cg$?)4o`9*#f)d%H5tY5{MiULGwv4*Ke{^ z2R_EjHGVi*@% z%-Gi$fLn3VmNh0`OM~&l%{a9V7b=cb0`ocE$YFpJJtx+rYueyP9)MIlwF;w0@WFEv z&+m+f2c4QbpL9a4GdAgr*zx#5Sn|k{%RKO7Asc;TmvPduml5*7MxQ*wK}$u0T5qf_ z?xC7K+_izF4GJ&b2!$q5lH=p5sEg0!arBnKzx(IMX;++FBq|#x8w7~Q);XZ< zFNL5OJU8I*qmE+|=AQXvtUBY<*%xB+A_%m`KYsMszOa3wpL!++On2NKm!7upS0Bbr ze!?x?^r^#>I)AG{zB5eeCg{eYt~thz(bt~f8mn3!H`WuhV{$)&X(sk`;uPPBf6_X! z@}S4VK0fu?s`$0eH{YVbesXKV;X|sxIJ_pN%^;Bxj;ooAv?0I~^T#!lK44hQ>{yUL z%k4MBWV3AXfn7q}EC@MZY)zAKStf4h8cgi3;uEZ~WljZ>z+;8bV3@+6Jiw#}X!C+i z9`>9Itq!5CGRk7sK;#4a6~A5Li^k-QJdNRmBRqM;Hc-65lKH?soS_j`|2pRt{YL;_ z+y05I-Yk6gk^T$7JJP*+?ewwBpyOxzqaPjyqeHM@ zGC0~<(~Q9`teHKA$Ot<(_uF4J@Ol4H)b(W@LW)gv@(X7~k&m9v zyg)t^hhv9V5H_-M5xd*ri!0LRXk1&PjX1w1LGLh7544MYNM{MsZn&~Qyh=LAI2?{` zc~TZ=u#CZbZUv|?a9LhWvc$sfhmP)b^koiz`Rm!u3Z66#JHC7nT`0D#AWapbTGV_WF?y0EPk-1BsHb8JA7b%(8YmCI1C0x=m8s2uRrnb33dG*R95cbH8rw>m=_0{!@6lja}jGZs>c%4cq(c+1L$wv=4 z>zeU!b4NFMSpPc_4h{f;`={kR@WP#Wj!)t@7M`)e8>TI84^MmnzKI*WZ)js^*J{?6 zW041}7+mYbr=A~JDi>q|$ghs6@4R!v>vvi`4&F#%{Pr>V6SAf#(#E9*cxN#4buEr%BeTG23;UR9_^rJIx0_2?h zj@{@DaT`5j8oUU)4w7f|A`yS;^ovK%m!#G&F4@RJvN&OHKkczl>M--E53SCb)}Nh_0eyP ze0nK>#AQNr!Nf=5&B~;y01Z6$*w`L*Cf2?@?%cH4&ZpXrr2fJ=*}2b8+6U;0y$kXd z@~pPuj8E+wokqBW-chj*DtkME7&4G$L2vcrUVnc!-8Sv#=4yB?}$H3G9+t# z;v10;WX4z^Svsgd1*EeJU6rZQ8oTlZAjA@+?J@iMb#`nEByz0g`jOCMFj4f=9C^Iw zdW$~m7YgN(YsC<9N<%pvf{edokH7ejPn~VsnCRQyIVp=ItWOuo&}mPzlLeWvV4YxK zj)^IyUr|LIIuVo_yZVK94v$-_`>8((w`>nYkuOy*g6(06;H2Evl~r!goEpa|`=tE= zGH`X9^#SZYiqN|j*g4L-^moZl8`|e0E&i-;+b8~(>t*^+^(lZa@y;FBHe~FBZtDW) z8s8s5W1GldqwQwhcR;;SW2=oJy4W^=Zf-Ew7G3e)a=f9iS&d%>K^!esOHlr7bbI*h zN#2*%o-hIk1j7zKjuns1IRVM0%#COy!-r#xTn0O$%_XH|@P->OFZ1bF=Gqke9v~RX zHR8jcy0xfx;fwWYppYx6FL8pKF{7dZAD+Fsm! zQ372~kojHV$CrD$LHYjU`xUaOyn5gN}HQ!tj{f}mOU{fHGB*O*e{gJP2kDx@B8njWoRYqzD%=OnOvjEQX> z|L|FJ@MVB9wO%K56QdXT*xd$+xMTFZ%I=hf2aFWsZvqSzFv;#8xq=Tjkmlx*F@dvl)H+NUndP$ zTy!Y-vc{cQ*o;6lN4c0y1@jaBm@ZJ}LJQ>;{g<8Z{fpndJpIwP{RV);bkecMR}Ki= zmapVP>rmW|YhtlmaPc6WDez|h;Yhm=yV*~Vdme+eFJ|HuU+#IziJJA@cru1_&Jsm1 z;K1ii1^>DOxx${{TH2gBa8c^jMNFSYd0JBGAvrS-n< zlPAxX8z`_+mfY8G;_x283=EE%=00$QAi=nzYdl<|A}CXW*x45%Sj3Kd8E7097|k`^ zV(t!74y>Z4;X0h}eCsQJ(at7>+JC@00f&P&rLwkf>*A0&tWZS(W zKC%P+2@LFZq1^UQ7wCGNa@w`KtFElLa(w8TP2A6&Y*4(S4>Q+#isUrd7id||DF8N` zmTe=gI_O%b9gb{NSj}cx4*O@*33qu@1LD{^{BaO>Iq~OPS99L}p6KAE3vOyiTtbM> zvDsH&WQCQqNM+5wW7bVyTE74xZM=!iFP2CrVZ1n|&5Jn?|K&J*cnsi()1G`vPT@r! zMR|+L?R#ut^mq@F+EwKK@Ksm4a(YOsqsGLSnm8)JZ`${`$FI)Z&h?s2F=U7Tx9J!*2*Z>E6d%PAb=o$*1zApEl#z?ca|c^~SfKpEB_HT86P{jMzAL^{;v^8G!4-t=A=# zDsjE^4f{1lYJxxmjT3 zU^kxii@q3?hn}_K1IS>gkWu+e1KjGUp_!OO*-Xo$V>hl?a|taaZ{qkt9i+a!#*_@M zUfx`M{KIcwzV_w+P1llq-Fx8sxkORFcIzM@mY`A$UC>#!W~@l7T@7Y8&pdC5a}L^HE^rcUmAn4Q0-nA*gEI4?)?Ul zY~>OQ_Q?84z!DDLJ~*u+4&~PQ9CubtJQ*BuMUWgCh~Ou6G@A0!kHcr{Vv9L#PF>sO zd0xNrPikc#tM-#r+?9dbg>;KK^>;1G%5HJ+RMxt(yZXpJ@bQCh{Pvf4RoNR18wMNy zxG_D>S@LQvfbyE{k1GDT_qt^;~)@V;xF!AkEJIJ1S2*y28o)$Xz! zPD~spw1!5JShERdgC2ly&af)K%_86&ckX**CJp>=jJ;60ogu&8xN-Y z#W4iB#Mp2>I5u!N;KwF>v^$mwV7SA}BpRzBX&Ti?^K18|SR@2~13z`}EE+c5X+6sY60 zkC3&(!5b(nn|_j@Hm(V+__M}9WNck?lzZV3w082F(m6nT3^4RnnEdBtNzDJ$XDr6Ch|dbn}i zD3y*}_-6OS%GPgu;nuFXSu`?)7=xi!*=ts72LXz~j}_9y;(&CLe*Lv|$2D=NO?n&_ zJ`BZ(Qjg(^Y~(hoL|$2(z(vq@S+MS>c05mD0WW&`MJuP!vR`QN#|_t$^y+kc{-aYf zPqsEEQzGk9xj`rSBnSSf?6@Z9{OXcxuX%DLIC=-MYiubV8xZS}>5$Iau>pr1tRqIx z0k1Utbk2{LCJC=ihASw1C>K7WCB*vA8ajMCg63)1piZD_B$jB{7iJ%JKoeUg-&pW2 zap9(+w9HFQ{+84jF&WSsUJHk-YfEOceT2wkv|0KYKk>F$Y2GDesDntJdF{<>jO}zH zH0Col?6Z<7iQWr|NqXAgi0ybX-(!?Axx(LkDvi1Hfy`;(?6x^pQ^ZUK+UkPNxS4Co5W^+u(OdduEfH1?N}GKaTh-! zLrRf&cD4)$QMu%@Z3As!KwBmU!x5e&&C$TUIL5?DX|8y&Rsn2WI({QVlbqKu@d}pf z8K}VEDV+y36K8OZxiXtL7WNjfIojS6TYIx7gX8PmPq;Q6hq!XhV%HdQJ>#P>OGSjn z&<0Cit+XRZP*t%LO`PC-U}Ce`Bh{fBq0Y)JZ#cPN()2Pn@{yQ_YsDZt&z*kv|65-^ zfBIi|GqyKd-J0J8$-gY+02n5KMigbCrAJL+KZBqtIU$??r4D-ZY{^ zwl=e&tCe88_?20J5wam=huaY1F`q=31`272vr$D(J2!0H32b~Lnf*kSSM~LHDI>hq{wt!$%6KI)JrlH%wgxY6bp0JSO!N}UY%nm{R+H>70jH?9Aib8!|3-5 z7-}*Xn>7r&=nAIoLyDOwrwPFH%bkzm3NNTu0yHl6?-nbA*ha^Nssc8v#@!><=;J@S zea;;XW2k=?9@m`T^dZms!d3O|D`sCmJ3M2YOvB^TSUXFfrsIH2t@9^BhWWIyZs`=8 zAZky|8lX-|i*$NlQwn0|i$d-~YV`1{a<7e6n+R(m&Rv~?JF zXySYIF~mOtKZYy}zq@_Txo_6(e{+}~ikbKDhXOGPfqGpZJTUnU<>;D_=$U^;M7au3 zy{rw!O&s|3n|{)SUzV71SG-~gk3VIhW|+gTlsA#ooY#E*i)Zp4$*Ow4$PGi-qaM znK9ki((O2M-O^{UeDfxf8gk?HYj=!0zMMWMx1`9if}^t5lJ;Iu81GLjHv@)0Ly8e? z5%I;h4~qgMCcl|4%v%33ky(fuzr@0XB-741>bS^L@J4Yxp>r_Et2v9o&RU&(|$JBn*kTJuIll0^}^sS1F!wmfNJifk6p`Vm_y_<5#))gJAxsqg=yAJgx0pW38;QtZ>O2`YKjK0+UcDXWZzW2b{h6 zW9a}_<)fx1U(Td-n~{&tNjUvou6wZ&uj0JrFOO@+GE2E!)wl0jfft4e#ij!L)1YI- zW#mJHTy127Zyg)0XeU_!eV2#YK9H$}->h!DDh|n;jM~_KaM7yo+Z{KKra1867<8IY6nNHv zz3b$?Y?M@#Bb}QNK7vwhHrMkYDuY>0*LVjI&YqtU;glP@a?@Aw%_1My^~f#q$@apu zcFvZ%><(_>E6uf@HHC8RbAg=CRO8U>w(+wcobZ{97)I}L@JTPNPs@;x4sP?)S7eTB z+LG*nk-LmPG69dLVCI57n3BIA16Ku+o6P)~Mb4f>WIFuD7B+*S?tW5+>R@IUNMQ}o zj=!|q&pnLi*nC(VK0=^#xuS00QfLpggI3_qx#188v(}e4O60m0ddTln{pcUNH-6?d zwZD1!oxl4(T)zGP{JqO-pZathH^=T}j@b7O@w6Mzvl#D_NrhN6FM;6Q{WX^9mRoLI zy3hItI1!C}I>LEJgN63o@@RsFQP*l>#*2Y(32Rd+*cTHx^ zhmcqtLxHOE$Dq5eXWc>X5;-=GSF-gwKp@SVT3SucXLq~UOoHJW&TTe(p#=aaa3){& zmy^ccq(DM2U@5e9VCHZ#lVg_G3NZ44iLb*68@Dulxucl90MTe<_R8h$Z+-bciOgqc zI9|3Ce_LZ;S=)Ej$XZT(W$#yG^GSI@2Id!cUx4^{t5`t3PM(v7Q-3bD+B{E&zP4xG zHtuNuBo4St#7Mkf+(frFcD&t`y`d!(Hjcp9(ACMed2dXQE?73#ICiameqvSF@U`oD z+w2XU7dcSO+*plFHxGd*$+@S6;jP<8ME@{N=y@oy+&$dwluxzxHY~G z8&`vIJ5C(Cn)!8$Mssorj6cIAKPgIW886t}QfLiK+*-w!+1MCP$U@`ZlCyGfGMH5M z01r!sR2q&{9onpo)asAY_Xg;U8$G>zFPjW1q_v3=(9EiR+Yf#DAVh%~sp)SxyWXQs zOte>SyoMnW9}3+ld7ay!V~Y3q&gTq{=Qn%KSjDQjaqOZb?X-t|B6R9J_Ka%sgg@EZ zhsc>XM9wkf9;gH=Jirx~amOw(pvNQZT>tf+et7lEHNL6ljkS5RR(lN(aP}$t@H?oP zA7u1%1568Uaus>>j$v-tX~X$M?`kbfxrs~TWar7{14jPMH}M1EFGm}|I@Z{Zt%^4W zTX^Fv^QH!EDLRkwt-gN(3Y~lj^VoTMEVzE{C}y@ZC$YmZhsd1wa)TkZUSC`*^+&kQ zUu*T?p*X|pIEG5eiLlm9Y*k@{&T%-o^()2X1$Oqe`sf2dZpc|j(Zl6}4>cU)h)(<@Vi_53Hp1PEOh=Mf~L?pB8kUgy(G9l zKiOwjl4s7bVH{Ly8_fDfEw#AYY2;a$Zq_=02 zje#oRGruG9CMkQn(pdDBob4K9V~JJI9c%h$Y~ib1Tp5ae!;eEE+X-?OCh2GH%-l-q?Ii!-LE)oz?C-8LFdd1j)<AVwL;kKYde=Aqvp zZtLpm`_{Jj;;O%^KCyS{KejS2i;wN-_tkTz;5H}izf2A0{SJ0zFfXdn^(eOe4_trx zbHDmG*Fvtt|K3?dsWR^j99`--7Y`c?;^3Y)bnQqvvLmJH1EmUjFURKDzwHFTQp8bHDuNtF>1D=7l^hHYGO`@}o>}a;DNZ1uh99hY z;QKIQd*e~~d+8)Gzf(t1t&E4}MVI9F04%Bj*8G`1wguc$40TfN-xix`~7FSQouI zF2zz4fNM3ICu}IIFN_~V1a%LcP~$za3)T>RkJyC3@1M^ z5v+YA7uZ^ckZsyICo6H5r&q3;hOa3jZiguKax*UB z^qWV60XObcXKoS;+>=+e#^Y`r0``6T!33lTy`M0_R;X{WPU`!9MQ_ABdHn9>(GUOV z@`FG8%H?bS=ij<~<2U~&S-*36_07-9o}E%}$nd7j_#$>n*Ufa1`0zaA!afP3cwNOC zEG!^ZDyeD^L9oa&4seu{10S0*SUZkO(CVgh{xm+X$IMTBhUbhYayy)X=iX}OR0gIs z4F2Mm2%@|$*xc%=-?M%xS8#$I@a2BtiuihJ7StdHuk2VA}ThadWT--NwU zWXdAh{?PAI|B?yl%*t0|?+YXN#)U6)+5`*VW|=ZCNX-)fkl2R5n|ip$_v8)Rpa&1L z1bKYGr#MuGl9t*6jL|E)yN374gV!%#{@yE>ul?`uT>im7|Ka6VzwqGlr~i#NF2D5o z*Dr6r9&Y~;D={!*Cd3asCHDh`UFbC8@sk?~b%eEv5pdlUb7d~z=7`0CtiOsNY&qK_ z>vAl-P}lg7qPkM2wsQiwF70E~_8_jiv!+A_pW*g3<2&rJ1H(N)Z@S<{-jeq=Okk1c zVOrR*6PQDuu=CC^9C5{2Iw}=x%OlCy#!2BM)Ncv+t*V?l+cpl94!3H2Aw#);1SBontL01L_32jGyHUp|^|(c~^^5k4ka*9k!}@DsS` zhGyAfK#X1v#>nd=ln8kA6TlJCTn?t~7`-vc!?Fv!_;Abfm3_xNSd`73f%0t=a$-XP zCnwX*+Q1$lLO9fmLys%D_2{khSjIls>Bv5<%n{(`9}m{eDF|}Ln9)u-+R3v76N?EV zOpIoq9GFL3=TM!?tP^~6e*Bs|efx$JzvULN&Fgh1sTHHu!#rmCYk!xA?|kR-{XhKO z%MbqG|Gs?p_x{o4?LYh-{pA1E%l$V#D?O``U#2q}3m4+Se`1r*p=}_MZjYkz002M$ zNkl%aTg{r9M9U1t<9Lv#&t7K;vu5i!%w^6)XnO5 z{o5*I#zoc#=$12hwHXq{;=~idd9JrDYdl@Yhi00a*cftQXROJI#}Lh(>Fe90Hb+)o zc#?oe$1nkC(kLPeXHw8 zPTVb~y0fm`ZGB>BSAWXylAZdGZ2MdiAK5{^&%o}=!700|UD;XRw&~v`o1sUsi{Yp|FJANCsFNW+8ebwSQ$gi-Osa{>uQYLFWW9{W6u#9NLjSNOrUz4#VQzdeFFhHn9=aY(=rraDUj_vNggstWTXz28L-g!sW@1q)brXB z4hiyYdA)=(xyHhFdQ*tqjUSzl8ypR%s)=LL6CD8iHp^i1$+h^$-a)leO`ONrZK_zn z8F~^*DI&+^pwxB%*i#6Kdn6`eg5{_AV4gg@Jbvf9mmhxjYnO*_e_O+Pbb0N~Pb*D& zw_H%uK{In^=M$>|4#xor)Ux}&eu!;S;5ZDMvA9i4yMT4E(dJ6%RbszwCMgnh?2_E6 zXH1&mrQ3YtbVwIqiOFzcfEzt)Ks&wK-TM!)o1Q}B8c*Uo{b#O-L!48w${LyFXtlVK zlHj7}JVvsI*K(bRkhL6NmP*o+IE(_9hE z!+pwzguS;AWZE>=>lDuXYHaYdVKHzqJ0|a%Y;lye9jUpoSZ0&Y%|uvrwvkTuWdfT8 z8$K|Ly*p@jTSvnS2oF8f`^5zJ@xQskzt4%nK_qyq%rT(l?yApN&XM9bfb~LFK884L zV-_y>#HcoWLjp(JRv6k?Pe0R+`NTkM2iCsTw+JVRhi=@Bz<`+}z0%yjfA8|9J`JEh zYJB(JOF z%@LHubdrgt*RAs>c?%Zfa<-_GW3)2zb>vufOh%4zIX2nw-YVR$*YPzsTkef$vNLot zQevIyny9y^I~didk$0TL?Pm=zhtf2|Wfd-#aMt@Wh^MRw&zd#ZQS!UR_}yzJ&WMry zCp`i?W;%g}z&!TiaiSuapc58;!{?v6dw}DQ_F_(~CM>J{n#Gd!@*vTgSJ}5TcQN1c zMAZj5v>nZgtQ3yb3+gaG(G0Jn>l>c!qiboiH0h62m2=M=%b-|nPrTd4>a>7^a6j!_ zBbi^wlGd!Ve%v~XWNb;~+MGH`RK9D*Ba1bx z-3OE0U=JqzX2Z$R^=r`d_X8l1g2HAai==U#wct1ra4;TX@_6w}zxG5zN3VZ=M^wGx zAy&-q34iawtNLSquV3!ne+$F>x}=_7<5L1`pmB{4lUU$%s2iVAB`gOa=okxNOl|3l zfdVFDNdM0BxXj9rzkQ!ki{`2Q*2~k1$JgP+;xTxs9wUe z2*nd+^g8oKl4Mu$%c1ii7I4W494(BE99mnUYRJ!+A#Q#Oi@p&i4txX$DtVO#C;;M_ zH@d7}6oaXgQ>itE=^EFHmAs`i@4jyFpBHLxU2!a7<^`(vD~?p4m#N_@?q%EHo>%UQ z?`37r>1ub)bQ2BNgE$!Z7gbgZ?QBRF~->(gKOK6MT}iGTK0l$vg6-`Y_hS) zmKDEXbLd48^?<@Pc=Ha-JF9_K&Pd$GXE+iIai_4kC-w|Z@)`H_SU^kH&}h(x##9-@ z;*$7`b3m50El5oVYa+xRYW@h&bS%xuDSJlTV8G0nV4tzzspD~));QwJRweG(WRrK( z#W=rA>oFm>58crDsiS17)%U;W;YR0-F^R#A;+PZR8KrpJRvkSxe74XDwiguCHcW-t zESKRJ+o4HS&aOJA9Nr_=3fuEpGHH z!buO#5Bazrrh2!X4U+W87pU(gU32tJ85UH%S^l5Q@*d>>O zHOEPUm10am$f&q5>5Ob{$ZU-rji}P_z?ML=YZmtoQ9oUh2ely^|MYIm)rXr0w3Mu@ zHFFkT_Xa4l%>{>oAdWQ=(KipMYT|lgjz8%T8llGMRwEYxfSXcAvDn5W#yA{zS!=^N z{rD->ayD-FXtO%NX$DKZ;0V&;?B0k1T|fv1z^9?|WiJGY$^_R|=~)|$a?qs^DgCi0 z4)j41ty<)yEa)WxFPx=n_qqx%00_X)XrHFI_!SLG=K>x?UcVEI`3GZH_%dmphp~_M z>(;occ`QJ-MO5V)FupllkPUXpP{Xh}XlBfn9^jH$G`>7QIlzuDbUN_^g!=0o#0|Xo z<1jknH$mNQxlul2>^pj#2zb|WiDn8HNIFh z_-&v3NpAZsM}SorBww*iaPBwI=hyudP0c+Qz}I|1E$50A?=;Wiq1_0Z!{*enW7O~u zj+jPp+R=_**|D{IogE|&CX`se^Q|xcr-KCj;~r3+9B036>KC=E7tFZ3`qiEFi`wW~ z;QLsXPd)*V1=Y*x!!80AP&vAo+CMo@-EDg=Loe{NU2f_h>##$evLO)GY?=x^d(^lU z##r>=h0Md8gi2BWebcA8U#?5)?Lf$H(0`HY<#=#RA#V1u;x{r_FD-fe|@i;m7I^%O6r?Lo*<4ZS!%$|UKWU1DirhPu z2q_4s>8|=~?ae(ixdCEsho!y*?hk&`WvxQHiuvng$J(LxS2Wfd7_#)6$S^+Df4lI# zbq6}M#2kEvbH&cjkTF)86S=vD+{9UfyzQ7M1XuAz zG48Tr$_XD|UEkDPe(j&*t8e==KP$6=N$TsCN{ssN7B28j#Kf{L?P)kXf^nek+00nU z?Q>knI-EUgVG$?tOtb8vu&kieaRF9<(T7_yeb-;mJC3qgVrXN^xIB-h-8r<4$D`JY zCHe$7tP{%0Av`WL+QE;#cxb3g*_iF#iitZ4yYd^PwjpjnQ;eaFu)gl1PlDsa`2E+y=2&t6TEz3ODu}!Ca4T!SHL+nncyj(sACO*Z)2 z*i+O=pZOABF}B}n8Gjy8B8A_2h$z|UvE$gW=0(czk^@(Jo0kJ|e3XMf#Md#zZ1i+g z!jg8*(i^gKhkZQ67T+n#*|aNhUme@b5X;UOC^e4_;K*;!#^0*pa56Sg__{s>;701? zwBK=lIALWmel+HAV*`@&>ED=NK@VSBeh4?^#2#ISaS#*45Hz+WFbC4ayeWrk1k0-$ zZkMlan!8Of%!dFBg{n_*%U-e)OP2eQX7137S4b1?)>7v1MX zVB`+yx`oX>?RUOD;1FT28zTi+sYr17TU{upZ`^TWey)nvV&lYLv^SVB@E8Ce#mGD0 z>{gWJ@5)S_J8a5DeY(jUi0Q7iQJzJ4%-9|H+ts-eNNy8we9uEDB0|5)JHjcBscqF@ zIi6QCwp&C8A*-XglQ3D-cx-tl=Wyh;ARQPij!Yb=G_S_`9CV{R$GC`=5(#q?jYCt% zzgmE-xWF`|YXNq#0gEnNj$Pe87Mp+Zh2x3}{+p8PCYe}%ia7)m`c`_`ad9zOO4Q7E$a#aV!OH{@8pM8R)Z6i-X&$N4+%CF>`!nbcaV%7E?o!&M;G2_F0Pd8 zS=eN=%Y3dFi1rcS@K;w@(wcAM*f#kDeaX$&3w7)I@^kel6!6dV(|;1+!n+^0Zt|xY z-A{Q?>2Q;o8R!|Cv-)=Z2{Y_3V*c?P0AHVGE}nC1T(F;`f4=~sxjD!6X})#Hd-Se8 z>*;^eoc)W z>Hc?H{xx|J;CReGvBz4PVl-*+WK(u?uQ$YYwRKJo;f<$`BFu}M*2Wtd@4=Yj_~e_K zPfa6%<3rA_!Oj4MFrDHr1uIx9wh>OptgeVR;5;43Z@F-N7)wmv6v^K5BCyz-g39jC zIGj9-aF)&22k9h^1V*PLXiaPeILqZr{X>d%Tvxt{g>N`^%#!2S!=EJ$cps2UHy3&_ zh?^4|VwSni#vU}s5ex^(n08H}({OXbV86j)eR3((NFCfyVe`Vd?ETgFoR<=j;z_VN zdW%Tx+HA3|fzjI+Wk5bRxEicka?VG5ruV6n!M~|wSN+@C(If*!^qX?rC(}&&Tz9{Zj$=>eSYF@HxNaR(7YF>qLAqQMZF@;s2JF zwY$Ka5gr?)fG_eXUrTEiiuvvOv;FMJP)K8Z`3!(w>k=bk{k7JZ&;70ydU|nk(As%E z?oZ#jj&OJx^G)yFSNqhQdA9pJ zEEb!Sd#W^i4xI}%5Iz;*?`wu70}Ny@gwpAnn<_DLPUF=4wSa4!q1!c;*OG^XEckY~ zgz#%1`$zv0xV)=1yeN5Gk54)A>!~yC1jilRVu$PlgBi{qcwRhrj)A zd3I*To=$H4m-7Gj&%gcO|IL5@*Z*5wIR=^yTg&ZKx{aO})5T#sx7WhMAbBQlG}1|x zC-eKsfK3}Njm=#g{i~tz02Hu!tQXuQDRBs~WY0t-rdu1@(^#Ji^?xJhYhXU9BjG219WOOJ zMY$I7{aSxWlChp4JAw{RY2^inU4~>)KBk9S3&!&73LglC^IwhEd~!k;SdZ}?{z~K$ z%Qru{Br9E4x~A@WfWYW_9EepTzV&$l9NRDs8gh2~iQ=0=Z zcpOYKsumPqmMBT!Xik}lDbu52;gNnjdg;T1Pr`|hkmjEkskjk@b3{Myu%LeXCKr1^ ziOt8%UUYpli&59bc=+IcJdvKfFzBKF`I-ROe$BrbpWLlCov^rT1RJ>uPkH`AEO7Hl z2#)sZz`(xYv3W#)(iHB=M}Xrh!Qa8}oP=W)VUx@x!o7|FV=wZutfO75H5Lp$8#b59 zvd!7Q$ZrFAOYOqWoqHA^-@AU!0gvs2e=_br_qkGVJ0#vAiedITxkxiBd8Vk=dMQg$^Qk3r6$^_q47> z`qzAp^|T;3qLGURy*Z6T(P6#hQ6NgTKkf_^o|Gk@`KKueXpJ=@%cGazJZ(F1*q|Rh zwsy}FtCwNGbV~^T`0?RJK1jn0CU?>~{qukMfB3imIQ^UlMEl9cCqL}d-|}?K@A|4< zrr}?df8t`X|3sSqdfj)W{MTE-p8%6UY`-t_uX=IoKgrWEzsv7ycJ<*l-@3`n-;-y* zXZY^*cjdqQAO7Y)ZljXlGq@$Zf%S<%_wLI+cs8@ZVq;U&UEZIvWV0@fnYGCX*nP1w z>B`4??Bfg9YzFn<7`-aDFsD% ziX%_$S@Z9!_XHGY+`+>WP3-CMgI&)HN~WVI=i@`I>m#7_=?Wqp_Skx^>SLvo+4;%2 zh(11+>#ss7oXx zHrI-|V|}2P;6aByfazH61rBlU{sft$`3-0+5jc;6FcHJKXm%@9musBTSdeZY|TsQF1TPrQw*;r}i&%br_3ji=0$tv;`_xbX9YHsT- zxI0JtNpaVF_p|P&RuYW8eV_?|$d6okf!KGB&4eV zVf1zPu4In=JN^p`2S`4oXu_}>itqWUjWt9`Qv7rrs7q5l_h6O3y?}o(xU~Yg;fTj& zm%_Q?j7^S)&@V%MG?^g|92{m3Xk7^IBeIKrDw%)wkbE3~@Nv^Jq9ba-1um0+A}9g7 z`Opce7(QpeLDo0-J3sbp?B{%flM7$+llU@>V{cX~8UBq9_*jsTZU*GUPKH>`DLzv1 z9^C$exa&vWS|*K$!)2i2gOHhw?}FN?i!XAN%|6Z#Ib54f#l5W2OS`elFMT+c1C?al z94NDI5&x2jo5D{Ob$3~C81KBoECxf;gC~#0gYFqDp4`yinv=V8s1Z>6U^~6~@FORO z={d%Qarjse_9d6w9)piQ2X8qZUG6ZBxXQAwPoUS+ ze1H}%#{=FJ;;GjOx+P4;2Ux^qdHRKjKi5`d%#58MWYW3^ufc3Dk25N0s^v58$3MXE zC)w4ONZ6ATKK3Vr@;^LCQ{F|VSK$vPwISa)c{lKbeeg!RFUu$MCm+to!;GYdxRZN0 z!6piL>wZ!4kADL2=RMtAP`(9A`)Peg1iOoH^5*H8$20lU4DToXM;#l- zd9uQh7c<^XSja_kHXhv3agY<=+LRdEm$KHgnV!)|o)?A~^HU|nhdVMaHg$hDp5x$R zZwmmBrK2{Mli5H|?Sa__#`^HEoW4JFLSgl| zSTDYNF`ui}(`VW8Apt(4p;xe|7J8(yfBTr;<-CMLPW7vIc~0b$3#DUpZv7oZI5_V< zUk1#N7ZHy9@YVnP#5ZR1`L6`Sog~t;7UVkm0@-BZIrTSv)}cQPjT=Je>3EO*ya={u zk~wcQv?RR!>SBKBQx|wJxn9t@FQ*4&EnP9Zat_xMAAhmwE9Z-qt-Pq?UP9pmc7$K+ zT#E;NdxiJ%Nxm3uKKgw~vY)1%UmvYwu4LjxI(a$=MI#?!9k++4is-qPeH}PDaB(Ri zX2KY+xhzAGX|Wb9qf0G*bt|V{7wt8#7qI(RFUv#_QUmEXqR7Ia)t_B63h5R0x056y;YnD7BfR9HkH)f!NpgoA z@L|*~3+edx*91x4WwU+`x3BE}CR&1+Pxo7{xv<1jvLHLR%h#C-;A>M!Wj{(frR;*K zygjFMA-d+FrDN&9o2%dbOLD@K{XSXBOSTk_hLP--8=Bn9(z}JkCI6fse9WwyA^uUU zm+38d{L01LraKRVQ97EZnx#k|T$`z>k4QXHb-1&3URdCg%I7eQ)|pp_yx|iDSX{H{ z@z?sm1P(4WMyEVsWxQNhv!#TRyG4$PZhTx9#EZ`SzPR8?U&zC<>oa+31MHkN zOHD+_Lf^6221qxatm#p%6&X&oxGvZ13tM9$-z4j6jy(oX(n8dM+Iao}*30tb6`O(a z0g5B4I|qP`b8-~OvAJSwmXl`hdD^2=JHbsBemI<*CJ%avjxn3~cplep!?~vEn?iyR z2X4}mpG5#xVYJ{bN@icKD*9&u@Xz^x{}bQzo0H(TSnM0ae6^nb$NV!pu*>9Uy8Sl` z|J09L_dR*Gdq(~#4|aQS-kk6{$K3z-{UsVH{p8K;jY=xN5K{&k z-Typu-@=j2Ff$5y#@9wDiGdD=#G9Y-wugK%-*NJmXPz}5zC2Oj!(%UG!>NdVA|U<~ z*OC-Z9P++5>Za&dV)P@v!@Cm2O8(Su4WJIK19FVSCI)%D#+@&=v?di2D}Lai_2C=; z;0VS@9*I-Ug4ez}@q-bMxo+x#$Qx*QvGvjd`WPl4|zH|MAlUpW(yt$Sbqyb#tt|#X# zIvtay>ym%D{lwiDPyq1Vf2HJnMD2+Tp1O zK1^oL`)k_jTLG!{gMTHB_ zR^wc$1N(_HYt&u&EJ~*DFz8@=0-fGr(lDo`*ynw&QEGABJ}HuUv6!ru2lF$6XT9I5 zxUIvEKW~Tx7NuEr$WN%%4;;0Q57yp)()+r=7Ko0)dA%Z|_3_kMAGZZca&L{kK7GzH zFw$$1fRdP;*HeFcd(Z^uqO*bvfKe-I`_n&OyvFX@q&NQ?9-FTj%{wpfg^^$kR@A`J z2giAGH)yCVuH$Nkg_QiXw_ z^6hnUBS3>n*f|By;Ef-{YoI4DXYPE1xN>dMIal#cc9?(r|F@hw&egjJkoQeT5gPkcLL ziATSE=9K1Oa#Ir|!fd+ctdRq-kV_a26&Jlqe9UuBpY(_S{+OTsQ!JsG-yiS#t-m*8 z`za5>PRoWz$6&qjmHf#*-7jwb@f!d?@04>)37=iZ)RPe7cgh@!O+CC39_N`9Jme9+|X!ryK)Tw z6tH?5y@OejOAN&I{>NHjIBWxF^(qrPb|a|+H~EDF2R*jd3lQh(djCZ^=?M;_Umcn} z4mgv!$atZ(7~x!=LbzwbItDY5TjNRqa zSL8hj~ru z>%^sL_$BvH)##`?SGuMaKj&R*^_}wy2T#b1`1XF``oYhEbH1N*O&+@@aI~ic<=R9~ zZ@Y#+zuFCF@Z^FIgCq6(rvldOK(4DNz~>wjninYa$OP>Rb?q9hukuJZ>D7P7c4)BV z)FvngQqBh?2;@O#0F(%v{&xV2b<{m!GQICbM&ah5LX7Ih;C!O79^P zj@W&ZLTp^p3Rh60$}#MTer#3x^!SO^2w(f1>()0-~bHQB)kZ(qBS?C+cp|FlCE*?K)f z!{3`o3J__4N7b0z|D-{V{I6}2`BnDk+Q6oV#`cOm7oc`7oqZ1z+hA-6??jl zFP*Ohu2F{0CvbY`Yu;+f>*4%}&#LFhvwoYz`y64=doScf z=sF`u^1?>}-0$_wO2v?w`cR)5Dm$`eFu_W4u1Tam;<$f;N**5M3qN`31o-@jNGmxe zE_~*~VLHd6@9l#O*{=)22XMZHYaF;6I;5-<+i`H$7{>iT0Z$qsn_{BUn!VYPmY4L- zT@Hc6EhGEv?dSZ<(O`y|m-qtcJ0GOy`f@z!Pj0%-a*toHc}kKiEVViL@@ld_T;ZdZ z$yAa-jPp7Q>koWlH zgZ;d-FYCYhAOA+b1(1#4+%*!|NAjf7g^2d#Cb63p^b9$Aau zU_)Zl)eD6CS54W^7!L#3X%g#wZEN}P931|{Urx*Q$t^kA0~!E%ambUAzUFyyKZ!}O z%mz=jp!J2kA~3v-3MDFk?Y_25MbOF!qiJ{Yh8TQAL8Jg!*>&)3jrf)i(R33^)==)1V zwT6OG-^7mUvDJuL_>>gg@XI}(7rr$=cD*=q+Pb;2#$?YKg zl63IJV~*|Nd4g~acz9oxEYSF(kB&tB0gq|PBfJljV(7+lXkNV8jeBcd#6lkNc=0#Y z%_oqPFpUn2w|g}l?Qj8kn7{h`KmJ!6b7hHoi9)1 zg#Z8>&sySlt=Ntui-PqA#l5$Uc%u_m@tQ9j8`Q!#^=D7fqCT0k%!eNC!ofLyDl&*j z@W6@93r&7QqnS6k4F9%3Bv$&4o;;$K;P0Flc+IET=P4*wesj!{+7pvG{($?G<7)tX zJ|H}S%;cPVA6QX$%W#uGdvc%C*=;qZv2BRL9g~}tHuyAWU5j zbIr1z?{kg14Oecjap7v7c2DiThuj;k?_t&#^#VQa z8$mp(zHq4#ULnc{gr$zvr;cFY>za-U2vnz*qrc;f49p5JBGUp-_x zw#lF7TlX%r-XP8|e%zPQFTNRVz^9(P>$cvE>tyD4`O}(Rb=b|*eQ(Bg+qeE|hWjg< z^?&u(fAfEHH)JyL

    hi*dMliJi%C504%A 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 literal 0 HcmV?d00001 diff --git a/Examples/Studio/SHIPPING.md b/Examples/Studio/SHIPPING.md new file mode 100644 index 0000000..23cdc68 --- /dev/null +++ b/Examples/Studio/SHIPPING.md @@ -0,0 +1,134 @@ +# Shipping SwiftPython Studio + +How to turn `SwiftPython Studio.app` into a notarized, stapled DMG that anyone can +download and run with **no Python installed**. This is a standard macOS Developer ID +notarization flow with the extra steps a bundled-Python app needs. + +## What ships + +- A native macOS app built on the **commercial `SwiftPythonRuntime.xcframework`** + (v0.5.14) — the exact artifact a customer consumes. +- The bundled **`SwiftPythonWorker`** sidecar (auto-discovered by `PythonProcessPool`). +- A **bundled, relocatable Python 3.13 + numpy/pandas/scikit-learn/scipy** so the + app is self-contained (the IRIS sample, by contrast, requires Homebrew Python). +- The canonical V2 `pool.` bindings, vendored as `SwiftPythonKit`. +- The `studio-cli` terminal demo (in `Contents/MacOS/`, also droppable in the DMG). + +## Prerequisites (release machine) + +- A `Developer ID Application` identity in the login Keychain + (`security find-identity -v -p codesigning`). +- A notary keychain profile created once with: + ```bash + xcrun notarytool store-credentials "" \ + --apple-id "" --team-id "" --password "" + ``` + The commands below use `"$NOTARY_PROFILE"`; export it to your profile name. +- Homebrew `python@3.13` (source for the relocatable bundle) with the four wheels. + +## Build → sign → notarize → DMG + +```bash +cd Examples/Studio +export NOTARY_PROFILE="" + +# 1. Assemble, bundle Python, and sign (Developer ID, hardened runtime, inside-out). +STUDIO_APP_SHORT_VERSION=0.1.0 STUDIO_APP_BUILD_VERSION=1 \ + ./scripts/build_app.sh --bundle-python --sign + +# 2. Notarize the app, then staple. +APP="build/SwiftPython Studio.app" +ditto -c -k --keepParent "$APP" build/Studio.zip +xcrun notarytool submit build/Studio.zip --keychain-profile "$NOTARY_PROFILE" --wait +xcrun stapler staple "$APP" +spctl -a -vv --type execute "$APP" # → "Notarized Developer ID" + +# 3. Build a DMG (with an Applications drop-target), sign + notarize + staple it. +rm -rf build/dmg && mkdir build/dmg +cp -R "$APP" build/dmg/ && ln -s /Applications build/dmg/Applications +hdiutil create -volname "SwiftPython Studio" -srcfolder build/dmg -ov -format UDZO build/SwiftPythonStudio.dmg +codesign --force --sign "Developer ID Application" build/SwiftPythonStudio.dmg +xcrun notarytool submit build/SwiftPythonStudio.dmg --keychain-profile "$NOTARY_PROFILE" --wait +xcrun stapler staple build/SwiftPythonStudio.dmg +``` + +## Signing order (load-bearing) + +`build_app.sh --sign` signs **inside-out**, which is mandatory or notarization +returns `Invalid`: + +1. Every nested Mach-O (wheel `.so`/`.dylib`, framework dylibs, the Python binary) + under `Contents/Frameworks` + `Contents/Resources/Python` + (Developer ID + `--options runtime` + `--timestamp`). +2. Non-Mach-O Python payloads with executable bits are stripped (`chmod -x`) or a + quarantined launch shows **"App is damaged"** even when `spctl` passes. +3. The `Python.framework` bundle (re-sealed). +4. The `SwiftPythonWorker` sidecar + `studio-cli`. +5. The outer `.app` last (no `--deep`), with `scripts/studio.entitlements` + (`disable-library-validation`, `allow-dyld-environment-variables`). + +## Wiring the worker to the bundled interpreter + +The shipped `SwiftPythonWorker` must use the **bundled** Python, not a system one. +Two pieces, both implemented: + +- **Relink** the three binaries (`Studio`, `studio-cli`, `SwiftPythonWorker`) from + the absolute Homebrew Python load path to `@rpath/Python.framework/...` with an + added rpath of `@executable_path/../Frameworks` (done in `build_app.sh --bundle-python`). + Re-sign after this (`install_name_tool` invalidates the signature). +- **Env**: `StudioRuntime.configureBundledPythonIfPresent()` sets, relative to the + running executable, `PYTHONHOME = …/Contents/Frameworks/Python.framework/Versions/3.13` + and `PYTHONPATH = …/Contents/Resources/Python/site-packages` before the pool spawns + the worker (which inherits them). `studio.entitlements` enables + `allow-dyld-environment-variables` so this is honored under the hardened runtime. + +Verify on a Mac with **no Homebrew / no Python** (or simulate locally with +`env -i HOME="$HOME" "$APP/Contents/MacOS/studio-cli"`): + +```bash +xcrun stapler validate "build/SwiftPython Studio.app" +# also launch from Finder (not Terminal) — the GUI launchd env has no Homebrew PATH, +# so this proves the bundled interpreter + env wiring are what make it work for strangers. +``` + +## Hosting + +- Upload `SwiftPythonStudio.dmg` to a **public GitHub release** (a dedicated + releases repo, or this repo's Releases). +- Link to it from your download/marketing page. +- Sparkle auto-update is **deferred** for v1 (static DMG). To add it later, wire a + standard Sparkle appcast under a `studio/` feed path; nothing in the build here + changes. + +## Gotchas hit while producing the first notarized DMG (do not repeat) + +1. **Relinked binaries must be re-signed.** `install_name_tool` (used to point the + 3 binaries at `@rpath/Python.framework`) invalidates the signature; on Apple + Silicon the binary then fails to launch with `Bad executable`. The `--sign` + step runs *after* relink for this reason. +2. **Do NOT sign the app's main executable separately.** Signing + `Contents/MacOS/Studio` directly *and* sealing the `.app` yields "The signature + of the binary is invalid" at notarization. Sign only the `.app` (it signs the + main executable + applies entitlements). Helper executables (`SwiftPythonWorker`, + `studio-cli`) DO need their own `codesign`. +3. **Sign the framework as a bundle**, not its `Versions/3.13` directory: + `codesign … Contents/Frameworks/Python.framework`. +4. **Strip symlinks that escape the framework.** Homebrew's framework links + `lib/python3.13/site-packages` up into the Cellar; Gatekeeper rejects it with + "invalid destination for symbolic link in bundle." `bundle_python.sh` removes + escaping/absolute symlinks (we use `Contents/Resources/Python/site-packages` + via `PYTHONPATH` anyway). + +## Status — DONE (first release built) + +The full path is implemented, run, and verified on the build machine: + +- `numpy 2.5 / pandas 3.0 / scikit-learn 1.9 / scipy 1.18` bundled (lean tier). +- The bake-off runs in a **fully sanitized environment** (`env -i`, no Homebrew, + no inherited `PYTHONHOME`) — proof it works on a Python-less Mac. +- App: notarized (Accepted) + stapled + `spctl … → "Notarized Developer ID"`. +- **`build/SwiftPythonStudio.dmg`** (~182 MB): notarized + stapled + Gatekeeper + accepted (`source=Notarized Developer ID`). + +Remaining before public download: host the DMG on a public GitHub release + link it +from the download page, and one real download-and-run smoke on a *different* Mac. diff --git a/Examples/Studio/Sources/Studio/BakeOffViewModel.swift b/Examples/Studio/Sources/Studio/BakeOffViewModel.swift new file mode 100644 index 0000000..bd2472b --- /dev/null +++ b/Examples/Studio/Sources/Studio/BakeOffViewModel.swift @@ -0,0 +1,217 @@ +import Foundation +import SwiftUI +import SwiftPythonRuntime +import SwiftPythonKit + +@MainActor +final class BakeOffViewModel: ObservableObject { + enum Phase: Equatable { case idle, running, done } + + @Published var phase: Phase = .idle + @Published var candidates: [Candidate] + @Published var workers: [WorkerLane] + @Published var log: [LogLine] = [] + @Published var confusion: ConfusionMatrix? + @Published var winnerName: String? + @Published var elapsedMs: Int = 0 + + let dataset: DatasetInfo + private let classNames = ["Setosa", "Vinifera", "Acuminata"] + private let workerCount = 4 + private var pool: PythonProcessPool? + + // Cached dataset (built once, deterministic). + private let xTrain: [[Double]] + private let yTrain: [Int] + private let xTest: [[Double]] + private let yTest: [Int] + + init() { + let (xtr, ytr, xte, yte) = Self.makeDataset(samples: 1500, features: 12, classes: 3, seed: 0xC0FFEE) + self.xTrain = xtr; self.yTrain = ytr; self.xTest = xte; self.yTest = yte + self.dataset = DatasetInfo(samples: 1500, features: 12, classes: 3, trainCount: ytr.count, testCount: yte.count) + + self.candidates = [ + Candidate(name: "Random Forest", estimator: .randomForest, workerIndex: 0, colorIndex: 0, + code: "pool.sklearn.ensemble\n .RandomForestClassifier(n_estimators: 300)"), + Candidate(name: "Gradient Boosting", estimator: .gradientBoosting, workerIndex: 1, colorIndex: 1, + code: "pool.sklearn.ensemble\n .GradientBoostingClassifier(n_estimators: 200)"), + Candidate(name: "Logistic Regression", estimator: .logisticRegression, workerIndex: 2, colorIndex: 2, + code: "pool.sklearn.linearmodel\n .LogisticRegression(max_iter: 2000)"), + Candidate(name: "K-Neighbors", estimator: .kNeighbors, workerIndex: 3, colorIndex: 3, + code: "pool.sklearn.neighbors\n .KNeighborsClassifier(n_neighbors: 7)"), + ] + self.workers = (0.. String? { + let fm = FileManager.default + if let env = ProcessInfo.processInfo.environment["SWIFTPYTHON_WORKER_PATH"], !env.isEmpty, + fm.fileExists(atPath: env) { return env } + if let dir = Bundle.main.executableURL?.deletingLastPathComponent() { + let bundled = dir.appendingPathComponent("SwiftPythonWorker").path + if fm.fileExists(atPath: bundled) { return bundled } + } + return nil // fall back to runtime auto-discovery + } + + // MARK: - Deterministic dataset + + /// Gaussian clusters per class → a real multi-class classification problem with + /// enough overlap to spread model accuracy. Fully deterministic for reproducible demos. + private static func makeDataset(samples: Int, features: Int, classes: Int, seed: UInt64) + -> ([[Double]], [Int], [[Double]], [Int]) { + var rng = SplitMix64(seed: seed) + // Class centroids spaced across feature space. + var centroids: [[Double]] = [] + for c in 0.. ConfusionMatrix { + let n = labels.count + var counts = Array(repeating: Array(repeating: 0, count: n), count: n) + for (t, p) in zip(truth, pred) where t >= 0 && t < n && p >= 0 && p < n { + counts[t][p] += 1 + } + return ConfusionMatrix(labels: labels, counts: counts) + } +} + +/// Tiny deterministic PRNG (SplitMix64) — no Foundation randomness, fully reproducible. +private struct SplitMix64 { + private var state: UInt64 + init(seed: UInt64) { state = seed } + mutating func next() -> UInt64 { + state &+= 0x9E3779B97F4A7C15 + var z = state + z = (z ^ (z >> 30)) &* 0xBF58476D1CE4E5B9 + z = (z ^ (z >> 27)) &* 0x94D049BB133111EB + return z ^ (z >> 31) + } + mutating func nextUnit() -> Double { Double(next() >> 11) * (1.0 / 9007199254740992.0) } + mutating func nextGaussian() -> Double { + let u1 = max(nextUnit(), 1e-12), u2 = nextUnit() + return (-2.0 * log(u1)).squareRoot() * cos(2.0 * .pi * u2) + } +} diff --git a/Examples/Studio/Sources/Studio/Models.swift b/Examples/Studio/Sources/Studio/Models.swift new file mode 100644 index 0000000..47120f7 --- /dev/null +++ b/Examples/Studio/Sources/Studio/Models.swift @@ -0,0 +1,115 @@ +import Foundation +import SwiftPythonRuntime +import SwiftPythonKit + +// MARK: - Candidate + +enum RunStatus: Equatable { + case idle + case training + case done +} + +/// One scikit-learn classifier raced in the bake-off, pinned to one worker. +struct Candidate: Identifiable { + let id = UUID() + let name: String + let estimator: EstimatorKind + let workerIndex: Int + let colorIndex: Int + /// The literal Swift the app runs for this candidate — shown on screen. + let code: String + + var status: RunStatus = .idle + var accuracy: Double? = nil + var elapsedMs: Int? = nil +} + +/// Which generated `pool.sklearn` estimator a candidate drives. Each case knows how +/// to train + score + predict through the canonical pool surface. +enum EstimatorKind { + case randomForest + case gradientBoosting + case logisticRegression + case kNeighbors + + /// Train + score on the pinned worker, returning (testAccuracy, testPredictions). + func trainScorePredict( + pool: PythonProcessPool, + worker: Int, + xTrain: [[Double]], yTrain: [Int], + xTest: [[Double]], yTest: [Int] + ) async throws -> (accuracy: Double, predictions: [Int]) { + switch self { + case .randomForest: + let m = try await pool.sklearn.ensemble.RandomForestClassifier(n_estimators: 300, random_state: 0, worker: worker) + let fitted = try await m.fit(X: xTrain, y: yTrain, worker: worker) + let acc = try await fitted.score(X: xTest, y: yTest, worker: worker) + let preds = try await Self.predictList(pool: pool, handle: fitted, x: xTest, worker: worker) + return (acc, preds) + case .gradientBoosting: + let m = try await pool.sklearn.ensemble.GradientBoostingClassifier(n_estimators: 200, random_state: 0, worker: worker) + let fitted = try await m.fit(X: xTrain, y: yTrain, worker: worker) + let acc = try await fitted.score(X: xTest, y: yTest, worker: worker) + let preds = try await Self.predictList(pool: pool, handle: fitted, x: xTest, worker: worker) + return (acc, preds) + case .logisticRegression: + let m = try await pool.sklearn.linearmodel.LogisticRegression(random_state: 0, max_iter: 2000, worker: worker) + let fitted = try await m.fit(X: xTrain, y: yTrain, worker: worker) + let acc = try await fitted.score(X: xTest, y: yTest, worker: worker) + let preds = try await Self.predictList(pool: pool, handle: fitted, x: xTest, worker: worker) + return (acc, preds) + case .kNeighbors: + let m = try await pool.sklearn.neighbors.KNeighborsClassifier(n_neighbors: 7, worker: worker) + let fitted = try await m.fit(X: xTrain, y: yTrain, worker: worker) + let acc = try await fitted.score(X: xTest, y: yTest, worker: worker) + let preds = try await Self.predictList(pool: pool, handle: fitted, x: xTest, worker: worker) + return (acc, preds) + } + } + + private static func predictList( + pool: PythonProcessPool, + handle: some HandleConvertible, + x: [[Double]], + worker: Int + ) async throws -> [Int] { + let predsHandle = try await pool.methodOwned(handle: handle, name: "predict", args: [.python(x)], worker: worker) + return try await pool.methodResult(handle: predsHandle, name: "tolist", worker: worker) + } +} + +// MARK: - Worker lane + +struct WorkerLane: Identifiable { + let id: Int // worker index + var label: String = "idle" + var status: RunStatus = .idle + var colorIndex: Int? = nil +} + +// MARK: - Console + +struct LogLine: Identifiable { + let id = UUID() + let text: String + let kind: Kind + enum Kind { case prompt, info, result, dim } +} + +// MARK: - Confusion matrix + +struct ConfusionMatrix { + let labels: [String] + let counts: [[Int]] // counts[true][pred] +} + +// MARK: - Dataset + +struct DatasetInfo { + let samples: Int + let features: Int + let classes: Int + let trainCount: Int + let testCount: Int +} diff --git a/Examples/Studio/Sources/Studio/StudioApp.swift b/Examples/Studio/Sources/Studio/StudioApp.swift new file mode 100644 index 0000000..9d16196 --- /dev/null +++ b/Examples/Studio/Sources/Studio/StudioApp.swift @@ -0,0 +1,12 @@ +import SwiftUI + +@main +struct StudioApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + .windowResizability(.contentSize) + .windowStyle(.hiddenTitleBar) + } +} diff --git a/Examples/Studio/Sources/Studio/Theme.swift b/Examples/Studio/Sources/Studio/Theme.swift new file mode 100644 index 0000000..db63d5b --- /dev/null +++ b/Examples/Studio/Sources/Studio/Theme.swift @@ -0,0 +1,27 @@ +import SwiftUI + +/// Dark, high-contrast palette tuned for screen capture (square 1:1 in-feed video). +enum Theme { + static let bg = Color(red: 0.05, green: 0.06, blue: 0.09) + static let panel = Color(red: 0.09, green: 0.10, blue: 0.14) + static let panelStroke = Color.white.opacity(0.07) + static let text = Color(red: 0.92, green: 0.94, blue: 0.98) + static let dim = Color(red: 0.55, green: 0.58, blue: 0.66) + static let accent = Color(red: 1.0, green: 0.58, blue: 0.0) // Swift orange + static let python = Color(red: 0.21, green: 0.49, blue: 0.74) // Python blue + static let good = Color(red: 0.30, green: 0.85, blue: 0.55) + static let busy = Color(red: 1.0, green: 0.78, blue: 0.25) + static let idle = Color.white.opacity(0.12) + static let term = Color(red: 0.02, green: 0.03, blue: 0.05) + + static let mono = Font.system(.body, design: .monospaced) + static let monoSmall = Font.system(size: 12, design: .monospaced) + static let title = Font.system(size: 30, weight: .heavy, design: .rounded) + + static let modelColors: [Color] = [ + Color(red: 1.0, green: 0.58, blue: 0.0), + Color(red: 0.36, green: 0.74, blue: 1.0), + Color(red: 0.62, green: 0.45, blue: 1.0), + Color(red: 0.30, green: 0.85, blue: 0.55), + ] +} diff --git a/Examples/Studio/Sources/Studio/Views.swift b/Examples/Studio/Sources/Studio/Views.swift new file mode 100644 index 0000000..874ec75 --- /dev/null +++ b/Examples/Studio/Sources/Studio/Views.swift @@ -0,0 +1,271 @@ +import SwiftUI +import Charts + +struct ContentView: View { + @StateObject private var vm = BakeOffViewModel() + + var body: some View { + VStack(spacing: 14) { + header + HStack(alignment: .top, spacing: 14) { + codePanel.frame(width: 420) + resultsPanel + } + workerStrip + ConsoleView(lines: vm.log) + .frame(maxWidth: .infinity, minHeight: 190, maxHeight: 210) + footer + } + .padding(22) + .frame(width: 1000, height: 1000) + .background(Theme.bg) + .preferredColorScheme(.dark) + .task { + // Optional auto-run for screen capture / demos. + if ProcessInfo.processInfo.environment["STUDIO_AUTORUN"] == "1" { + try? await Task.sleep(nanoseconds: 1_200_000_000) + vm.run() + } + } + } + + // MARK: Header + + private var header: some View { + HStack(alignment: .center) { + VStack(alignment: .leading, spacing: 2) { + Text("SwiftPython Studio").font(Theme.title).foregroundStyle(Theme.text) + Text("Swift driving scikit-learn — across real Python processes, live.") + .font(.system(size: 14)).foregroundStyle(Theme.dim) + } + Spacer() + if vm.elapsedMs > 0 { + badge("\(vm.elapsedMs) ms", color: Theme.python) + } + Button(action: { vm.run() }) { + HStack(spacing: 8) { + Image(systemName: vm.phase == .running ? "hourglass" : "play.fill") + Text(vm.phase == .running ? "Racing…" : "Run bake-off") + } + .font(.system(size: 16, weight: .bold, design: .rounded)) + .padding(.horizontal, 18).padding(.vertical, 11) + .background(Theme.accent).foregroundStyle(.black) + .clipShape(Capsule()) + } + .buttonStyle(.plain) + .disabled(vm.phase == .running) + .opacity(vm.phase == .running ? 0.6 : 1) + } + } + + // MARK: Live code + + private var codePanel: some View { + panel("Live Swift") { + VStack(alignment: .leading, spacing: 10) { + ForEach(vm.candidates) { c in + VStack(alignment: .leading, spacing: 6) { + HStack(spacing: 8) { + statusDot(c.status, color: Theme.modelColors[c.colorIndex]) + Text(c.name).font(.system(size: 14, weight: .semibold)).foregroundStyle(Theme.text) + Spacer() + Text("worker \(c.workerIndex)").font(Theme.monoSmall).foregroundStyle(Theme.dim) + } + Text(c.code) + .font(Theme.monoSmall) + .foregroundStyle(Theme.text.opacity(0.92)) + .padding(10) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Theme.term) + .clipShape(RoundedRectangle(cornerRadius: 8)) + } + } + } + } + } + + // MARK: Results + + private var resultsPanel: some View { + panel("Test accuracy") { + VStack(alignment: .leading, spacing: 14) { + Chart(vm.candidates) { c in + BarMark( + x: .value("Accuracy", c.accuracy ?? 0), + y: .value("Model", c.name) + ) + .foregroundStyle(Theme.modelColors[c.colorIndex]) + .annotation(position: .trailing) { + if let a = c.accuracy { + Text(String(format: "%.3f", a)).font(Theme.monoSmall).foregroundStyle(Theme.text) + } + } + .cornerRadius(4) + } + .chartXScale(domain: 0...1) + .chartXAxis { AxisMarks(values: [0, 0.25, 0.5, 0.75, 1.0]) } + .frame(height: 180) + .animation(.easeOut(duration: 0.5), value: vm.candidates.map(\.accuracy)) + + if let cm = vm.confusion { + ConfusionView(matrix: cm, winner: vm.winnerName) + } else { + Text("Run the bake-off to race four models in parallel.") + .font(.system(size: 13)).foregroundStyle(Theme.dim) + .frame(maxWidth: .infinity, minHeight: 150, alignment: .center) + } + } + } + } + + // MARK: Worker strip + + private var workerStrip: some View { + panel("Python workers") { + HStack(spacing: 10) { + ForEach(vm.workers) { w in + HStack(spacing: 8) { + statusDot(w.status, color: w.colorIndex.map { Theme.modelColors[$0] } ?? Theme.idle) + VStack(alignment: .leading, spacing: 1) { + Text("worker \(w.id)").font(.system(size: 12, weight: .bold)).foregroundStyle(Theme.text) + Text(w.status == .idle ? "idle" : w.label) + .font(Theme.monoSmall).foregroundStyle(Theme.dim).lineLimit(1) + } + Spacer() + } + .padding(10) + .frame(maxWidth: .infinity) + .background(Theme.term) + .clipShape(RoundedRectangle(cornerRadius: 8)) + .overlay(RoundedRectangle(cornerRadius: 8).stroke( + w.status == .training ? Theme.busy.opacity(0.7) : Theme.panelStroke, lineWidth: 1)) + } + } + } + } + + private var footer: some View { + HStack { + Text("SwiftPythonRuntime 0.5.14").font(Theme.monoSmall).foregroundStyle(Theme.dim) + Spacer() + Text("pool. · zero-copy handles · multi-process") + .font(Theme.monoSmall).foregroundStyle(Theme.dim) + } + } + + // MARK: Building blocks + + private func panel(_ title: String, @ViewBuilder _ content: () -> C) -> some View { + VStack(alignment: .leading, spacing: 10) { + Text(title.uppercased()) + .font(.system(size: 11, weight: .bold)).tracking(1.2).foregroundStyle(Theme.dim) + content() + } + .padding(16) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Theme.panel) + .clipShape(RoundedRectangle(cornerRadius: 14)) + .overlay(RoundedRectangle(cornerRadius: 14).stroke(Theme.panelStroke, lineWidth: 1)) + } + + private func badge(_ text: String, color: Color) -> some View { + Text(text).font(.system(size: 13, weight: .bold, design: .monospaced)) + .padding(.horizontal, 12).padding(.vertical, 7) + .background(color.opacity(0.18)).foregroundStyle(color) + .clipShape(Capsule()) + } + + private func statusDot(_ status: RunStatus, color: Color) -> some View { + Circle() + .fill(status == .idle ? Theme.idle : (status == .done ? Theme.good : color)) + .frame(width: 10, height: 10) + .overlay(Circle().stroke(.white.opacity(0.15), lineWidth: 1)) + .opacity(status == .training ? 0.5 : 1) + .animation(status == .training ? .easeInOut(duration: 0.7).repeatForever(autoreverses: true) : .default, + value: status) + } +} + +// MARK: - Confusion matrix + +struct ConfusionView: View { + let matrix: ConfusionMatrix + let winner: String? + + private var maxCount: Int { matrix.counts.flatMap { $0 }.max() ?? 1 } + + var body: some View { + VStack(alignment: .leading, spacing: 8) { + HStack { + Text("Confusion matrix").font(.system(size: 12, weight: .semibold)).foregroundStyle(Theme.text) + if let winner { Text("· \(winner)").font(Theme.monoSmall).foregroundStyle(Theme.good) } + } + Grid(horizontalSpacing: 4, verticalSpacing: 4) { + ForEach(matrix.counts.indices, id: \.self) { r in + GridRow { + ForEach(matrix.counts[r].indices, id: \.self) { c in + let v = matrix.counts[r][c] + Text("\(v)") + .font(Theme.monoSmall) + .frame(width: 54, height: 38) + .background(Theme.good.opacity(Double(v) / Double(maxCount) * 0.75 + (r == c ? 0.12 : 0))) + .foregroundStyle(Theme.text) + .clipShape(RoundedRectangle(cornerRadius: 6)) + } + } + } + } + Text("rows = true class · columns = predicted") + .font(.system(size: 11)).foregroundStyle(Theme.dim) + } + } +} + +// MARK: - Terminal-style console ("behind the curtain") + +struct ConsoleView: View { + let lines: [LogLine] + + var body: some View { + ScrollViewReader { proxy in + ScrollView { + VStack(alignment: .leading, spacing: 3) { + ForEach(lines) { line in + HStack(alignment: .top, spacing: 6) { + Text(prefix(line.kind)).foregroundStyle(color(line.kind)).font(Theme.monoSmall) + Text(line.text).foregroundStyle(color(line.kind)).font(Theme.monoSmall) + .frame(maxWidth: .infinity, alignment: .leading) + } + .id(line.id) + } + Color.clear.frame(height: 1).id("bottom") + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + } + .background(Theme.term) + .clipShape(RoundedRectangle(cornerRadius: 12)) + .overlay(RoundedRectangle(cornerRadius: 12).stroke(Theme.panelStroke, lineWidth: 1)) + .onChange(of: lines.count) { _, _ in + withAnimation { proxy.scrollTo("bottom", anchor: .bottom) } + } + } + } + + private func prefix(_ k: LogLine.Kind) -> String { + switch k { + case .prompt: return "›" + case .result: return "✓" + case .info: return "•" + case .dim: return " " + } + } + private func color(_ k: LogLine.Kind) -> Color { + switch k { + case .prompt: return Theme.accent + case .result: return Theme.good + case .info: return Theme.text.opacity(0.85) + case .dim: return Theme.dim + } + } +} diff --git a/Examples/Studio/Sources/SwiftPythonKit/Bootstrap.swift b/Examples/Studio/Sources/SwiftPythonKit/Bootstrap.swift new file mode 100644 index 0000000..3f514eb --- /dev/null +++ b/Examples/Studio/Sources/SwiftPythonKit/Bootstrap.swift @@ -0,0 +1,30 @@ +import Foundation + +/// Runtime helpers for the Studio app/CLI (hand-written; not generated). +public enum StudioRuntime { + /// When a bundled Python framework is present (i.e. running from a packaged + /// `.app` produced with `build_app.sh --bundle-python`), point the interpreter + /// at the bundled stdlib + site-packages so the worker uses the bundled Python + /// instead of a system/Homebrew one. The worker inherits these env vars as a + /// child process. No-op in dev (`swift run`), where the system Python is used. + public static func configureBundledPythonIfPresent() { + // Resolve relative to the running executable (works for both the app's main + // binary and a helper CLI inside Contents/MacOS), not Bundle.main.bundleURL + // which differs between the two. + guard let exeDir = Bundle.main.executableURL?.resolvingSymlinksInPath().deletingLastPathComponent() else { + return + } + let contents = exeDir.deletingLastPathComponent() // .../Contents + let versionDir = contents.appendingPathComponent("Frameworks/Python.framework/Versions/3.13") + guard FileManager.default.fileExists(atPath: versionDir.path) else { return } + + setenv("PYTHONHOME", versionDir.path, 1) + + let site = contents.appendingPathComponent("Resources/Python/site-packages").path + if let existing = ProcessInfo.processInfo.environment["PYTHONPATH"], !existing.isEmpty { + setenv("PYTHONPATH", site + ":" + existing, 1) + } else { + setenv("PYTHONPATH", site, 1) + } + } +} diff --git a/Examples/Studio/Sources/SwiftPythonKit/PoolNumPy.swift b/Examples/Studio/Sources/SwiftPythonKit/PoolNumPy.swift new file mode 100644 index 0000000..95d95f0 --- /dev/null +++ b/Examples/Studio/Sources/SwiftPythonKit/PoolNumPy.swift @@ -0,0 +1,7921 @@ +// Generated by swift-python-gen +// Do not edit manually + +import SwiftPythonRuntime +import Foundation + +// MARK: - NumPy + +extension PythonProcessPool { + /// Pool-bound `numpy` namespace. Calls run on this pool. + public var numpy: PoolNumPy { PoolNumPy(pool: self) } +} + +public struct PoolNumPy: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func array(object: any PythonConvertible, dtype: String? = nil, copy: Bool? = nil, order: String? = nil, ndmin: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(object)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let ndmin = ndmin { + __kwargs["ndmin"] = RemotePythonValue(ndmin) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "array", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "array", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func zeros(shape: any PythonConvertible, dtype: String? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "zeros", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "zeros", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ones(shape: any PythonConvertible, dtype: String? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "ones", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "ones", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func empty(shape: any PythonConvertible, dtype: String? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "empty", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "empty", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func full(shape: any PythonConvertible, fill_value: any PythonConvertible, dtype: String? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + __args.append(RemotePythonValue(fill_value)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "full", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "full", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func zeros_like(a: any PythonConvertible, dtype: String? = nil, order: String? = nil, shape: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let shape = shape { + __kwargs["shape"] = RemotePythonValue(shape) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "zeros_like", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "zeros_like", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ones_like(a: any PythonConvertible, dtype: String? = nil, order: String? = nil, shape: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let shape = shape { + __kwargs["shape"] = RemotePythonValue(shape) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "ones_like", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "ones_like", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func empty_like(a: any PythonConvertible, dtype: String? = nil, order: String? = nil, shape: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let shape = shape { + __kwargs["shape"] = RemotePythonValue(shape) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "empty_like", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "empty_like", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func full_like(a: any PythonConvertible, fill_value: any PythonConvertible, dtype: String? = nil, order: String? = nil, shape: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(fill_value)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let shape = shape { + __kwargs["shape"] = RemotePythonValue(shape) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "full_like", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "full_like", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func arange(start: Int, stop: Int? = nil, step: Int? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(start)) + var __kwargs: [String: RemotePythonValue] = [:] + if let stop = stop { + __kwargs["stop"] = RemotePythonValue(stop) + } + if let step = step { + __kwargs["step"] = RemotePythonValue(step) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "arange", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "arange", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func linspace(start: Double, stop: Double, num: Int? = nil, endpoint: Bool? = nil, retstep: Bool? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(start)) + __args.append(RemotePythonValue(stop)) + var __kwargs: [String: RemotePythonValue] = [:] + if let num = num { + __kwargs["num"] = RemotePythonValue(num) + } + if let endpoint = endpoint { + __kwargs["endpoint"] = RemotePythonValue(endpoint) + } + if let retstep = retstep { + __kwargs["retstep"] = RemotePythonValue(retstep) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "linspace", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "linspace", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func logspace(start: Double, stop: Double, num: Int? = nil, endpoint: Bool? = nil, base: Double? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(start)) + __args.append(RemotePythonValue(stop)) + var __kwargs: [String: RemotePythonValue] = [:] + if let num = num { + __kwargs["num"] = RemotePythonValue(num) + } + if let endpoint = endpoint { + __kwargs["endpoint"] = RemotePythonValue(endpoint) + } + if let base = base { + __kwargs["base"] = RemotePythonValue(base) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "logspace", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "logspace", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func geomspace(start: Double, stop: Double, num: Int? = nil, endpoint: Bool? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(start)) + __args.append(RemotePythonValue(stop)) + var __kwargs: [String: RemotePythonValue] = [:] + if let num = num { + __kwargs["num"] = RemotePythonValue(num) + } + if let endpoint = endpoint { + __kwargs["endpoint"] = RemotePythonValue(endpoint) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "geomspace", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "geomspace", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func eye(N: Int, M: Int? = nil, k: Int? = nil, dtype: String? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(N)) + var __kwargs: [String: RemotePythonValue] = [:] + if let M = M { + __kwargs["M"] = RemotePythonValue(M) + } + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "eye", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "eye", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func identity(n: Int, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "identity", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "identity", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func diag(v: any PythonConvertible, k: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(v)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "diag", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "diag", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func diagflat(v: any PythonConvertible, k: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(v)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "diagflat", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "diagflat", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func tri(N: Int, M: Int? = nil, k: Int? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(N)) + var __kwargs: [String: RemotePythonValue] = [:] + if let M = M { + __kwargs["M"] = RemotePythonValue(M) + } + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "tri", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "tri", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func tril(m: any PythonConvertible, k: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(m)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "tril", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "tril", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func triu(m: any PythonConvertible, k: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(m)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "triu", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "triu", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func vander(x: any PythonConvertible, N: Int? = nil, increasing: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let N = N { + __kwargs["N"] = RemotePythonValue(N) + } + if let increasing = increasing { + __kwargs["increasing"] = RemotePythonValue(increasing) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "vander", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "vander", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func meshgrid(_ args: [RemotePythonValue] = [], copy: Bool? = nil, sparse: Bool? = nil, indexing: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let sparse = sparse { + __kwargs["sparse"] = RemotePythonValue(sparse) + } + if let indexing = indexing { + __kwargs["indexing"] = RemotePythonValue(indexing) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "meshgrid", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "meshgrid", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fromfunction(function: any PythonConvertible, shape: any PythonConvertible, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(function)) + __args.append(RemotePythonValue(shape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fromfunction", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fromfunction", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fromiter(iter: any PythonConvertible, dtype: String, count: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(iter)) + __args.append(RemotePythonValue(dtype)) + var __kwargs: [String: RemotePythonValue] = [:] + if let count = count { + __kwargs["count"] = RemotePythonValue(count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fromiter", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fromiter", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func frombuffer(buffer: any PythonConvertible, dtype: String? = nil, count: Int? = nil, offset: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(buffer)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let count = count { + __kwargs["count"] = RemotePythonValue(count) + } + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "frombuffer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "frombuffer", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func reshape(a: any PythonConvertible, newshape: any PythonConvertible, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(newshape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "reshape", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "reshape", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ravel(a: any PythonConvertible, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "ravel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "ravel", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func flatten(a: any PythonConvertible, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "flatten", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "flatten", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func transpose(a: any PythonConvertible, axes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "transpose", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "transpose", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func swapaxes(a: any PythonConvertible, axis1: Int, axis2: Int, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(axis1)) + __args.append(RemotePythonValue(axis2)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "swapaxes", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "swapaxes", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func moveaxis(a: any PythonConvertible, source: any PythonConvertible, destination: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(source)) + __args.append(RemotePythonValue(destination)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "moveaxis", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "moveaxis", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rollaxis(a: any PythonConvertible, axis: Int, start: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(axis)) + var __kwargs: [String: RemotePythonValue] = [:] + if let start = start { + __kwargs["start"] = RemotePythonValue(start) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "rollaxis", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "rollaxis", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func atleast_1d(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "atleast_1d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "atleast_1d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func atleast_2d(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "atleast_2d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "atleast_2d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func atleast_3d(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "atleast_3d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "atleast_3d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func broadcast_to(array: any PythonConvertible, shape: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(array)) + __args.append(RemotePythonValue(shape)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "broadcast_to", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "broadcast_to", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func broadcast_arrays(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "broadcast_arrays", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "broadcast_arrays", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func expand_dims(a: any PythonConvertible, axis: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(axis)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "expand_dims", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "expand_dims", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func squeeze(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "squeeze", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "squeeze", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func concatenate(arrays: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arrays)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "concatenate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "concatenate", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func stack(arrays: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arrays)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "stack", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "stack", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func vstack(tup: any PythonConvertible, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(tup)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "vstack", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "vstack", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func hstack(tup: any PythonConvertible, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(tup)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "hstack", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "hstack", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func dstack(tup: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(tup)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "dstack", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "dstack", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func column_stack(tup: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(tup)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "column_stack", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "column_stack", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func row_stack(tup: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(tup)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "row_stack", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "row_stack", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func split(ary: any PythonConvertible, indices_or_sections: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ary)) + __args.append(RemotePythonValue(indices_or_sections)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func array_split(ary: any PythonConvertible, indices_or_sections: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ary)) + __args.append(RemotePythonValue(indices_or_sections)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "array_split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "array_split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func hsplit(ary: any PythonConvertible, indices_or_sections: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ary)) + __args.append(RemotePythonValue(indices_or_sections)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "hsplit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "hsplit", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func vsplit(ary: any PythonConvertible, indices_or_sections: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ary)) + __args.append(RemotePythonValue(indices_or_sections)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "vsplit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "vsplit", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func dsplit(ary: any PythonConvertible, indices_or_sections: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ary)) + __args.append(RemotePythonValue(indices_or_sections)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "dsplit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "dsplit", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func tile(A: any PythonConvertible, reps: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(A)) + __args.append(RemotePythonValue(reps)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "tile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "tile", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func `repeat`(a: any PythonConvertible, repeats: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(repeats)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "repeat", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "repeat", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func delete(arr: any PythonConvertible, obj: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arr)) + __args.append(RemotePythonValue(obj)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "delete", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "delete", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func insert(arr: any PythonConvertible, obj: any PythonConvertible, values: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arr)) + __args.append(RemotePythonValue(obj)) + __args.append(RemotePythonValue(values)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "insert", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "insert", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func append(arr: any PythonConvertible, values: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arr)) + __args.append(RemotePythonValue(values)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "append", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "append", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func resize(a: any PythonConvertible, new_shape: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(new_shape)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "resize", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "resize", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func trim_zeros(filt: any PythonConvertible, trim: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(filt)) + var __kwargs: [String: RemotePythonValue] = [:] + if let trim = trim { + __kwargs["trim"] = RemotePythonValue(trim) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "trim_zeros", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "trim_zeros", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func unique(ar: any PythonConvertible, return_index: Bool? = nil, return_inverse: Bool? = nil, return_counts: Bool? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ar)) + var __kwargs: [String: RemotePythonValue] = [:] + if let return_index = return_index { + __kwargs["return_index"] = RemotePythonValue(return_index) + } + if let return_inverse = return_inverse { + __kwargs["return_inverse"] = RemotePythonValue(return_inverse) + } + if let return_counts = return_counts { + __kwargs["return_counts"] = RemotePythonValue(return_counts) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "unique", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "unique", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func flip(m: any PythonConvertible, axis: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(m)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "flip", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "flip", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fliplr(m: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(m)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fliplr", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fliplr", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func flipud(m: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(m)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "flipud", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "flipud", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rot90(m: any PythonConvertible, k: Int? = nil, axes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(m)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + if let axes = axes { + __kwargs["axes"] = RemotePythonValue(axes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "rot90", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "rot90", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func roll(a: any PythonConvertible, shift: any PythonConvertible, axis: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(shift)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "roll", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "roll", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func pad(array: any PythonConvertible, pad_width: any PythonConvertible, mode: String? = nil, constant_values: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(array)) + __args.append(RemotePythonValue(pad_width)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let constant_values = constant_values { + __kwargs["constant_values"] = RemotePythonValue(constant_values) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "pad", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "pad", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func take(a: any PythonConvertible, indices: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, mode: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(indices)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "take", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "take", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func take_along_axis(arr: any PythonConvertible, indices: any PythonConvertible, axis: Int, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arr)) + __args.append(RemotePythonValue(indices)) + __args.append(RemotePythonValue(axis)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "take_along_axis", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "take_along_axis", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func put(a: any PythonConvertible, ind: any PythonConvertible, v: any PythonConvertible, mode: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(ind)) + __args.append(RemotePythonValue(v)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let worker { + try await pool.invokeVoid(module: "numpy", function: "put", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "put", args: __args, kwargs: __kwargs) + } + + public func put_along_axis(arr: any PythonConvertible, indices: any PythonConvertible, values: any PythonConvertible, axis: Int, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arr)) + __args.append(RemotePythonValue(indices)) + __args.append(RemotePythonValue(values)) + __args.append(RemotePythonValue(axis)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + try await pool.invokeVoid(module: "numpy", function: "put_along_axis", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "put_along_axis", args: __args, kwargs: __kwargs) + } + + public func putmask(a: any PythonConvertible, mask: any PythonConvertible, values: any PythonConvertible, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(mask)) + __args.append(RemotePythonValue(values)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + try await pool.invokeVoid(module: "numpy", function: "putmask", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "putmask", args: __args, kwargs: __kwargs) + } + + public func fill_diagonal(a: any PythonConvertible, val: any PythonConvertible, wrap: Bool? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(val)) + var __kwargs: [String: RemotePythonValue] = [:] + if let wrap = wrap { + __kwargs["wrap"] = RemotePythonValue(wrap) + } + if let worker { + try await pool.invokeVoid(module: "numpy", function: "fill_diagonal", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "fill_diagonal", args: __args, kwargs: __kwargs) + } + + public func diag_indices(n: Int, ndim: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + var __kwargs: [String: RemotePythonValue] = [:] + if let ndim = ndim { + __kwargs["ndim"] = RemotePythonValue(ndim) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "diag_indices", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "diag_indices", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func diag_indices_from(arr: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arr)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "diag_indices_from", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "diag_indices_from", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func select(condlist: any PythonConvertible, choicelist: any PythonConvertible, `default`: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(condlist)) + __args.append(RemotePythonValue(choicelist)) + if let `default` = `default` { + __args.append(RemotePythonValue(`default`)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "select", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "select", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func `where`(condition: any PythonConvertible, x: (any PythonConvertible)? = nil, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(condition)) + if let x = x { + __args.append(RemotePythonValue(x)) + } + if let y = y { + __args.append(RemotePythonValue(y)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "where", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "where", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func nonzero(a: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nonzero", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nonzero", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func flatnonzero(a: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "flatnonzero", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "flatnonzero", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func argwhere(a: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "argwhere", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "argwhere", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func searchsorted(a: any PythonConvertible, v: any PythonConvertible, side: String? = nil, sorter: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(v)) + var __kwargs: [String: RemotePythonValue] = [:] + if let side = side { + __kwargs["side"] = RemotePythonValue(side) + } + if let sorter = sorter { + __kwargs["sorter"] = RemotePythonValue(sorter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "searchsorted", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "searchsorted", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func extract(condition: any PythonConvertible, arr: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(condition)) + __args.append(RemotePythonValue(arr)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "extract", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "extract", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func place(arr: any PythonConvertible, mask: any PythonConvertible, vals: any PythonConvertible, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arr)) + __args.append(RemotePythonValue(mask)) + __args.append(RemotePythonValue(vals)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + try await pool.invokeVoid(module: "numpy", function: "place", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "place", args: __args, kwargs: __kwargs) + } + + public func compress(condition: any PythonConvertible, a: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(condition)) + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "compress", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "compress", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func add(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "add", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "add", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func subtract(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "subtract", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "subtract", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func multiply(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "multiply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "multiply", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func divide(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "divide", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "divide", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func floor_divide(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "floor_divide", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "floor_divide", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func true_divide(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "true_divide", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "true_divide", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func negative(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "negative", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "negative", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func positive(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "positive", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "positive", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func power(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "power", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "power", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func float_power(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "float_power", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "float_power", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func remainder(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "remainder", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "remainder", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func mod(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "mod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "mod", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fmod(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fmod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fmod", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func divmod(x1: any PythonConvertible, x2: any PythonConvertible, out: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + if let out = out { + __args.append(RemotePythonValue(out)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "divmod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "divmod", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func absolute(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "absolute", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "absolute", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func abs(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "abs", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "abs", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fabs(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fabs", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fabs", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rint(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "rint", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "rint", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sign(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "sign", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "sign", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func conj(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "conj", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "conj", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func conjugate(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "conjugate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "conjugate", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func exp(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "exp", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "exp", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func exp2(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "exp2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "exp2", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func expm1(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "expm1", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "expm1", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func log(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "log", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "log", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func log2(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "log2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "log2", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func log10(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "log10", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "log10", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func log1p(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "log1p", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "log1p", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func logaddexp(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "logaddexp", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "logaddexp", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func logaddexp2(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "logaddexp2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "logaddexp2", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sqrt(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "sqrt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "sqrt", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func square(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "square", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "square", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func cbrt(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "cbrt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "cbrt", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func reciprocal(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "reciprocal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "reciprocal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func gcd(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "gcd", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "gcd", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func lcm(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "lcm", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "lcm", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sin(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "sin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "sin", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func cos(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "cos", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "cos", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func tan(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "tan", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "tan", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func arcsin(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "arcsin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "arcsin", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func arccos(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "arccos", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "arccos", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func arctan(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "arctan", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "arctan", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func arctan2(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "arctan2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "arctan2", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func hypot(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "hypot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "hypot", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sinh(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "sinh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "sinh", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func cosh(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "cosh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "cosh", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func tanh(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "tanh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "tanh", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func arcsinh(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "arcsinh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "arcsinh", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func arccosh(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "arccosh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "arccosh", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func arctanh(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "arctanh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "arctanh", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func degrees(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "degrees", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "degrees", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func radians(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "radians", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "radians", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func deg2rad(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "deg2rad", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "deg2rad", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rad2deg(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "rad2deg", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "rad2deg", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func unwrap(p: any PythonConvertible, discont: Double? = nil, axis: Int? = nil, period: Double? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(p)) + var __kwargs: [String: RemotePythonValue] = [:] + if let discont = discont { + __kwargs["discont"] = RemotePythonValue(discont) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let period = period { + __kwargs["period"] = RemotePythonValue(period) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "unwrap", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "unwrap", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func around(a: any PythonConvertible, decimals: Int? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let decimals = decimals { + __kwargs["decimals"] = RemotePythonValue(decimals) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "around", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "around", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func round(a: any PythonConvertible, decimals: Int? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let decimals = decimals { + __kwargs["decimals"] = RemotePythonValue(decimals) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "round", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "round", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func floor(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "floor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "floor", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ceil(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "ceil", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "ceil", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func trunc(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "trunc", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "trunc", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fix(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fix", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sum(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "sum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "sum", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func prod(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "prod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "prod", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nansum(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nansum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nansum", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanprod(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanprod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanprod", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cumsum(a: any PythonConvertible, axis: Int? = nil, dtype: String? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "cumsum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "cumsum", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func cumprod(a: any PythonConvertible, axis: Int? = nil, dtype: String? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "cumprod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "cumprod", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func nancumsum(a: any PythonConvertible, axis: Int? = nil, dtype: String? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nancumsum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nancumsum", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func nancumprod(a: any PythonConvertible, axis: Int? = nil, dtype: String? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nancumprod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nancumprod", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func diff(a: any PythonConvertible, n: Int? = nil, axis: Int? = nil, prepend: (any PythonConvertible)? = nil, append: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let prepend = prepend { + __kwargs["prepend"] = RemotePythonValue(prepend) + } + if let append = append { + __kwargs["append"] = RemotePythonValue(append) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "diff", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "diff", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ediff1d(ary: any PythonConvertible, to_end: (any PythonConvertible)? = nil, to_begin: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ary)) + if let to_end = to_end { + __args.append(RemotePythonValue(to_end)) + } + if let to_begin = to_begin { + __args.append(RemotePythonValue(to_begin)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "ediff1d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "ediff1d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func gradient(_ args: [RemotePythonValue] = [], f: any PythonConvertible, axis: (any PythonConvertible)? = nil, edge_order: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(f)) + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let edge_order = edge_order { + __kwargs["edge_order"] = RemotePythonValue(edge_order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "gradient", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "gradient", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cross(a: any PythonConvertible, b: any PythonConvertible, axisa: Int? = nil, axisb: Int? = nil, axisc: Int? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axisa = axisa { + __kwargs["axisa"] = RemotePythonValue(axisa) + } + if let axisb = axisb { + __kwargs["axisb"] = RemotePythonValue(axisb) + } + if let axisc = axisc { + __kwargs["axisc"] = RemotePythonValue(axisc) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "cross", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "cross", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func trapezoid(y: any PythonConvertible, x: (any PythonConvertible)? = nil, dx: Double? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + if let x = x { + __args.append(RemotePythonValue(x)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dx = dx { + __kwargs["dx"] = RemotePythonValue(dx) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "trapezoid", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "trapezoid", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func mean(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "mean", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "mean", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func average(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, weights: (any PythonConvertible)? = nil, returned: Bool? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + if let weights = weights { + __args.append(RemotePythonValue(weights)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let returned = returned { + __kwargs["returned"] = RemotePythonValue(returned) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "average", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "average", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func std(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, ddof: Int? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "std", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "std", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func `var`(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, ddof: Int? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "var", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "var", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanmean(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanmean", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanmean", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanstd(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, ddof: Int? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanstd", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanstd", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanvar(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, ddof: Int? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanvar", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanvar", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func min(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "min", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "min", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func max(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "max", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "max", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func amin(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "amin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "amin", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func amax(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "amax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "amax", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanmin(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanmin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanmin", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanmax(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanmax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanmax", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func ptp(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "ptp", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "ptp", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func argmin(a: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "argmin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "argmin", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func argmax(a: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "argmax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "argmax", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanargmin(a: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanargmin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanargmin", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanargmax(a: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanargmax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanargmax", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func percentile(a: any PythonConvertible, q: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, overwrite_input: Bool? = nil, method: String? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(q)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let overwrite_input = overwrite_input { + __kwargs["overwrite_input"] = RemotePythonValue(overwrite_input) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "percentile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "percentile", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanpercentile(a: any PythonConvertible, q: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, overwrite_input: Bool? = nil, method: String? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(q)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let overwrite_input = overwrite_input { + __kwargs["overwrite_input"] = RemotePythonValue(overwrite_input) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanpercentile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanpercentile", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func quantile(a: any PythonConvertible, q: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, overwrite_input: Bool? = nil, method: String? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(q)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let overwrite_input = overwrite_input { + __kwargs["overwrite_input"] = RemotePythonValue(overwrite_input) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "quantile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "quantile", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanquantile(a: any PythonConvertible, q: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, overwrite_input: Bool? = nil, method: String? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(q)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let overwrite_input = overwrite_input { + __kwargs["overwrite_input"] = RemotePythonValue(overwrite_input) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanquantile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanquantile", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func median(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, overwrite_input: Bool? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let overwrite_input = overwrite_input { + __kwargs["overwrite_input"] = RemotePythonValue(overwrite_input) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "median", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "median", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nanmedian(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, overwrite_input: Bool? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let overwrite_input = overwrite_input { + __kwargs["overwrite_input"] = RemotePythonValue(overwrite_input) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanmedian", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "nanmedian", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func histogram(a: any PythonConvertible, bins: (any PythonConvertible)? = nil, range: (any PythonConvertible)? = nil, density: Bool? = nil, weights: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let bins = bins { + __args.append(RemotePythonValue(bins)) + } + if let range = range { + __args.append(RemotePythonValue(range)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let density = density { + __kwargs["density"] = RemotePythonValue(density) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "histogram", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "histogram", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func histogram2d(x: any PythonConvertible, y: any PythonConvertible, bins: (any PythonConvertible)? = nil, range: (any PythonConvertible)? = nil, density: Bool? = nil, weights: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + __args.append(RemotePythonValue(y)) + if let bins = bins { + __args.append(RemotePythonValue(bins)) + } + if let range = range { + __args.append(RemotePythonValue(range)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let density = density { + __kwargs["density"] = RemotePythonValue(density) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "histogram2d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "histogram2d", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func histogramdd(sample: any PythonConvertible, bins: (any PythonConvertible)? = nil, range: (any PythonConvertible)? = nil, density: Bool? = nil, weights: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(sample)) + if let bins = bins { + __args.append(RemotePythonValue(bins)) + } + if let range = range { + __args.append(RemotePythonValue(range)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let density = density { + __kwargs["density"] = RemotePythonValue(density) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "histogramdd", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "histogramdd", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func bincount(x: any PythonConvertible, weights: (any PythonConvertible)? = nil, minlength: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + if let weights = weights { + __args.append(RemotePythonValue(weights)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let minlength = minlength { + __kwargs["minlength"] = RemotePythonValue(minlength) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "bincount", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "bincount", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func digitize(x: any PythonConvertible, bins: any PythonConvertible, right: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + __args.append(RemotePythonValue(bins)) + var __kwargs: [String: RemotePythonValue] = [:] + if let right = right { + __kwargs["right"] = RemotePythonValue(right) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "digitize", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "digitize", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func cov(m: any PythonConvertible, y: (any PythonConvertible)? = nil, rowvar: Bool? = nil, bias: Bool? = nil, ddof: Int? = nil, fweights: (any PythonConvertible)? = nil, aweights: (any PythonConvertible)? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(m)) + if let y = y { + __args.append(RemotePythonValue(y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let rowvar = rowvar { + __kwargs["rowvar"] = RemotePythonValue(rowvar) + } + if let bias = bias { + __kwargs["bias"] = RemotePythonValue(bias) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let fweights = fweights { + __kwargs["fweights"] = RemotePythonValue(fweights) + } + if let aweights = aweights { + __kwargs["aweights"] = RemotePythonValue(aweights) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "cov", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "cov", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func corrcoef(x: any PythonConvertible, y: (any PythonConvertible)? = nil, rowvar: Bool? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + if let y = y { + __args.append(RemotePythonValue(y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let rowvar = rowvar { + __kwargs["rowvar"] = RemotePythonValue(rowvar) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "corrcoef", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "corrcoef", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func correlate(a: any PythonConvertible, v: any PythonConvertible, mode: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(v)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "correlate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "correlate", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func convolve(a: any PythonConvertible, v: any PythonConvertible, mode: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(v)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "convolve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "convolve", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func equal(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "equal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "equal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func not_equal(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "not_equal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "not_equal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func greater(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "greater", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "greater", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func greater_equal(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "greater_equal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "greater_equal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func less(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "less", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "less", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func less_equal(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "less_equal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "less_equal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func maximum(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "maximum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "maximum", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func minimum(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "minimum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "minimum", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fmax(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fmax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fmax", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fmin(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fmin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fmin", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func clip(a: any PythonConvertible, a_min: any PythonConvertible, a_max: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(a_min)) + __args.append(RemotePythonValue(a_max)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "clip", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "clip", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func allclose(a: any PythonConvertible, b: any PythonConvertible, rtol: Double? = nil, atol: Double? = nil, equal_nan: Bool? = nil, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + var __kwargs: [String: RemotePythonValue] = [:] + if let rtol = rtol { + __kwargs["rtol"] = RemotePythonValue(rtol) + } + if let atol = atol { + __kwargs["atol"] = RemotePythonValue(atol) + } + if let equal_nan = equal_nan { + __kwargs["equal_nan"] = RemotePythonValue(equal_nan) + } + if let worker { + return try await pool.invokeResult(module: "numpy", function: "allclose", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "numpy", function: "allclose", args: __args, kwargs: __kwargs) + } + + public func isclose(a: any PythonConvertible, b: any PythonConvertible, rtol: Double? = nil, atol: Double? = nil, equal_nan: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + var __kwargs: [String: RemotePythonValue] = [:] + if let rtol = rtol { + __kwargs["rtol"] = RemotePythonValue(rtol) + } + if let atol = atol { + __kwargs["atol"] = RemotePythonValue(atol) + } + if let equal_nan = equal_nan { + __kwargs["equal_nan"] = RemotePythonValue(equal_nan) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isclose", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isclose", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func array_equal(a1: any PythonConvertible, a2: any PythonConvertible, equal_nan: Bool? = nil, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a1)) + __args.append(RemotePythonValue(a2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let equal_nan = equal_nan { + __kwargs["equal_nan"] = RemotePythonValue(equal_nan) + } + if let worker { + return try await pool.invokeResult(module: "numpy", function: "array_equal", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "numpy", function: "array_equal", args: __args, kwargs: __kwargs) + } + + public func array_equiv(a1: any PythonConvertible, a2: any PythonConvertible, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a1)) + __args.append(RemotePythonValue(a2)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "numpy", function: "array_equiv", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "numpy", function: "array_equiv", args: __args, kwargs: __kwargs) + } + + public func all(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "all", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "all", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func any(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "any", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "any", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func logical_and(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "logical_and", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "logical_and", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func logical_or(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "logical_or", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "logical_or", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func logical_not(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "logical_not", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "logical_not", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func logical_xor(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "logical_xor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "logical_xor", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func bitwise_and(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "bitwise_and", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "bitwise_and", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func bitwise_or(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "bitwise_or", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "bitwise_or", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func bitwise_xor(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "bitwise_xor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "bitwise_xor", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func bitwise_not(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "bitwise_not", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "bitwise_not", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func invert(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "invert", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "invert", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func left_shift(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "left_shift", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "left_shift", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func right_shift(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "right_shift", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "right_shift", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isnan(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isnan", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isnan", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isinf(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isinf", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isinf", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isfinite(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isfinite", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isfinite", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isneginf(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isneginf", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isneginf", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isposinf(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isposinf", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isposinf", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isnat(x: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isnat", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isnat", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isreal(x: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isreal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isreal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func iscomplex(x: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "iscomplex", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "iscomplex", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isrealobj(x: any PythonConvertible, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "numpy", function: "isrealobj", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "numpy", function: "isrealobj", args: __args, kwargs: __kwargs) + } + + public func iscomplexobj(x: any PythonConvertible, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "numpy", function: "iscomplexobj", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "numpy", function: "iscomplexobj", args: __args, kwargs: __kwargs) + } + + public func isscalar(element: any PythonConvertible, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(element)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "numpy", function: "isscalar", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "numpy", function: "isscalar", args: __args, kwargs: __kwargs) + } + + public func isfortran(a: any PythonConvertible, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "numpy", function: "isfortran", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "numpy", function: "isfortran", args: __args, kwargs: __kwargs) + } + + public func sort(a: any PythonConvertible, axis: Int? = nil, kind: String? = nil, order: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "sort", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "sort", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func argsort(a: any PythonConvertible, axis: Int? = nil, kind: String? = nil, order: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "argsort", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "argsort", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func lexsort(keys: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(keys)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "lexsort", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "lexsort", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func partition(a: any PythonConvertible, kth: any PythonConvertible, axis: Int? = nil, kind: String? = nil, order: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(kth)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "partition", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "partition", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func argpartition(a: any PythonConvertible, kth: any PythonConvertible, axis: Int? = nil, kind: String? = nil, order: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(kth)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "argpartition", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "argpartition", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func msort(a: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "msort", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "msort", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sort_complex(a: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "sort_complex", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "sort_complex", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func count_nonzero(a: any PythonConvertible, axis: (any PythonConvertible)? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "count_nonzero", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "count_nonzero", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func dot(a: any PythonConvertible, b: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "dot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "dot", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func vdot(a: any PythonConvertible, b: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "vdot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "vdot", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inner(a: any PythonConvertible, b: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "inner", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "inner", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func outer(a: any PythonConvertible, b: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "outer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "outer", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func matmul(x1: any PythonConvertible, x2: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x1)) + __args.append(RemotePythonValue(x2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "matmul", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "matmul", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func tensordot(a: any PythonConvertible, b: any PythonConvertible, axes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "tensordot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "tensordot", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func einsum(_ args: [RemotePythonValue] = [], subscripts: String, out: PoolNDArray? = nil, dtype: String? = nil, order: String? = nil, casting: String? = nil, optimize: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(subscripts)) + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let casting = casting { + __kwargs["casting"] = RemotePythonValue(casting) + } + if let optimize = optimize { + __kwargs["optimize"] = RemotePythonValue(optimize) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "einsum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "einsum", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func einsum_path(_ args: [RemotePythonValue] = [], subscripts: String, optimize: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(subscripts)) + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + if let optimize = optimize { + __kwargs["optimize"] = RemotePythonValue(optimize) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "einsum_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "einsum_path", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func kron(a: any PythonConvertible, b: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "kron", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "kron", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func trace(a: any PythonConvertible, offset: Int? = nil, axis1: Int? = nil, axis2: Int? = nil, dtype: String? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + if let axis1 = axis1 { + __kwargs["axis1"] = RemotePythonValue(axis1) + } + if let axis2 = axis2 { + __kwargs["axis2"] = RemotePythonValue(axis2) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "trace", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "trace", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func poly(seq_of_zeros: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(seq_of_zeros)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "poly", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "poly", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func roots(p: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(p)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "roots", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "roots", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func polyfit(x: any PythonConvertible, y: any PythonConvertible, deg: Int, rcond: Double? = nil, full: Bool? = nil, w: (any PythonConvertible)? = nil, cov: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + __args.append(RemotePythonValue(y)) + __args.append(RemotePythonValue(deg)) + var __kwargs: [String: RemotePythonValue] = [:] + if let rcond = rcond { + __kwargs["rcond"] = RemotePythonValue(rcond) + } + if let full = full { + __kwargs["full"] = RemotePythonValue(full) + } + if let w = w { + __kwargs["w"] = RemotePythonValue(w) + } + if let cov = cov { + __kwargs["cov"] = RemotePythonValue(cov) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyfit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyfit", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func polyval(p: any PythonConvertible, x: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(p)) + __args.append(RemotePythonValue(x)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyval", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyval", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func polyadd(a1: any PythonConvertible, a2: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a1)) + __args.append(RemotePythonValue(a2)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyadd", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyadd", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func polysub(a1: any PythonConvertible, a2: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a1)) + __args.append(RemotePythonValue(a2)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "polysub", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "polysub", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func polymul(a1: any PythonConvertible, a2: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a1)) + __args.append(RemotePythonValue(a2)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "polymul", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "polymul", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func polydiv(u: any PythonConvertible, v: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(u)) + __args.append(RemotePythonValue(v)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "polydiv", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "polydiv", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func polyint(p: any PythonConvertible, m: Int? = nil, k: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(p)) + var __kwargs: [String: RemotePythonValue] = [:] + if let m = m { + __kwargs["m"] = RemotePythonValue(m) + } + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyint", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyint", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func polyder(p: any PythonConvertible, m: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(p)) + var __kwargs: [String: RemotePythonValue] = [:] + if let m = m { + __kwargs["m"] = RemotePythonValue(m) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyder", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "polyder", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func intersect1d(ar1: any PythonConvertible, ar2: any PythonConvertible, assume_unique: Bool? = nil, return_indices: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ar1)) + __args.append(RemotePythonValue(ar2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let assume_unique = assume_unique { + __kwargs["assume_unique"] = RemotePythonValue(assume_unique) + } + if let return_indices = return_indices { + __kwargs["return_indices"] = RemotePythonValue(return_indices) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "intersect1d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "intersect1d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func union1d(ar1: any PythonConvertible, ar2: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ar1)) + __args.append(RemotePythonValue(ar2)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "union1d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "union1d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func setdiff1d(ar1: any PythonConvertible, ar2: any PythonConvertible, assume_unique: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ar1)) + __args.append(RemotePythonValue(ar2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let assume_unique = assume_unique { + __kwargs["assume_unique"] = RemotePythonValue(assume_unique) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "setdiff1d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "setdiff1d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func setxor1d(ar1: any PythonConvertible, ar2: any PythonConvertible, assume_unique: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ar1)) + __args.append(RemotePythonValue(ar2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let assume_unique = assume_unique { + __kwargs["assume_unique"] = RemotePythonValue(assume_unique) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "setxor1d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "setxor1d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func in1d(ar1: any PythonConvertible, ar2: any PythonConvertible, assume_unique: Bool? = nil, invert: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ar1)) + __args.append(RemotePythonValue(ar2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let assume_unique = assume_unique { + __kwargs["assume_unique"] = RemotePythonValue(assume_unique) + } + if let invert = invert { + __kwargs["invert"] = RemotePythonValue(invert) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "in1d", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "in1d", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func isin(element: any PythonConvertible, test_elements: any PythonConvertible, assume_unique: Bool? = nil, invert: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(element)) + __args.append(RemotePythonValue(test_elements)) + var __kwargs: [String: RemotePythonValue] = [:] + if let assume_unique = assume_unique { + __kwargs["assume_unique"] = RemotePythonValue(assume_unique) + } + if let invert = invert { + __kwargs["invert"] = RemotePythonValue(invert) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "isin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "isin", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func save(file: any PythonConvertible, arr: any PythonConvertible, allow_pickle: Bool? = nil, fix_imports: Bool? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(file)) + __args.append(RemotePythonValue(arr)) + var __kwargs: [String: RemotePythonValue] = [:] + if let allow_pickle = allow_pickle { + __kwargs["allow_pickle"] = RemotePythonValue(allow_pickle) + } + if let fix_imports = fix_imports { + __kwargs["fix_imports"] = RemotePythonValue(fix_imports) + } + if let worker { + try await pool.invokeVoid(module: "numpy", function: "save", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "save", args: __args, kwargs: __kwargs) + } + + public func savez(_ args: [RemotePythonValue] = [], file: any PythonConvertible, extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(file)) + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + if let worker { + try await pool.invokeVoid(module: "numpy", function: "savez", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "savez", args: __args, kwargs: __kwargs) + } + + public func savez_compressed(_ args: [RemotePythonValue] = [], file: any PythonConvertible, extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(file)) + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + if let worker { + try await pool.invokeVoid(module: "numpy", function: "savez_compressed", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "savez_compressed", args: __args, kwargs: __kwargs) + } + + public func load(file: any PythonConvertible, mmap_mode: String? = nil, allow_pickle: Bool? = nil, fix_imports: Bool? = nil, encoding: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(file)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mmap_mode = mmap_mode { + __kwargs["mmap_mode"] = RemotePythonValue(mmap_mode) + } + if let allow_pickle = allow_pickle { + __kwargs["allow_pickle"] = RemotePythonValue(allow_pickle) + } + if let fix_imports = fix_imports { + __kwargs["fix_imports"] = RemotePythonValue(fix_imports) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "load", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "load", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func savetxt(fname: any PythonConvertible, X: any PythonConvertible, fmt: String? = nil, delimiter: String? = nil, newline: String? = nil, header: String? = nil, footer: String? = nil, comments: String? = nil, encoding: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(fname)) + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let fmt = fmt { + __kwargs["fmt"] = RemotePythonValue(fmt) + } + if let delimiter = delimiter { + __kwargs["delimiter"] = RemotePythonValue(delimiter) + } + if let newline = newline { + __kwargs["newline"] = RemotePythonValue(newline) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let footer = footer { + __kwargs["footer"] = RemotePythonValue(footer) + } + if let comments = comments { + __kwargs["comments"] = RemotePythonValue(comments) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let worker { + try await pool.invokeVoid(module: "numpy", function: "savetxt", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "savetxt", args: __args, kwargs: __kwargs) + } + + public func loadtxt(fname: any PythonConvertible, dtype: String? = nil, comments: String? = nil, delimiter: String? = nil, converters: (any PythonConvertible)? = nil, skiprows: Int? = nil, usecols: (any PythonConvertible)? = nil, unpack: Bool? = nil, ndmin: Int? = nil, encoding: String? = nil, max_rows: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(fname)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let comments = comments { + __kwargs["comments"] = RemotePythonValue(comments) + } + if let delimiter = delimiter { + __kwargs["delimiter"] = RemotePythonValue(delimiter) + } + if let converters = converters { + __kwargs["converters"] = RemotePythonValue(converters) + } + if let skiprows = skiprows { + __kwargs["skiprows"] = RemotePythonValue(skiprows) + } + if let usecols = usecols { + __kwargs["usecols"] = RemotePythonValue(usecols) + } + if let unpack = unpack { + __kwargs["unpack"] = RemotePythonValue(unpack) + } + if let ndmin = ndmin { + __kwargs["ndmin"] = RemotePythonValue(ndmin) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let max_rows = max_rows { + __kwargs["max_rows"] = RemotePythonValue(max_rows) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "loadtxt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "loadtxt", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func genfromtxt(fname: any PythonConvertible, dtype: String? = nil, comments: String? = nil, delimiter: (any PythonConvertible)? = nil, skip_header: Int? = nil, skip_footer: Int? = nil, converters: (any PythonConvertible)? = nil, missing_values: (any PythonConvertible)? = nil, filling_values: (any PythonConvertible)? = nil, usecols: (any PythonConvertible)? = nil, names: (any PythonConvertible)? = nil, excludelist: (any PythonConvertible)? = nil, deletechars: String? = nil, replace_space: String? = nil, autostrip: Bool? = nil, case_sensitive: (any PythonConvertible)? = nil, defaultfmt: String? = nil, unpack: Bool? = nil, usemask: Bool? = nil, loose: Bool? = nil, invalid_raise: Bool? = nil, max_rows: Int? = nil, encoding: String? = nil, ndmin: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(fname)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let comments = comments { + __kwargs["comments"] = RemotePythonValue(comments) + } + if let delimiter = delimiter { + __kwargs["delimiter"] = RemotePythonValue(delimiter) + } + if let skip_header = skip_header { + __kwargs["skip_header"] = RemotePythonValue(skip_header) + } + if let skip_footer = skip_footer { + __kwargs["skip_footer"] = RemotePythonValue(skip_footer) + } + if let converters = converters { + __kwargs["converters"] = RemotePythonValue(converters) + } + if let missing_values = missing_values { + __kwargs["missing_values"] = RemotePythonValue(missing_values) + } + if let filling_values = filling_values { + __kwargs["filling_values"] = RemotePythonValue(filling_values) + } + if let usecols = usecols { + __kwargs["usecols"] = RemotePythonValue(usecols) + } + if let names = names { + __kwargs["names"] = RemotePythonValue(names) + } + if let excludelist = excludelist { + __kwargs["excludelist"] = RemotePythonValue(excludelist) + } + if let deletechars = deletechars { + __kwargs["deletechars"] = RemotePythonValue(deletechars) + } + if let replace_space = replace_space { + __kwargs["replace_space"] = RemotePythonValue(replace_space) + } + if let autostrip = autostrip { + __kwargs["autostrip"] = RemotePythonValue(autostrip) + } + if let case_sensitive = case_sensitive { + __kwargs["case_sensitive"] = RemotePythonValue(case_sensitive) + } + if let defaultfmt = defaultfmt { + __kwargs["defaultfmt"] = RemotePythonValue(defaultfmt) + } + if let unpack = unpack { + __kwargs["unpack"] = RemotePythonValue(unpack) + } + if let usemask = usemask { + __kwargs["usemask"] = RemotePythonValue(usemask) + } + if let loose = loose { + __kwargs["loose"] = RemotePythonValue(loose) + } + if let invalid_raise = invalid_raise { + __kwargs["invalid_raise"] = RemotePythonValue(invalid_raise) + } + if let max_rows = max_rows { + __kwargs["max_rows"] = RemotePythonValue(max_rows) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let ndmin = ndmin { + __kwargs["ndmin"] = RemotePythonValue(ndmin) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "genfromtxt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "genfromtxt", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fromfile(file: any PythonConvertible, dtype: String? = nil, count: Int? = nil, sep: String? = nil, offset: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(file)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let count = count { + __kwargs["count"] = RemotePythonValue(count) + } + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "fromfile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "fromfile", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func tofile(file: any PythonConvertible, sep: String? = nil, format: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(file)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + if let format = format { + __kwargs["format"] = RemotePythonValue(format) + } + if let worker { + try await pool.invokeVoid(module: "numpy", function: "tofile", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "tofile", args: __args, kwargs: __kwargs) + } + + public func copy(a: any PythonConvertible, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "copy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "copy", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func copyto(dst: PoolNDArray, src: any PythonConvertible, casting: String? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(dst.handle)) + __args.append(RemotePythonValue(src)) + var __kwargs: [String: RemotePythonValue] = [:] + if let casting = casting { + __kwargs["casting"] = RemotePythonValue(casting) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + if let worker { + try await pool.invokeVoid(module: "numpy", function: "copyto", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy", function: "copyto", args: __args, kwargs: __kwargs) + } + + public func asarray(a: any PythonConvertible, dtype: String? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "asarray", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "asarray", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func asanyarray(a: any PythonConvertible, dtype: String? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "asanyarray", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "asanyarray", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ascontiguousarray(a: any PythonConvertible, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "ascontiguousarray", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "ascontiguousarray", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func asfortranarray(a: any PythonConvertible, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "asfortranarray", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "asfortranarray", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func asarray_chkfinite(a: any PythonConvertible, dtype: String? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "asarray_chkfinite", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "asarray_chkfinite", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func require(a: any PythonConvertible, dtype: String? = nil, requirements: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let requirements = requirements { + __kwargs["requirements"] = RemotePythonValue(requirements) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "require", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "require", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func result_type(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "result_type", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "result_type", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func common_type(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "common_type", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "common_type", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func can_cast(from_: any PythonConvertible, to: any PythonConvertible, casting: String? = nil, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(from_)) + __args.append(RemotePythonValue(to)) + var __kwargs: [String: RemotePythonValue] = [:] + if let casting = casting { + __kwargs["casting"] = RemotePythonValue(casting) + } + if let worker { + return try await pool.invokeResult(module: "numpy", function: "can_cast", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "numpy", function: "can_cast", args: __args, kwargs: __kwargs) + } + + public func promote_types(type1: any PythonConvertible, type2: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(type1)) + __args.append(RemotePythonValue(type2)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "promote_types", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "promote_types", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func min_scalar_type(a: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "min_scalar_type", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "min_scalar_type", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func apply_along_axis(_ args: [RemotePythonValue] = [], func1d: any PythonConvertible, axis: Int, arr: any PythonConvertible, extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(func1d)) + __args.append(RemotePythonValue(axis)) + __args.append(RemotePythonValue(arr)) + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "apply_along_axis", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "apply_along_axis", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func apply_over_axes(`func`: any PythonConvertible, a: any PythonConvertible, axes: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(axes)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "apply_over_axes", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "apply_over_axes", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func vectorize(pyfunc: any PythonConvertible, otypes: (any PythonConvertible)? = nil, doc: String? = nil, excluded: (any PythonConvertible)? = nil, cache: Bool? = nil, signature: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(pyfunc)) + if let otypes = otypes { + __args.append(RemotePythonValue(otypes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let doc = doc { + __kwargs["doc"] = RemotePythonValue(doc) + } + if let excluded = excluded { + __kwargs["excluded"] = RemotePythonValue(excluded) + } + if let cache = cache { + __kwargs["cache"] = RemotePythonValue(cache) + } + if let signature = signature { + __kwargs["signature"] = RemotePythonValue(signature) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "vectorize", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "vectorize", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func piecewise(_ args: [RemotePythonValue] = [], x: any PythonConvertible, condlist: any PythonConvertible, funclist: any PythonConvertible, extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + __args.append(RemotePythonValue(condlist)) + __args.append(RemotePythonValue(funclist)) + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "piecewise", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "piecewise", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func interp(x: any PythonConvertible, xp: any PythonConvertible, fp: any PythonConvertible, left: Double? = nil, right: Double? = nil, period: Double? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + __args.append(RemotePythonValue(xp)) + __args.append(RemotePythonValue(fp)) + var __kwargs: [String: RemotePythonValue] = [:] + if let left = left { + __kwargs["left"] = RemotePythonValue(left) + } + if let right = right { + __kwargs["right"] = RemotePythonValue(right) + } + if let period = period { + __kwargs["period"] = RemotePythonValue(period) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "interp", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "interp", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ndarray(shape: any PythonConvertible, dtype: String? = nil, buffer: (any PythonConvertible)? = nil, offset: Int? = nil, strides: (any PythonConvertible)? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let buffer = buffer { + __kwargs["buffer"] = RemotePythonValue(buffer) + } + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + if let strides = strides { + __kwargs["strides"] = RemotePythonValue(strides) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy", function: "ndarray", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy", function: "ndarray", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } +} + + +public struct PoolNDArray: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func reshape(shape: any PythonConvertible, order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "reshape", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "reshape", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func resize(new_shape: any PythonConvertible, refcheck: Bool? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(new_shape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let refcheck = refcheck { + __kwargs["refcheck"] = RemotePythonValue(refcheck) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "resize", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "resize", args: __args, kwargs: __kwargs) + } + + public func flatten(order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "flatten", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "flatten", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ravel(order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ravel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ravel", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func transpose(axes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axes = axes { + __kwargs["axes"] = RemotePythonValue(axes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transpose", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transpose", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func swapaxes(axis1: Int, axis2: Int, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(axis1)) + __args.append(RemotePythonValue(axis2)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "swapaxes", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "swapaxes", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func squeeze(axis: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "squeeze", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "squeeze", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func astype(dtype: String, order: String? = nil, casting: String? = nil, subok: Bool? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(dtype)) + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let casting = casting { + __kwargs["casting"] = RemotePythonValue(casting) + } + if let subok = subok { + __kwargs["subok"] = RemotePythonValue(subok) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "astype", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "astype", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func copy(order: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "copy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "copy", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func view(dtype: String? = nil, type: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let type = type { + __kwargs["type"] = RemotePythonValue(type) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "view", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "view", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fill(value: any PythonConvertible, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(value)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + _ = try await pool.methodOwned(handle: self, name: "fill", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "fill", args: __args, kwargs: __kwargs) + } + + public func tolist(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tolist", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tolist", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func tobytes(order: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tobytes", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tobytes", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func tofile(fid: any PythonConvertible, sep: String? = nil, format: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(fid)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + if let format = format { + __kwargs["format"] = RemotePythonValue(format) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "tofile", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "tofile", args: __args, kwargs: __kwargs) + } + + public func tostring(order: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tostring", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tostring", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func item(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "item", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "item", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func itemset(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + _ = try await pool.methodOwned(handle: self, name: "itemset", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "itemset", args: __args, kwargs: __kwargs) + } + + public func byteswap(inplace: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "byteswap", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "byteswap", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func getfield(dtype: String, offset: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(dtype)) + var __kwargs: [String: RemotePythonValue] = [:] + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "getfield", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "getfield", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func setfield(val: any PythonConvertible, dtype: String, offset: Int? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(val)) + __args.append(RemotePythonValue(dtype)) + var __kwargs: [String: RemotePythonValue] = [:] + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "setfield", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "setfield", args: __args, kwargs: __kwargs) + } + + public func setflags(write: Bool? = nil, align: Bool? = nil, uic: Bool? = nil, worker: Int? = nil) async throws -> Void { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let write = write { + __kwargs["write"] = RemotePythonValue(write) + } + if let align = align { + __kwargs["align"] = RemotePythonValue(align) + } + if let uic = uic { + __kwargs["uic"] = RemotePythonValue(uic) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "setflags", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "setflags", args: __args, kwargs: __kwargs) + } + + public func take(indices: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, mode: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(indices)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "take", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "take", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func put(indices: any PythonConvertible, values: any PythonConvertible, mode: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(indices)) + __args.append(RemotePythonValue(values)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "put", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "put", args: __args, kwargs: __kwargs) + } + + public func `repeat`(repeats: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(repeats)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "repeat", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "repeat", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func choose(choices: any PythonConvertible, out: PoolNDArray? = nil, mode: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(choices)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "choose", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "choose", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sort(axis: Int? = nil, kind: String? = nil, order: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Void { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "sort", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "sort", args: __args, kwargs: __kwargs) + } + + public func argsort(axis: Int? = nil, kind: String? = nil, order: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "argsort", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "argsort", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func partition(kth: any PythonConvertible, axis: Int? = nil, kind: String? = nil, order: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(kth)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "partition", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "partition", args: __args, kwargs: __kwargs) + } + + public func argpartition(kth: any PythonConvertible, axis: Int? = nil, kind: String? = nil, order: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(kth)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "argpartition", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "argpartition", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func searchsorted(v: any PythonConvertible, side: String? = nil, sorter: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(v)) + var __kwargs: [String: RemotePythonValue] = [:] + if let side = side { + __kwargs["side"] = RemotePythonValue(side) + } + if let sorter = sorter { + __kwargs["sorter"] = RemotePythonValue(sorter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "searchsorted", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "searchsorted", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func nonzero(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nonzero", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nonzero", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func compress(condition: any PythonConvertible, axis: Int? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(condition)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "compress", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "compress", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func diagonal(offset: Int? = nil, axis1: Int? = nil, axis2: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + if let axis1 = axis1 { + __kwargs["axis1"] = RemotePythonValue(axis1) + } + if let axis2 = axis2 { + __kwargs["axis2"] = RemotePythonValue(axis2) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "diagonal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "diagonal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sum(axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func prod(axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cumsum(axis: Int? = nil, dtype: String? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func cumprod(axis: Int? = nil, dtype: String? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func mean(axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func std(axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, ddof: Int? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func `var`(axis: (any PythonConvertible)? = nil, dtype: String? = nil, out: PoolNDArray? = nil, ddof: Int? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func min(axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func max(axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, initial: (any PythonConvertible)? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let initial = initial { + __kwargs["initial"] = RemotePythonValue(initial) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func ptp(axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ptp", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ptp", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func argmin(axis: Int? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "argmin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "argmin", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func argmax(axis: Int? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "argmax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "argmax", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func clip(a_min: any PythonConvertible, a_max: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a_min)) + __args.append(RemotePythonValue(a_max)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "clip", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "clip", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func round(decimals: Int? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let decimals = decimals { + __kwargs["decimals"] = RemotePythonValue(decimals) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "round", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "round", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func trace(offset: Int? = nil, axis1: Int? = nil, axis2: Int? = nil, dtype: String? = nil, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + if let axis1 = axis1 { + __kwargs["axis1"] = RemotePythonValue(axis1) + } + if let axis2 = axis2 { + __kwargs["axis2"] = RemotePythonValue(axis2) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "trace", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "trace", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func all(axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "all", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "all", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func any(axis: (any PythonConvertible)? = nil, out: PoolNDArray? = nil, keepdims: Bool? = nil, where where_: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + if let where_ = where_ { + __kwargs["where"] = RemotePythonValue(where_) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "any", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "any", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func dot(b: any PythonConvertible, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(b)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "dot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "dot", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func conj(worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "conj", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "conj", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func conjugate(worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "conjugate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "conjugate", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } +} + +// MARK: - NumPy.Fft + +extension PoolNumPy { + /// Pool-bound `numpy.fft` namespace. Calls run on this pool. + public var fft: PoolNumPyFft { PoolNumPyFft(pool: pool) } +} + +public struct PoolNumPyFft: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func fft(a: any PythonConvertible, n: Int? = nil, axis: Int? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fft", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fft", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ifft(a: any PythonConvertible, n: Int? = nil, axis: Int? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ifft", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ifft", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fft2(a: any PythonConvertible, s: (any PythonConvertible)? = nil, axes: (any PythonConvertible)? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let s = s { + __args.append(RemotePythonValue(s)) + } + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fft2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fft2", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ifft2(a: any PythonConvertible, s: (any PythonConvertible)? = nil, axes: (any PythonConvertible)? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let s = s { + __args.append(RemotePythonValue(s)) + } + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ifft2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ifft2", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fftn(a: any PythonConvertible, s: (any PythonConvertible)? = nil, axes: (any PythonConvertible)? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let s = s { + __args.append(RemotePythonValue(s)) + } + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fftn", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fftn", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ifftn(a: any PythonConvertible, s: (any PythonConvertible)? = nil, axes: (any PythonConvertible)? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let s = s { + __args.append(RemotePythonValue(s)) + } + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ifftn", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ifftn", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rfft(a: any PythonConvertible, n: Int? = nil, axis: Int? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "rfft", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "rfft", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func irfft(a: any PythonConvertible, n: Int? = nil, axis: Int? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "irfft", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "irfft", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rfft2(a: any PythonConvertible, s: (any PythonConvertible)? = nil, axes: (any PythonConvertible)? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let s = s { + __args.append(RemotePythonValue(s)) + } + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "rfft2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "rfft2", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func irfft2(a: any PythonConvertible, s: (any PythonConvertible)? = nil, axes: (any PythonConvertible)? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let s = s { + __args.append(RemotePythonValue(s)) + } + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "irfft2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "irfft2", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rfftn(a: any PythonConvertible, s: (any PythonConvertible)? = nil, axes: (any PythonConvertible)? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let s = s { + __args.append(RemotePythonValue(s)) + } + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "rfftn", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "rfftn", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func irfftn(a: any PythonConvertible, s: (any PythonConvertible)? = nil, axes: (any PythonConvertible)? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let s = s { + __args.append(RemotePythonValue(s)) + } + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "irfftn", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "irfftn", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func hfft(a: any PythonConvertible, n: Int? = nil, axis: Int? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "hfft", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "hfft", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ihfft(a: any PythonConvertible, n: Int? = nil, axis: Int? = nil, norm: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ihfft", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ihfft", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fftfreq(n: Int, d: Double? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + var __kwargs: [String: RemotePythonValue] = [:] + if let d = d { + __kwargs["d"] = RemotePythonValue(d) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fftfreq", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fftfreq", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rfftfreq(n: Int, d: Double? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + var __kwargs: [String: RemotePythonValue] = [:] + if let d = d { + __kwargs["d"] = RemotePythonValue(d) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "rfftfreq", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "rfftfreq", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func fftshift(x: any PythonConvertible, axes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fftshift", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "fftshift", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ifftshift(x: any PythonConvertible, axes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ifftshift", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.fft", function: "ifftshift", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } +} + +// MARK: - NumPy.Linalg + +extension PoolNumPy { + /// Pool-bound `numpy.linalg` namespace. Calls run on this pool. + public var linalg: PoolNumPyLinalg { PoolNumPyLinalg(pool: pool) } +} + +public struct PoolNumPyLinalg: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func inv(a: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "inv", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "inv", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func pinv(a: any PythonConvertible, rcond: Double? = nil, hermitian: Bool? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let rcond = rcond { + __kwargs["rcond"] = RemotePythonValue(rcond) + } + if let hermitian = hermitian { + __kwargs["hermitian"] = RemotePythonValue(hermitian) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "pinv", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "pinv", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func det(a: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "det", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "det", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func slogdet(a: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "slogdet", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "slogdet", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func matrix_rank(M: any PythonConvertible, tol: Double? = nil, hermitian: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(M)) + var __kwargs: [String: RemotePythonValue] = [:] + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let hermitian = hermitian { + __kwargs["hermitian"] = RemotePythonValue(hermitian) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "matrix_rank", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "matrix_rank", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func solve(a: any PythonConvertible, b: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "solve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "solve", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func lstsq(a: any PythonConvertible, b: any PythonConvertible, rcond: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + var __kwargs: [String: RemotePythonValue] = [:] + if let rcond = rcond { + __kwargs["rcond"] = RemotePythonValue(rcond) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "lstsq", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "lstsq", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func eig(a: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "eig", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "eig", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func eigh(a: any PythonConvertible, UPLO: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let UPLO = UPLO { + __kwargs["UPLO"] = RemotePythonValue(UPLO) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "eigh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "eigh", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func eigvals(a: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "eigvals", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "eigvals", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func eigvalsh(a: any PythonConvertible, UPLO: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let UPLO = UPLO { + __kwargs["UPLO"] = RemotePythonValue(UPLO) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "eigvalsh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "eigvalsh", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func svd(a: any PythonConvertible, full_matrices: Bool? = nil, compute_uv: Bool? = nil, hermitian: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let full_matrices = full_matrices { + __kwargs["full_matrices"] = RemotePythonValue(full_matrices) + } + if let compute_uv = compute_uv { + __kwargs["compute_uv"] = RemotePythonValue(compute_uv) + } + if let hermitian = hermitian { + __kwargs["hermitian"] = RemotePythonValue(hermitian) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "svd", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "svd", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func svdvals(a: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "svdvals", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "svdvals", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func norm(x: any PythonConvertible, ord: (any PythonConvertible)? = nil, axis: (any PythonConvertible)? = nil, keepdims: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + if let ord = ord { + __args.append(RemotePythonValue(ord)) + } + if let axis = axis { + __args.append(RemotePythonValue(axis)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let keepdims = keepdims { + __kwargs["keepdims"] = RemotePythonValue(keepdims) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "norm", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "norm", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cond(x: any PythonConvertible, p: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + if let p = p { + __args.append(RemotePythonValue(p)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "cond", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "cond", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func qr(a: any PythonConvertible, mode: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "qr", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "qr", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cholesky(a: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "cholesky", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "cholesky", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func matrix_power(a: any PythonConvertible, n: Int, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(n)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "matrix_power", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "matrix_power", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func multi_dot(arrays: PyHandle, out: PoolNDArray? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arrays)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out = out { + __kwargs["out"] = RemotePythonValue(out.handle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "multi_dot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "multi_dot", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func tensorinv(a: any PythonConvertible, ind: Int? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + var __kwargs: [String: RemotePythonValue] = [:] + if let ind = ind { + __kwargs["ind"] = RemotePythonValue(ind) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "tensorinv", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "tensorinv", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func tensorsolve(a: any PythonConvertible, b: any PythonConvertible, axes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + if let axes = axes { + __args.append(RemotePythonValue(axes)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "tensorsolve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.linalg", function: "tensorsolve", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } +} + +// MARK: - NumPy.Random + +extension PoolNumPy { + /// Pool-bound `numpy.random` namespace. Calls run on this pool. + public var random: PoolNumPyRandom { PoolNumPyRandom(pool: pool) } +} + +public struct PoolNumPyRandom: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func seed(seed: Int? = nil, worker: Int? = nil) async throws -> Void { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let seed = seed { + __kwargs["seed"] = RemotePythonValue(seed) + } + if let worker { + try await pool.invokeVoid(module: "numpy.random", function: "seed", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy.random", function: "seed", args: __args, kwargs: __kwargs) + } + + public func rand(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "rand", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "rand", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func randn(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "randn", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "randn", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func randint(low: Int, high: Int? = nil, size: (any PythonConvertible)? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(low)) + var __kwargs: [String: RemotePythonValue] = [:] + if let high = high { + __kwargs["high"] = RemotePythonValue(high) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "randint", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "randint", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func random(size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "random", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "random", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func random_sample(size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "random_sample", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "random_sample", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func ranf(size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "ranf", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "ranf", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func sample(size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "sample", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "sample", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func choice(a: any PythonConvertible, size: (any PythonConvertible)? = nil, replace: Bool? = nil, p: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let replace = replace { + __kwargs["replace"] = RemotePythonValue(replace) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "choice", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "choice", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func shuffle(x: any PythonConvertible, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + try await pool.invokeVoid(module: "numpy.random", function: "shuffle", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "numpy.random", function: "shuffle", args: __args, kwargs: __kwargs) + } + + public func permutation(x: any PythonConvertible, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "permutation", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "permutation", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func uniform(low: Double? = nil, high: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let low = low { + __kwargs["low"] = RemotePythonValue(low) + } + if let high = high { + __kwargs["high"] = RemotePythonValue(high) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "uniform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "uniform", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func normal(loc: Double? = nil, scale: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loc = loc { + __kwargs["loc"] = RemotePythonValue(loc) + } + if let scale = scale { + __kwargs["scale"] = RemotePythonValue(scale) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "normal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "normal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func standard_normal(size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_normal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_normal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func binomial(n: Int, p: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + __args.append(RemotePythonValue(p)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "binomial", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "binomial", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func poisson(lam: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let lam = lam { + __kwargs["lam"] = RemotePythonValue(lam) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "poisson", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "poisson", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func exponential(scale: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let scale = scale { + __kwargs["scale"] = RemotePythonValue(scale) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "exponential", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "exponential", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func gamma(shape: Double, scale: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + var __kwargs: [String: RemotePythonValue] = [:] + if let scale = scale { + __kwargs["scale"] = RemotePythonValue(scale) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "gamma", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "gamma", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func beta(a: Double, b: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + __args.append(RemotePythonValue(b)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "beta", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "beta", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func chisquare(df: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(df)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "chisquare", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "chisquare", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func f(dfnum: Double, dfden: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(dfnum)) + __args.append(RemotePythonValue(dfden)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "f", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "f", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func geometric(p: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(p)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "geometric", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "geometric", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func hypergeometric(ngood: Int, nbad: Int, nsample: Int, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(ngood)) + __args.append(RemotePythonValue(nbad)) + __args.append(RemotePythonValue(nsample)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "hypergeometric", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "hypergeometric", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func laplace(loc: Double? = nil, scale: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loc = loc { + __kwargs["loc"] = RemotePythonValue(loc) + } + if let scale = scale { + __kwargs["scale"] = RemotePythonValue(scale) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "laplace", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "laplace", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func logistic(loc: Double? = nil, scale: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loc = loc { + __kwargs["loc"] = RemotePythonValue(loc) + } + if let scale = scale { + __kwargs["scale"] = RemotePythonValue(scale) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "logistic", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "logistic", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func lognormal(mean: Double? = nil, sigma: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let mean = mean { + __kwargs["mean"] = RemotePythonValue(mean) + } + if let sigma = sigma { + __kwargs["sigma"] = RemotePythonValue(sigma) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "lognormal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "lognormal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func multinomial(n: Int, pvals: any PythonConvertible, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + __args.append(RemotePythonValue(pvals)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "multinomial", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "multinomial", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func multivariate_normal(mean: any PythonConvertible, cov: any PythonConvertible, size: (any PythonConvertible)? = nil, check_valid: String? = nil, tol: Double? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(mean)) + __args.append(RemotePythonValue(cov)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let check_valid = check_valid { + __kwargs["check_valid"] = RemotePythonValue(check_valid) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "multivariate_normal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "multivariate_normal", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func negative_binomial(n: Double, p: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + __args.append(RemotePythonValue(p)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "negative_binomial", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "negative_binomial", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func pareto(a: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "pareto", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "pareto", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func power(a: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "power", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "power", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func rayleigh(scale: Double? = nil, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let scale = scale { + __kwargs["scale"] = RemotePythonValue(scale) + } + if let size = size { + __kwargs["size"] = RemotePythonValue(size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "rayleigh", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "rayleigh", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func standard_cauchy(size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_cauchy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_cauchy", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func standard_exponential(size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_exponential", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_exponential", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func standard_gamma(shape: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_gamma", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_gamma", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func standard_t(df: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(df)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_t", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "standard_t", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func triangular(left: Double, mode: Double, right: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(left)) + __args.append(RemotePythonValue(mode)) + __args.append(RemotePythonValue(right)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "triangular", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "triangular", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func vonmises(mu: Double, kappa: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(mu)) + __args.append(RemotePythonValue(kappa)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "vonmises", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "vonmises", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func wald(mean: Double, scale: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(mean)) + __args.append(RemotePythonValue(scale)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "wald", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "wald", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func weibull(a: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "weibull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "weibull", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } + + public func zipf(a: Double, size: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolNDArray { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(a)) + if let size = size { + __args.append(RemotePythonValue(size)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "zipf", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "numpy.random", function: "zipf", args: __args, kwargs: __kwargs) + } + return PoolNDArray(pool: pool, owned: __owned) + } +} + diff --git a/Examples/Studio/Sources/SwiftPythonKit/PoolPandas.swift b/Examples/Studio/Sources/SwiftPythonKit/PoolPandas.swift new file mode 100644 index 0000000..6cd4f83 --- /dev/null +++ b/Examples/Studio/Sources/SwiftPythonKit/PoolPandas.swift @@ -0,0 +1,8174 @@ +// Generated by swift-python-gen +// Do not edit manually + +import SwiftPythonRuntime +import Foundation + +// MARK: - Pandas + +extension PythonProcessPool { + /// Pool-bound `pandas` namespace. Calls run on this pool. + public var pandas: PoolPandas { PoolPandas(pool: self) } +} + +public struct PoolPandas: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func read_csv(filepath_or_buffer: String, sep: String? = nil, delimiter: String? = nil, header: (any PythonConvertible)? = nil, names: [String]? = nil, index_col: (any PythonConvertible)? = nil, usecols: (any PythonConvertible)? = nil, dtype: (any PythonConvertible)? = nil, engine: String? = nil, converters: (any PythonConvertible)? = nil, true_values: [String]? = nil, false_values: [String]? = nil, skipinitialspace: Bool? = nil, skiprows: (any PythonConvertible)? = nil, skipfooter: Int? = nil, nrows: Int? = nil, na_values: (any PythonConvertible)? = nil, keep_default_na: Bool? = nil, na_filter: Bool? = nil, verbose: Bool? = nil, skip_blank_lines: Bool? = nil, parse_dates: (any PythonConvertible)? = nil, infer_datetime_format: Bool? = nil, keep_date_col: Bool? = nil, date_parser: (any PythonConvertible)? = nil, dayfirst: Bool? = nil, cache_dates: Bool? = nil, iterator: Bool? = nil, chunksize: Int? = nil, compression: String? = nil, thousands: String? = nil, decimal: String? = nil, lineterminator: String? = nil, quotechar: String? = nil, quoting: Int? = nil, doublequote: Bool? = nil, escapechar: String? = nil, comment: String? = nil, encoding: String? = nil, encoding_errors: String? = nil, dialect: String? = nil, on_bad_lines: String? = nil, delim_whitespace: Bool? = nil, low_memory: Bool? = nil, memory_map: Bool? = nil, float_precision: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(filepath_or_buffer)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + if let delimiter = delimiter { + __kwargs["delimiter"] = RemotePythonValue(delimiter) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let names = names { + __kwargs["names"] = RemotePythonValue(names) + } + if let index_col = index_col { + __kwargs["index_col"] = RemotePythonValue(index_col) + } + if let usecols = usecols { + __kwargs["usecols"] = RemotePythonValue(usecols) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let engine = engine { + __kwargs["engine"] = RemotePythonValue(engine) + } + if let converters = converters { + __kwargs["converters"] = RemotePythonValue(converters) + } + if let true_values = true_values { + __kwargs["true_values"] = RemotePythonValue(true_values) + } + if let false_values = false_values { + __kwargs["false_values"] = RemotePythonValue(false_values) + } + if let skipinitialspace = skipinitialspace { + __kwargs["skipinitialspace"] = RemotePythonValue(skipinitialspace) + } + if let skiprows = skiprows { + __kwargs["skiprows"] = RemotePythonValue(skiprows) + } + if let skipfooter = skipfooter { + __kwargs["skipfooter"] = RemotePythonValue(skipfooter) + } + if let nrows = nrows { + __kwargs["nrows"] = RemotePythonValue(nrows) + } + if let na_values = na_values { + __kwargs["na_values"] = RemotePythonValue(na_values) + } + if let keep_default_na = keep_default_na { + __kwargs["keep_default_na"] = RemotePythonValue(keep_default_na) + } + if let na_filter = na_filter { + __kwargs["na_filter"] = RemotePythonValue(na_filter) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let skip_blank_lines = skip_blank_lines { + __kwargs["skip_blank_lines"] = RemotePythonValue(skip_blank_lines) + } + if let parse_dates = parse_dates { + __kwargs["parse_dates"] = RemotePythonValue(parse_dates) + } + if let infer_datetime_format = infer_datetime_format { + __kwargs["infer_datetime_format"] = RemotePythonValue(infer_datetime_format) + } + if let keep_date_col = keep_date_col { + __kwargs["keep_date_col"] = RemotePythonValue(keep_date_col) + } + if let date_parser = date_parser { + __kwargs["date_parser"] = RemotePythonValue(date_parser) + } + if let dayfirst = dayfirst { + __kwargs["dayfirst"] = RemotePythonValue(dayfirst) + } + if let cache_dates = cache_dates { + __kwargs["cache_dates"] = RemotePythonValue(cache_dates) + } + if let iterator = iterator { + __kwargs["iterator"] = RemotePythonValue(iterator) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let thousands = thousands { + __kwargs["thousands"] = RemotePythonValue(thousands) + } + if let decimal = decimal { + __kwargs["decimal"] = RemotePythonValue(decimal) + } + if let lineterminator = lineterminator { + __kwargs["lineterminator"] = RemotePythonValue(lineterminator) + } + if let quotechar = quotechar { + __kwargs["quotechar"] = RemotePythonValue(quotechar) + } + if let quoting = quoting { + __kwargs["quoting"] = RemotePythonValue(quoting) + } + if let doublequote = doublequote { + __kwargs["doublequote"] = RemotePythonValue(doublequote) + } + if let escapechar = escapechar { + __kwargs["escapechar"] = RemotePythonValue(escapechar) + } + if let comment = comment { + __kwargs["comment"] = RemotePythonValue(comment) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let encoding_errors = encoding_errors { + __kwargs["encoding_errors"] = RemotePythonValue(encoding_errors) + } + if let dialect = dialect { + __kwargs["dialect"] = RemotePythonValue(dialect) + } + if let on_bad_lines = on_bad_lines { + __kwargs["on_bad_lines"] = RemotePythonValue(on_bad_lines) + } + if let delim_whitespace = delim_whitespace { + __kwargs["delim_whitespace"] = RemotePythonValue(delim_whitespace) + } + if let low_memory = low_memory { + __kwargs["low_memory"] = RemotePythonValue(low_memory) + } + if let memory_map = memory_map { + __kwargs["memory_map"] = RemotePythonValue(memory_map) + } + if let float_precision = float_precision { + __kwargs["float_precision"] = RemotePythonValue(float_precision) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_csv", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_csv", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_excel(io: any PythonConvertible, sheet_name: (any PythonConvertible)? = nil, header: (any PythonConvertible)? = nil, names: [String]? = nil, index_col: (any PythonConvertible)? = nil, usecols: (any PythonConvertible)? = nil, dtype: (any PythonConvertible)? = nil, engine: String? = nil, converters: (any PythonConvertible)? = nil, true_values: [String]? = nil, false_values: [String]? = nil, skiprows: (any PythonConvertible)? = nil, nrows: Int? = nil, na_values: (any PythonConvertible)? = nil, keep_default_na: Bool? = nil, na_filter: Bool? = nil, verbose: Bool? = nil, parse_dates: (any PythonConvertible)? = nil, date_parser: (any PythonConvertible)? = nil, thousands: String? = nil, decimal: String? = nil, comment: String? = nil, skipfooter: Int? = nil, storage_options: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(io)) + if let sheet_name = sheet_name { + __args.append(RemotePythonValue(sheet_name)) + } + if let header = header { + __args.append(RemotePythonValue(header)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let names = names { + __kwargs["names"] = RemotePythonValue(names) + } + if let index_col = index_col { + __kwargs["index_col"] = RemotePythonValue(index_col) + } + if let usecols = usecols { + __kwargs["usecols"] = RemotePythonValue(usecols) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let engine = engine { + __kwargs["engine"] = RemotePythonValue(engine) + } + if let converters = converters { + __kwargs["converters"] = RemotePythonValue(converters) + } + if let true_values = true_values { + __kwargs["true_values"] = RemotePythonValue(true_values) + } + if let false_values = false_values { + __kwargs["false_values"] = RemotePythonValue(false_values) + } + if let skiprows = skiprows { + __kwargs["skiprows"] = RemotePythonValue(skiprows) + } + if let nrows = nrows { + __kwargs["nrows"] = RemotePythonValue(nrows) + } + if let na_values = na_values { + __kwargs["na_values"] = RemotePythonValue(na_values) + } + if let keep_default_na = keep_default_na { + __kwargs["keep_default_na"] = RemotePythonValue(keep_default_na) + } + if let na_filter = na_filter { + __kwargs["na_filter"] = RemotePythonValue(na_filter) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let parse_dates = parse_dates { + __kwargs["parse_dates"] = RemotePythonValue(parse_dates) + } + if let date_parser = date_parser { + __kwargs["date_parser"] = RemotePythonValue(date_parser) + } + if let thousands = thousands { + __kwargs["thousands"] = RemotePythonValue(thousands) + } + if let decimal = decimal { + __kwargs["decimal"] = RemotePythonValue(decimal) + } + if let comment = comment { + __kwargs["comment"] = RemotePythonValue(comment) + } + if let skipfooter = skipfooter { + __kwargs["skipfooter"] = RemotePythonValue(skipfooter) + } + if let storage_options = storage_options { + __kwargs["storage_options"] = RemotePythonValue(storage_options) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_excel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_excel", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_json(path_or_buf: String? = nil, orient: String? = nil, typ: String? = nil, dtype: (any PythonConvertible)? = nil, convert_axes: Bool? = nil, convert_dates: Bool? = nil, keep_default_dates: Bool? = nil, precise_float: Bool? = nil, date_unit: String? = nil, encoding: String? = nil, encoding_errors: String? = nil, lines: Bool? = nil, chunksize: Int? = nil, compression: String? = nil, nrows: Int? = nil, storage_options: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let path_or_buf = path_or_buf { + __kwargs["path_or_buf"] = RemotePythonValue(path_or_buf) + } + if let orient = orient { + __kwargs["orient"] = RemotePythonValue(orient) + } + if let typ = typ { + __kwargs["typ"] = RemotePythonValue(typ) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let convert_axes = convert_axes { + __kwargs["convert_axes"] = RemotePythonValue(convert_axes) + } + if let convert_dates = convert_dates { + __kwargs["convert_dates"] = RemotePythonValue(convert_dates) + } + if let keep_default_dates = keep_default_dates { + __kwargs["keep_default_dates"] = RemotePythonValue(keep_default_dates) + } + if let precise_float = precise_float { + __kwargs["precise_float"] = RemotePythonValue(precise_float) + } + if let date_unit = date_unit { + __kwargs["date_unit"] = RemotePythonValue(date_unit) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let encoding_errors = encoding_errors { + __kwargs["encoding_errors"] = RemotePythonValue(encoding_errors) + } + if let lines = lines { + __kwargs["lines"] = RemotePythonValue(lines) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let nrows = nrows { + __kwargs["nrows"] = RemotePythonValue(nrows) + } + if let storage_options = storage_options { + __kwargs["storage_options"] = RemotePythonValue(storage_options) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_json", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_json", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_parquet(path: String, engine: String? = nil, columns: [String]? = nil, storage_options: (any PythonConvertible)? = nil, use_nullable_dtypes: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(path)) + var __kwargs: [String: RemotePythonValue] = [:] + if let engine = engine { + __kwargs["engine"] = RemotePythonValue(engine) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let storage_options = storage_options { + __kwargs["storage_options"] = RemotePythonValue(storage_options) + } + if let use_nullable_dtypes = use_nullable_dtypes { + __kwargs["use_nullable_dtypes"] = RemotePythonValue(use_nullable_dtypes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_parquet", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_parquet", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_sql(sql: String, con: any PythonConvertible, index_col: (any PythonConvertible)? = nil, coerce_float: Bool? = nil, params: (any PythonConvertible)? = nil, parse_dates: (any PythonConvertible)? = nil, columns: [String]? = nil, chunksize: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(sql)) + __args.append(RemotePythonValue(con)) + if let index_col = index_col { + __args.append(RemotePythonValue(index_col)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let coerce_float = coerce_float { + __kwargs["coerce_float"] = RemotePythonValue(coerce_float) + } + if let params = params { + __kwargs["params"] = RemotePythonValue(params) + } + if let parse_dates = parse_dates { + __kwargs["parse_dates"] = RemotePythonValue(parse_dates) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_sql", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_sql", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_sql_query(sql: String, con: any PythonConvertible, index_col: (any PythonConvertible)? = nil, coerce_float: Bool? = nil, params: (any PythonConvertible)? = nil, parse_dates: (any PythonConvertible)? = nil, chunksize: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(sql)) + __args.append(RemotePythonValue(con)) + if let index_col = index_col { + __args.append(RemotePythonValue(index_col)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let coerce_float = coerce_float { + __kwargs["coerce_float"] = RemotePythonValue(coerce_float) + } + if let params = params { + __kwargs["params"] = RemotePythonValue(params) + } + if let parse_dates = parse_dates { + __kwargs["parse_dates"] = RemotePythonValue(parse_dates) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_sql_query", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_sql_query", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_sql_table(table_name: String, con: any PythonConvertible, schema: String? = nil, index_col: (any PythonConvertible)? = nil, coerce_float: Bool? = nil, parse_dates: (any PythonConvertible)? = nil, columns: [String]? = nil, chunksize: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(table_name)) + __args.append(RemotePythonValue(con)) + var __kwargs: [String: RemotePythonValue] = [:] + if let schema = schema { + __kwargs["schema"] = RemotePythonValue(schema) + } + if let index_col = index_col { + __kwargs["index_col"] = RemotePythonValue(index_col) + } + if let coerce_float = coerce_float { + __kwargs["coerce_float"] = RemotePythonValue(coerce_float) + } + if let parse_dates = parse_dates { + __kwargs["parse_dates"] = RemotePythonValue(parse_dates) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_sql_table", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_sql_table", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_html(io: any PythonConvertible, match: String? = nil, flavor: String? = nil, header: (any PythonConvertible)? = nil, index_col: (any PythonConvertible)? = nil, skiprows: (any PythonConvertible)? = nil, attrs: (any PythonConvertible)? = nil, parse_dates: Bool? = nil, thousands: String? = nil, encoding: String? = nil, decimal: String? = nil, converters: (any PythonConvertible)? = nil, na_values: (any PythonConvertible)? = nil, keep_default_na: Bool? = nil, displayed_only: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(io)) + var __kwargs: [String: RemotePythonValue] = [:] + if let match = match { + __kwargs["match"] = RemotePythonValue(match) + } + if let flavor = flavor { + __kwargs["flavor"] = RemotePythonValue(flavor) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let index_col = index_col { + __kwargs["index_col"] = RemotePythonValue(index_col) + } + if let skiprows = skiprows { + __kwargs["skiprows"] = RemotePythonValue(skiprows) + } + if let attrs = attrs { + __kwargs["attrs"] = RemotePythonValue(attrs) + } + if let parse_dates = parse_dates { + __kwargs["parse_dates"] = RemotePythonValue(parse_dates) + } + if let thousands = thousands { + __kwargs["thousands"] = RemotePythonValue(thousands) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let decimal = decimal { + __kwargs["decimal"] = RemotePythonValue(decimal) + } + if let converters = converters { + __kwargs["converters"] = RemotePythonValue(converters) + } + if let na_values = na_values { + __kwargs["na_values"] = RemotePythonValue(na_values) + } + if let keep_default_na = keep_default_na { + __kwargs["keep_default_na"] = RemotePythonValue(keep_default_na) + } + if let displayed_only = displayed_only { + __kwargs["displayed_only"] = RemotePythonValue(displayed_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_html", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_html", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func read_pickle(filepath_or_buffer: String, compression: String? = nil, storage_options: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(filepath_or_buffer)) + var __kwargs: [String: RemotePythonValue] = [:] + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let storage_options = storage_options { + __kwargs["storage_options"] = RemotePythonValue(storage_options) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_pickle", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_pickle", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func read_clipboard(sep: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_clipboard", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_clipboard", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_fwf(filepath_or_buffer: String, colspecs: (any PythonConvertible)? = nil, widths: [Int]? = nil, infer_nrows: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(filepath_or_buffer)) + if let colspecs = colspecs { + __args.append(RemotePythonValue(colspecs)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let widths = widths { + __kwargs["widths"] = RemotePythonValue(widths) + } + if let infer_nrows = infer_nrows { + __kwargs["infer_nrows"] = RemotePythonValue(infer_nrows) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_fwf", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_fwf", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_feather(path: String, columns: [String]? = nil, use_threads: Bool? = nil, storage_options: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(path)) + var __kwargs: [String: RemotePythonValue] = [:] + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let use_threads = use_threads { + __kwargs["use_threads"] = RemotePythonValue(use_threads) + } + if let storage_options = storage_options { + __kwargs["storage_options"] = RemotePythonValue(storage_options) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_feather", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_feather", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_orc(path: String, columns: [String]? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(path)) + var __kwargs: [String: RemotePythonValue] = [:] + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_orc", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_orc", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_stata(filepath_or_buffer: String, convert_dates: Bool? = nil, convert_categoricals: Bool? = nil, index_col: String? = nil, convert_missing: Bool? = nil, preserve_dtypes: Bool? = nil, columns: [String]? = nil, order_categoricals: Bool? = nil, chunksize: Int? = nil, iterator: Bool? = nil, compression: String? = nil, storage_options: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(filepath_or_buffer)) + var __kwargs: [String: RemotePythonValue] = [:] + if let convert_dates = convert_dates { + __kwargs["convert_dates"] = RemotePythonValue(convert_dates) + } + if let convert_categoricals = convert_categoricals { + __kwargs["convert_categoricals"] = RemotePythonValue(convert_categoricals) + } + if let index_col = index_col { + __kwargs["index_col"] = RemotePythonValue(index_col) + } + if let convert_missing = convert_missing { + __kwargs["convert_missing"] = RemotePythonValue(convert_missing) + } + if let preserve_dtypes = preserve_dtypes { + __kwargs["preserve_dtypes"] = RemotePythonValue(preserve_dtypes) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let order_categoricals = order_categoricals { + __kwargs["order_categoricals"] = RemotePythonValue(order_categoricals) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + if let iterator = iterator { + __kwargs["iterator"] = RemotePythonValue(iterator) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let storage_options = storage_options { + __kwargs["storage_options"] = RemotePythonValue(storage_options) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_stata", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_stata", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_sas(filepath_or_buffer: String, format: String? = nil, index: String? = nil, encoding: String? = nil, chunksize: Int? = nil, iterator: Bool? = nil, compression: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(filepath_or_buffer)) + var __kwargs: [String: RemotePythonValue] = [:] + if let format = format { + __kwargs["format"] = RemotePythonValue(format) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + if let iterator = iterator { + __kwargs["iterator"] = RemotePythonValue(iterator) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_sas", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_sas", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_spss(path: String, usecols: [String]? = nil, convert_categoricals: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(path)) + var __kwargs: [String: RemotePythonValue] = [:] + if let usecols = usecols { + __kwargs["usecols"] = RemotePythonValue(usecols) + } + if let convert_categoricals = convert_categoricals { + __kwargs["convert_categoricals"] = RemotePythonValue(convert_categoricals) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_spss", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_spss", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func read_xml(path_or_buffer: String, xpath: String? = nil, namespaces: (any PythonConvertible)? = nil, elems_only: Bool? = nil, attrs_only: Bool? = nil, names: [String]? = nil, dtype: (any PythonConvertible)? = nil, encoding: String? = nil, parser: String? = nil, stylesheet: String? = nil, iterparse: (any PythonConvertible)? = nil, compression: String? = nil, storage_options: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(path_or_buffer)) + var __kwargs: [String: RemotePythonValue] = [:] + if let xpath = xpath { + __kwargs["xpath"] = RemotePythonValue(xpath) + } + if let namespaces = namespaces { + __kwargs["namespaces"] = RemotePythonValue(namespaces) + } + if let elems_only = elems_only { + __kwargs["elems_only"] = RemotePythonValue(elems_only) + } + if let attrs_only = attrs_only { + __kwargs["attrs_only"] = RemotePythonValue(attrs_only) + } + if let names = names { + __kwargs["names"] = RemotePythonValue(names) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let parser = parser { + __kwargs["parser"] = RemotePythonValue(parser) + } + if let stylesheet = stylesheet { + __kwargs["stylesheet"] = RemotePythonValue(stylesheet) + } + if let iterparse = iterparse { + __kwargs["iterparse"] = RemotePythonValue(iterparse) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let storage_options = storage_options { + __kwargs["storage_options"] = RemotePythonValue(storage_options) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_xml", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "read_xml", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func concat(objs: PyHandle, axis: Int? = nil, join: String? = nil, ignore_index: Bool? = nil, keys: PyHandle? = nil, levels: PyHandle? = nil, names: [String]? = nil, verify_integrity: Bool? = nil, sort: Bool? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(objs)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let join = join { + __kwargs["join"] = RemotePythonValue(join) + } + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + if let keys = keys { + __kwargs["keys"] = RemotePythonValue(keys) + } + if let levels = levels { + __kwargs["levels"] = RemotePythonValue(levels) + } + if let names = names { + __kwargs["names"] = RemotePythonValue(names) + } + if let verify_integrity = verify_integrity { + __kwargs["verify_integrity"] = RemotePythonValue(verify_integrity) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "concat", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "concat", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func merge(left: any PythonConvertible, right: any PythonConvertible, how: String? = nil, on: (any PythonConvertible)? = nil, left_on: (any PythonConvertible)? = nil, right_on: (any PythonConvertible)? = nil, left_index: Bool? = nil, right_index: Bool? = nil, sort: Bool? = nil, suffixes: (any PythonConvertible)? = nil, copy: Bool? = nil, indicator: Bool? = nil, validate: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(left)) + __args.append(RemotePythonValue(right)) + var __kwargs: [String: RemotePythonValue] = [:] + if let how = how { + __kwargs["how"] = RemotePythonValue(how) + } + if let on = on { + __kwargs["on"] = RemotePythonValue(on) + } + if let left_on = left_on { + __kwargs["left_on"] = RemotePythonValue(left_on) + } + if let right_on = right_on { + __kwargs["right_on"] = RemotePythonValue(right_on) + } + if let left_index = left_index { + __kwargs["left_index"] = RemotePythonValue(left_index) + } + if let right_index = right_index { + __kwargs["right_index"] = RemotePythonValue(right_index) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let suffixes = suffixes { + __kwargs["suffixes"] = RemotePythonValue(suffixes) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let indicator = indicator { + __kwargs["indicator"] = RemotePythonValue(indicator) + } + if let validate = validate { + __kwargs["validate"] = RemotePythonValue(validate) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "merge", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "merge", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func merge_ordered(left: PoolDataFrame, right: PoolDataFrame, on: (any PythonConvertible)? = nil, left_on: (any PythonConvertible)? = nil, right_on: (any PythonConvertible)? = nil, left_by: (any PythonConvertible)? = nil, right_by: (any PythonConvertible)? = nil, fill_method: String? = nil, suffixes: (any PythonConvertible)? = nil, how: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(left.handle)) + __args.append(RemotePythonValue(right.handle)) + if let on = on { + __args.append(RemotePythonValue(on)) + } + if let left_on = left_on { + __args.append(RemotePythonValue(left_on)) + } + if let right_on = right_on { + __args.append(RemotePythonValue(right_on)) + } + if let left_by = left_by { + __args.append(RemotePythonValue(left_by)) + } + if let right_by = right_by { + __args.append(RemotePythonValue(right_by)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let fill_method = fill_method { + __kwargs["fill_method"] = RemotePythonValue(fill_method) + } + if let suffixes = suffixes { + __kwargs["suffixes"] = RemotePythonValue(suffixes) + } + if let how = how { + __kwargs["how"] = RemotePythonValue(how) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "merge_ordered", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "merge_ordered", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func merge_asof(left: PoolDataFrame, right: PoolDataFrame, on: String? = nil, left_on: String? = nil, right_on: String? = nil, left_index: Bool? = nil, right_index: Bool? = nil, by: (any PythonConvertible)? = nil, left_by: String? = nil, right_by: String? = nil, suffixes: (any PythonConvertible)? = nil, tolerance: (any PythonConvertible)? = nil, allow_exact_matches: Bool? = nil, direction: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(left.handle)) + __args.append(RemotePythonValue(right.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let on = on { + __kwargs["on"] = RemotePythonValue(on) + } + if let left_on = left_on { + __kwargs["left_on"] = RemotePythonValue(left_on) + } + if let right_on = right_on { + __kwargs["right_on"] = RemotePythonValue(right_on) + } + if let left_index = left_index { + __kwargs["left_index"] = RemotePythonValue(left_index) + } + if let right_index = right_index { + __kwargs["right_index"] = RemotePythonValue(right_index) + } + if let by = by { + __kwargs["by"] = RemotePythonValue(by) + } + if let left_by = left_by { + __kwargs["left_by"] = RemotePythonValue(left_by) + } + if let right_by = right_by { + __kwargs["right_by"] = RemotePythonValue(right_by) + } + if let suffixes = suffixes { + __kwargs["suffixes"] = RemotePythonValue(suffixes) + } + if let tolerance = tolerance { + __kwargs["tolerance"] = RemotePythonValue(tolerance) + } + if let allow_exact_matches = allow_exact_matches { + __kwargs["allow_exact_matches"] = RemotePythonValue(allow_exact_matches) + } + if let direction = direction { + __kwargs["direction"] = RemotePythonValue(direction) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "merge_asof", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "merge_asof", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func pivot(data: PoolDataFrame, index: String? = nil, columns: String? = nil, values: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(data.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let values = values { + __kwargs["values"] = RemotePythonValue(values) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "pivot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "pivot", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func pivot_table(data: PoolDataFrame, values: (any PythonConvertible)? = nil, index: (any PythonConvertible)? = nil, columns: (any PythonConvertible)? = nil, aggfunc: String? = nil, fill_value: (any PythonConvertible)? = nil, margins: Bool? = nil, dropna: Bool? = nil, margins_name: String? = nil, observed: Bool? = nil, sort: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(data.handle)) + if let values = values { + __args.append(RemotePythonValue(values)) + } + if let index = index { + __args.append(RemotePythonValue(index)) + } + if let columns = columns { + __args.append(RemotePythonValue(columns)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let aggfunc = aggfunc { + __kwargs["aggfunc"] = RemotePythonValue(aggfunc) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let margins = margins { + __kwargs["margins"] = RemotePythonValue(margins) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + if let margins_name = margins_name { + __kwargs["margins_name"] = RemotePythonValue(margins_name) + } + if let observed = observed { + __kwargs["observed"] = RemotePythonValue(observed) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "pivot_table", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "pivot_table", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func crosstab(index: any PythonConvertible, columns: any PythonConvertible, values: (any PythonConvertible)? = nil, rownames: [String]? = nil, colnames: [String]? = nil, aggfunc: String? = nil, margins: Bool? = nil, margins_name: String? = nil, dropna: Bool? = nil, normalize: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(index)) + __args.append(RemotePythonValue(columns)) + if let values = values { + __args.append(RemotePythonValue(values)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let rownames = rownames { + __kwargs["rownames"] = RemotePythonValue(rownames) + } + if let colnames = colnames { + __kwargs["colnames"] = RemotePythonValue(colnames) + } + if let aggfunc = aggfunc { + __kwargs["aggfunc"] = RemotePythonValue(aggfunc) + } + if let margins = margins { + __kwargs["margins"] = RemotePythonValue(margins) + } + if let margins_name = margins_name { + __kwargs["margins_name"] = RemotePythonValue(margins_name) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "crosstab", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "crosstab", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func melt(frame: PoolDataFrame, id_vars: (any PythonConvertible)? = nil, value_vars: (any PythonConvertible)? = nil, var_name: String? = nil, value_name: String? = nil, col_level: Int? = nil, ignore_index: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(frame.handle)) + if let id_vars = id_vars { + __args.append(RemotePythonValue(id_vars)) + } + if let value_vars = value_vars { + __args.append(RemotePythonValue(value_vars)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let var_name = var_name { + __kwargs["var_name"] = RemotePythonValue(var_name) + } + if let value_name = value_name { + __kwargs["value_name"] = RemotePythonValue(value_name) + } + if let col_level = col_level { + __kwargs["col_level"] = RemotePythonValue(col_level) + } + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "melt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "melt", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func wide_to_long(df: PoolDataFrame, stubnames: any PythonConvertible, i: any PythonConvertible, j: String, sep: String? = nil, suffix: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(df.handle)) + __args.append(RemotePythonValue(stubnames)) + __args.append(RemotePythonValue(i)) + __args.append(RemotePythonValue(j)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + if let suffix = suffix { + __kwargs["suffix"] = RemotePythonValue(suffix) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "wide_to_long", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "wide_to_long", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func get_dummies(data: any PythonConvertible, prefix: (any PythonConvertible)? = nil, prefix_sep: String? = nil, dummy_na: Bool? = nil, columns: [String]? = nil, sparse: Bool? = nil, drop_first: Bool? = nil, dtype: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(data)) + if let prefix = prefix { + __args.append(RemotePythonValue(prefix)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let prefix_sep = prefix_sep { + __kwargs["prefix_sep"] = RemotePythonValue(prefix_sep) + } + if let dummy_na = dummy_na { + __kwargs["dummy_na"] = RemotePythonValue(dummy_na) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let sparse = sparse { + __kwargs["sparse"] = RemotePythonValue(sparse) + } + if let drop_first = drop_first { + __kwargs["drop_first"] = RemotePythonValue(drop_first) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "get_dummies", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "get_dummies", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cut(x: any PythonConvertible, bins: any PythonConvertible, right: Bool? = nil, labels: (any PythonConvertible)? = nil, retbins: Bool? = nil, precision: Int? = nil, include_lowest: Bool? = nil, duplicates: String? = nil, ordered: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + __args.append(RemotePythonValue(bins)) + var __kwargs: [String: RemotePythonValue] = [:] + if let right = right { + __kwargs["right"] = RemotePythonValue(right) + } + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let retbins = retbins { + __kwargs["retbins"] = RemotePythonValue(retbins) + } + if let precision = precision { + __kwargs["precision"] = RemotePythonValue(precision) + } + if let include_lowest = include_lowest { + __kwargs["include_lowest"] = RemotePythonValue(include_lowest) + } + if let duplicates = duplicates { + __kwargs["duplicates"] = RemotePythonValue(duplicates) + } + if let ordered = ordered { + __kwargs["ordered"] = RemotePythonValue(ordered) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "cut", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "cut", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func qcut(x: any PythonConvertible, q: any PythonConvertible, labels: (any PythonConvertible)? = nil, retbins: Bool? = nil, precision: Int? = nil, duplicates: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + __args.append(RemotePythonValue(q)) + if let labels = labels { + __args.append(RemotePythonValue(labels)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let retbins = retbins { + __kwargs["retbins"] = RemotePythonValue(retbins) + } + if let precision = precision { + __kwargs["precision"] = RemotePythonValue(precision) + } + if let duplicates = duplicates { + __kwargs["duplicates"] = RemotePythonValue(duplicates) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "qcut", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "qcut", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func factorize(values: any PythonConvertible, sort: Bool? = nil, na_sentinel: Int? = nil, size_hint: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(values)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let na_sentinel = na_sentinel { + __kwargs["na_sentinel"] = RemotePythonValue(na_sentinel) + } + if let size_hint = size_hint { + __kwargs["size_hint"] = RemotePythonValue(size_hint) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "factorize", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "factorize", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func unique(values: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(values)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "unique", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "unique", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func isna(obj: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(obj)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "isna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "isna", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func isnull(obj: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(obj)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "isnull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "isnull", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func notna(obj: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(obj)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "notna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "notna", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func notnull(obj: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(obj)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "notnull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "notnull", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_numeric(arg: any PythonConvertible, errors: String? = nil, downcast: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arg)) + var __kwargs: [String: RemotePythonValue] = [:] + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + if let downcast = downcast { + __kwargs["downcast"] = RemotePythonValue(downcast) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "to_numeric", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "to_numeric", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_datetime(arg: any PythonConvertible, errors: String? = nil, dayfirst: Bool? = nil, yearfirst: Bool? = nil, utc: Bool? = nil, format: String? = nil, exact: Bool? = nil, unit: String? = nil, infer_datetime_format: Bool? = nil, origin: String? = nil, cache: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arg)) + var __kwargs: [String: RemotePythonValue] = [:] + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + if let dayfirst = dayfirst { + __kwargs["dayfirst"] = RemotePythonValue(dayfirst) + } + if let yearfirst = yearfirst { + __kwargs["yearfirst"] = RemotePythonValue(yearfirst) + } + if let utc = utc { + __kwargs["utc"] = RemotePythonValue(utc) + } + if let format = format { + __kwargs["format"] = RemotePythonValue(format) + } + if let exact = exact { + __kwargs["exact"] = RemotePythonValue(exact) + } + if let unit = unit { + __kwargs["unit"] = RemotePythonValue(unit) + } + if let infer_datetime_format = infer_datetime_format { + __kwargs["infer_datetime_format"] = RemotePythonValue(infer_datetime_format) + } + if let origin = origin { + __kwargs["origin"] = RemotePythonValue(origin) + } + if let cache = cache { + __kwargs["cache"] = RemotePythonValue(cache) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "to_datetime", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "to_datetime", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_timedelta(arg: any PythonConvertible, unit: String? = nil, errors: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arg)) + var __kwargs: [String: RemotePythonValue] = [:] + if let unit = unit { + __kwargs["unit"] = RemotePythonValue(unit) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "to_timedelta", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "to_timedelta", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func date_range(start: String? = nil, end: String? = nil, periods: Int? = nil, freq: String? = nil, tz: String? = nil, normalize: Bool? = nil, name: String? = nil, inclusive: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let start = start { + __kwargs["start"] = RemotePythonValue(start) + } + if let end = end { + __kwargs["end"] = RemotePythonValue(end) + } + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let freq = freq { + __kwargs["freq"] = RemotePythonValue(freq) + } + if let tz = tz { + __kwargs["tz"] = RemotePythonValue(tz) + } + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let inclusive = inclusive { + __kwargs["inclusive"] = RemotePythonValue(inclusive) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "date_range", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "date_range", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func timedelta_range(start: String? = nil, end: String? = nil, periods: Int? = nil, freq: String? = nil, name: String? = nil, closed: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let start = start { + __kwargs["start"] = RemotePythonValue(start) + } + if let end = end { + __kwargs["end"] = RemotePythonValue(end) + } + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let freq = freq { + __kwargs["freq"] = RemotePythonValue(freq) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let closed = closed { + __kwargs["closed"] = RemotePythonValue(closed) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "timedelta_range", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "timedelta_range", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func period_range(start: String? = nil, end: String? = nil, periods: Int? = nil, freq: String? = nil, name: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let start = start { + __kwargs["start"] = RemotePythonValue(start) + } + if let end = end { + __kwargs["end"] = RemotePythonValue(end) + } + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let freq = freq { + __kwargs["freq"] = RemotePythonValue(freq) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "period_range", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "period_range", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func interval_range(start: (any PythonConvertible)? = nil, end: (any PythonConvertible)? = nil, periods: Int? = nil, freq: (any PythonConvertible)? = nil, name: String? = nil, closed: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + if let start = start { + __args.append(RemotePythonValue(start)) + } + if let end = end { + __args.append(RemotePythonValue(end)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let freq = freq { + __kwargs["freq"] = RemotePythonValue(freq) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let closed = closed { + __kwargs["closed"] = RemotePythonValue(closed) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "interval_range", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "interval_range", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func set_option(pat: String, value: any PythonConvertible, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(pat)) + __args.append(RemotePythonValue(value)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + try await pool.invokeVoid(module: "pandas", function: "set_option", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "pandas", function: "set_option", args: __args, kwargs: __kwargs) + } + + public func get_option(pat: String, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(pat)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "get_option", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "get_option", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func reset_option(pat: String, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(pat)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + try await pool.invokeVoid(module: "pandas", function: "reset_option", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "pandas", function: "reset_option", args: __args, kwargs: __kwargs) + } + + public func describe_option(pat: String? = nil, worker: Int? = nil) async throws -> Void { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let pat = pat { + __kwargs["pat"] = RemotePythonValue(pat) + } + if let worker { + try await pool.invokeVoid(module: "pandas", function: "describe_option", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "pandas", function: "describe_option", args: __args, kwargs: __kwargs) + } + + public func option_context(_ args: [RemotePythonValue] = [], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "option_context", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "option_context", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func DataFrame(data: (any PythonConvertible)? = nil, index: (any PythonConvertible)? = nil, columns: (any PythonConvertible)? = nil, dtype: String? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data = data { + __kwargs["data"] = RemotePythonValue(data) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "DataFrame", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "DataFrame", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func Series(data: (any PythonConvertible)? = nil, index: (any PythonConvertible)? = nil, dtype: String? = nil, name: String? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data = data { + __kwargs["data"] = RemotePythonValue(data) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "Series", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "Series", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func DataFrameGroupBy(worker: Int? = nil) async throws -> PoolDataFrameGroupBy { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "DataFrameGroupBy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "DataFrameGroupBy", args: __args, kwargs: __kwargs) + } + return PoolDataFrameGroupBy(pool: pool, owned: __owned) + } + + public func SeriesGroupBy(worker: Int? = nil) async throws -> PoolSeriesGroupBy { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "SeriesGroupBy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "SeriesGroupBy", args: __args, kwargs: __kwargs) + } + return PoolSeriesGroupBy(pool: pool, owned: __owned) + } + + public func Index(data: (any PythonConvertible)? = nil, dtype: String? = nil, copy: Bool? = nil, name: String? = nil, tupleize_cols: Bool? = nil, worker: Int? = nil) async throws -> PoolIndex { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data = data { + __kwargs["data"] = RemotePythonValue(data) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let tupleize_cols = tupleize_cols { + __kwargs["tupleize_cols"] = RemotePythonValue(tupleize_cols) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "pandas", function: "Index", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "pandas", function: "Index", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } +} + + +public struct PoolDataFrame: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func getItem(key: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(key)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "__getitem__", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "__getitem__", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func setItem(key: any PythonConvertible, value: any PythonConvertible, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(key)) + __args.append(RemotePythonValue(value)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + _ = try await pool.methodOwned(handle: self, name: "__setitem__", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "__setitem__", args: __args, kwargs: __kwargs) + } + + public func head(n: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "head", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "head", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func tail(n: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tail", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tail", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func sample(n: Int? = nil, frac: Double? = nil, replace: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let frac = frac { + __kwargs["frac"] = RemotePythonValue(frac) + } + if let replace = replace { + __kwargs["replace"] = RemotePythonValue(replace) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sample", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sample", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func nlargest(n: Int, columns: any PythonConvertible, keep: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + __args.append(RemotePythonValue(columns)) + var __kwargs: [String: RemotePythonValue] = [:] + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nlargest", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nlargest", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func nsmallest(n: Int, columns: any PythonConvertible, keep: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + __args.append(RemotePythonValue(columns)) + var __kwargs: [String: RemotePythonValue] = [:] + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nsmallest", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nsmallest", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func query(expr: String, inplace: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(expr)) + var __kwargs: [String: RemotePythonValue] = [:] + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "query", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "query", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func filter(items: [String]? = nil, like: String? = nil, regex: String? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let items = items { + __kwargs["items"] = RemotePythonValue(items) + } + if let like = like { + __kwargs["like"] = RemotePythonValue(like) + } + if let regex = regex { + __kwargs["regex"] = RemotePythonValue(regex) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "filter", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "filter", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func info(verbose: Bool? = nil, buf: (any PythonConvertible)? = nil, max_cols: Int? = nil, memory_usage: Bool? = nil, show_counts: Bool? = nil, worker: Int? = nil) async throws -> Void { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let buf = buf { + __kwargs["buf"] = RemotePythonValue(buf) + } + if let max_cols = max_cols { + __kwargs["max_cols"] = RemotePythonValue(max_cols) + } + if let memory_usage = memory_usage { + __kwargs["memory_usage"] = RemotePythonValue(memory_usage) + } + if let show_counts = show_counts { + __kwargs["show_counts"] = RemotePythonValue(show_counts) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "info", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "info", args: __args, kwargs: __kwargs) + } + + public func describe(percentiles: [Double]? = nil, include: (any PythonConvertible)? = nil, exclude: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let percentiles = percentiles { + __kwargs["percentiles"] = RemotePythonValue(percentiles) + } + if let include = include { + __kwargs["include"] = RemotePythonValue(include) + } + if let exclude = exclude { + __kwargs["exclude"] = RemotePythonValue(exclude) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "describe", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "describe", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func memory_usage(index: Bool? = nil, deep: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "memory_usage", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "memory_usage", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func sum(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func mean(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func median(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "median", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "median", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func min(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func max(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func std(axis: Int? = nil, skipna: Bool? = nil, ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func `var`(axis: Int? = nil, skipna: Bool? = nil, ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func count(axis: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "count", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "count", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func nunique(axis: Int? = nil, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nunique", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nunique", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func abs(worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "abs", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "abs", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func prod(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cumsum(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cumprod(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cummin(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cummin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cummin", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cummax(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cummax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cummax", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func diff(periods: Int? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "diff", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "diff", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func pct_change(periods: Int? = nil, fill_method: String? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let fill_method = fill_method { + __kwargs["fill_method"] = RemotePythonValue(fill_method) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pct_change", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pct_change", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func corr(method: String? = nil, min_periods: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let min_periods = min_periods { + __kwargs["min_periods"] = RemotePythonValue(min_periods) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "corr", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "corr", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cov(min_periods: Int? = nil, ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let min_periods = min_periods { + __kwargs["min_periods"] = RemotePythonValue(min_periods) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cov", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cov", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func quantile(q: Double? = nil, axis: Int? = nil, numeric_only: Bool? = nil, interpolation: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let q = q { + __kwargs["q"] = RemotePythonValue(q) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let interpolation = interpolation { + __kwargs["interpolation"] = RemotePythonValue(interpolation) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "quantile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "quantile", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func rank(axis: Int? = nil, method: String? = nil, numeric_only: Bool? = nil, na_option: String? = nil, ascending: Bool? = nil, pct: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let na_option = na_option { + __kwargs["na_option"] = RemotePythonValue(na_option) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let pct = pct { + __kwargs["pct"] = RemotePythonValue(pct) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "rank", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "rank", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func idxmax(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "idxmax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "idxmax", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func idxmin(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "idxmin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "idxmin", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func mode(axis: Int? = nil, numeric_only: Bool? = nil, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mode", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mode", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func value_counts(subset: [String]? = nil, normalize: Bool? = nil, sort: Bool? = nil, ascending: Bool? = nil, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "value_counts", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "value_counts", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func apply(`func`: any PythonConvertible, axis: Int? = nil, raw: Bool? = nil, result_type: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let raw = raw { + __kwargs["raw"] = RemotePythonValue(raw) + } + if let result_type = result_type { + __kwargs["result_type"] = RemotePythonValue(result_type) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func map(`func`: any PythonConvertible, na_action: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + var __kwargs: [String: RemotePythonValue] = [:] + if let na_action = na_action { + __kwargs["na_action"] = RemotePythonValue(na_action) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "map", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "map", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func transform(`func`: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func agg(`func`: String, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "agg", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "agg", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func aggregate(`func`: String, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "aggregate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "aggregate", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func pipe(`func`: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pipe", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pipe", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func eval(expr: String, inplace: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(expr)) + var __kwargs: [String: RemotePythonValue] = [:] + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "eval", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "eval", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func assign(extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "assign", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "assign", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func clip(lower: Double? = nil, upper: Double? = nil, axis: Int? = nil, inplace: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let lower = lower { + __kwargs["lower"] = RemotePythonValue(lower) + } + if let upper = upper { + __kwargs["upper"] = RemotePythonValue(upper) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "clip", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "clip", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func round(decimals: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let decimals = decimals { + __kwargs["decimals"] = RemotePythonValue(decimals) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "round", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "round", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func groupby(by: (any PythonConvertible)? = nil, axis: Int? = nil, level: Int? = nil, as_index: Bool? = nil, sort: Bool? = nil, group_keys: Bool? = nil, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrameGroupBy { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let by = by { + __kwargs["by"] = RemotePythonValue(by) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let as_index = as_index { + __kwargs["as_index"] = RemotePythonValue(as_index) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let group_keys = group_keys { + __kwargs["group_keys"] = RemotePythonValue(group_keys) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "groupby", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "groupby", args: __args, kwargs: __kwargs) + } + return PoolDataFrameGroupBy(pool: pool, owned: __owned) + } + + public func sort_values(by: any PythonConvertible, axis: Int? = nil, ascending: Bool? = nil, inplace: Bool? = nil, kind: String? = nil, na_position: String? = nil, ignore_index: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(by)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let na_position = na_position { + __kwargs["na_position"] = RemotePythonValue(na_position) + } + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sort_values", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sort_values", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func sort_index(axis: Int? = nil, level: Int? = nil, ascending: Bool? = nil, inplace: Bool? = nil, kind: String? = nil, na_position: String? = nil, sort_remaining: Bool? = nil, ignore_index: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let na_position = na_position { + __kwargs["na_position"] = RemotePythonValue(na_position) + } + if let sort_remaining = sort_remaining { + __kwargs["sort_remaining"] = RemotePythonValue(sort_remaining) + } + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sort_index", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sort_index", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func isna(worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isna", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func isnull(worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isnull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isnull", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func notna(worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "notna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "notna", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func notnull(worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "notnull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "notnull", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func dropna(axis: Int? = nil, how: String? = nil, thresh: Int? = nil, subset: [String]? = nil, inplace: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let how = how { + __kwargs["how"] = RemotePythonValue(how) + } + if let thresh = thresh { + __kwargs["thresh"] = RemotePythonValue(thresh) + } + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "dropna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "dropna", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func fillna(value: (any PythonConvertible)? = nil, method: String? = nil, axis: Int? = nil, inplace: Bool? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let value = value { + __kwargs["value"] = RemotePythonValue(value) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func ffill(axis: Int? = nil, inplace: Bool? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ffill", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ffill", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func bfill(axis: Int? = nil, inplace: Bool? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "bfill", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "bfill", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func interpolate(method: String? = nil, axis: Int? = nil, limit: Int? = nil, inplace: Bool? = nil, limit_direction: String? = nil, limit_area: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit_direction = limit_direction { + __kwargs["limit_direction"] = RemotePythonValue(limit_direction) + } + if let limit_area = limit_area { + __kwargs["limit_area"] = RemotePythonValue(limit_area) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "interpolate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "interpolate", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func replace(to_replace: (any PythonConvertible)? = nil, value: (any PythonConvertible)? = nil, inplace: Bool? = nil, limit: Int? = nil, regex: Bool? = nil, method: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let to_replace = to_replace { + __kwargs["to_replace"] = RemotePythonValue(to_replace) + } + if let value = value { + __kwargs["value"] = RemotePythonValue(value) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + if let regex = regex { + __kwargs["regex"] = RemotePythonValue(regex) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "replace", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "replace", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func duplicated(subset: [String]? = nil, keep: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "duplicated", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "duplicated", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func drop_duplicates(subset: [String]? = nil, keep: String? = nil, inplace: Bool? = nil, ignore_index: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "drop_duplicates", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "drop_duplicates", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func transpose(copy: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transpose", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transpose", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func pivot(index: String? = nil, columns: String? = nil, values: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let values = values { + __kwargs["values"] = RemotePythonValue(values) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pivot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pivot", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func pivot_table(values: (any PythonConvertible)? = nil, index: (any PythonConvertible)? = nil, columns: (any PythonConvertible)? = nil, aggfunc: String? = nil, fill_value: (any PythonConvertible)? = nil, margins: Bool? = nil, dropna: Bool? = nil, margins_name: String? = nil, observed: Bool? = nil, sort: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let values = values { + __kwargs["values"] = RemotePythonValue(values) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let aggfunc = aggfunc { + __kwargs["aggfunc"] = RemotePythonValue(aggfunc) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let margins = margins { + __kwargs["margins"] = RemotePythonValue(margins) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + if let margins_name = margins_name { + __kwargs["margins_name"] = RemotePythonValue(margins_name) + } + if let observed = observed { + __kwargs["observed"] = RemotePythonValue(observed) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pivot_table", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pivot_table", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func melt(id_vars: (any PythonConvertible)? = nil, value_vars: (any PythonConvertible)? = nil, var_name: String? = nil, value_name: String? = nil, col_level: Int? = nil, ignore_index: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let id_vars = id_vars { + __kwargs["id_vars"] = RemotePythonValue(id_vars) + } + if let value_vars = value_vars { + __kwargs["value_vars"] = RemotePythonValue(value_vars) + } + if let var_name = var_name { + __kwargs["var_name"] = RemotePythonValue(var_name) + } + if let value_name = value_name { + __kwargs["value_name"] = RemotePythonValue(value_name) + } + if let col_level = col_level { + __kwargs["col_level"] = RemotePythonValue(col_level) + } + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "melt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "melt", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func stack(level: Int? = nil, dropna: Bool? = nil, sort: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "stack", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "stack", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func unstack(level: Int? = nil, fill_value: (any PythonConvertible)? = nil, sort: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "unstack", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "unstack", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func explode(column: String, ignore_index: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(column)) + var __kwargs: [String: RemotePythonValue] = [:] + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "explode", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "explode", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func merge(right: any PythonConvertible, how: String? = nil, on: (any PythonConvertible)? = nil, left_on: (any PythonConvertible)? = nil, right_on: (any PythonConvertible)? = nil, left_index: Bool? = nil, right_index: Bool? = nil, sort: Bool? = nil, suffixes: (any PythonConvertible)? = nil, copy: Bool? = nil, indicator: Bool? = nil, validate: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(right)) + var __kwargs: [String: RemotePythonValue] = [:] + if let how = how { + __kwargs["how"] = RemotePythonValue(how) + } + if let on = on { + __kwargs["on"] = RemotePythonValue(on) + } + if let left_on = left_on { + __kwargs["left_on"] = RemotePythonValue(left_on) + } + if let right_on = right_on { + __kwargs["right_on"] = RemotePythonValue(right_on) + } + if let left_index = left_index { + __kwargs["left_index"] = RemotePythonValue(left_index) + } + if let right_index = right_index { + __kwargs["right_index"] = RemotePythonValue(right_index) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let suffixes = suffixes { + __kwargs["suffixes"] = RemotePythonValue(suffixes) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let indicator = indicator { + __kwargs["indicator"] = RemotePythonValue(indicator) + } + if let validate = validate { + __kwargs["validate"] = RemotePythonValue(validate) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "merge", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "merge", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func join(other: any PythonConvertible, on: (any PythonConvertible)? = nil, how: String? = nil, lsuffix: String? = nil, rsuffix: String? = nil, sort: Bool? = nil, validate: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let on = on { + __kwargs["on"] = RemotePythonValue(on) + } + if let how = how { + __kwargs["how"] = RemotePythonValue(how) + } + if let lsuffix = lsuffix { + __kwargs["lsuffix"] = RemotePythonValue(lsuffix) + } + if let rsuffix = rsuffix { + __kwargs["rsuffix"] = RemotePythonValue(rsuffix) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let validate = validate { + __kwargs["validate"] = RemotePythonValue(validate) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "join", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "join", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func append(other: any PythonConvertible, ignore_index: Bool? = nil, verify_integrity: Bool? = nil, sort: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + if let verify_integrity = verify_integrity { + __kwargs["verify_integrity"] = RemotePythonValue(verify_integrity) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "append", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "append", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func combine(other: PoolDataFrame, `func`: any PythonConvertible, fill_value: (any PythonConvertible)? = nil, overwrite: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + __args.append(RemotePythonValue(`func`)) + var __kwargs: [String: RemotePythonValue] = [:] + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let overwrite = overwrite { + __kwargs["overwrite"] = RemotePythonValue(overwrite) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "combine", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "combine", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func combine_first(other: PoolDataFrame, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "combine_first", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "combine_first", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func update(other: any PythonConvertible, join: String? = nil, overwrite: Bool? = nil, filter_func: (any PythonConvertible)? = nil, errors: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let join = join { + __kwargs["join"] = RemotePythonValue(join) + } + if let overwrite = overwrite { + __kwargs["overwrite"] = RemotePythonValue(overwrite) + } + if let filter_func = filter_func { + __kwargs["filter_func"] = RemotePythonValue(filter_func) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "update", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "update", args: __args, kwargs: __kwargs) + } + + public func drop(labels: (any PythonConvertible)? = nil, axis: Int? = nil, index: (any PythonConvertible)? = nil, columns: (any PythonConvertible)? = nil, level: Int? = nil, inplace: Bool? = nil, errors: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "drop", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "drop", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func rename(mapper: (any PythonConvertible)? = nil, index: (any PythonConvertible)? = nil, columns: (any PythonConvertible)? = nil, axis: Int? = nil, copy: Bool? = nil, inplace: Bool? = nil, level: Int? = nil, errors: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let mapper = mapper { + __kwargs["mapper"] = RemotePythonValue(mapper) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "rename", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "rename", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func pop(item: String, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(item)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pop", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pop", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func insert(loc: Int, column: String, value: any PythonConvertible, allow_duplicates: Bool? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(loc)) + __args.append(RemotePythonValue(column)) + __args.append(RemotePythonValue(value)) + var __kwargs: [String: RemotePythonValue] = [:] + if let allow_duplicates = allow_duplicates { + __kwargs["allow_duplicates"] = RemotePythonValue(allow_duplicates) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "insert", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "insert", args: __args, kwargs: __kwargs) + } + + public func set_index(keys: any PythonConvertible, drop: Bool? = nil, append: Bool? = nil, inplace: Bool? = nil, verify_integrity: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(keys)) + var __kwargs: [String: RemotePythonValue] = [:] + if let drop = drop { + __kwargs["drop"] = RemotePythonValue(drop) + } + if let append = append { + __kwargs["append"] = RemotePythonValue(append) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let verify_integrity = verify_integrity { + __kwargs["verify_integrity"] = RemotePythonValue(verify_integrity) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "set_index", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "set_index", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func reset_index(level: Int? = nil, drop: Bool? = nil, inplace: Bool? = nil, col_level: Int? = nil, col_fill: String? = nil, allow_duplicates: Bool? = nil, names: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let drop = drop { + __kwargs["drop"] = RemotePythonValue(drop) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let col_level = col_level { + __kwargs["col_level"] = RemotePythonValue(col_level) + } + if let col_fill = col_fill { + __kwargs["col_fill"] = RemotePythonValue(col_fill) + } + if let allow_duplicates = allow_duplicates { + __kwargs["allow_duplicates"] = RemotePythonValue(allow_duplicates) + } + if let names = names { + __kwargs["names"] = RemotePythonValue(names) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "reset_index", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "reset_index", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func reindex(labels: (any PythonConvertible)? = nil, index: (any PythonConvertible)? = nil, columns: (any PythonConvertible)? = nil, axis: Int? = nil, method: String? = nil, copy: Bool? = nil, level: Int? = nil, fill_value: (any PythonConvertible)? = nil, limit: Int? = nil, tolerance: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + if let tolerance = tolerance { + __kwargs["tolerance"] = RemotePythonValue(tolerance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "reindex", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "reindex", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func astype(dtype: any PythonConvertible, copy: Bool? = nil, errors: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(dtype)) + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "astype", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "astype", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func convert_dtypes(infer_objects: Bool? = nil, convert_string: Bool? = nil, convert_integer: Bool? = nil, convert_boolean: Bool? = nil, convert_floating: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let infer_objects = infer_objects { + __kwargs["infer_objects"] = RemotePythonValue(infer_objects) + } + if let convert_string = convert_string { + __kwargs["convert_string"] = RemotePythonValue(convert_string) + } + if let convert_integer = convert_integer { + __kwargs["convert_integer"] = RemotePythonValue(convert_integer) + } + if let convert_boolean = convert_boolean { + __kwargs["convert_boolean"] = RemotePythonValue(convert_boolean) + } + if let convert_floating = convert_floating { + __kwargs["convert_floating"] = RemotePythonValue(convert_floating) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "convert_dtypes", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "convert_dtypes", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func infer_objects(copy: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "infer_objects", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "infer_objects", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func copy(deep: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "copy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "copy", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func any(axis: Int? = nil, bool_only: Bool? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let bool_only = bool_only { + __kwargs["bool_only"] = RemotePythonValue(bool_only) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "any", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "any", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func all(axis: Int? = nil, bool_only: Bool? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let bool_only = bool_only { + __kwargs["bool_only"] = RemotePythonValue(bool_only) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "all", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "all", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func eq(other: any PythonConvertible, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "eq", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "eq", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func ne(other: any PythonConvertible, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ne", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ne", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func lt(other: any PythonConvertible, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "lt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "lt", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func le(other: any PythonConvertible, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "le", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "le", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func gt(other: any PythonConvertible, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "gt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "gt", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func ge(other: any PythonConvertible, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ge", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ge", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func isin(values: any PythonConvertible, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(values)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isin", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func `where`(cond: any PythonConvertible, other: (any PythonConvertible)? = nil, inplace: Bool? = nil, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(cond)) + var __kwargs: [String: RemotePythonValue] = [:] + if let other = other { + __kwargs["other"] = RemotePythonValue(other) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "where", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "where", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func mask(cond: any PythonConvertible, other: (any PythonConvertible)? = nil, inplace: Bool? = nil, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(cond)) + var __kwargs: [String: RemotePythonValue] = [:] + if let other = other { + __kwargs["other"] = RemotePythonValue(other) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mask", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mask", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func to_csv(path_or_buf: String? = nil, sep: String? = nil, na_rep: String? = nil, float_format: String? = nil, columns: [String]? = nil, header: Bool? = nil, index: Bool? = nil, index_label: String? = nil, mode: String? = nil, encoding: String? = nil, compression: String? = nil, quoting: Int? = nil, quotechar: String? = nil, lineterminator: String? = nil, chunksize: Int? = nil, date_format: String? = nil, doublequote: Bool? = nil, escapechar: String? = nil, decimal: String? = nil, errors: String? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let path_or_buf = path_or_buf { + __kwargs["path_or_buf"] = RemotePythonValue(path_or_buf) + } + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + if let na_rep = na_rep { + __kwargs["na_rep"] = RemotePythonValue(na_rep) + } + if let float_format = float_format { + __kwargs["float_format"] = RemotePythonValue(float_format) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let index_label = index_label { + __kwargs["index_label"] = RemotePythonValue(index_label) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let quoting = quoting { + __kwargs["quoting"] = RemotePythonValue(quoting) + } + if let quotechar = quotechar { + __kwargs["quotechar"] = RemotePythonValue(quotechar) + } + if let lineterminator = lineterminator { + __kwargs["lineterminator"] = RemotePythonValue(lineterminator) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + if let date_format = date_format { + __kwargs["date_format"] = RemotePythonValue(date_format) + } + if let doublequote = doublequote { + __kwargs["doublequote"] = RemotePythonValue(doublequote) + } + if let escapechar = escapechar { + __kwargs["escapechar"] = RemotePythonValue(escapechar) + } + if let decimal = decimal { + __kwargs["decimal"] = RemotePythonValue(decimal) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_csv", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_csv", args: __args, kwargs: __kwargs) + } + + public func to_excel(excel_writer: any PythonConvertible, sheet_name: String? = nil, na_rep: String? = nil, float_format: String? = nil, columns: [String]? = nil, header: Bool? = nil, index: Bool? = nil, index_label: String? = nil, startrow: Int? = nil, startcol: Int? = nil, engine: String? = nil, merge_cells: Bool? = nil, inf_rep: String? = nil, freeze_panes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(excel_writer)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sheet_name = sheet_name { + __kwargs["sheet_name"] = RemotePythonValue(sheet_name) + } + if let na_rep = na_rep { + __kwargs["na_rep"] = RemotePythonValue(na_rep) + } + if let float_format = float_format { + __kwargs["float_format"] = RemotePythonValue(float_format) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let index_label = index_label { + __kwargs["index_label"] = RemotePythonValue(index_label) + } + if let startrow = startrow { + __kwargs["startrow"] = RemotePythonValue(startrow) + } + if let startcol = startcol { + __kwargs["startcol"] = RemotePythonValue(startcol) + } + if let engine = engine { + __kwargs["engine"] = RemotePythonValue(engine) + } + if let merge_cells = merge_cells { + __kwargs["merge_cells"] = RemotePythonValue(merge_cells) + } + if let inf_rep = inf_rep { + __kwargs["inf_rep"] = RemotePythonValue(inf_rep) + } + if let freeze_panes = freeze_panes { + __kwargs["freeze_panes"] = RemotePythonValue(freeze_panes) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "to_excel", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "to_excel", args: __args, kwargs: __kwargs) + } + + public func to_json(path_or_buf: String? = nil, orient: String? = nil, date_format: String? = nil, double_precision: Int? = nil, force_ascii: Bool? = nil, date_unit: String? = nil, default_handler: (any PythonConvertible)? = nil, lines: Bool? = nil, compression: String? = nil, index: Bool? = nil, indent: Int? = nil, mode: String? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let path_or_buf = path_or_buf { + __kwargs["path_or_buf"] = RemotePythonValue(path_or_buf) + } + if let orient = orient { + __kwargs["orient"] = RemotePythonValue(orient) + } + if let date_format = date_format { + __kwargs["date_format"] = RemotePythonValue(date_format) + } + if let double_precision = double_precision { + __kwargs["double_precision"] = RemotePythonValue(double_precision) + } + if let force_ascii = force_ascii { + __kwargs["force_ascii"] = RemotePythonValue(force_ascii) + } + if let date_unit = date_unit { + __kwargs["date_unit"] = RemotePythonValue(date_unit) + } + if let default_handler = default_handler { + __kwargs["default_handler"] = RemotePythonValue(default_handler) + } + if let lines = lines { + __kwargs["lines"] = RemotePythonValue(lines) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let indent = indent { + __kwargs["indent"] = RemotePythonValue(indent) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_json", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_json", args: __args, kwargs: __kwargs) + } + + public func to_html(buf: (any PythonConvertible)? = nil, columns: [String]? = nil, col_space: (any PythonConvertible)? = nil, header: Bool? = nil, index: Bool? = nil, na_rep: String? = nil, formatters: (any PythonConvertible)? = nil, float_format: String? = nil, sparsify: Bool? = nil, index_names: Bool? = nil, justify: String? = nil, max_rows: Int? = nil, max_cols: Int? = nil, show_dimensions: Bool? = nil, decimal: String? = nil, bold_rows: Bool? = nil, classes: (any PythonConvertible)? = nil, escape: Bool? = nil, notebook: Bool? = nil, border: Int? = nil, table_id: String? = nil, render_links: Bool? = nil, encoding: String? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let buf = buf { + __kwargs["buf"] = RemotePythonValue(buf) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let col_space = col_space { + __kwargs["col_space"] = RemotePythonValue(col_space) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let na_rep = na_rep { + __kwargs["na_rep"] = RemotePythonValue(na_rep) + } + if let formatters = formatters { + __kwargs["formatters"] = RemotePythonValue(formatters) + } + if let float_format = float_format { + __kwargs["float_format"] = RemotePythonValue(float_format) + } + if let sparsify = sparsify { + __kwargs["sparsify"] = RemotePythonValue(sparsify) + } + if let index_names = index_names { + __kwargs["index_names"] = RemotePythonValue(index_names) + } + if let justify = justify { + __kwargs["justify"] = RemotePythonValue(justify) + } + if let max_rows = max_rows { + __kwargs["max_rows"] = RemotePythonValue(max_rows) + } + if let max_cols = max_cols { + __kwargs["max_cols"] = RemotePythonValue(max_cols) + } + if let show_dimensions = show_dimensions { + __kwargs["show_dimensions"] = RemotePythonValue(show_dimensions) + } + if let decimal = decimal { + __kwargs["decimal"] = RemotePythonValue(decimal) + } + if let bold_rows = bold_rows { + __kwargs["bold_rows"] = RemotePythonValue(bold_rows) + } + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + if let escape = escape { + __kwargs["escape"] = RemotePythonValue(escape) + } + if let notebook = notebook { + __kwargs["notebook"] = RemotePythonValue(notebook) + } + if let border = border { + __kwargs["border"] = RemotePythonValue(border) + } + if let table_id = table_id { + __kwargs["table_id"] = RemotePythonValue(table_id) + } + if let render_links = render_links { + __kwargs["render_links"] = RemotePythonValue(render_links) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_html", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_html", args: __args, kwargs: __kwargs) + } + + public func to_dict(orient: String? = nil, into: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let orient = orient { + __kwargs["orient"] = RemotePythonValue(orient) + } + if let into = into { + __kwargs["into"] = RemotePythonValue(into) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_dict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_dict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_numpy(dtype: String? = nil, copy: Bool? = nil, na_value: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let na_value = na_value { + __kwargs["na_value"] = RemotePythonValue(na_value) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_numpy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_numpy", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_records(index: Bool? = nil, column_dtypes: (any PythonConvertible)? = nil, index_dtypes: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let column_dtypes = column_dtypes { + __kwargs["column_dtypes"] = RemotePythonValue(column_dtypes) + } + if let index_dtypes = index_dtypes { + __kwargs["index_dtypes"] = RemotePythonValue(index_dtypes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_records", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_records", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_string(buf: (any PythonConvertible)? = nil, columns: [String]? = nil, col_space: Int? = nil, header: Bool? = nil, index: Bool? = nil, na_rep: String? = nil, formatters: (any PythonConvertible)? = nil, float_format: String? = nil, sparsify: Bool? = nil, index_names: Bool? = nil, justify: String? = nil, max_rows: Int? = nil, max_cols: Int? = nil, show_dimensions: Bool? = nil, decimal: String? = nil, line_width: Int? = nil, min_rows: Int? = nil, max_colwidth: Int? = nil, encoding: String? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let buf = buf { + __kwargs["buf"] = RemotePythonValue(buf) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let col_space = col_space { + __kwargs["col_space"] = RemotePythonValue(col_space) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let na_rep = na_rep { + __kwargs["na_rep"] = RemotePythonValue(na_rep) + } + if let formatters = formatters { + __kwargs["formatters"] = RemotePythonValue(formatters) + } + if let float_format = float_format { + __kwargs["float_format"] = RemotePythonValue(float_format) + } + if let sparsify = sparsify { + __kwargs["sparsify"] = RemotePythonValue(sparsify) + } + if let index_names = index_names { + __kwargs["index_names"] = RemotePythonValue(index_names) + } + if let justify = justify { + __kwargs["justify"] = RemotePythonValue(justify) + } + if let max_rows = max_rows { + __kwargs["max_rows"] = RemotePythonValue(max_rows) + } + if let max_cols = max_cols { + __kwargs["max_cols"] = RemotePythonValue(max_cols) + } + if let show_dimensions = show_dimensions { + __kwargs["show_dimensions"] = RemotePythonValue(show_dimensions) + } + if let decimal = decimal { + __kwargs["decimal"] = RemotePythonValue(decimal) + } + if let line_width = line_width { + __kwargs["line_width"] = RemotePythonValue(line_width) + } + if let min_rows = min_rows { + __kwargs["min_rows"] = RemotePythonValue(min_rows) + } + if let max_colwidth = max_colwidth { + __kwargs["max_colwidth"] = RemotePythonValue(max_colwidth) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_string", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_string", args: __args, kwargs: __kwargs) + } + + public func to_markdown(buf: (any PythonConvertible)? = nil, mode: String? = nil, index: Bool? = nil, storage_options: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let buf = buf { + __kwargs["buf"] = RemotePythonValue(buf) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let storage_options = storage_options { + __kwargs["storage_options"] = RemotePythonValue(storage_options) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_markdown", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_markdown", args: __args, kwargs: __kwargs) + } + + public func to_parquet(path: String? = nil, engine: String? = nil, compression: String? = nil, index: Bool? = nil, partition_cols: [String]? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let path = path { + __kwargs["path"] = RemotePythonValue(path) + } + if let engine = engine { + __kwargs["engine"] = RemotePythonValue(engine) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let partition_cols = partition_cols { + __kwargs["partition_cols"] = RemotePythonValue(partition_cols) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_parquet", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_parquet", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_sql(name: String, con: any PythonConvertible, schema: String? = nil, if_exists: String? = nil, index: Bool? = nil, index_label: (any PythonConvertible)? = nil, chunksize: Int? = nil, dtype: (any PythonConvertible)? = nil, method: String? = nil, worker: Int? = nil) async throws -> Int? { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(name)) + __args.append(RemotePythonValue(con)) + var __kwargs: [String: RemotePythonValue] = [:] + if let schema = schema { + __kwargs["schema"] = RemotePythonValue(schema) + } + if let if_exists = if_exists { + __kwargs["if_exists"] = RemotePythonValue(if_exists) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let index_label = index_label { + __kwargs["index_label"] = RemotePythonValue(index_label) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_sql", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_sql", args: __args, kwargs: __kwargs) + } + + public func to_pickle(path: String, compression: String? = nil, `protocol`: Int? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(path)) + var __kwargs: [String: RemotePythonValue] = [:] + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let `protocol` = `protocol` { + __kwargs["protocol"] = RemotePythonValue(`protocol`) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "to_pickle", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "to_pickle", args: __args, kwargs: __kwargs) + } + + public func to_clipboard(excel: Bool? = nil, sep: String? = nil, worker: Int? = nil) async throws -> Void { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let excel = excel { + __kwargs["excel"] = RemotePythonValue(excel) + } + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + if let worker { + _ = try await pool.methodOwned(handle: self, name: "to_clipboard", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "to_clipboard", args: __args, kwargs: __kwargs) + } + + public func to_latex(buf: (any PythonConvertible)? = nil, columns: [String]? = nil, col_space: Int? = nil, header: Bool? = nil, index: Bool? = nil, na_rep: String? = nil, formatters: (any PythonConvertible)? = nil, float_format: String? = nil, sparsify: Bool? = nil, index_names: Bool? = nil, bold_rows: Bool? = nil, column_format: String? = nil, longtable: Bool? = nil, escape: Bool? = nil, encoding: String? = nil, decimal: String? = nil, multicolumn: Bool? = nil, multicolumn_format: String? = nil, multirow: Bool? = nil, caption: String? = nil, label: String? = nil, position: String? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let buf = buf { + __kwargs["buf"] = RemotePythonValue(buf) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let col_space = col_space { + __kwargs["col_space"] = RemotePythonValue(col_space) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let na_rep = na_rep { + __kwargs["na_rep"] = RemotePythonValue(na_rep) + } + if let formatters = formatters { + __kwargs["formatters"] = RemotePythonValue(formatters) + } + if let float_format = float_format { + __kwargs["float_format"] = RemotePythonValue(float_format) + } + if let sparsify = sparsify { + __kwargs["sparsify"] = RemotePythonValue(sparsify) + } + if let index_names = index_names { + __kwargs["index_names"] = RemotePythonValue(index_names) + } + if let bold_rows = bold_rows { + __kwargs["bold_rows"] = RemotePythonValue(bold_rows) + } + if let column_format = column_format { + __kwargs["column_format"] = RemotePythonValue(column_format) + } + if let longtable = longtable { + __kwargs["longtable"] = RemotePythonValue(longtable) + } + if let escape = escape { + __kwargs["escape"] = RemotePythonValue(escape) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let decimal = decimal { + __kwargs["decimal"] = RemotePythonValue(decimal) + } + if let multicolumn = multicolumn { + __kwargs["multicolumn"] = RemotePythonValue(multicolumn) + } + if let multicolumn_format = multicolumn_format { + __kwargs["multicolumn_format"] = RemotePythonValue(multicolumn_format) + } + if let multirow = multirow { + __kwargs["multirow"] = RemotePythonValue(multirow) + } + if let caption = caption { + __kwargs["caption"] = RemotePythonValue(caption) + } + if let label = label { + __kwargs["label"] = RemotePythonValue(label) + } + if let position = position { + __kwargs["position"] = RemotePythonValue(position) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_latex", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_latex", args: __args, kwargs: __kwargs) + } + + public func items(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "items", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "items", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func iterrows(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "iterrows", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "iterrows", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func itertuples(index: Bool? = nil, name: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "itertuples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "itertuples", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func keys(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "keys", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "keys", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func equals(other: PoolDataFrame, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "equals", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "equals", args: __args, kwargs: __kwargs) + } + + public func compare(other: PoolDataFrame, align_axis: Int? = nil, keep_shape: Bool? = nil, keep_equal: Bool? = nil, result_names: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let align_axis = align_axis { + __kwargs["align_axis"] = RemotePythonValue(align_axis) + } + if let keep_shape = keep_shape { + __kwargs["keep_shape"] = RemotePythonValue(keep_shape) + } + if let keep_equal = keep_equal { + __kwargs["keep_equal"] = RemotePythonValue(keep_equal) + } + if let result_names = result_names { + __kwargs["result_names"] = RemotePythonValue(result_names) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "compare", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "compare", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } +} + + +public struct PoolSeries: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func getItem(key: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(key)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "__getitem__", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "__getitem__", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func setItem(key: any PythonConvertible, value: any PythonConvertible, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(key)) + __args.append(RemotePythonValue(value)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + _ = try await pool.methodOwned(handle: self, name: "__setitem__", args: __args, kwargs: __kwargs, worker: worker) + return + } + _ = try await pool.methodOwned(handle: self, name: "__setitem__", args: __args, kwargs: __kwargs) + } + + public func head(n: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "head", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "head", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func tail(n: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tail", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tail", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func sample(n: Int? = nil, frac: Double? = nil, replace: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let frac = frac { + __kwargs["frac"] = RemotePythonValue(frac) + } + if let replace = replace { + __kwargs["replace"] = RemotePythonValue(replace) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sample", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sample", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func nlargest(n: Int? = nil, keep: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nlargest", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nlargest", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func nsmallest(n: Int? = nil, keep: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nsmallest", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nsmallest", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func describe(percentiles: [Double]? = nil, include: (any PythonConvertible)? = nil, exclude: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let percentiles = percentiles { + __kwargs["percentiles"] = RemotePythonValue(percentiles) + } + if let include = include { + __kwargs["include"] = RemotePythonValue(include) + } + if let exclude = exclude { + __kwargs["exclude"] = RemotePythonValue(exclude) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "describe", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "describe", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func memory_usage(index: Bool? = nil, deep: Bool? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + if let worker { + return try await pool.methodResult(handle: self, name: "memory_usage", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "memory_usage", args: __args, kwargs: __kwargs) + } + + public func sum(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func mean(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func median(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "median", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "median", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func min(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func max(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func std(axis: Int? = nil, skipna: Bool? = nil, ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func `var`(axis: Int? = nil, skipna: Bool? = nil, ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func count(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "count", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "count", args: __args, kwargs: __kwargs) + } + + public func nunique(dropna: Bool? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + if let worker { + return try await pool.methodResult(handle: self, name: "nunique", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "nunique", args: __args, kwargs: __kwargs) + } + + public func value_counts(normalize: Bool? = nil, sort: Bool? = nil, ascending: Bool? = nil, bins: Int? = nil, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let bins = bins { + __kwargs["bins"] = RemotePythonValue(bins) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "value_counts", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "value_counts", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func unique(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "unique", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "unique", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func abs(worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "abs", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "abs", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func prod(axis: Int? = nil, skipna: Bool? = nil, numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cumsum(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cumprod(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cummin(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cummin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cummin", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cummax(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cummax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cummax", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func diff(periods: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "diff", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "diff", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func pct_change(periods: Int? = nil, fill_method: String? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let fill_method = fill_method { + __kwargs["fill_method"] = RemotePythonValue(fill_method) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pct_change", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pct_change", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func corr(other: PoolSeries, method: String? = nil, min_periods: Int? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let min_periods = min_periods { + __kwargs["min_periods"] = RemotePythonValue(min_periods) + } + if let worker { + return try await pool.methodResult(handle: self, name: "corr", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "corr", args: __args, kwargs: __kwargs) + } + + public func cov(other: PoolSeries, min_periods: Int? = nil, ddof: Int? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let min_periods = min_periods { + __kwargs["min_periods"] = RemotePythonValue(min_periods) + } + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let worker { + return try await pool.methodResult(handle: self, name: "cov", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "cov", args: __args, kwargs: __kwargs) + } + + public func quantile(q: Double? = nil, interpolation: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let q = q { + __kwargs["q"] = RemotePythonValue(q) + } + if let interpolation = interpolation { + __kwargs["interpolation"] = RemotePythonValue(interpolation) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "quantile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "quantile", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func rank(axis: Int? = nil, method: String? = nil, numeric_only: Bool? = nil, na_option: String? = nil, ascending: Bool? = nil, pct: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let na_option = na_option { + __kwargs["na_option"] = RemotePythonValue(na_option) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let pct = pct { + __kwargs["pct"] = RemotePythonValue(pct) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "rank", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "rank", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func idxmax(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "idxmax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "idxmax", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func idxmin(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "idxmin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "idxmin", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func mode(dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mode", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mode", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func argmax(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let worker { + return try await pool.methodResult(handle: self, name: "argmax", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "argmax", args: __args, kwargs: __kwargs) + } + + public func argmin(axis: Int? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let worker { + return try await pool.methodResult(handle: self, name: "argmin", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "argmin", args: __args, kwargs: __kwargs) + } + + public func apply(`func`: any PythonConvertible, convert_dtype: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + var __kwargs: [String: RemotePythonValue] = [:] + if let convert_dtype = convert_dtype { + __kwargs["convert_dtype"] = RemotePythonValue(convert_dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func map(arg: any PythonConvertible, na_action: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(arg)) + var __kwargs: [String: RemotePythonValue] = [:] + if let na_action = na_action { + __kwargs["na_action"] = RemotePythonValue(na_action) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "map", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "map", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func transform(`func`: any PythonConvertible, axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func agg(`func`: String, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "agg", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "agg", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func aggregate(`func`: String, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "aggregate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "aggregate", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func pipe(`func`: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pipe", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pipe", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func clip(lower: Double? = nil, upper: Double? = nil, axis: Int? = nil, inplace: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let lower = lower { + __kwargs["lower"] = RemotePythonValue(lower) + } + if let upper = upper { + __kwargs["upper"] = RemotePythonValue(upper) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "clip", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "clip", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func round(decimals: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let decimals = decimals { + __kwargs["decimals"] = RemotePythonValue(decimals) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "round", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "round", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func groupby(by: (any PythonConvertible)? = nil, axis: Int? = nil, level: Int? = nil, as_index: Bool? = nil, sort: Bool? = nil, group_keys: Bool? = nil, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeriesGroupBy { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let by = by { + __kwargs["by"] = RemotePythonValue(by) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let as_index = as_index { + __kwargs["as_index"] = RemotePythonValue(as_index) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let group_keys = group_keys { + __kwargs["group_keys"] = RemotePythonValue(group_keys) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "groupby", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "groupby", args: __args, kwargs: __kwargs) + } + return PoolSeriesGroupBy(pool: pool, owned: __owned) + } + + public func sort_values(axis: Int? = nil, ascending: Bool? = nil, inplace: Bool? = nil, kind: String? = nil, na_position: String? = nil, ignore_index: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let na_position = na_position { + __kwargs["na_position"] = RemotePythonValue(na_position) + } + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sort_values", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sort_values", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func sort_index(axis: Int? = nil, level: Int? = nil, ascending: Bool? = nil, inplace: Bool? = nil, kind: String? = nil, na_position: String? = nil, sort_remaining: Bool? = nil, ignore_index: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + if let na_position = na_position { + __kwargs["na_position"] = RemotePythonValue(na_position) + } + if let sort_remaining = sort_remaining { + __kwargs["sort_remaining"] = RemotePythonValue(sort_remaining) + } + if let ignore_index = ignore_index { + __kwargs["ignore_index"] = RemotePythonValue(ignore_index) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sort_index", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sort_index", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func argsort(axis: Int? = nil, kind: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let kind = kind { + __kwargs["kind"] = RemotePythonValue(kind) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "argsort", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "argsort", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func isna(worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isna", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func isnull(worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isnull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isnull", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func notna(worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "notna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "notna", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func notnull(worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "notnull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "notnull", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func dropna(axis: Int? = nil, inplace: Bool? = nil, how: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let how = how { + __kwargs["how"] = RemotePythonValue(how) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "dropna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "dropna", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func fillna(value: (any PythonConvertible)? = nil, method: String? = nil, axis: Int? = nil, inplace: Bool? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let value = value { + __kwargs["value"] = RemotePythonValue(value) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func ffill(axis: Int? = nil, inplace: Bool? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ffill", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ffill", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func bfill(axis: Int? = nil, inplace: Bool? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "bfill", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "bfill", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func interpolate(method: String? = nil, axis: Int? = nil, limit: Int? = nil, inplace: Bool? = nil, limit_direction: String? = nil, limit_area: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit_direction = limit_direction { + __kwargs["limit_direction"] = RemotePythonValue(limit_direction) + } + if let limit_area = limit_area { + __kwargs["limit_area"] = RemotePythonValue(limit_area) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "interpolate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "interpolate", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func replace(to_replace: (any PythonConvertible)? = nil, value: (any PythonConvertible)? = nil, inplace: Bool? = nil, limit: Int? = nil, regex: Bool? = nil, method: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let to_replace = to_replace { + __kwargs["to_replace"] = RemotePythonValue(to_replace) + } + if let value = value { + __kwargs["value"] = RemotePythonValue(value) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + if let regex = regex { + __kwargs["regex"] = RemotePythonValue(regex) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "replace", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "replace", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func duplicated(keep: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "duplicated", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "duplicated", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func drop_duplicates(keep: String? = nil, inplace: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "drop_duplicates", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "drop_duplicates", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func reset_index(level: Int? = nil, drop: Bool? = nil, name: String? = nil, inplace: Bool? = nil, allow_duplicates: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let drop = drop { + __kwargs["drop"] = RemotePythonValue(drop) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let allow_duplicates = allow_duplicates { + __kwargs["allow_duplicates"] = RemotePythonValue(allow_duplicates) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "reset_index", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "reset_index", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func reindex(index: (any PythonConvertible)? = nil, axis: Int? = nil, method: String? = nil, copy: Bool? = nil, level: Int? = nil, fill_value: (any PythonConvertible)? = nil, limit: Int? = nil, tolerance: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + if let tolerance = tolerance { + __kwargs["tolerance"] = RemotePythonValue(tolerance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "reindex", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "reindex", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func rename(index: (any PythonConvertible)? = nil, axis: Int? = nil, copy: Bool? = nil, inplace: Bool? = nil, level: Int? = nil, errors: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "rename", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "rename", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func drop(labels: (any PythonConvertible)? = nil, axis: Int? = nil, index: (any PythonConvertible)? = nil, columns: (any PythonConvertible)? = nil, level: Int? = nil, inplace: Bool? = nil, errors: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let columns = columns { + __kwargs["columns"] = RemotePythonValue(columns) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "drop", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "drop", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func astype(dtype: any PythonConvertible, copy: Bool? = nil, errors: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(dtype)) + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "astype", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "astype", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func convert_dtypes(infer_objects: Bool? = nil, convert_string: Bool? = nil, convert_integer: Bool? = nil, convert_boolean: Bool? = nil, convert_floating: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let infer_objects = infer_objects { + __kwargs["infer_objects"] = RemotePythonValue(infer_objects) + } + if let convert_string = convert_string { + __kwargs["convert_string"] = RemotePythonValue(convert_string) + } + if let convert_integer = convert_integer { + __kwargs["convert_integer"] = RemotePythonValue(convert_integer) + } + if let convert_boolean = convert_boolean { + __kwargs["convert_boolean"] = RemotePythonValue(convert_boolean) + } + if let convert_floating = convert_floating { + __kwargs["convert_floating"] = RemotePythonValue(convert_floating) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "convert_dtypes", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "convert_dtypes", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func infer_objects(copy: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "infer_objects", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "infer_objects", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func copy(deep: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "copy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "copy", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func any(axis: Int? = nil, bool_only: Bool? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> Bool { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let bool_only = bool_only { + __kwargs["bool_only"] = RemotePythonValue(bool_only) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let worker { + return try await pool.methodResult(handle: self, name: "any", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "any", args: __args, kwargs: __kwargs) + } + + public func all(axis: Int? = nil, bool_only: Bool? = nil, skipna: Bool? = nil, worker: Int? = nil) async throws -> Bool { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let bool_only = bool_only { + __kwargs["bool_only"] = RemotePythonValue(bool_only) + } + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let worker { + return try await pool.methodResult(handle: self, name: "all", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "all", args: __args, kwargs: __kwargs) + } + + public func eq(other: any PythonConvertible, level: Int? = nil, fill_value: (any PythonConvertible)? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "eq", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "eq", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func ne(other: any PythonConvertible, level: Int? = nil, fill_value: (any PythonConvertible)? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ne", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ne", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func lt(other: any PythonConvertible, level: Int? = nil, fill_value: (any PythonConvertible)? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "lt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "lt", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func le(other: any PythonConvertible, level: Int? = nil, fill_value: (any PythonConvertible)? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "le", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "le", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func gt(other: any PythonConvertible, level: Int? = nil, fill_value: (any PythonConvertible)? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "gt", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "gt", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func ge(other: any PythonConvertible, level: Int? = nil, fill_value: (any PythonConvertible)? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ge", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ge", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func isin(values: any PythonConvertible, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(values)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isin", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func between(left: any PythonConvertible, right: any PythonConvertible, inclusive: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(left)) + __args.append(RemotePythonValue(right)) + var __kwargs: [String: RemotePythonValue] = [:] + if let inclusive = inclusive { + __kwargs["inclusive"] = RemotePythonValue(inclusive) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "between", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "between", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func `where`(cond: any PythonConvertible, other: (any PythonConvertible)? = nil, inplace: Bool? = nil, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(cond)) + var __kwargs: [String: RemotePythonValue] = [:] + if let other = other { + __kwargs["other"] = RemotePythonValue(other) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "where", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "where", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func mask(cond: any PythonConvertible, other: (any PythonConvertible)? = nil, inplace: Bool? = nil, axis: Int? = nil, level: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(cond)) + var __kwargs: [String: RemotePythonValue] = [:] + if let other = other { + __kwargs["other"] = RemotePythonValue(other) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mask", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mask", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func to_csv(path_or_buf: String? = nil, sep: String? = nil, na_rep: String? = nil, float_format: String? = nil, header: Bool? = nil, index: Bool? = nil, index_label: String? = nil, mode: String? = nil, encoding: String? = nil, compression: String? = nil, quoting: Int? = nil, quotechar: String? = nil, lineterminator: String? = nil, chunksize: Int? = nil, date_format: String? = nil, doublequote: Bool? = nil, escapechar: String? = nil, decimal: String? = nil, errors: String? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let path_or_buf = path_or_buf { + __kwargs["path_or_buf"] = RemotePythonValue(path_or_buf) + } + if let sep = sep { + __kwargs["sep"] = RemotePythonValue(sep) + } + if let na_rep = na_rep { + __kwargs["na_rep"] = RemotePythonValue(na_rep) + } + if let float_format = float_format { + __kwargs["float_format"] = RemotePythonValue(float_format) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let index_label = index_label { + __kwargs["index_label"] = RemotePythonValue(index_label) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let encoding = encoding { + __kwargs["encoding"] = RemotePythonValue(encoding) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let quoting = quoting { + __kwargs["quoting"] = RemotePythonValue(quoting) + } + if let quotechar = quotechar { + __kwargs["quotechar"] = RemotePythonValue(quotechar) + } + if let lineterminator = lineterminator { + __kwargs["lineterminator"] = RemotePythonValue(lineterminator) + } + if let chunksize = chunksize { + __kwargs["chunksize"] = RemotePythonValue(chunksize) + } + if let date_format = date_format { + __kwargs["date_format"] = RemotePythonValue(date_format) + } + if let doublequote = doublequote { + __kwargs["doublequote"] = RemotePythonValue(doublequote) + } + if let escapechar = escapechar { + __kwargs["escapechar"] = RemotePythonValue(escapechar) + } + if let decimal = decimal { + __kwargs["decimal"] = RemotePythonValue(decimal) + } + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_csv", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_csv", args: __args, kwargs: __kwargs) + } + + public func to_dict(into: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let into = into { + __kwargs["into"] = RemotePythonValue(into) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_dict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_dict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_list(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_list", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_list", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func tolist(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tolist", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tolist", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_numpy(dtype: String? = nil, copy: Bool? = nil, na_value: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let na_value = na_value { + __kwargs["na_value"] = RemotePythonValue(na_value) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_numpy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_numpy", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_frame(name: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_frame", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_frame", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func to_string(buf: (any PythonConvertible)? = nil, na_rep: String? = nil, float_format: String? = nil, header: Bool? = nil, index: Bool? = nil, length: Bool? = nil, dtype: Bool? = nil, name: Bool? = nil, max_rows: Int? = nil, min_rows: Int? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let buf = buf { + __kwargs["buf"] = RemotePythonValue(buf) + } + if let na_rep = na_rep { + __kwargs["na_rep"] = RemotePythonValue(na_rep) + } + if let float_format = float_format { + __kwargs["float_format"] = RemotePythonValue(float_format) + } + if let header = header { + __kwargs["header"] = RemotePythonValue(header) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let length = length { + __kwargs["length"] = RemotePythonValue(length) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let max_rows = max_rows { + __kwargs["max_rows"] = RemotePythonValue(max_rows) + } + if let min_rows = min_rows { + __kwargs["min_rows"] = RemotePythonValue(min_rows) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_string", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_string", args: __args, kwargs: __kwargs) + } + + public func to_json(path_or_buf: String? = nil, orient: String? = nil, date_format: String? = nil, double_precision: Int? = nil, force_ascii: Bool? = nil, date_unit: String? = nil, default_handler: (any PythonConvertible)? = nil, lines: Bool? = nil, compression: String? = nil, index: Bool? = nil, indent: Int? = nil, mode: String? = nil, worker: Int? = nil) async throws -> String? { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let path_or_buf = path_or_buf { + __kwargs["path_or_buf"] = RemotePythonValue(path_or_buf) + } + if let orient = orient { + __kwargs["orient"] = RemotePythonValue(orient) + } + if let date_format = date_format { + __kwargs["date_format"] = RemotePythonValue(date_format) + } + if let double_precision = double_precision { + __kwargs["double_precision"] = RemotePythonValue(double_precision) + } + if let force_ascii = force_ascii { + __kwargs["force_ascii"] = RemotePythonValue(force_ascii) + } + if let date_unit = date_unit { + __kwargs["date_unit"] = RemotePythonValue(date_unit) + } + if let default_handler = default_handler { + __kwargs["default_handler"] = RemotePythonValue(default_handler) + } + if let lines = lines { + __kwargs["lines"] = RemotePythonValue(lines) + } + if let compression = compression { + __kwargs["compression"] = RemotePythonValue(compression) + } + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let indent = indent { + __kwargs["indent"] = RemotePythonValue(indent) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let worker { + return try await pool.methodResult(handle: self, name: "to_json", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "to_json", args: __args, kwargs: __kwargs) + } + + public func equals(other: PoolSeries, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "equals", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "equals", args: __args, kwargs: __kwargs) + } + + public func compare(other: PoolSeries, align_axis: Int? = nil, keep_shape: Bool? = nil, keep_equal: Bool? = nil, result_names: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let align_axis = align_axis { + __kwargs["align_axis"] = RemotePythonValue(align_axis) + } + if let keep_shape = keep_shape { + __kwargs["keep_shape"] = RemotePythonValue(keep_shape) + } + if let keep_equal = keep_equal { + __kwargs["keep_equal"] = RemotePythonValue(keep_equal) + } + if let result_names = result_names { + __kwargs["result_names"] = RemotePythonValue(result_names) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "compare", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "compare", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } +} + + +public struct PoolDataFrameGroupBy: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func agg(`func`: String, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "agg", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "agg", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func aggregate(`func`: String, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "aggregate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "aggregate", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func sum(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func mean(numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func median(numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "median", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "median", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func min(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func max(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func std(ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func `var`(ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func count(worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "count", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "count", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func nunique(dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nunique", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nunique", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func first(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "first", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "first", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func last(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "last", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "last", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func prod(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func size(worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "size", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "size", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cumsum(axis: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cumprod(axis: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cummin(axis: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cummin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cummin", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cummax(axis: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cummax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cummax", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func cumcount(ascending: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumcount", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumcount", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func rank(method: String? = nil, ascending: Bool? = nil, na_option: String? = nil, pct: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let na_option = na_option { + __kwargs["na_option"] = RemotePythonValue(na_option) + } + if let pct = pct { + __kwargs["pct"] = RemotePythonValue(pct) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "rank", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "rank", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func quantile(q: Double? = nil, interpolation: String? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let q = q { + __kwargs["q"] = RemotePythonValue(q) + } + if let interpolation = interpolation { + __kwargs["interpolation"] = RemotePythonValue(interpolation) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "quantile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "quantile", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func describe(percentiles: [Double]? = nil, include: (any PythonConvertible)? = nil, exclude: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let percentiles = percentiles { + __kwargs["percentiles"] = RemotePythonValue(percentiles) + } + if let include = include { + __kwargs["include"] = RemotePythonValue(include) + } + if let exclude = exclude { + __kwargs["exclude"] = RemotePythonValue(exclude) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "describe", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "describe", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func apply(`func`: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(`func`: any PythonConvertible, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func filter(`func`: any PythonConvertible, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "filter", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "filter", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func get_group(name: any PythonConvertible, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(name)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_group", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_group", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func head(n: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "head", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "head", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func tail(n: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tail", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tail", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func nth(n: Int, dropna: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nth", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nth", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func shift(periods: Int? = nil, freq: String? = nil, axis: Int? = nil, fill_value: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let freq = freq { + __kwargs["freq"] = RemotePythonValue(freq) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "shift", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "shift", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func diff(periods: Int? = nil, axis: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "diff", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "diff", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func pct_change(periods: Int? = nil, fill_method: String? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let fill_method = fill_method { + __kwargs["fill_method"] = RemotePythonValue(fill_method) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pct_change", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pct_change", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func fillna(value: (any PythonConvertible)? = nil, method: String? = nil, axis: Int? = nil, inplace: Bool? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let value = value { + __kwargs["value"] = RemotePythonValue(value) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func ffill(limit: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ffill", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ffill", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func bfill(limit: Int? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "bfill", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "bfill", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } +} + + +public struct PoolSeriesGroupBy: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func agg(`func`: String, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "agg", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "agg", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func aggregate(`func`: String, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "aggregate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "aggregate", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func sum(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sum", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func mean(numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "mean", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func median(numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "median", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "median", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func min(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func max(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func std(ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "std", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func `var`(ddof: Int? = nil, numeric_only: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ddof = ddof { + __kwargs["ddof"] = RemotePythonValue(ddof) + } + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "var", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func count(worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "count", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "count", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func nunique(dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nunique", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nunique", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func first(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "first", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "first", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func last(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "last", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "last", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func prod(numeric_only: Bool? = nil, min_count: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let numeric_only = numeric_only { + __kwargs["numeric_only"] = RemotePythonValue(numeric_only) + } + if let min_count = min_count { + __kwargs["min_count"] = RemotePythonValue(min_count) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "prod", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func size(worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "size", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "size", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cumsum(axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumsum", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cumprod(axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumprod", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cummin(axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cummin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cummin", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cummax(axis: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cummax", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cummax", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func cumcount(ascending: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cumcount", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cumcount", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func rank(method: String? = nil, ascending: Bool? = nil, na_option: String? = nil, pct: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let na_option = na_option { + __kwargs["na_option"] = RemotePythonValue(na_option) + } + if let pct = pct { + __kwargs["pct"] = RemotePythonValue(pct) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "rank", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "rank", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func quantile(q: Double? = nil, interpolation: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let q = q { + __kwargs["q"] = RemotePythonValue(q) + } + if let interpolation = interpolation { + __kwargs["interpolation"] = RemotePythonValue(interpolation) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "quantile", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "quantile", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func describe(percentiles: [Double]? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let percentiles = percentiles { + __kwargs["percentiles"] = RemotePythonValue(percentiles) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "describe", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "describe", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func value_counts(normalize: Bool? = nil, sort: Bool? = nil, ascending: Bool? = nil, bins: Int? = nil, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let bins = bins { + __kwargs["bins"] = RemotePythonValue(bins) + } + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "value_counts", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "value_counts", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func unique(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "unique", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "unique", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func apply(`func`: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(`func`: any PythonConvertible, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func filter(`func`: any PythonConvertible, dropna: Bool? = nil, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(`func`)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "filter", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "filter", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func get_group(name: any PythonConvertible, worker: Int? = nil) async throws -> PoolSeries { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(name)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_group", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_group", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func head(n: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "head", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "head", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func tail(n: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n = n { + __kwargs["n"] = RemotePythonValue(n) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tail", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tail", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func nth(n: Int, dropna: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n)) + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "nth", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "nth", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func shift(periods: Int? = nil, freq: String? = nil, axis: Int? = nil, fill_value: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let freq = freq { + __kwargs["freq"] = RemotePythonValue(freq) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let fill_value = fill_value { + __kwargs["fill_value"] = RemotePythonValue(fill_value) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "shift", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "shift", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func diff(periods: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "diff", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "diff", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func pct_change(periods: Int? = nil, fill_method: String? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let periods = periods { + __kwargs["periods"] = RemotePythonValue(periods) + } + if let fill_method = fill_method { + __kwargs["fill_method"] = RemotePythonValue(fill_method) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "pct_change", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "pct_change", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func fillna(value: (any PythonConvertible)? = nil, method: String? = nil, axis: Int? = nil, inplace: Bool? = nil, limit: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let value = value { + __kwargs["value"] = RemotePythonValue(value) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let inplace = inplace { + __kwargs["inplace"] = RemotePythonValue(inplace) + } + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func ffill(limit: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "ffill", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "ffill", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func bfill(limit: Int? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let limit = limit { + __kwargs["limit"] = RemotePythonValue(limit) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "bfill", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "bfill", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } +} + + +public struct PoolIndex: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func getItem(key: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(key)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "__getitem__", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "__getitem__", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func tolist(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "tolist", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "tolist", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_list(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_list", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_list", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_numpy(dtype: String? = nil, copy: Bool? = nil, na_value: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let na_value = na_value { + __kwargs["na_value"] = RemotePythonValue(na_value) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_numpy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_numpy", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func to_series(index: (any PythonConvertible)? = nil, name: String? = nil, worker: Int? = nil) async throws -> PoolSeries { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_series", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_series", args: __args, kwargs: __kwargs) + } + return PoolSeries(pool: pool, owned: __owned) + } + + public func to_frame(index: Bool? = nil, name: String? = nil, worker: Int? = nil) async throws -> PoolDataFrame { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let index = index { + __kwargs["index"] = RemotePythonValue(index) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "to_frame", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "to_frame", args: __args, kwargs: __kwargs) + } + return PoolDataFrame(pool: pool, owned: __owned) + } + + public func astype(dtype: String, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(dtype)) + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "astype", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "astype", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func copy(name: String? = nil, deep: Bool? = nil, worker: Int? = nil) async throws -> PoolIndex { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "copy", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "copy", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func unique(level: Int? = nil, worker: Int? = nil) async throws -> PoolIndex { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "unique", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "unique", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func nunique(dropna: Bool? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let dropna = dropna { + __kwargs["dropna"] = RemotePythonValue(dropna) + } + if let worker { + return try await pool.methodResult(handle: self, name: "nunique", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "nunique", args: __args, kwargs: __kwargs) + } + + public func duplicated(keep: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "duplicated", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "duplicated", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func drop_duplicates(keep: String? = nil, worker: Int? = nil) async throws -> PoolIndex { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let keep = keep { + __kwargs["keep"] = RemotePythonValue(keep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "drop_duplicates", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "drop_duplicates", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func dropna(how: String? = nil, worker: Int? = nil) async throws -> PoolIndex { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let how = how { + __kwargs["how"] = RemotePythonValue(how) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "dropna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "dropna", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func fillna(value: any PythonConvertible, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(value)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fillna", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func isna(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isna", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func isnull(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isnull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isnull", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func notna(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "notna", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "notna", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func notnull(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "notnull", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "notnull", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_loc(key: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(key)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_loc", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_loc", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_indexer(target: any PythonConvertible, method: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(target)) + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_indexer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_indexer", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func isin(values: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(values)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "isin", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "isin", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func sort_values(ascending: Bool? = nil, na_position: String? = nil, worker: Int? = nil) async throws -> PoolIndex { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + if let na_position = na_position { + __kwargs["na_position"] = RemotePythonValue(na_position) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "sort_values", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "sort_values", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func argsort(ascending: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ascending = ascending { + __kwargs["ascending"] = RemotePythonValue(ascending) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "argsort", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "argsort", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func min(skipna: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "min", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func max(skipna: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "max", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func argmin(skipna: Bool? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let worker { + return try await pool.methodResult(handle: self, name: "argmin", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "argmin", args: __args, kwargs: __kwargs) + } + + public func argmax(skipna: Bool? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let skipna = skipna { + __kwargs["skipna"] = RemotePythonValue(skipna) + } + if let worker { + return try await pool.methodResult(handle: self, name: "argmax", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "argmax", args: __args, kwargs: __kwargs) + } + + public func append(other: any PythonConvertible, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "append", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "append", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func insert(loc: Int, item: any PythonConvertible, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(loc)) + __args.append(RemotePythonValue(item)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "insert", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "insert", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func delete(loc: any PythonConvertible, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(loc)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "delete", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "delete", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func drop(labels: any PythonConvertible, errors: String? = nil, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels)) + var __kwargs: [String: RemotePythonValue] = [:] + if let errors = errors { + __kwargs["errors"] = RemotePythonValue(errors) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "drop", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "drop", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func union(other: PoolIndex, sort: Bool? = nil, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "union", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "union", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func intersection(other: PoolIndex, sort: Bool? = nil, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "intersection", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "intersection", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func difference(other: PoolIndex, sort: Bool? = nil, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "difference", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "difference", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func symmetric_difference(other: PoolIndex, sort: Bool? = nil, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sort = sort { + __kwargs["sort"] = RemotePythonValue(sort) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "symmetric_difference", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "symmetric_difference", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func rename(name: String, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(name)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "rename", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "rename", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func set_names(names: any PythonConvertible, level: Int? = nil, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(names)) + var __kwargs: [String: RemotePythonValue] = [:] + if let level = level { + __kwargs["level"] = RemotePythonValue(level) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "set_names", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "set_names", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func map(mapper: any PythonConvertible, worker: Int? = nil) async throws -> PoolIndex { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(mapper)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "map", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "map", args: __args, kwargs: __kwargs) + } + return PoolIndex(pool: pool, owned: __owned) + } + + public func equals(other: PoolIndex, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "equals", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "equals", args: __args, kwargs: __kwargs) + } + + public func identical(other: PoolIndex, worker: Int? = nil) async throws -> Bool { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(other.handle)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "identical", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "identical", args: __args, kwargs: __kwargs) + } +} + +// MARK: - Pandas.Testing + +extension PoolPandas { + /// Pool-bound `pandas.testing` namespace. Calls run on this pool. + public var testing: PoolPandasTesting { PoolPandasTesting(pool: pool) } +} + +public struct PoolPandasTesting: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func assert_frame_equal(left: PoolDataFrame, right: PoolDataFrame, check_dtype: Bool? = nil, check_index_type: Bool? = nil, check_column_type: Bool? = nil, check_frame_type: Bool? = nil, check_names: Bool? = nil, by_blocks: Bool? = nil, check_exact: Bool? = nil, check_datetimelike_compat: Bool? = nil, check_categorical: Bool? = nil, check_like: Bool? = nil, check_freq: Bool? = nil, check_flags: Bool? = nil, rtol: Double? = nil, atol: Double? = nil, obj: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(left.handle)) + __args.append(RemotePythonValue(right.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let check_dtype = check_dtype { + __kwargs["check_dtype"] = RemotePythonValue(check_dtype) + } + if let check_index_type = check_index_type { + __kwargs["check_index_type"] = RemotePythonValue(check_index_type) + } + if let check_column_type = check_column_type { + __kwargs["check_column_type"] = RemotePythonValue(check_column_type) + } + if let check_frame_type = check_frame_type { + __kwargs["check_frame_type"] = RemotePythonValue(check_frame_type) + } + if let check_names = check_names { + __kwargs["check_names"] = RemotePythonValue(check_names) + } + if let by_blocks = by_blocks { + __kwargs["by_blocks"] = RemotePythonValue(by_blocks) + } + if let check_exact = check_exact { + __kwargs["check_exact"] = RemotePythonValue(check_exact) + } + if let check_datetimelike_compat = check_datetimelike_compat { + __kwargs["check_datetimelike_compat"] = RemotePythonValue(check_datetimelike_compat) + } + if let check_categorical = check_categorical { + __kwargs["check_categorical"] = RemotePythonValue(check_categorical) + } + if let check_like = check_like { + __kwargs["check_like"] = RemotePythonValue(check_like) + } + if let check_freq = check_freq { + __kwargs["check_freq"] = RemotePythonValue(check_freq) + } + if let check_flags = check_flags { + __kwargs["check_flags"] = RemotePythonValue(check_flags) + } + if let rtol = rtol { + __kwargs["rtol"] = RemotePythonValue(rtol) + } + if let atol = atol { + __kwargs["atol"] = RemotePythonValue(atol) + } + if let obj = obj { + __kwargs["obj"] = RemotePythonValue(obj) + } + if let worker { + try await pool.invokeVoid(module: "pandas.testing", function: "assert_frame_equal", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "pandas.testing", function: "assert_frame_equal", args: __args, kwargs: __kwargs) + } + + public func assert_series_equal(left: PoolSeries, right: PoolSeries, check_dtype: Bool? = nil, check_index_type: Bool? = nil, check_series_type: Bool? = nil, check_names: Bool? = nil, check_exact: Bool? = nil, check_datetimelike_compat: Bool? = nil, check_categorical: Bool? = nil, check_category_order: Bool? = nil, check_freq: Bool? = nil, check_flags: Bool? = nil, rtol: Double? = nil, atol: Double? = nil, obj: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(left.handle)) + __args.append(RemotePythonValue(right.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let check_dtype = check_dtype { + __kwargs["check_dtype"] = RemotePythonValue(check_dtype) + } + if let check_index_type = check_index_type { + __kwargs["check_index_type"] = RemotePythonValue(check_index_type) + } + if let check_series_type = check_series_type { + __kwargs["check_series_type"] = RemotePythonValue(check_series_type) + } + if let check_names = check_names { + __kwargs["check_names"] = RemotePythonValue(check_names) + } + if let check_exact = check_exact { + __kwargs["check_exact"] = RemotePythonValue(check_exact) + } + if let check_datetimelike_compat = check_datetimelike_compat { + __kwargs["check_datetimelike_compat"] = RemotePythonValue(check_datetimelike_compat) + } + if let check_categorical = check_categorical { + __kwargs["check_categorical"] = RemotePythonValue(check_categorical) + } + if let check_category_order = check_category_order { + __kwargs["check_category_order"] = RemotePythonValue(check_category_order) + } + if let check_freq = check_freq { + __kwargs["check_freq"] = RemotePythonValue(check_freq) + } + if let check_flags = check_flags { + __kwargs["check_flags"] = RemotePythonValue(check_flags) + } + if let rtol = rtol { + __kwargs["rtol"] = RemotePythonValue(rtol) + } + if let atol = atol { + __kwargs["atol"] = RemotePythonValue(atol) + } + if let obj = obj { + __kwargs["obj"] = RemotePythonValue(obj) + } + if let worker { + try await pool.invokeVoid(module: "pandas.testing", function: "assert_series_equal", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "pandas.testing", function: "assert_series_equal", args: __args, kwargs: __kwargs) + } + + public func assert_index_equal(left: PoolIndex, right: PoolIndex, exact: Bool? = nil, check_names: Bool? = nil, check_exact: Bool? = nil, check_categorical: Bool? = nil, check_order: Bool? = nil, rtol: Double? = nil, atol: Double? = nil, obj: String? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(left.handle)) + __args.append(RemotePythonValue(right.handle)) + var __kwargs: [String: RemotePythonValue] = [:] + if let exact = exact { + __kwargs["exact"] = RemotePythonValue(exact) + } + if let check_names = check_names { + __kwargs["check_names"] = RemotePythonValue(check_names) + } + if let check_exact = check_exact { + __kwargs["check_exact"] = RemotePythonValue(check_exact) + } + if let check_categorical = check_categorical { + __kwargs["check_categorical"] = RemotePythonValue(check_categorical) + } + if let check_order = check_order { + __kwargs["check_order"] = RemotePythonValue(check_order) + } + if let rtol = rtol { + __kwargs["rtol"] = RemotePythonValue(rtol) + } + if let atol = atol { + __kwargs["atol"] = RemotePythonValue(atol) + } + if let obj = obj { + __kwargs["obj"] = RemotePythonValue(obj) + } + if let worker { + try await pool.invokeVoid(module: "pandas.testing", function: "assert_index_equal", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "pandas.testing", function: "assert_index_equal", args: __args, kwargs: __kwargs) + } +} + diff --git a/Examples/Studio/Sources/SwiftPythonKit/PoolSklearn.swift b/Examples/Studio/Sources/SwiftPythonKit/PoolSklearn.swift new file mode 100644 index 0000000..a8b1706 --- /dev/null +++ b/Examples/Studio/Sources/SwiftPythonKit/PoolSklearn.swift @@ -0,0 +1,19717 @@ +// Generated by swift-python-gen +// Do not edit manually + +import SwiftPythonRuntime +import Foundation + +// MARK: - Sklearn.Cluster + +extension PoolSklearn { + /// Pool-bound `sklearn.cluster` namespace. Calls run on this pool. + public var cluster: PoolSklearnCluster { PoolSklearnCluster(pool: pool) } +} + +public struct PoolSklearnCluster: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func k_means(X: any PythonConvertible, n_clusters: Int, sample_weight: (any PythonConvertible)? = nil, `init`: String? = nil, n_init: String? = nil, max_iter: Int? = nil, verbose: Bool? = nil, tol: Double? = nil, random_state: Int? = nil, copy_x: Bool? = nil, algorithm: String? = nil, return_n_iter: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(n_clusters)) + if let sample_weight = sample_weight { + __args.append(RemotePythonValue(sample_weight)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let n_init = n_init { + __kwargs["n_init"] = RemotePythonValue(n_init) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let copy_x = copy_x { + __kwargs["copy_x"] = RemotePythonValue(copy_x) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let return_n_iter = return_n_iter { + __kwargs["return_n_iter"] = RemotePythonValue(return_n_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "k_means", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "k_means", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func kmeans_plusplus(X: any PythonConvertible, n_clusters: Int, x_squared_norms: (any PythonConvertible)? = nil, random_state: Int? = nil, n_local_trials: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(n_clusters)) + if let x_squared_norms = x_squared_norms { + __args.append(RemotePythonValue(x_squared_norms)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let n_local_trials = n_local_trials { + __kwargs["n_local_trials"] = RemotePythonValue(n_local_trials) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "kmeans_plusplus", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "kmeans_plusplus", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func mean_shift(X: any PythonConvertible, bandwidth: Double? = nil, seeds: (any PythonConvertible)? = nil, bin_seeding: Bool? = nil, min_bin_freq: Int? = nil, cluster_all: Bool? = nil, max_iter: Int? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let bandwidth = bandwidth { + __kwargs["bandwidth"] = RemotePythonValue(bandwidth) + } + if let seeds = seeds { + __kwargs["seeds"] = RemotePythonValue(seeds) + } + if let bin_seeding = bin_seeding { + __kwargs["bin_seeding"] = RemotePythonValue(bin_seeding) + } + if let min_bin_freq = min_bin_freq { + __kwargs["min_bin_freq"] = RemotePythonValue(min_bin_freq) + } + if let cluster_all = cluster_all { + __kwargs["cluster_all"] = RemotePythonValue(cluster_all) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "mean_shift", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "mean_shift", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func estimate_bandwidth(X: any PythonConvertible, quantile: Double? = nil, n_samples: Int? = nil, random_state: Int? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let quantile = quantile { + __kwargs["quantile"] = RemotePythonValue(quantile) + } + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.cluster", function: "estimate_bandwidth", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.cluster", function: "estimate_bandwidth", args: __args, kwargs: __kwargs) + } + + public func affinity_propagation(S: any PythonConvertible, preference: Double? = nil, convergence_iter: Int? = nil, max_iter: Int? = nil, damping: Double? = nil, copy: Bool? = nil, verbose: Bool? = nil, return_n_iter: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(S)) + var __kwargs: [String: RemotePythonValue] = [:] + if let preference = preference { + __kwargs["preference"] = RemotePythonValue(preference) + } + if let convergence_iter = convergence_iter { + __kwargs["convergence_iter"] = RemotePythonValue(convergence_iter) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let damping = damping { + __kwargs["damping"] = RemotePythonValue(damping) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let return_n_iter = return_n_iter { + __kwargs["return_n_iter"] = RemotePythonValue(return_n_iter) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "affinity_propagation", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "affinity_propagation", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func dbscan(X: any PythonConvertible, eps: Double? = nil, min_samples: Int? = nil, metric: String? = nil, metric_params: (any PythonConvertible)? = nil, algorithm: String? = nil, leaf_size: Int? = nil, p: Double? = nil, sample_weight: (any PythonConvertible)? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let min_samples = min_samples { + __kwargs["min_samples"] = RemotePythonValue(min_samples) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "dbscan", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "dbscan", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func spectral_clustering(affinity: any PythonConvertible, n_clusters: Int? = nil, n_components: Int? = nil, eigen_solver: String? = nil, random_state: Int? = nil, n_init: Int? = nil, eigen_tol: String? = nil, assign_labels: String? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(affinity)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let eigen_solver = eigen_solver { + __kwargs["eigen_solver"] = RemotePythonValue(eigen_solver) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let n_init = n_init { + __kwargs["n_init"] = RemotePythonValue(n_init) + } + if let eigen_tol = eigen_tol { + __kwargs["eigen_tol"] = RemotePythonValue(eigen_tol) + } + if let assign_labels = assign_labels { + __kwargs["assign_labels"] = RemotePythonValue(assign_labels) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "spectral_clustering", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "spectral_clustering", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func ward_tree(X: any PythonConvertible, connectivity: (any PythonConvertible)? = nil, n_clusters: Int? = nil, return_distance: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let connectivity = connectivity { + __args.append(RemotePythonValue(connectivity)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "ward_tree", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "ward_tree", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cluster_optics_dbscan(reachability: any PythonConvertible, core_distances: any PythonConvertible, ordering: any PythonConvertible, eps: Double, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(reachability)) + __args.append(RemotePythonValue(core_distances)) + __args.append(RemotePythonValue(ordering)) + __args.append(RemotePythonValue(eps)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "cluster_optics_dbscan", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "cluster_optics_dbscan", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cluster_optics_xi(reachability: any PythonConvertible, predecessor: any PythonConvertible, ordering: any PythonConvertible, min_samples: Int, min_cluster_size: Int? = nil, xi: Double? = nil, predecessor_correction: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(reachability)) + __args.append(RemotePythonValue(predecessor)) + __args.append(RemotePythonValue(ordering)) + __args.append(RemotePythonValue(min_samples)) + var __kwargs: [String: RemotePythonValue] = [:] + if let min_cluster_size = min_cluster_size { + __kwargs["min_cluster_size"] = RemotePythonValue(min_cluster_size) + } + if let xi = xi { + __kwargs["xi"] = RemotePythonValue(xi) + } + if let predecessor_correction = predecessor_correction { + __kwargs["predecessor_correction"] = RemotePythonValue(predecessor_correction) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "cluster_optics_xi", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "cluster_optics_xi", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func compute_optics_graph(X: any PythonConvertible, min_samples: Int? = nil, max_eps: Double? = nil, metric: String? = nil, p: Int? = nil, metric_params: (any PythonConvertible)? = nil, algorithm: String? = nil, leaf_size: Int? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let min_samples = min_samples { + __kwargs["min_samples"] = RemotePythonValue(min_samples) + } + if let max_eps = max_eps { + __kwargs["max_eps"] = RemotePythonValue(max_eps) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "compute_optics_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "compute_optics_graph", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func KMeans(n_clusters: Int? = nil, `init`: String? = nil, n_init: String? = nil, max_iter: Int? = nil, tol: Double? = nil, verbose: Int? = nil, random_state: Int? = nil, copy_x: Bool? = nil, algorithm: String? = nil, worker: Int? = nil) async throws -> PoolKMeans { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let n_init = n_init { + __kwargs["n_init"] = RemotePythonValue(n_init) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let copy_x = copy_x { + __kwargs["copy_x"] = RemotePythonValue(copy_x) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "KMeans", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "KMeans", args: __args, kwargs: __kwargs) + } + return PoolKMeans(pool: pool, owned: __owned) + } + + public func MiniBatchKMeans(n_clusters: Int? = nil, `init`: String? = nil, max_iter: Int? = nil, batch_size: Int? = nil, verbose: Int? = nil, compute_labels: Bool? = nil, random_state: Int? = nil, tol: Double? = nil, max_no_improvement: Int? = nil, init_size: Int? = nil, n_init: String? = nil, reassignment_ratio: Double? = nil, worker: Int? = nil) async throws -> PoolMiniBatchKMeans { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let batch_size = batch_size { + __kwargs["batch_size"] = RemotePythonValue(batch_size) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let compute_labels = compute_labels { + __kwargs["compute_labels"] = RemotePythonValue(compute_labels) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let max_no_improvement = max_no_improvement { + __kwargs["max_no_improvement"] = RemotePythonValue(max_no_improvement) + } + if let init_size = init_size { + __kwargs["init_size"] = RemotePythonValue(init_size) + } + if let n_init = n_init { + __kwargs["n_init"] = RemotePythonValue(n_init) + } + if let reassignment_ratio = reassignment_ratio { + __kwargs["reassignment_ratio"] = RemotePythonValue(reassignment_ratio) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "MiniBatchKMeans", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "MiniBatchKMeans", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchKMeans(pool: pool, owned: __owned) + } + + public func DBSCAN(eps: Double? = nil, min_samples: Int? = nil, metric: String? = nil, metric_params: (any PythonConvertible)? = nil, algorithm: String? = nil, leaf_size: Int? = nil, p: Double? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolDBSCAN { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let min_samples = min_samples { + __kwargs["min_samples"] = RemotePythonValue(min_samples) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "DBSCAN", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "DBSCAN", args: __args, kwargs: __kwargs) + } + return PoolDBSCAN(pool: pool, owned: __owned) + } + + public func HDBSCAN(min_cluster_size: Int? = nil, min_samples: Int? = nil, cluster_selection_epsilon: Double? = nil, max_cluster_size: Int? = nil, metric: String? = nil, metric_params: (any PythonConvertible)? = nil, alpha: Double? = nil, algorithm: String? = nil, leaf_size: Int? = nil, n_jobs: Int? = nil, cluster_selection_method: String? = nil, allow_single_cluster: Bool? = nil, store_centers: String? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolHDBSCAN { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let min_cluster_size = min_cluster_size { + __kwargs["min_cluster_size"] = RemotePythonValue(min_cluster_size) + } + if let min_samples = min_samples { + __kwargs["min_samples"] = RemotePythonValue(min_samples) + } + if let cluster_selection_epsilon = cluster_selection_epsilon { + __kwargs["cluster_selection_epsilon"] = RemotePythonValue(cluster_selection_epsilon) + } + if let max_cluster_size = max_cluster_size { + __kwargs["max_cluster_size"] = RemotePythonValue(max_cluster_size) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let cluster_selection_method = cluster_selection_method { + __kwargs["cluster_selection_method"] = RemotePythonValue(cluster_selection_method) + } + if let allow_single_cluster = allow_single_cluster { + __kwargs["allow_single_cluster"] = RemotePythonValue(allow_single_cluster) + } + if let store_centers = store_centers { + __kwargs["store_centers"] = RemotePythonValue(store_centers) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "HDBSCAN", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "HDBSCAN", args: __args, kwargs: __kwargs) + } + return PoolHDBSCAN(pool: pool, owned: __owned) + } + + public func OPTICS(min_samples: Int? = nil, max_eps: Double? = nil, metric: String? = nil, p: Int? = nil, metric_params: (any PythonConvertible)? = nil, cluster_method: String? = nil, eps: Double? = nil, xi: Double? = nil, predecessor_correction: Bool? = nil, min_cluster_size: Int? = nil, algorithm: String? = nil, leaf_size: Int? = nil, memory: String? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolOPTICS { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let min_samples = min_samples { + __kwargs["min_samples"] = RemotePythonValue(min_samples) + } + if let max_eps = max_eps { + __kwargs["max_eps"] = RemotePythonValue(max_eps) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let cluster_method = cluster_method { + __kwargs["cluster_method"] = RemotePythonValue(cluster_method) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let xi = xi { + __kwargs["xi"] = RemotePythonValue(xi) + } + if let predecessor_correction = predecessor_correction { + __kwargs["predecessor_correction"] = RemotePythonValue(predecessor_correction) + } + if let min_cluster_size = min_cluster_size { + __kwargs["min_cluster_size"] = RemotePythonValue(min_cluster_size) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let memory = memory { + __kwargs["memory"] = RemotePythonValue(memory) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "OPTICS", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "OPTICS", args: __args, kwargs: __kwargs) + } + return PoolOPTICS(pool: pool, owned: __owned) + } + + public func AgglomerativeClustering(n_clusters: Int? = nil, metric: String? = nil, memory: String? = nil, connectivity: (any PythonConvertible)? = nil, compute_full_tree: String? = nil, linkage: String? = nil, distance_threshold: Double? = nil, compute_distances: Bool? = nil, worker: Int? = nil) async throws -> PoolAgglomerativeClustering { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let memory = memory { + __kwargs["memory"] = RemotePythonValue(memory) + } + if let connectivity = connectivity { + __kwargs["connectivity"] = RemotePythonValue(connectivity) + } + if let compute_full_tree = compute_full_tree { + __kwargs["compute_full_tree"] = RemotePythonValue(compute_full_tree) + } + if let linkage = linkage { + __kwargs["linkage"] = RemotePythonValue(linkage) + } + if let distance_threshold = distance_threshold { + __kwargs["distance_threshold"] = RemotePythonValue(distance_threshold) + } + if let compute_distances = compute_distances { + __kwargs["compute_distances"] = RemotePythonValue(compute_distances) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "AgglomerativeClustering", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "AgglomerativeClustering", args: __args, kwargs: __kwargs) + } + return PoolAgglomerativeClustering(pool: pool, owned: __owned) + } + + public func FeatureAgglomeration(n_clusters: Int? = nil, metric: String? = nil, memory: String? = nil, connectivity: (any PythonConvertible)? = nil, compute_full_tree: String? = nil, linkage: String? = nil, pooling_func: (any PythonConvertible)? = nil, distance_threshold: Double? = nil, compute_distances: Bool? = nil, worker: Int? = nil) async throws -> PoolFeatureAgglomeration { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let memory = memory { + __kwargs["memory"] = RemotePythonValue(memory) + } + if let connectivity = connectivity { + __kwargs["connectivity"] = RemotePythonValue(connectivity) + } + if let compute_full_tree = compute_full_tree { + __kwargs["compute_full_tree"] = RemotePythonValue(compute_full_tree) + } + if let linkage = linkage { + __kwargs["linkage"] = RemotePythonValue(linkage) + } + if let pooling_func = pooling_func { + __kwargs["pooling_func"] = RemotePythonValue(pooling_func) + } + if let distance_threshold = distance_threshold { + __kwargs["distance_threshold"] = RemotePythonValue(distance_threshold) + } + if let compute_distances = compute_distances { + __kwargs["compute_distances"] = RemotePythonValue(compute_distances) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "FeatureAgglomeration", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "FeatureAgglomeration", args: __args, kwargs: __kwargs) + } + return PoolFeatureAgglomeration(pool: pool, owned: __owned) + } + + public func SpectralClustering(n_clusters: Int? = nil, eigen_solver: String? = nil, n_components: Int? = nil, random_state: Int? = nil, n_init: Int? = nil, gamma: Double? = nil, affinity: String? = nil, n_neighbors: Int? = nil, eigen_tol: String? = nil, assign_labels: String? = nil, degree: Double? = nil, coef0: Double? = nil, kernel_params: (any PythonConvertible)? = nil, n_jobs: Int? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolSpectralClustering { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let eigen_solver = eigen_solver { + __kwargs["eigen_solver"] = RemotePythonValue(eigen_solver) + } + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let n_init = n_init { + __kwargs["n_init"] = RemotePythonValue(n_init) + } + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let affinity = affinity { + __kwargs["affinity"] = RemotePythonValue(affinity) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let eigen_tol = eigen_tol { + __kwargs["eigen_tol"] = RemotePythonValue(eigen_tol) + } + if let assign_labels = assign_labels { + __kwargs["assign_labels"] = RemotePythonValue(assign_labels) + } + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + if let kernel_params = kernel_params { + __kwargs["kernel_params"] = RemotePythonValue(kernel_params) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "SpectralClustering", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "SpectralClustering", args: __args, kwargs: __kwargs) + } + return PoolSpectralClustering(pool: pool, owned: __owned) + } + + public func SpectralBiclustering(n_clusters: Int? = nil, method: String? = nil, n_components: Int? = nil, n_best: Int? = nil, svd_method: String? = nil, n_svd_vecs: Int? = nil, mini_batch: Bool? = nil, `init`: String? = nil, n_init: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolSpectralBiclustering { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let n_best = n_best { + __kwargs["n_best"] = RemotePythonValue(n_best) + } + if let svd_method = svd_method { + __kwargs["svd_method"] = RemotePythonValue(svd_method) + } + if let n_svd_vecs = n_svd_vecs { + __kwargs["n_svd_vecs"] = RemotePythonValue(n_svd_vecs) + } + if let mini_batch = mini_batch { + __kwargs["mini_batch"] = RemotePythonValue(mini_batch) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let n_init = n_init { + __kwargs["n_init"] = RemotePythonValue(n_init) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "SpectralBiclustering", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "SpectralBiclustering", args: __args, kwargs: __kwargs) + } + return PoolSpectralBiclustering(pool: pool, owned: __owned) + } + + public func SpectralCoclustering(n_clusters: Int? = nil, svd_method: String? = nil, n_svd_vecs: Int? = nil, mini_batch: Bool? = nil, `init`: String? = nil, n_init: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolSpectralCoclustering { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let svd_method = svd_method { + __kwargs["svd_method"] = RemotePythonValue(svd_method) + } + if let n_svd_vecs = n_svd_vecs { + __kwargs["n_svd_vecs"] = RemotePythonValue(n_svd_vecs) + } + if let mini_batch = mini_batch { + __kwargs["mini_batch"] = RemotePythonValue(mini_batch) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let n_init = n_init { + __kwargs["n_init"] = RemotePythonValue(n_init) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "SpectralCoclustering", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "SpectralCoclustering", args: __args, kwargs: __kwargs) + } + return PoolSpectralCoclustering(pool: pool, owned: __owned) + } + + public func Birch(threshold: Double? = nil, branching_factor: Int? = nil, n_clusters: Int? = nil, compute_labels: Bool? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolBirch { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let threshold = threshold { + __kwargs["threshold"] = RemotePythonValue(threshold) + } + if let branching_factor = branching_factor { + __kwargs["branching_factor"] = RemotePythonValue(branching_factor) + } + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let compute_labels = compute_labels { + __kwargs["compute_labels"] = RemotePythonValue(compute_labels) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "Birch", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "Birch", args: __args, kwargs: __kwargs) + } + return PoolBirch(pool: pool, owned: __owned) + } + + public func MeanShift(bandwidth: Double? = nil, seeds: (any PythonConvertible)? = nil, bin_seeding: Bool? = nil, min_bin_freq: Int? = nil, cluster_all: Bool? = nil, n_jobs: Int? = nil, max_iter: Int? = nil, worker: Int? = nil) async throws -> PoolMeanShift { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let bandwidth = bandwidth { + __kwargs["bandwidth"] = RemotePythonValue(bandwidth) + } + if let seeds = seeds { + __kwargs["seeds"] = RemotePythonValue(seeds) + } + if let bin_seeding = bin_seeding { + __kwargs["bin_seeding"] = RemotePythonValue(bin_seeding) + } + if let min_bin_freq = min_bin_freq { + __kwargs["min_bin_freq"] = RemotePythonValue(min_bin_freq) + } + if let cluster_all = cluster_all { + __kwargs["cluster_all"] = RemotePythonValue(cluster_all) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "MeanShift", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "MeanShift", args: __args, kwargs: __kwargs) + } + return PoolMeanShift(pool: pool, owned: __owned) + } + + public func AffinityPropagation(damping: Double? = nil, max_iter: Int? = nil, convergence_iter: Int? = nil, copy: Bool? = nil, preference: Double? = nil, affinity: String? = nil, verbose: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolAffinityPropagation { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let damping = damping { + __kwargs["damping"] = RemotePythonValue(damping) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let convergence_iter = convergence_iter { + __kwargs["convergence_iter"] = RemotePythonValue(convergence_iter) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let preference = preference { + __kwargs["preference"] = RemotePythonValue(preference) + } + if let affinity = affinity { + __kwargs["affinity"] = RemotePythonValue(affinity) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "AffinityPropagation", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "AffinityPropagation", args: __args, kwargs: __kwargs) + } + return PoolAffinityPropagation(pool: pool, owned: __owned) + } + + public func BisectingKMeans(n_clusters: Int? = nil, `init`: String? = nil, n_init: Int? = nil, random_state: Int? = nil, max_iter: Int? = nil, verbose: Int? = nil, tol: Double? = nil, copy_x: Bool? = nil, algorithm: String? = nil, bisecting_strategy: String? = nil, worker: Int? = nil) async throws -> PoolBisectingKMeans { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_clusters = n_clusters { + __kwargs["n_clusters"] = RemotePythonValue(n_clusters) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let n_init = n_init { + __kwargs["n_init"] = RemotePythonValue(n_init) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let copy_x = copy_x { + __kwargs["copy_x"] = RemotePythonValue(copy_x) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let bisecting_strategy = bisecting_strategy { + __kwargs["bisecting_strategy"] = RemotePythonValue(bisecting_strategy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "BisectingKMeans", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.cluster", function: "BisectingKMeans", args: __args, kwargs: __kwargs) + } + return PoolBisectingKMeans(pool: pool, owned: __owned) + } +} + + +public struct PoolKMeans: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolKMeans { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolKMeans(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolMiniBatchKMeans: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMiniBatchKMeans { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchKMeans(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMiniBatchKMeans { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchKMeans(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolDBSCAN: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolDBSCAN { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolDBSCAN(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolHDBSCAN: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolHDBSCAN { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolHDBSCAN(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func dbscan_clustering(cut_distance: Double, min_cluster_size: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(cut_distance)) + var __kwargs: [String: RemotePythonValue] = [:] + if let min_cluster_size = min_cluster_size { + __kwargs["min_cluster_size"] = RemotePythonValue(min_cluster_size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "dbscan_clustering", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "dbscan_clustering", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolOPTICS: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolOPTICS { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolOPTICS(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolAgglomerativeClustering: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolAgglomerativeClustering { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolAgglomerativeClustering(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolFeatureAgglomeration: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolFeatureAgglomeration { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolFeatureAgglomeration(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolSpectralClustering: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolSpectralClustering { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSpectralClustering(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolSpectralBiclustering: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolSpectralBiclustering { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSpectralBiclustering(pool: pool, owned: __owned) + } + + public func get_indices(i: Int, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(i)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_indices", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_indices", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_shape(i: Int, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(i)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_shape", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_shape", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_submatrix(i: Int, data: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(i)) + __args.append(RemotePythonValue(data)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_submatrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_submatrix", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolSpectralCoclustering: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolSpectralCoclustering { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSpectralCoclustering(pool: pool, owned: __owned) + } + + public func get_indices(i: Int, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(i)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_indices", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_indices", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_shape(i: Int, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(i)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_shape", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_shape", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_submatrix(i: Int, data: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(i)) + __args.append(RemotePythonValue(data)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_submatrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_submatrix", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolBirch: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolBirch { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolBirch(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolBirch { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolBirch(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolMeanShift: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMeanShift { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMeanShift(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolAffinityPropagation: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolAffinityPropagation { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolAffinityPropagation(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolBisectingKMeans: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolBisectingKMeans { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolBisectingKMeans(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + +// MARK: - Sklearn.Datasets + +extension PoolSklearn { + /// Pool-bound `sklearn.datasets` namespace. Calls run on this pool. + public var datasets: PoolSklearnDatasets { PoolSklearnDatasets(pool: pool) } +} + +public struct PoolSklearnDatasets: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func load_iris(return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_iris", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_iris", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func load_digits(n_class: Int? = nil, return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_class = n_class { + __kwargs["n_class"] = RemotePythonValue(n_class) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_digits", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_digits", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func load_wine(return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_wine", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_wine", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func load_breast_cancer(return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_breast_cancer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_breast_cancer", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func load_diabetes(return_X_y: Bool? = nil, as_frame: Bool? = nil, scaled: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + if let scaled = scaled { + __kwargs["scaled"] = RemotePythonValue(scaled) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_diabetes", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_diabetes", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func load_linnerud(return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_linnerud", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_linnerud", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_classification(n_samples: Int? = nil, n_features: Int? = nil, n_informative: Int? = nil, n_redundant: Int? = nil, n_repeated: Int? = nil, n_classes: Int? = nil, n_clusters_per_class: Int? = nil, weights: (any PythonConvertible)? = nil, flip_y: Double? = nil, class_sep: Double? = nil, hypercube: Bool? = nil, shift: Double? = nil, scale: Double? = nil, shuffle: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let n_informative = n_informative { + __kwargs["n_informative"] = RemotePythonValue(n_informative) + } + if let n_redundant = n_redundant { + __kwargs["n_redundant"] = RemotePythonValue(n_redundant) + } + if let n_repeated = n_repeated { + __kwargs["n_repeated"] = RemotePythonValue(n_repeated) + } + if let n_classes = n_classes { + __kwargs["n_classes"] = RemotePythonValue(n_classes) + } + if let n_clusters_per_class = n_clusters_per_class { + __kwargs["n_clusters_per_class"] = RemotePythonValue(n_clusters_per_class) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + if let flip_y = flip_y { + __kwargs["flip_y"] = RemotePythonValue(flip_y) + } + if let class_sep = class_sep { + __kwargs["class_sep"] = RemotePythonValue(class_sep) + } + if let hypercube = hypercube { + __kwargs["hypercube"] = RemotePythonValue(hypercube) + } + if let shift = shift { + __kwargs["shift"] = RemotePythonValue(shift) + } + if let scale = scale { + __kwargs["scale"] = RemotePythonValue(scale) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_classification", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_classification", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_regression(n_samples: Int? = nil, n_features: Int? = nil, n_informative: Int? = nil, n_targets: Int? = nil, bias: Double? = nil, effective_rank: Int? = nil, tail_strength: Double? = nil, noise: Double? = nil, shuffle: Bool? = nil, coef: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let n_informative = n_informative { + __kwargs["n_informative"] = RemotePythonValue(n_informative) + } + if let n_targets = n_targets { + __kwargs["n_targets"] = RemotePythonValue(n_targets) + } + if let bias = bias { + __kwargs["bias"] = RemotePythonValue(bias) + } + if let effective_rank = effective_rank { + __kwargs["effective_rank"] = RemotePythonValue(effective_rank) + } + if let tail_strength = tail_strength { + __kwargs["tail_strength"] = RemotePythonValue(tail_strength) + } + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let coef = coef { + __kwargs["coef"] = RemotePythonValue(coef) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_regression", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_regression", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_blobs(n_samples: Int? = nil, n_features: Int? = nil, centers: Int? = nil, cluster_std: Double? = nil, center_box: PyHandle? = nil, shuffle: Bool? = nil, random_state: Int? = nil, return_centers: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let centers = centers { + __kwargs["centers"] = RemotePythonValue(centers) + } + if let cluster_std = cluster_std { + __kwargs["cluster_std"] = RemotePythonValue(cluster_std) + } + if let center_box = center_box { + __kwargs["center_box"] = RemotePythonValue(center_box) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let return_centers = return_centers { + __kwargs["return_centers"] = RemotePythonValue(return_centers) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_blobs", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_blobs", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_circles(n_samples: Int? = nil, shuffle: Bool? = nil, noise: Double? = nil, random_state: Int? = nil, factor: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let factor = factor { + __kwargs["factor"] = RemotePythonValue(factor) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_circles", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_circles", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_moons(n_samples: Int? = nil, shuffle: Bool? = nil, noise: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_moons", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_moons", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_gaussian_quantiles(mean: (any PythonConvertible)? = nil, cov: Double? = nil, n_samples: Int? = nil, n_features: Int? = nil, n_classes: Int? = nil, shuffle: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + if let mean = mean { + __args.append(RemotePythonValue(mean)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let cov = cov { + __kwargs["cov"] = RemotePythonValue(cov) + } + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let n_classes = n_classes { + __kwargs["n_classes"] = RemotePythonValue(n_classes) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_gaussian_quantiles", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_gaussian_quantiles", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_hastie_10_2(n_samples: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_hastie_10_2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_hastie_10_2", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_s_curve(n_samples: Int? = nil, noise: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_s_curve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_s_curve", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_swiss_roll(n_samples: Int? = nil, noise: Double? = nil, random_state: Int? = nil, hole: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let hole = hole { + __kwargs["hole"] = RemotePythonValue(hole) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_swiss_roll", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_swiss_roll", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_friedman1(n_samples: Int? = nil, n_features: Int? = nil, noise: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_friedman1", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_friedman1", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_friedman2(n_samples: Int? = nil, noise: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_friedman2", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_friedman2", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_friedman3(n_samples: Int? = nil, noise: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_friedman3", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_friedman3", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_low_rank_matrix(n_samples: Int? = nil, n_features: Int? = nil, effective_rank: Int? = nil, tail_strength: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let effective_rank = effective_rank { + __kwargs["effective_rank"] = RemotePythonValue(effective_rank) + } + if let tail_strength = tail_strength { + __kwargs["tail_strength"] = RemotePythonValue(tail_strength) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_low_rank_matrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_low_rank_matrix", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_sparse_coded_signal(n_samples: Int, n_components: Int, n_features: Int, n_nonzero_coefs: Int, random_state: Int? = nil, data_transposed: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n_samples)) + __args.append(RemotePythonValue(n_components)) + __args.append(RemotePythonValue(n_features)) + __args.append(RemotePythonValue(n_nonzero_coefs)) + var __kwargs: [String: RemotePythonValue] = [:] + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let data_transposed = data_transposed { + __kwargs["data_transposed"] = RemotePythonValue(data_transposed) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_sparse_coded_signal", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_sparse_coded_signal", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_sparse_uncorrelated(n_samples: Int? = nil, n_features: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_sparse_uncorrelated", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_sparse_uncorrelated", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_spd_matrix(n_dim: Int, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(n_dim)) + var __kwargs: [String: RemotePythonValue] = [:] + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_spd_matrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_spd_matrix", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_sparse_spd_matrix(n_dim: Int? = nil, alpha: Double? = nil, norm_diag: Bool? = nil, smallest_coef: Double? = nil, largest_coef: Double? = nil, sparse_format: String? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_dim = n_dim { + __kwargs["n_dim"] = RemotePythonValue(n_dim) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let norm_diag = norm_diag { + __kwargs["norm_diag"] = RemotePythonValue(norm_diag) + } + if let smallest_coef = smallest_coef { + __kwargs["smallest_coef"] = RemotePythonValue(smallest_coef) + } + if let largest_coef = largest_coef { + __kwargs["largest_coef"] = RemotePythonValue(largest_coef) + } + if let sparse_format = sparse_format { + __kwargs["sparse_format"] = RemotePythonValue(sparse_format) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_sparse_spd_matrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_sparse_spd_matrix", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_biclusters(shape: PyHandle, n_clusters: Int, noise: Double? = nil, minval: Int? = nil, maxval: Int? = nil, shuffle: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + __args.append(RemotePythonValue(n_clusters)) + var __kwargs: [String: RemotePythonValue] = [:] + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let minval = minval { + __kwargs["minval"] = RemotePythonValue(minval) + } + if let maxval = maxval { + __kwargs["maxval"] = RemotePythonValue(maxval) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_biclusters", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_biclusters", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_checkerboard(shape: PyHandle, n_clusters: PyHandle, noise: Double? = nil, minval: Int? = nil, maxval: Int? = nil, shuffle: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(shape)) + __args.append(RemotePythonValue(n_clusters)) + var __kwargs: [String: RemotePythonValue] = [:] + if let noise = noise { + __kwargs["noise"] = RemotePythonValue(noise) + } + if let minval = minval { + __kwargs["minval"] = RemotePythonValue(minval) + } + if let maxval = maxval { + __kwargs["maxval"] = RemotePythonValue(maxval) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_checkerboard", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_checkerboard", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func make_multilabel_classification(n_samples: Int? = nil, n_features: Int? = nil, n_classes: Int? = nil, n_labels: Int? = nil, length: Int? = nil, allow_unlabeled: Bool? = nil, sparse: Bool? = nil, return_indicator: String? = nil, return_distributions: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_samples = n_samples { + __kwargs["n_samples"] = RemotePythonValue(n_samples) + } + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let n_classes = n_classes { + __kwargs["n_classes"] = RemotePythonValue(n_classes) + } + if let n_labels = n_labels { + __kwargs["n_labels"] = RemotePythonValue(n_labels) + } + if let length = length { + __kwargs["length"] = RemotePythonValue(length) + } + if let allow_unlabeled = allow_unlabeled { + __kwargs["allow_unlabeled"] = RemotePythonValue(allow_unlabeled) + } + if let sparse = sparse { + __kwargs["sparse"] = RemotePythonValue(sparse) + } + if let return_indicator = return_indicator { + __kwargs["return_indicator"] = RemotePythonValue(return_indicator) + } + if let return_distributions = return_distributions { + __kwargs["return_distributions"] = RemotePythonValue(return_distributions) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_multilabel_classification", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "make_multilabel_classification", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_olivetti_faces(data_home: String? = nil, shuffle: Bool? = nil, random_state: Int? = nil, download_if_missing: Bool? = nil, return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_olivetti_faces", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_olivetti_faces", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_20newsgroups(data_home: String? = nil, subset: String? = nil, categories: (any PythonConvertible)? = nil, shuffle: Bool? = nil, random_state: Int? = nil, remove: (any PythonConvertible)? = nil, download_if_missing: Bool? = nil, return_X_y: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let categories = categories { + __kwargs["categories"] = RemotePythonValue(categories) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let remove = remove { + __kwargs["remove"] = RemotePythonValue(remove) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_20newsgroups", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_20newsgroups", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_20newsgroups_vectorized(subset: String? = nil, remove: (any PythonConvertible)? = nil, data_home: String? = nil, download_if_missing: Bool? = nil, return_X_y: Bool? = nil, normalize: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let remove = remove { + __kwargs["remove"] = RemotePythonValue(remove) + } + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_20newsgroups_vectorized", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_20newsgroups_vectorized", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_lfw_people(data_home: String? = nil, funneled: Bool? = nil, resize: Double? = nil, min_faces_per_person: Int? = nil, color: Bool? = nil, slice_: (any PythonConvertible)? = nil, download_if_missing: Bool? = nil, return_X_y: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let funneled = funneled { + __kwargs["funneled"] = RemotePythonValue(funneled) + } + if let resize = resize { + __kwargs["resize"] = RemotePythonValue(resize) + } + if let min_faces_per_person = min_faces_per_person { + __kwargs["min_faces_per_person"] = RemotePythonValue(min_faces_per_person) + } + if let color = color { + __kwargs["color"] = RemotePythonValue(color) + } + if let slice_ = slice_ { + __kwargs["slice_"] = RemotePythonValue(slice_) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_lfw_people", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_lfw_people", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_lfw_pairs(subset: String? = nil, data_home: String? = nil, funneled: Bool? = nil, resize: Double? = nil, color: Bool? = nil, slice_: (any PythonConvertible)? = nil, download_if_missing: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let funneled = funneled { + __kwargs["funneled"] = RemotePythonValue(funneled) + } + if let resize = resize { + __kwargs["resize"] = RemotePythonValue(resize) + } + if let color = color { + __kwargs["color"] = RemotePythonValue(color) + } + if let slice_ = slice_ { + __kwargs["slice_"] = RemotePythonValue(slice_) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_lfw_pairs", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_lfw_pairs", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_covtype(data_home: String? = nil, download_if_missing: Bool? = nil, random_state: Int? = nil, shuffle: Bool? = nil, return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_covtype", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_covtype", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_rcv1(data_home: String? = nil, subset: String? = nil, download_if_missing: Bool? = nil, random_state: Int? = nil, shuffle: Bool? = nil, return_X_y: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_rcv1", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_rcv1", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_kddcup99(subset: String? = nil, data_home: String? = nil, shuffle: Bool? = nil, random_state: Int? = nil, percent10: Bool? = nil, download_if_missing: Bool? = nil, return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let subset = subset { + __kwargs["subset"] = RemotePythonValue(subset) + } + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let percent10 = percent10 { + __kwargs["percent10"] = RemotePythonValue(percent10) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_kddcup99", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_kddcup99", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_california_housing(data_home: String? = nil, download_if_missing: Bool? = nil, return_X_y: Bool? = nil, as_frame: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let download_if_missing = download_if_missing { + __kwargs["download_if_missing"] = RemotePythonValue(download_if_missing) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_california_housing", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_california_housing", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fetch_openml(name: String? = nil, version: String? = nil, data_id: Int? = nil, data_home: String? = nil, target_column: String? = nil, cache: Bool? = nil, return_X_y: Bool? = nil, as_frame: String? = nil, n_retries: Int? = nil, delay: Double? = nil, parser: String? = nil, read_csv_kwargs: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let version = version { + __kwargs["version"] = RemotePythonValue(version) + } + if let data_id = data_id { + __kwargs["data_id"] = RemotePythonValue(data_id) + } + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let target_column = target_column { + __kwargs["target_column"] = RemotePythonValue(target_column) + } + if let cache = cache { + __kwargs["cache"] = RemotePythonValue(cache) + } + if let return_X_y = return_X_y { + __kwargs["return_X_y"] = RemotePythonValue(return_X_y) + } + if let as_frame = as_frame { + __kwargs["as_frame"] = RemotePythonValue(as_frame) + } + if let n_retries = n_retries { + __kwargs["n_retries"] = RemotePythonValue(n_retries) + } + if let delay = delay { + __kwargs["delay"] = RemotePythonValue(delay) + } + if let parser = parser { + __kwargs["parser"] = RemotePythonValue(parser) + } + if let read_csv_kwargs = read_csv_kwargs { + __kwargs["read_csv_kwargs"] = RemotePythonValue(read_csv_kwargs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_openml", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "fetch_openml", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_data_home(data_home: String? = nil, worker: Int? = nil) async throws -> String { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.datasets", function: "get_data_home", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.datasets", function: "get_data_home", args: __args, kwargs: __kwargs) + } + + public func clear_data_home(data_home: String? = nil, worker: Int? = nil) async throws -> Void { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let data_home = data_home { + __kwargs["data_home"] = RemotePythonValue(data_home) + } + if let worker { + try await pool.invokeVoid(module: "sklearn.datasets", function: "clear_data_home", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "sklearn.datasets", function: "clear_data_home", args: __args, kwargs: __kwargs) + } + + public func dump_svmlight_file(X: any PythonConvertible, y: any PythonConvertible, f: any PythonConvertible, zero_based: Bool? = nil, comment: String? = nil, query_id: (any PythonConvertible)? = nil, multilabel: Bool? = nil, worker: Int? = nil) async throws -> Void { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + __args.append(RemotePythonValue(f)) + var __kwargs: [String: RemotePythonValue] = [:] + if let zero_based = zero_based { + __kwargs["zero_based"] = RemotePythonValue(zero_based) + } + if let comment = comment { + __kwargs["comment"] = RemotePythonValue(comment) + } + if let query_id = query_id { + __kwargs["query_id"] = RemotePythonValue(query_id) + } + if let multilabel = multilabel { + __kwargs["multilabel"] = RemotePythonValue(multilabel) + } + if let worker { + try await pool.invokeVoid(module: "sklearn.datasets", function: "dump_svmlight_file", args: __args, kwargs: __kwargs, worker: worker) + return + } + try await pool.invokeVoid(module: "sklearn.datasets", function: "dump_svmlight_file", args: __args, kwargs: __kwargs) + } + + public func load_svmlight_file(f: any PythonConvertible, n_features: Int? = nil, dtype: (any PythonConvertible)? = nil, multilabel: Bool? = nil, zero_based: String? = nil, query_id: Bool? = nil, offset: Int? = nil, length: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(f)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let multilabel = multilabel { + __kwargs["multilabel"] = RemotePythonValue(multilabel) + } + if let zero_based = zero_based { + __kwargs["zero_based"] = RemotePythonValue(zero_based) + } + if let query_id = query_id { + __kwargs["query_id"] = RemotePythonValue(query_id) + } + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + if let length = length { + __kwargs["length"] = RemotePythonValue(length) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_svmlight_file", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_svmlight_file", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func load_svmlight_files(files: any PythonConvertible, n_features: Int? = nil, dtype: (any PythonConvertible)? = nil, multilabel: Bool? = nil, zero_based: String? = nil, query_id: Bool? = nil, offset: Int? = nil, length: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(files)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_features = n_features { + __kwargs["n_features"] = RemotePythonValue(n_features) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let multilabel = multilabel { + __kwargs["multilabel"] = RemotePythonValue(multilabel) + } + if let zero_based = zero_based { + __kwargs["zero_based"] = RemotePythonValue(zero_based) + } + if let query_id = query_id { + __kwargs["query_id"] = RemotePythonValue(query_id) + } + if let offset = offset { + __kwargs["offset"] = RemotePythonValue(offset) + } + if let length = length { + __kwargs["length"] = RemotePythonValue(length) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_svmlight_files", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.datasets", function: "load_svmlight_files", args: __args, kwargs: __kwargs) + } + return __owned + } +} + +// MARK: - Sklearn.Decomposition + +extension PoolSklearn { + /// Pool-bound `sklearn.decomposition` namespace. Calls run on this pool. + public var decomposition: PoolSklearnDecomposition { PoolSklearnDecomposition(pool: pool) } +} + +public struct PoolSklearnDecomposition: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func PCA(n_components: Int? = nil, copy: Bool? = nil, whiten: Bool? = nil, svd_solver: String? = nil, tol: Double? = nil, iterated_power: String? = nil, n_oversamples: Int? = nil, power_iteration_normalizer: String? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolPCA { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let whiten = whiten { + __kwargs["whiten"] = RemotePythonValue(whiten) + } + if let svd_solver = svd_solver { + __kwargs["svd_solver"] = RemotePythonValue(svd_solver) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let iterated_power = iterated_power { + __kwargs["iterated_power"] = RemotePythonValue(iterated_power) + } + if let n_oversamples = n_oversamples { + __kwargs["n_oversamples"] = RemotePythonValue(n_oversamples) + } + if let power_iteration_normalizer = power_iteration_normalizer { + __kwargs["power_iteration_normalizer"] = RemotePythonValue(power_iteration_normalizer) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "PCA", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "PCA", args: __args, kwargs: __kwargs) + } + return PoolPCA(pool: pool, owned: __owned) + } + + public func IncrementalPCA(n_components: Int? = nil, whiten: Bool? = nil, copy: Bool? = nil, batch_size: Int? = nil, worker: Int? = nil) async throws -> PoolIncrementalPCA { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let whiten = whiten { + __kwargs["whiten"] = RemotePythonValue(whiten) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let batch_size = batch_size { + __kwargs["batch_size"] = RemotePythonValue(batch_size) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "IncrementalPCA", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "IncrementalPCA", args: __args, kwargs: __kwargs) + } + return PoolIncrementalPCA(pool: pool, owned: __owned) + } + + public func KernelPCA(n_components: Int? = nil, kernel: String? = nil, gamma: Double? = nil, degree: Int? = nil, coef0: Double? = nil, kernel_params: (any PythonConvertible)? = nil, alpha: Double? = nil, fit_inverse_transform: Bool? = nil, eigen_solver: String? = nil, tol: Double? = nil, max_iter: Int? = nil, iterated_power: String? = nil, remove_zero_eig: Bool? = nil, random_state: Int? = nil, copy_X: Bool? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolKernelPCA { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let kernel = kernel { + __kwargs["kernel"] = RemotePythonValue(kernel) + } + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + if let kernel_params = kernel_params { + __kwargs["kernel_params"] = RemotePythonValue(kernel_params) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_inverse_transform = fit_inverse_transform { + __kwargs["fit_inverse_transform"] = RemotePythonValue(fit_inverse_transform) + } + if let eigen_solver = eigen_solver { + __kwargs["eigen_solver"] = RemotePythonValue(eigen_solver) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let iterated_power = iterated_power { + __kwargs["iterated_power"] = RemotePythonValue(iterated_power) + } + if let remove_zero_eig = remove_zero_eig { + __kwargs["remove_zero_eig"] = RemotePythonValue(remove_zero_eig) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "KernelPCA", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "KernelPCA", args: __args, kwargs: __kwargs) + } + return PoolKernelPCA(pool: pool, owned: __owned) + } + + public func SparsePCA(n_components: Int? = nil, alpha: Double? = nil, ridge_alpha: Double? = nil, max_iter: Int? = nil, tol: Double? = nil, method: String? = nil, n_jobs: Int? = nil, verbose: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolSparsePCA { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let ridge_alpha = ridge_alpha { + __kwargs["ridge_alpha"] = RemotePythonValue(ridge_alpha) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "SparsePCA", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "SparsePCA", args: __args, kwargs: __kwargs) + } + return PoolSparsePCA(pool: pool, owned: __owned) + } + + public func TruncatedSVD(n_components: Int? = nil, algorithm: String? = nil, n_iter: Int? = nil, n_oversamples: Int? = nil, power_iteration_normalizer: String? = nil, random_state: Int? = nil, tol: Double? = nil, worker: Int? = nil) async throws -> PoolTruncatedSVD { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let n_iter = n_iter { + __kwargs["n_iter"] = RemotePythonValue(n_iter) + } + if let n_oversamples = n_oversamples { + __kwargs["n_oversamples"] = RemotePythonValue(n_oversamples) + } + if let power_iteration_normalizer = power_iteration_normalizer { + __kwargs["power_iteration_normalizer"] = RemotePythonValue(power_iteration_normalizer) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "TruncatedSVD", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "TruncatedSVD", args: __args, kwargs: __kwargs) + } + return PoolTruncatedSVD(pool: pool, owned: __owned) + } + + public func NMF(n_components: Int? = nil, `init`: String? = nil, solver: String? = nil, beta_loss: String? = nil, tol: Double? = nil, max_iter: Int? = nil, random_state: Int? = nil, alpha_W: Double? = nil, alpha_H: String? = nil, l1_ratio: Double? = nil, verbose: Int? = nil, shuffle: Bool? = nil, worker: Int? = nil) async throws -> PoolNMF { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let beta_loss = beta_loss { + __kwargs["beta_loss"] = RemotePythonValue(beta_loss) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let alpha_W = alpha_W { + __kwargs["alpha_W"] = RemotePythonValue(alpha_W) + } + if let alpha_H = alpha_H { + __kwargs["alpha_H"] = RemotePythonValue(alpha_H) + } + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "NMF", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "NMF", args: __args, kwargs: __kwargs) + } + return PoolNMF(pool: pool, owned: __owned) + } + + public func MiniBatchNMF(n_components: Int? = nil, `init`: String? = nil, batch_size: Int? = nil, beta_loss: String? = nil, tol: Double? = nil, max_no_improvement: Int? = nil, max_iter: Int? = nil, alpha_W: Double? = nil, alpha_H: String? = nil, l1_ratio: Double? = nil, forget_factor: Double? = nil, fresh_restarts: Bool? = nil, fresh_restarts_max_iter: Int? = nil, transform_max_iter: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolMiniBatchNMF { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let batch_size = batch_size { + __kwargs["batch_size"] = RemotePythonValue(batch_size) + } + if let beta_loss = beta_loss { + __kwargs["beta_loss"] = RemotePythonValue(beta_loss) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let max_no_improvement = max_no_improvement { + __kwargs["max_no_improvement"] = RemotePythonValue(max_no_improvement) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let alpha_W = alpha_W { + __kwargs["alpha_W"] = RemotePythonValue(alpha_W) + } + if let alpha_H = alpha_H { + __kwargs["alpha_H"] = RemotePythonValue(alpha_H) + } + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let forget_factor = forget_factor { + __kwargs["forget_factor"] = RemotePythonValue(forget_factor) + } + if let fresh_restarts = fresh_restarts { + __kwargs["fresh_restarts"] = RemotePythonValue(fresh_restarts) + } + if let fresh_restarts_max_iter = fresh_restarts_max_iter { + __kwargs["fresh_restarts_max_iter"] = RemotePythonValue(fresh_restarts_max_iter) + } + if let transform_max_iter = transform_max_iter { + __kwargs["transform_max_iter"] = RemotePythonValue(transform_max_iter) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "MiniBatchNMF", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "MiniBatchNMF", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchNMF(pool: pool, owned: __owned) + } + + public func FastICA(n_components: Int? = nil, algorithm: String? = nil, whiten: String? = nil, fun: String? = nil, fun_args: (any PythonConvertible)? = nil, max_iter: Int? = nil, tol: Double? = nil, w_init: (any PythonConvertible)? = nil, whiten_solver: String? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolFastICA { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let whiten = whiten { + __kwargs["whiten"] = RemotePythonValue(whiten) + } + if let fun = fun { + __kwargs["fun"] = RemotePythonValue(fun) + } + if let fun_args = fun_args { + __kwargs["fun_args"] = RemotePythonValue(fun_args) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let w_init = w_init { + __kwargs["w_init"] = RemotePythonValue(w_init) + } + if let whiten_solver = whiten_solver { + __kwargs["whiten_solver"] = RemotePythonValue(whiten_solver) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "FastICA", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "FastICA", args: __args, kwargs: __kwargs) + } + return PoolFastICA(pool: pool, owned: __owned) + } + + public func FactorAnalysis(n_components: Int? = nil, tol: Double? = nil, copy: Bool? = nil, max_iter: Int? = nil, noise_variance_init: (any PythonConvertible)? = nil, svd_method: String? = nil, iterated_power: Int? = nil, rotation: String? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolFactorAnalysis { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let noise_variance_init = noise_variance_init { + __kwargs["noise_variance_init"] = RemotePythonValue(noise_variance_init) + } + if let svd_method = svd_method { + __kwargs["svd_method"] = RemotePythonValue(svd_method) + } + if let iterated_power = iterated_power { + __kwargs["iterated_power"] = RemotePythonValue(iterated_power) + } + if let rotation = rotation { + __kwargs["rotation"] = RemotePythonValue(rotation) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "FactorAnalysis", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "FactorAnalysis", args: __args, kwargs: __kwargs) + } + return PoolFactorAnalysis(pool: pool, owned: __owned) + } + + public func LatentDirichletAllocation(n_components: Int? = nil, doc_topic_prior: Double? = nil, topic_word_prior: Double? = nil, learning_method: String? = nil, learning_decay: Double? = nil, learning_offset: Double? = nil, max_iter: Int? = nil, batch_size: Int? = nil, evaluate_every: Int? = nil, total_samples: Int? = nil, perp_tol: Double? = nil, mean_change_tol: Double? = nil, max_doc_update_iter: Int? = nil, n_jobs: Int? = nil, verbose: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolLatentDirichletAllocation { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let doc_topic_prior = doc_topic_prior { + __kwargs["doc_topic_prior"] = RemotePythonValue(doc_topic_prior) + } + if let topic_word_prior = topic_word_prior { + __kwargs["topic_word_prior"] = RemotePythonValue(topic_word_prior) + } + if let learning_method = learning_method { + __kwargs["learning_method"] = RemotePythonValue(learning_method) + } + if let learning_decay = learning_decay { + __kwargs["learning_decay"] = RemotePythonValue(learning_decay) + } + if let learning_offset = learning_offset { + __kwargs["learning_offset"] = RemotePythonValue(learning_offset) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let batch_size = batch_size { + __kwargs["batch_size"] = RemotePythonValue(batch_size) + } + if let evaluate_every = evaluate_every { + __kwargs["evaluate_every"] = RemotePythonValue(evaluate_every) + } + if let total_samples = total_samples { + __kwargs["total_samples"] = RemotePythonValue(total_samples) + } + if let perp_tol = perp_tol { + __kwargs["perp_tol"] = RemotePythonValue(perp_tol) + } + if let mean_change_tol = mean_change_tol { + __kwargs["mean_change_tol"] = RemotePythonValue(mean_change_tol) + } + if let max_doc_update_iter = max_doc_update_iter { + __kwargs["max_doc_update_iter"] = RemotePythonValue(max_doc_update_iter) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "LatentDirichletAllocation", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "LatentDirichletAllocation", args: __args, kwargs: __kwargs) + } + return PoolLatentDirichletAllocation(pool: pool, owned: __owned) + } + + public func DictionaryLearning(n_components: Int? = nil, alpha: Double? = nil, max_iter: Int? = nil, tol: Double? = nil, fit_algorithm: String? = nil, transform_algorithm: String? = nil, transform_n_nonzero_coefs: Int? = nil, transform_alpha: Double? = nil, n_jobs: Int? = nil, code_init: (any PythonConvertible)? = nil, dict_init: (any PythonConvertible)? = nil, verbose: Int? = nil, split_sign: Bool? = nil, random_state: Int? = nil, positive_code: Bool? = nil, positive_dict: Bool? = nil, transform_max_iter: Int? = nil, worker: Int? = nil) async throws -> PoolDictionaryLearning { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let fit_algorithm = fit_algorithm { + __kwargs["fit_algorithm"] = RemotePythonValue(fit_algorithm) + } + if let transform_algorithm = transform_algorithm { + __kwargs["transform_algorithm"] = RemotePythonValue(transform_algorithm) + } + if let transform_n_nonzero_coefs = transform_n_nonzero_coefs { + __kwargs["transform_n_nonzero_coefs"] = RemotePythonValue(transform_n_nonzero_coefs) + } + if let transform_alpha = transform_alpha { + __kwargs["transform_alpha"] = RemotePythonValue(transform_alpha) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let code_init = code_init { + __kwargs["code_init"] = RemotePythonValue(code_init) + } + if let dict_init = dict_init { + __kwargs["dict_init"] = RemotePythonValue(dict_init) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let split_sign = split_sign { + __kwargs["split_sign"] = RemotePythonValue(split_sign) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let positive_code = positive_code { + __kwargs["positive_code"] = RemotePythonValue(positive_code) + } + if let positive_dict = positive_dict { + __kwargs["positive_dict"] = RemotePythonValue(positive_dict) + } + if let transform_max_iter = transform_max_iter { + __kwargs["transform_max_iter"] = RemotePythonValue(transform_max_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "DictionaryLearning", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "DictionaryLearning", args: __args, kwargs: __kwargs) + } + return PoolDictionaryLearning(pool: pool, owned: __owned) + } + + public func MiniBatchDictionaryLearning(n_components: Int? = nil, alpha: Double? = nil, n_iter: String? = nil, max_iter: Int? = nil, fit_algorithm: String? = nil, n_jobs: Int? = nil, batch_size: Int? = nil, shuffle: Bool? = nil, dict_init: (any PythonConvertible)? = nil, transform_algorithm: String? = nil, transform_n_nonzero_coefs: Int? = nil, transform_alpha: Double? = nil, verbose: Int? = nil, split_sign: Bool? = nil, random_state: Int? = nil, positive_code: Bool? = nil, positive_dict: Bool? = nil, transform_max_iter: Int? = nil, callback: (any PythonConvertible)? = nil, tol: Double? = nil, max_no_improvement: Int? = nil, worker: Int? = nil) async throws -> PoolMiniBatchDictionaryLearning { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_components = n_components { + __kwargs["n_components"] = RemotePythonValue(n_components) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let n_iter = n_iter { + __kwargs["n_iter"] = RemotePythonValue(n_iter) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let fit_algorithm = fit_algorithm { + __kwargs["fit_algorithm"] = RemotePythonValue(fit_algorithm) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let batch_size = batch_size { + __kwargs["batch_size"] = RemotePythonValue(batch_size) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let dict_init = dict_init { + __kwargs["dict_init"] = RemotePythonValue(dict_init) + } + if let transform_algorithm = transform_algorithm { + __kwargs["transform_algorithm"] = RemotePythonValue(transform_algorithm) + } + if let transform_n_nonzero_coefs = transform_n_nonzero_coefs { + __kwargs["transform_n_nonzero_coefs"] = RemotePythonValue(transform_n_nonzero_coefs) + } + if let transform_alpha = transform_alpha { + __kwargs["transform_alpha"] = RemotePythonValue(transform_alpha) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let split_sign = split_sign { + __kwargs["split_sign"] = RemotePythonValue(split_sign) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let positive_code = positive_code { + __kwargs["positive_code"] = RemotePythonValue(positive_code) + } + if let positive_dict = positive_dict { + __kwargs["positive_dict"] = RemotePythonValue(positive_dict) + } + if let transform_max_iter = transform_max_iter { + __kwargs["transform_max_iter"] = RemotePythonValue(transform_max_iter) + } + if let callback = callback { + __kwargs["callback"] = RemotePythonValue(callback) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let max_no_improvement = max_no_improvement { + __kwargs["max_no_improvement"] = RemotePythonValue(max_no_improvement) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "MiniBatchDictionaryLearning", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.decomposition", function: "MiniBatchDictionaryLearning", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchDictionaryLearning(pool: pool, owned: __owned) + } +} + + +public struct PoolPCA: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolPCA { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolPCA(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func score_samples(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_covariance(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_covariance", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_covariance", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_precision(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_precision", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_precision", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolIncrementalPCA: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolIncrementalPCA { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolIncrementalPCA(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolIncrementalPCA { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolIncrementalPCA(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_covariance(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_covariance", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_covariance", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_precision(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_precision", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_precision", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolKernelPCA: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolKernelPCA { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolKernelPCA(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolSparsePCA: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolSparsePCA { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSparsePCA(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolTruncatedSVD: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolTruncatedSVD { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolTruncatedSVD(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolNMF: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolNMF { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolNMF(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolMiniBatchNMF: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMiniBatchNMF { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchNMF(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMiniBatchNMF { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchNMF(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolFastICA: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolFastICA { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolFastICA(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolFactorAnalysis: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolFactorAnalysis { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolFactorAnalysis(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_covariance(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_covariance", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_covariance", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_precision(worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_precision", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_precision", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func score_samples(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolLatentDirichletAllocation: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolLatentDirichletAllocation { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLatentDirichletAllocation(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolLatentDirichletAllocation { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolLatentDirichletAllocation(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func perplexity(X: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "perplexity", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "perplexity", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolDictionaryLearning: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolDictionaryLearning { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolDictionaryLearning(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolMiniBatchDictionaryLearning: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMiniBatchDictionaryLearning { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchDictionaryLearning(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMiniBatchDictionaryLearning { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolMiniBatchDictionaryLearning(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + +// MARK: - Sklearn.Ensemble + +extension PoolSklearn { + /// Pool-bound `sklearn.ensemble` namespace. Calls run on this pool. + public var ensemble: PoolSklearnEnsemble { PoolSklearnEnsemble(pool: pool) } +} + +public struct PoolSklearnEnsemble: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func RandomForestClassifier(n_estimators: Int? = nil, criterion: String? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_features: String? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, bootstrap: Bool? = nil, oob_score: Bool? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, warm_start: Bool? = nil, class_weight: (any PythonConvertible)? = nil, ccp_alpha: Double? = nil, max_samples: Double? = nil, monotonic_cst: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolRandomForestClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let bootstrap = bootstrap { + __kwargs["bootstrap"] = RemotePythonValue(bootstrap) + } + if let oob_score = oob_score { + __kwargs["oob_score"] = RemotePythonValue(oob_score) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + if let max_samples = max_samples { + __kwargs["max_samples"] = RemotePythonValue(max_samples) + } + if let monotonic_cst = monotonic_cst { + __kwargs["monotonic_cst"] = RemotePythonValue(monotonic_cst) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "RandomForestClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "RandomForestClassifier", args: __args, kwargs: __kwargs) + } + return PoolRandomForestClassifier(pool: pool, owned: __owned) + } + + public func RandomForestRegressor(n_estimators: Int? = nil, criterion: String? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_features: Double? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, bootstrap: Bool? = nil, oob_score: Bool? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, warm_start: Bool? = nil, ccp_alpha: Double? = nil, max_samples: Double? = nil, monotonic_cst: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolRandomForestRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let bootstrap = bootstrap { + __kwargs["bootstrap"] = RemotePythonValue(bootstrap) + } + if let oob_score = oob_score { + __kwargs["oob_score"] = RemotePythonValue(oob_score) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + if let max_samples = max_samples { + __kwargs["max_samples"] = RemotePythonValue(max_samples) + } + if let monotonic_cst = monotonic_cst { + __kwargs["monotonic_cst"] = RemotePythonValue(monotonic_cst) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "RandomForestRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "RandomForestRegressor", args: __args, kwargs: __kwargs) + } + return PoolRandomForestRegressor(pool: pool, owned: __owned) + } + + public func ExtraTreesClassifier(n_estimators: Int? = nil, criterion: String? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_features: String? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, bootstrap: Bool? = nil, oob_score: Bool? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, warm_start: Bool? = nil, class_weight: (any PythonConvertible)? = nil, ccp_alpha: Double? = nil, max_samples: Double? = nil, worker: Int? = nil) async throws -> PoolExtraTreesClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let bootstrap = bootstrap { + __kwargs["bootstrap"] = RemotePythonValue(bootstrap) + } + if let oob_score = oob_score { + __kwargs["oob_score"] = RemotePythonValue(oob_score) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + if let max_samples = max_samples { + __kwargs["max_samples"] = RemotePythonValue(max_samples) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "ExtraTreesClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "ExtraTreesClassifier", args: __args, kwargs: __kwargs) + } + return PoolExtraTreesClassifier(pool: pool, owned: __owned) + } + + public func ExtraTreesRegressor(n_estimators: Int? = nil, criterion: String? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_features: Double? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, bootstrap: Bool? = nil, oob_score: Bool? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, warm_start: Bool? = nil, ccp_alpha: Double? = nil, max_samples: Double? = nil, worker: Int? = nil) async throws -> PoolExtraTreesRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let bootstrap = bootstrap { + __kwargs["bootstrap"] = RemotePythonValue(bootstrap) + } + if let oob_score = oob_score { + __kwargs["oob_score"] = RemotePythonValue(oob_score) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + if let max_samples = max_samples { + __kwargs["max_samples"] = RemotePythonValue(max_samples) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "ExtraTreesRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "ExtraTreesRegressor", args: __args, kwargs: __kwargs) + } + return PoolExtraTreesRegressor(pool: pool, owned: __owned) + } + + public func GradientBoostingClassifier(loss: String? = nil, learning_rate: Double? = nil, n_estimators: Int? = nil, subsample: Double? = nil, criterion: String? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_depth: Int? = nil, min_impurity_decrease: Double? = nil, `init`: (any PythonConvertible)? = nil, random_state: Int? = nil, max_features: (any PythonConvertible)? = nil, verbose: Int? = nil, max_leaf_nodes: Int? = nil, warm_start: Bool? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, tol: Double? = nil, ccp_alpha: Double? = nil, worker: Int? = nil) async throws -> PoolGradientBoostingClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let subsample = subsample { + __kwargs["subsample"] = RemotePythonValue(subsample) + } + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "GradientBoostingClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "GradientBoostingClassifier", args: __args, kwargs: __kwargs) + } + return PoolGradientBoostingClassifier(pool: pool, owned: __owned) + } + + public func GradientBoostingRegressor(loss: String? = nil, learning_rate: Double? = nil, n_estimators: Int? = nil, subsample: Double? = nil, criterion: String? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_depth: Int? = nil, min_impurity_decrease: Double? = nil, `init`: (any PythonConvertible)? = nil, random_state: Int? = nil, max_features: (any PythonConvertible)? = nil, alpha: Double? = nil, verbose: Int? = nil, max_leaf_nodes: Int? = nil, warm_start: Bool? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, tol: Double? = nil, ccp_alpha: Double? = nil, worker: Int? = nil) async throws -> PoolGradientBoostingRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let subsample = subsample { + __kwargs["subsample"] = RemotePythonValue(subsample) + } + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let `init` = `init` { + __kwargs["init"] = RemotePythonValue(`init`) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "GradientBoostingRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "GradientBoostingRegressor", args: __args, kwargs: __kwargs) + } + return PoolGradientBoostingRegressor(pool: pool, owned: __owned) + } + + public func HistGradientBoostingClassifier(loss: String? = nil, learning_rate: Double? = nil, max_iter: Int? = nil, max_leaf_nodes: Int? = nil, max_depth: Int? = nil, min_samples_leaf: Int? = nil, l2_regularization: Double? = nil, max_features: Double? = nil, max_bins: Int? = nil, categorical_features: (any PythonConvertible)? = nil, monotonic_cst: (any PythonConvertible)? = nil, interaction_cst: (any PythonConvertible)? = nil, warm_start: Bool? = nil, early_stopping: String? = nil, scoring: String? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, tol: Double? = nil, verbose: Int? = nil, random_state: Int? = nil, class_weight: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolHistGradientBoostingClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let l2_regularization = l2_regularization { + __kwargs["l2_regularization"] = RemotePythonValue(l2_regularization) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let max_bins = max_bins { + __kwargs["max_bins"] = RemotePythonValue(max_bins) + } + if let categorical_features = categorical_features { + __kwargs["categorical_features"] = RemotePythonValue(categorical_features) + } + if let monotonic_cst = monotonic_cst { + __kwargs["monotonic_cst"] = RemotePythonValue(monotonic_cst) + } + if let interaction_cst = interaction_cst { + __kwargs["interaction_cst"] = RemotePythonValue(interaction_cst) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let early_stopping = early_stopping { + __kwargs["early_stopping"] = RemotePythonValue(early_stopping) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "HistGradientBoostingClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "HistGradientBoostingClassifier", args: __args, kwargs: __kwargs) + } + return PoolHistGradientBoostingClassifier(pool: pool, owned: __owned) + } + + public func HistGradientBoostingRegressor(loss: String? = nil, quantile: Double? = nil, learning_rate: Double? = nil, max_iter: Int? = nil, max_leaf_nodes: Int? = nil, max_depth: Int? = nil, min_samples_leaf: Int? = nil, l2_regularization: Double? = nil, max_features: Double? = nil, max_bins: Int? = nil, categorical_features: (any PythonConvertible)? = nil, monotonic_cst: (any PythonConvertible)? = nil, interaction_cst: (any PythonConvertible)? = nil, warm_start: Bool? = nil, early_stopping: String? = nil, scoring: String? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, tol: Double? = nil, verbose: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolHistGradientBoostingRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let quantile = quantile { + __kwargs["quantile"] = RemotePythonValue(quantile) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let l2_regularization = l2_regularization { + __kwargs["l2_regularization"] = RemotePythonValue(l2_regularization) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let max_bins = max_bins { + __kwargs["max_bins"] = RemotePythonValue(max_bins) + } + if let categorical_features = categorical_features { + __kwargs["categorical_features"] = RemotePythonValue(categorical_features) + } + if let monotonic_cst = monotonic_cst { + __kwargs["monotonic_cst"] = RemotePythonValue(monotonic_cst) + } + if let interaction_cst = interaction_cst { + __kwargs["interaction_cst"] = RemotePythonValue(interaction_cst) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let early_stopping = early_stopping { + __kwargs["early_stopping"] = RemotePythonValue(early_stopping) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "HistGradientBoostingRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "HistGradientBoostingRegressor", args: __args, kwargs: __kwargs) + } + return PoolHistGradientBoostingRegressor(pool: pool, owned: __owned) + } + + public func AdaBoostClassifier(estimator: (any PythonConvertible)? = nil, n_estimators: Int? = nil, learning_rate: Double? = nil, algorithm: String? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolAdaBoostClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let estimator = estimator { + __kwargs["estimator"] = RemotePythonValue(estimator) + } + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "AdaBoostClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "AdaBoostClassifier", args: __args, kwargs: __kwargs) + } + return PoolAdaBoostClassifier(pool: pool, owned: __owned) + } + + public func AdaBoostRegressor(estimator: (any PythonConvertible)? = nil, n_estimators: Int? = nil, learning_rate: Double? = nil, loss: String? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolAdaBoostRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let estimator = estimator { + __kwargs["estimator"] = RemotePythonValue(estimator) + } + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "AdaBoostRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "AdaBoostRegressor", args: __args, kwargs: __kwargs) + } + return PoolAdaBoostRegressor(pool: pool, owned: __owned) + } + + public func BaggingClassifier(estimator: (any PythonConvertible)? = nil, n_estimators: Int? = nil, max_samples: Double? = nil, max_features: Double? = nil, bootstrap: Bool? = nil, bootstrap_features: Bool? = nil, oob_score: Bool? = nil, warm_start: Bool? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolBaggingClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let estimator = estimator { + __kwargs["estimator"] = RemotePythonValue(estimator) + } + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let max_samples = max_samples { + __kwargs["max_samples"] = RemotePythonValue(max_samples) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let bootstrap = bootstrap { + __kwargs["bootstrap"] = RemotePythonValue(bootstrap) + } + if let bootstrap_features = bootstrap_features { + __kwargs["bootstrap_features"] = RemotePythonValue(bootstrap_features) + } + if let oob_score = oob_score { + __kwargs["oob_score"] = RemotePythonValue(oob_score) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "BaggingClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "BaggingClassifier", args: __args, kwargs: __kwargs) + } + return PoolBaggingClassifier(pool: pool, owned: __owned) + } + + public func BaggingRegressor(estimator: (any PythonConvertible)? = nil, n_estimators: Int? = nil, max_samples: Double? = nil, max_features: Double? = nil, bootstrap: Bool? = nil, bootstrap_features: Bool? = nil, oob_score: Bool? = nil, warm_start: Bool? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolBaggingRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let estimator = estimator { + __kwargs["estimator"] = RemotePythonValue(estimator) + } + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let max_samples = max_samples { + __kwargs["max_samples"] = RemotePythonValue(max_samples) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let bootstrap = bootstrap { + __kwargs["bootstrap"] = RemotePythonValue(bootstrap) + } + if let bootstrap_features = bootstrap_features { + __kwargs["bootstrap_features"] = RemotePythonValue(bootstrap_features) + } + if let oob_score = oob_score { + __kwargs["oob_score"] = RemotePythonValue(oob_score) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "BaggingRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "BaggingRegressor", args: __args, kwargs: __kwargs) + } + return PoolBaggingRegressor(pool: pool, owned: __owned) + } + + public func VotingClassifier(estimators: PyHandle, voting: String? = nil, weights: [Double]? = nil, n_jobs: Int? = nil, flatten_transform: Bool? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolVotingClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimators)) + var __kwargs: [String: RemotePythonValue] = [:] + if let voting = voting { + __kwargs["voting"] = RemotePythonValue(voting) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let flatten_transform = flatten_transform { + __kwargs["flatten_transform"] = RemotePythonValue(flatten_transform) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "VotingClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "VotingClassifier", args: __args, kwargs: __kwargs) + } + return PoolVotingClassifier(pool: pool, owned: __owned) + } + + public func VotingRegressor(estimators: PyHandle, weights: [Double]? = nil, n_jobs: Int? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolVotingRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimators)) + var __kwargs: [String: RemotePythonValue] = [:] + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "VotingRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "VotingRegressor", args: __args, kwargs: __kwargs) + } + return PoolVotingRegressor(pool: pool, owned: __owned) + } + + public func StackingClassifier(estimators: PyHandle, final_estimator: (any PythonConvertible)? = nil, cv: Int? = nil, stack_method: String? = nil, n_jobs: Int? = nil, passthrough: Bool? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolStackingClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimators)) + var __kwargs: [String: RemotePythonValue] = [:] + if let final_estimator = final_estimator { + __kwargs["final_estimator"] = RemotePythonValue(final_estimator) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let stack_method = stack_method { + __kwargs["stack_method"] = RemotePythonValue(stack_method) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let passthrough = passthrough { + __kwargs["passthrough"] = RemotePythonValue(passthrough) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "StackingClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "StackingClassifier", args: __args, kwargs: __kwargs) + } + return PoolStackingClassifier(pool: pool, owned: __owned) + } + + public func StackingRegressor(estimators: PyHandle, final_estimator: (any PythonConvertible)? = nil, cv: Int? = nil, n_jobs: Int? = nil, passthrough: Bool? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolStackingRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimators)) + var __kwargs: [String: RemotePythonValue] = [:] + if let final_estimator = final_estimator { + __kwargs["final_estimator"] = RemotePythonValue(final_estimator) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let passthrough = passthrough { + __kwargs["passthrough"] = RemotePythonValue(passthrough) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "StackingRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "StackingRegressor", args: __args, kwargs: __kwargs) + } + return PoolStackingRegressor(pool: pool, owned: __owned) + } + + public func IsolationForest(n_estimators: Int? = nil, max_samples: String? = nil, contamination: String? = nil, max_features: Double? = nil, bootstrap: Bool? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, warm_start: Bool? = nil, worker: Int? = nil) async throws -> PoolIsolationForest { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let max_samples = max_samples { + __kwargs["max_samples"] = RemotePythonValue(max_samples) + } + if let contamination = contamination { + __kwargs["contamination"] = RemotePythonValue(contamination) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let bootstrap = bootstrap { + __kwargs["bootstrap"] = RemotePythonValue(bootstrap) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "IsolationForest", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "IsolationForest", args: __args, kwargs: __kwargs) + } + return PoolIsolationForest(pool: pool, owned: __owned) + } + + public func RandomTreesEmbedding(n_estimators: Int? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, sparse_output: Bool? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, warm_start: Bool? = nil, worker: Int? = nil) async throws -> PoolRandomTreesEmbedding { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_estimators = n_estimators { + __kwargs["n_estimators"] = RemotePythonValue(n_estimators) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let sparse_output = sparse_output { + __kwargs["sparse_output"] = RemotePythonValue(sparse_output) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "RandomTreesEmbedding", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.ensemble", function: "RandomTreesEmbedding", args: __args, kwargs: __kwargs) + } + return PoolRandomTreesEmbedding(pool: pool, owned: __owned) + } +} + + +public struct PoolRandomForestClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolRandomForestClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRandomForestClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_path(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolRandomForestRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolRandomForestRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRandomForestRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_path(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolExtraTreesClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolExtraTreesClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolExtraTreesClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_path(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolExtraTreesRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolExtraTreesRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolExtraTreesRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_path(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolGradientBoostingClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolGradientBoostingClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolGradientBoostingClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolGradientBoostingRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolGradientBoostingRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolGradientBoostingRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolHistGradientBoostingClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolHistGradientBoostingClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolHistGradientBoostingClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolHistGradientBoostingRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolHistGradientBoostingRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolHistGradientBoostingRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolAdaBoostClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolAdaBoostClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolAdaBoostClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func staged_score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_score", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_score", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolAdaBoostRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolAdaBoostRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolAdaBoostRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func staged_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func staged_score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "staged_score", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "staged_score", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolBaggingClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolBaggingClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolBaggingClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolBaggingRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolBaggingRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolBaggingRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolVotingClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolVotingClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolVotingClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolVotingRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolVotingRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolVotingRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolStackingClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolStackingClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolStackingClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolStackingRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolStackingRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolStackingRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolIsolationForest: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolIsolationForest { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolIsolationForest(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score_samples(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolRandomTreesEmbedding: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolRandomTreesEmbedding { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRandomTreesEmbedding(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } +} + +// MARK: - Sklearn.LinearModel + +extension PoolSklearn { + /// Pool-bound `sklearn.linear_model` namespace. Calls run on this pool. + public var linearmodel: PoolSklearnLinearmodel { PoolSklearnLinearmodel(pool: pool) } +} + +public struct PoolSklearnLinearmodel: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func lasso_path(X: any PythonConvertible, y: [Double], eps: Double? = nil, n_alphas: Int? = nil, alphas: (any PythonConvertible)? = nil, precompute: String? = nil, copy_X: Bool? = nil, coef_init: (any PythonConvertible)? = nil, verbose: Bool? = nil, return_n_iter: Bool? = nil, positive: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let n_alphas = n_alphas { + __kwargs["n_alphas"] = RemotePythonValue(n_alphas) + } + if let alphas = alphas { + __kwargs["alphas"] = RemotePythonValue(alphas) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let coef_init = coef_init { + __kwargs["coef_init"] = RemotePythonValue(coef_init) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let return_n_iter = return_n_iter { + __kwargs["return_n_iter"] = RemotePythonValue(return_n_iter) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "lasso_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "lasso_path", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func lars_path(X: any PythonConvertible, y: [Double], Xy: (any PythonConvertible)? = nil, Gram: (any PythonConvertible)? = nil, max_iter: Int? = nil, alpha_min: Double? = nil, method: String? = nil, copy_X: Bool? = nil, eps: Double? = nil, copy_Gram: Bool? = nil, verbose: Int? = nil, return_path: Bool? = nil, return_n_iter: Bool? = nil, positive: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + if let Xy = Xy { + __args.append(RemotePythonValue(Xy)) + } + if let Gram = Gram { + __args.append(RemotePythonValue(Gram)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let alpha_min = alpha_min { + __kwargs["alpha_min"] = RemotePythonValue(alpha_min) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let copy_Gram = copy_Gram { + __kwargs["copy_Gram"] = RemotePythonValue(copy_Gram) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let return_path = return_path { + __kwargs["return_path"] = RemotePythonValue(return_path) + } + if let return_n_iter = return_n_iter { + __kwargs["return_n_iter"] = RemotePythonValue(return_n_iter) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "lars_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "lars_path", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func enet_path(X: any PythonConvertible, y: [Double], l1_ratio: Double? = nil, eps: Double? = nil, n_alphas: Int? = nil, alphas: (any PythonConvertible)? = nil, precompute: String? = nil, copy_X: Bool? = nil, coef_init: (any PythonConvertible)? = nil, verbose: Bool? = nil, return_n_iter: Bool? = nil, positive: Bool? = nil, check_input: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let n_alphas = n_alphas { + __kwargs["n_alphas"] = RemotePythonValue(n_alphas) + } + if let alphas = alphas { + __kwargs["alphas"] = RemotePythonValue(alphas) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let coef_init = coef_init { + __kwargs["coef_init"] = RemotePythonValue(coef_init) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let return_n_iter = return_n_iter { + __kwargs["return_n_iter"] = RemotePythonValue(return_n_iter) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let check_input = check_input { + __kwargs["check_input"] = RemotePythonValue(check_input) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "enet_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "enet_path", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func orthogonal_mp(X: any PythonConvertible, y: [Double], n_nonzero_coefs: Int? = nil, tol: Double? = nil, precompute: Bool? = nil, copy_X: Bool? = nil, return_path: Bool? = nil, return_n_iter: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_nonzero_coefs = n_nonzero_coefs { + __kwargs["n_nonzero_coefs"] = RemotePythonValue(n_nonzero_coefs) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let return_path = return_path { + __kwargs["return_path"] = RemotePythonValue(return_path) + } + if let return_n_iter = return_n_iter { + __kwargs["return_n_iter"] = RemotePythonValue(return_n_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "orthogonal_mp", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "orthogonal_mp", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func orthogonal_mp_gram(Gram: any PythonConvertible, Xy: any PythonConvertible, n_nonzero_coefs: Int? = nil, tol: Double? = nil, norms_squared: (any PythonConvertible)? = nil, copy_Gram: Bool? = nil, copy_Xy: Bool? = nil, return_path: Bool? = nil, return_n_iter: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(Gram)) + __args.append(RemotePythonValue(Xy)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_nonzero_coefs = n_nonzero_coefs { + __kwargs["n_nonzero_coefs"] = RemotePythonValue(n_nonzero_coefs) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let norms_squared = norms_squared { + __kwargs["norms_squared"] = RemotePythonValue(norms_squared) + } + if let copy_Gram = copy_Gram { + __kwargs["copy_Gram"] = RemotePythonValue(copy_Gram) + } + if let copy_Xy = copy_Xy { + __kwargs["copy_Xy"] = RemotePythonValue(copy_Xy) + } + if let return_path = return_path { + __kwargs["return_path"] = RemotePythonValue(return_path) + } + if let return_n_iter = return_n_iter { + __kwargs["return_n_iter"] = RemotePythonValue(return_n_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "orthogonal_mp_gram", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "orthogonal_mp_gram", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func ridge_regression(X: any PythonConvertible, y: [Double], alpha: Double, sample_weight: (any PythonConvertible)? = nil, solver: String? = nil, max_iter: Int? = nil, tol: Double? = nil, verbose: Int? = nil, positive: Bool? = nil, random_state: Int? = nil, return_n_iter: Bool? = nil, return_intercept: Bool? = nil, check_input: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + __args.append(RemotePythonValue(alpha)) + if let sample_weight = sample_weight { + __args.append(RemotePythonValue(sample_weight)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let return_n_iter = return_n_iter { + __kwargs["return_n_iter"] = RemotePythonValue(return_n_iter) + } + if let return_intercept = return_intercept { + __kwargs["return_intercept"] = RemotePythonValue(return_intercept) + } + if let check_input = check_input { + __kwargs["check_input"] = RemotePythonValue(check_input) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "ridge_regression", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "ridge_regression", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func LinearRegression(fit_intercept: Bool? = nil, copy_X: Bool? = nil, n_jobs: Int? = nil, positive: Bool? = nil, worker: Int? = nil) async throws -> PoolLinearRegression { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LinearRegression", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LinearRegression", args: __args, kwargs: __kwargs) + } + return PoolLinearRegression(pool: pool, owned: __owned) + } + + public func Ridge(alpha: Double? = nil, fit_intercept: Bool? = nil, copy_X: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, solver: String? = nil, positive: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolRidge { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "Ridge", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "Ridge", args: __args, kwargs: __kwargs) + } + return PoolRidge(pool: pool, owned: __owned) + } + + public func RidgeCV(alphas: (any PythonConvertible)? = nil, fit_intercept: Bool? = nil, scoring: String? = nil, cv: Int? = nil, gcv_mode: String? = nil, store_cv_values: Bool? = nil, alpha_per_target: Bool? = nil, worker: Int? = nil) async throws -> PoolRidgeCV { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alphas = alphas { + __kwargs["alphas"] = RemotePythonValue(alphas) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let gcv_mode = gcv_mode { + __kwargs["gcv_mode"] = RemotePythonValue(gcv_mode) + } + if let store_cv_values = store_cv_values { + __kwargs["store_cv_values"] = RemotePythonValue(store_cv_values) + } + if let alpha_per_target = alpha_per_target { + __kwargs["alpha_per_target"] = RemotePythonValue(alpha_per_target) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "RidgeCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "RidgeCV", args: __args, kwargs: __kwargs) + } + return PoolRidgeCV(pool: pool, owned: __owned) + } + + public func RidgeClassifier(alpha: Double? = nil, fit_intercept: Bool? = nil, copy_X: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, class_weight: (any PythonConvertible)? = nil, solver: String? = nil, positive: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolRidgeClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "RidgeClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "RidgeClassifier", args: __args, kwargs: __kwargs) + } + return PoolRidgeClassifier(pool: pool, owned: __owned) + } + + public func RidgeClassifierCV(alphas: (any PythonConvertible)? = nil, fit_intercept: Bool? = nil, scoring: String? = nil, cv: Int? = nil, class_weight: (any PythonConvertible)? = nil, store_cv_values: Bool? = nil, worker: Int? = nil) async throws -> PoolRidgeClassifierCV { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alphas = alphas { + __kwargs["alphas"] = RemotePythonValue(alphas) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let store_cv_values = store_cv_values { + __kwargs["store_cv_values"] = RemotePythonValue(store_cv_values) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "RidgeClassifierCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "RidgeClassifierCV", args: __args, kwargs: __kwargs) + } + return PoolRidgeClassifierCV(pool: pool, owned: __owned) + } + + public func Lasso(alpha: Double? = nil, fit_intercept: Bool? = nil, precompute: Bool? = nil, copy_X: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, warm_start: Bool? = nil, positive: Bool? = nil, random_state: Int? = nil, selection: String? = nil, worker: Int? = nil) async throws -> PoolLasso { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let selection = selection { + __kwargs["selection"] = RemotePythonValue(selection) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "Lasso", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "Lasso", args: __args, kwargs: __kwargs) + } + return PoolLasso(pool: pool, owned: __owned) + } + + public func LassoCV(eps: Double? = nil, n_alphas: Int? = nil, alphas: (any PythonConvertible)? = nil, fit_intercept: Bool? = nil, precompute: String? = nil, max_iter: Int? = nil, tol: Double? = nil, copy_X: Bool? = nil, cv: Int? = nil, verbose: Bool? = nil, n_jobs: Int? = nil, positive: Bool? = nil, random_state: Int? = nil, selection: String? = nil, worker: Int? = nil) async throws -> PoolLassoCV { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let n_alphas = n_alphas { + __kwargs["n_alphas"] = RemotePythonValue(n_alphas) + } + if let alphas = alphas { + __kwargs["alphas"] = RemotePythonValue(alphas) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let selection = selection { + __kwargs["selection"] = RemotePythonValue(selection) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LassoCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LassoCV", args: __args, kwargs: __kwargs) + } + return PoolLassoCV(pool: pool, owned: __owned) + } + + public func LassoLars(alpha: Double? = nil, fit_intercept: Bool? = nil, verbose: Bool? = nil, precompute: String? = nil, max_iter: Int? = nil, eps: Double? = nil, copy_X: Bool? = nil, fit_path: Bool? = nil, positive: Bool? = nil, jitter: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolLassoLars { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let fit_path = fit_path { + __kwargs["fit_path"] = RemotePythonValue(fit_path) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let jitter = jitter { + __kwargs["jitter"] = RemotePythonValue(jitter) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LassoLars", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LassoLars", args: __args, kwargs: __kwargs) + } + return PoolLassoLars(pool: pool, owned: __owned) + } + + public func LassoLarsCV(fit_intercept: Bool? = nil, verbose: Bool? = nil, max_iter: Int? = nil, precompute: String? = nil, cv: Int? = nil, max_n_alphas: Int? = nil, n_jobs: Int? = nil, eps: Double? = nil, copy_X: Bool? = nil, positive: Bool? = nil, worker: Int? = nil) async throws -> PoolLassoLarsCV { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let max_n_alphas = max_n_alphas { + __kwargs["max_n_alphas"] = RemotePythonValue(max_n_alphas) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LassoLarsCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LassoLarsCV", args: __args, kwargs: __kwargs) + } + return PoolLassoLarsCV(pool: pool, owned: __owned) + } + + public func LassoLarsIC(criterion: String? = nil, fit_intercept: Bool? = nil, verbose: Bool? = nil, precompute: String? = nil, max_iter: Int? = nil, eps: Double? = nil, copy_X: Bool? = nil, positive: Bool? = nil, noise_variance: Double? = nil, worker: Int? = nil) async throws -> PoolLassoLarsIC { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let noise_variance = noise_variance { + __kwargs["noise_variance"] = RemotePythonValue(noise_variance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LassoLarsIC", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LassoLarsIC", args: __args, kwargs: __kwargs) + } + return PoolLassoLarsIC(pool: pool, owned: __owned) + } + + public func ElasticNet(alpha: Double? = nil, l1_ratio: Double? = nil, fit_intercept: Bool? = nil, precompute: Bool? = nil, max_iter: Int? = nil, copy_X: Bool? = nil, tol: Double? = nil, warm_start: Bool? = nil, positive: Bool? = nil, random_state: Int? = nil, selection: String? = nil, worker: Int? = nil) async throws -> PoolElasticNet { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let selection = selection { + __kwargs["selection"] = RemotePythonValue(selection) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "ElasticNet", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "ElasticNet", args: __args, kwargs: __kwargs) + } + return PoolElasticNet(pool: pool, owned: __owned) + } + + public func ElasticNetCV(l1_ratio: Double? = nil, eps: Double? = nil, n_alphas: Int? = nil, alphas: (any PythonConvertible)? = nil, fit_intercept: Bool? = nil, precompute: String? = nil, max_iter: Int? = nil, tol: Double? = nil, cv: Int? = nil, copy_X: Bool? = nil, verbose: Int? = nil, n_jobs: Int? = nil, positive: Bool? = nil, random_state: Int? = nil, selection: String? = nil, worker: Int? = nil) async throws -> PoolElasticNetCV { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let n_alphas = n_alphas { + __kwargs["n_alphas"] = RemotePythonValue(n_alphas) + } + if let alphas = alphas { + __kwargs["alphas"] = RemotePythonValue(alphas) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let positive = positive { + __kwargs["positive"] = RemotePythonValue(positive) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let selection = selection { + __kwargs["selection"] = RemotePythonValue(selection) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "ElasticNetCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "ElasticNetCV", args: __args, kwargs: __kwargs) + } + return PoolElasticNetCV(pool: pool, owned: __owned) + } + + public func MultiTaskLasso(alpha: Double? = nil, fit_intercept: Bool? = nil, copy_X: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, warm_start: Bool? = nil, random_state: Int? = nil, selection: String? = nil, worker: Int? = nil) async throws -> PoolMultiTaskLasso { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let selection = selection { + __kwargs["selection"] = RemotePythonValue(selection) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "MultiTaskLasso", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "MultiTaskLasso", args: __args, kwargs: __kwargs) + } + return PoolMultiTaskLasso(pool: pool, owned: __owned) + } + + public func MultiTaskElasticNet(alpha: Double? = nil, l1_ratio: Double? = nil, fit_intercept: Bool? = nil, copy_X: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, warm_start: Bool? = nil, random_state: Int? = nil, selection: String? = nil, worker: Int? = nil) async throws -> PoolMultiTaskElasticNet { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let selection = selection { + __kwargs["selection"] = RemotePythonValue(selection) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "MultiTaskElasticNet", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "MultiTaskElasticNet", args: __args, kwargs: __kwargs) + } + return PoolMultiTaskElasticNet(pool: pool, owned: __owned) + } + + public func Lars(fit_intercept: Bool? = nil, verbose: Bool? = nil, precompute: String? = nil, n_nonzero_coefs: Int? = nil, eps: Double? = nil, copy_X: Bool? = nil, fit_path: Bool? = nil, jitter: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolLars { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let n_nonzero_coefs = n_nonzero_coefs { + __kwargs["n_nonzero_coefs"] = RemotePythonValue(n_nonzero_coefs) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let fit_path = fit_path { + __kwargs["fit_path"] = RemotePythonValue(fit_path) + } + if let jitter = jitter { + __kwargs["jitter"] = RemotePythonValue(jitter) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "Lars", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "Lars", args: __args, kwargs: __kwargs) + } + return PoolLars(pool: pool, owned: __owned) + } + + public func LarsCV(fit_intercept: Bool? = nil, verbose: Bool? = nil, max_iter: Int? = nil, precompute: String? = nil, cv: Int? = nil, max_n_alphas: Int? = nil, n_jobs: Int? = nil, eps: Double? = nil, copy_X: Bool? = nil, worker: Int? = nil) async throws -> PoolLarsCV { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let max_n_alphas = max_n_alphas { + __kwargs["max_n_alphas"] = RemotePythonValue(max_n_alphas) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LarsCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LarsCV", args: __args, kwargs: __kwargs) + } + return PoolLarsCV(pool: pool, owned: __owned) + } + + public func LogisticRegression(penalty: String? = nil, dual: Bool? = nil, tol: Double? = nil, C: Double? = nil, fit_intercept: Bool? = nil, intercept_scaling: Double? = nil, class_weight: (any PythonConvertible)? = nil, random_state: Int? = nil, solver: String? = nil, max_iter: Int? = nil, multi_class: String? = nil, verbose: Int? = nil, warm_start: Bool? = nil, n_jobs: Int? = nil, l1_ratio: Double? = nil, worker: Int? = nil) async throws -> PoolLogisticRegression { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let penalty = penalty { + __kwargs["penalty"] = RemotePythonValue(penalty) + } + if let dual = dual { + __kwargs["dual"] = RemotePythonValue(dual) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let C = C { + __kwargs["C"] = RemotePythonValue(C) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let intercept_scaling = intercept_scaling { + __kwargs["intercept_scaling"] = RemotePythonValue(intercept_scaling) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let multi_class = multi_class { + __kwargs["multi_class"] = RemotePythonValue(multi_class) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LogisticRegression", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LogisticRegression", args: __args, kwargs: __kwargs) + } + return PoolLogisticRegression(pool: pool, owned: __owned) + } + + public func LogisticRegressionCV(Cs: Int? = nil, fit_intercept: Bool? = nil, cv: Int? = nil, dual: Bool? = nil, penalty: String? = nil, scoring: String? = nil, solver: String? = nil, tol: Double? = nil, max_iter: Int? = nil, class_weight: (any PythonConvertible)? = nil, n_jobs: Int? = nil, verbose: Int? = nil, refit: Bool? = nil, intercept_scaling: Double? = nil, multi_class: String? = nil, random_state: Int? = nil, l1_ratios: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolLogisticRegressionCV { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let Cs = Cs { + __kwargs["Cs"] = RemotePythonValue(Cs) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let dual = dual { + __kwargs["dual"] = RemotePythonValue(dual) + } + if let penalty = penalty { + __kwargs["penalty"] = RemotePythonValue(penalty) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let refit = refit { + __kwargs["refit"] = RemotePythonValue(refit) + } + if let intercept_scaling = intercept_scaling { + __kwargs["intercept_scaling"] = RemotePythonValue(intercept_scaling) + } + if let multi_class = multi_class { + __kwargs["multi_class"] = RemotePythonValue(multi_class) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let l1_ratios = l1_ratios { + __kwargs["l1_ratios"] = RemotePythonValue(l1_ratios) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LogisticRegressionCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "LogisticRegressionCV", args: __args, kwargs: __kwargs) + } + return PoolLogisticRegressionCV(pool: pool, owned: __owned) + } + + public func SGDClassifier(loss: String? = nil, penalty: String? = nil, alpha: Double? = nil, l1_ratio: Double? = nil, fit_intercept: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, shuffle: Bool? = nil, verbose: Int? = nil, epsilon: Double? = nil, n_jobs: Int? = nil, random_state: Int? = nil, learning_rate: String? = nil, eta0: Double? = nil, power_t: Double? = nil, early_stopping: Bool? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, class_weight: (any PythonConvertible)? = nil, warm_start: Bool? = nil, average: Bool? = nil, worker: Int? = nil) async throws -> PoolSGDClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let penalty = penalty { + __kwargs["penalty"] = RemotePythonValue(penalty) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let epsilon = epsilon { + __kwargs["epsilon"] = RemotePythonValue(epsilon) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let eta0 = eta0 { + __kwargs["eta0"] = RemotePythonValue(eta0) + } + if let power_t = power_t { + __kwargs["power_t"] = RemotePythonValue(power_t) + } + if let early_stopping = early_stopping { + __kwargs["early_stopping"] = RemotePythonValue(early_stopping) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "SGDClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "SGDClassifier", args: __args, kwargs: __kwargs) + } + return PoolSGDClassifier(pool: pool, owned: __owned) + } + + public func SGDRegressor(loss: String? = nil, penalty: String? = nil, alpha: Double? = nil, l1_ratio: Double? = nil, fit_intercept: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, shuffle: Bool? = nil, verbose: Int? = nil, epsilon: Double? = nil, random_state: Int? = nil, learning_rate: String? = nil, eta0: Double? = nil, power_t: Double? = nil, early_stopping: Bool? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, warm_start: Bool? = nil, average: Bool? = nil, worker: Int? = nil) async throws -> PoolSGDRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let penalty = penalty { + __kwargs["penalty"] = RemotePythonValue(penalty) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let epsilon = epsilon { + __kwargs["epsilon"] = RemotePythonValue(epsilon) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let eta0 = eta0 { + __kwargs["eta0"] = RemotePythonValue(eta0) + } + if let power_t = power_t { + __kwargs["power_t"] = RemotePythonValue(power_t) + } + if let early_stopping = early_stopping { + __kwargs["early_stopping"] = RemotePythonValue(early_stopping) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "SGDRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "SGDRegressor", args: __args, kwargs: __kwargs) + } + return PoolSGDRegressor(pool: pool, owned: __owned) + } + + public func SGDOneClassSVM(nu: Double? = nil, fit_intercept: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, shuffle: Bool? = nil, verbose: Int? = nil, random_state: Int? = nil, learning_rate: String? = nil, eta0: Double? = nil, power_t: Double? = nil, warm_start: Bool? = nil, average: Bool? = nil, worker: Int? = nil) async throws -> PoolSGDOneClassSVM { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let nu = nu { + __kwargs["nu"] = RemotePythonValue(nu) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let learning_rate = learning_rate { + __kwargs["learning_rate"] = RemotePythonValue(learning_rate) + } + if let eta0 = eta0 { + __kwargs["eta0"] = RemotePythonValue(eta0) + } + if let power_t = power_t { + __kwargs["power_t"] = RemotePythonValue(power_t) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "SGDOneClassSVM", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "SGDOneClassSVM", args: __args, kwargs: __kwargs) + } + return PoolSGDOneClassSVM(pool: pool, owned: __owned) + } + + public func Perceptron(penalty: String? = nil, alpha: Double? = nil, l1_ratio: Double? = nil, fit_intercept: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, shuffle: Bool? = nil, verbose: Int? = nil, eta0: Double? = nil, n_jobs: Int? = nil, random_state: Int? = nil, early_stopping: Bool? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, class_weight: (any PythonConvertible)? = nil, warm_start: Bool? = nil, worker: Int? = nil) async throws -> PoolPerceptron { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let penalty = penalty { + __kwargs["penalty"] = RemotePythonValue(penalty) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let l1_ratio = l1_ratio { + __kwargs["l1_ratio"] = RemotePythonValue(l1_ratio) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let eta0 = eta0 { + __kwargs["eta0"] = RemotePythonValue(eta0) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let early_stopping = early_stopping { + __kwargs["early_stopping"] = RemotePythonValue(early_stopping) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "Perceptron", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "Perceptron", args: __args, kwargs: __kwargs) + } + return PoolPerceptron(pool: pool, owned: __owned) + } + + public func PassiveAggressiveClassifier(C: Double? = nil, fit_intercept: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, early_stopping: Bool? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, shuffle: Bool? = nil, verbose: Int? = nil, loss: String? = nil, n_jobs: Int? = nil, random_state: Int? = nil, warm_start: Bool? = nil, class_weight: (any PythonConvertible)? = nil, average: Bool? = nil, worker: Int? = nil) async throws -> PoolPassiveAggressiveClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let C = C { + __kwargs["C"] = RemotePythonValue(C) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let early_stopping = early_stopping { + __kwargs["early_stopping"] = RemotePythonValue(early_stopping) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "PassiveAggressiveClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "PassiveAggressiveClassifier", args: __args, kwargs: __kwargs) + } + return PoolPassiveAggressiveClassifier(pool: pool, owned: __owned) + } + + public func PassiveAggressiveRegressor(C: Double? = nil, fit_intercept: Bool? = nil, max_iter: Int? = nil, tol: Double? = nil, early_stopping: Bool? = nil, validation_fraction: Double? = nil, n_iter_no_change: Int? = nil, shuffle: Bool? = nil, verbose: Int? = nil, loss: String? = nil, epsilon: Double? = nil, random_state: Int? = nil, warm_start: Bool? = nil, average: Bool? = nil, worker: Int? = nil) async throws -> PoolPassiveAggressiveRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let C = C { + __kwargs["C"] = RemotePythonValue(C) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let early_stopping = early_stopping { + __kwargs["early_stopping"] = RemotePythonValue(early_stopping) + } + if let validation_fraction = validation_fraction { + __kwargs["validation_fraction"] = RemotePythonValue(validation_fraction) + } + if let n_iter_no_change = n_iter_no_change { + __kwargs["n_iter_no_change"] = RemotePythonValue(n_iter_no_change) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let epsilon = epsilon { + __kwargs["epsilon"] = RemotePythonValue(epsilon) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "PassiveAggressiveRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "PassiveAggressiveRegressor", args: __args, kwargs: __kwargs) + } + return PoolPassiveAggressiveRegressor(pool: pool, owned: __owned) + } + + public func BayesianRidge(max_iter: Int? = nil, tol: Double? = nil, alpha_1: Double? = nil, alpha_2: Double? = nil, lambda_1: Double? = nil, lambda_2: Double? = nil, alpha_init: Double? = nil, lambda_init: Double? = nil, compute_score: Bool? = nil, fit_intercept: Bool? = nil, copy_X: Bool? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolBayesianRidge { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let alpha_1 = alpha_1 { + __kwargs["alpha_1"] = RemotePythonValue(alpha_1) + } + if let alpha_2 = alpha_2 { + __kwargs["alpha_2"] = RemotePythonValue(alpha_2) + } + if let lambda_1 = lambda_1 { + __kwargs["lambda_1"] = RemotePythonValue(lambda_1) + } + if let lambda_2 = lambda_2 { + __kwargs["lambda_2"] = RemotePythonValue(lambda_2) + } + if let alpha_init = alpha_init { + __kwargs["alpha_init"] = RemotePythonValue(alpha_init) + } + if let lambda_init = lambda_init { + __kwargs["lambda_init"] = RemotePythonValue(lambda_init) + } + if let compute_score = compute_score { + __kwargs["compute_score"] = RemotePythonValue(compute_score) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "BayesianRidge", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "BayesianRidge", args: __args, kwargs: __kwargs) + } + return PoolBayesianRidge(pool: pool, owned: __owned) + } + + public func ARDRegression(max_iter: Int? = nil, tol: Double? = nil, alpha_1: Double? = nil, alpha_2: Double? = nil, lambda_1: Double? = nil, lambda_2: Double? = nil, compute_score: Bool? = nil, threshold_lambda: Double? = nil, fit_intercept: Bool? = nil, copy_X: Bool? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolARDRegression { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let alpha_1 = alpha_1 { + __kwargs["alpha_1"] = RemotePythonValue(alpha_1) + } + if let alpha_2 = alpha_2 { + __kwargs["alpha_2"] = RemotePythonValue(alpha_2) + } + if let lambda_1 = lambda_1 { + __kwargs["lambda_1"] = RemotePythonValue(lambda_1) + } + if let lambda_2 = lambda_2 { + __kwargs["lambda_2"] = RemotePythonValue(lambda_2) + } + if let compute_score = compute_score { + __kwargs["compute_score"] = RemotePythonValue(compute_score) + } + if let threshold_lambda = threshold_lambda { + __kwargs["threshold_lambda"] = RemotePythonValue(threshold_lambda) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "ARDRegression", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "ARDRegression", args: __args, kwargs: __kwargs) + } + return PoolARDRegression(pool: pool, owned: __owned) + } + + public func HuberRegressor(epsilon: Double? = nil, max_iter: Int? = nil, alpha: Double? = nil, warm_start: Bool? = nil, fit_intercept: Bool? = nil, tol: Double? = nil, worker: Int? = nil) async throws -> PoolHuberRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let epsilon = epsilon { + __kwargs["epsilon"] = RemotePythonValue(epsilon) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "HuberRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "HuberRegressor", args: __args, kwargs: __kwargs) + } + return PoolHuberRegressor(pool: pool, owned: __owned) + } + + public func QuantileRegressor(quantile: Double? = nil, alpha: Double? = nil, fit_intercept: Bool? = nil, solver: String? = nil, solver_options: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolQuantileRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let quantile = quantile { + __kwargs["quantile"] = RemotePythonValue(quantile) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let solver_options = solver_options { + __kwargs["solver_options"] = RemotePythonValue(solver_options) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "QuantileRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "QuantileRegressor", args: __args, kwargs: __kwargs) + } + return PoolQuantileRegressor(pool: pool, owned: __owned) + } + + public func RANSACRegressor(estimator: (any PythonConvertible)? = nil, min_samples: Int? = nil, residual_threshold: Double? = nil, is_data_valid: (any PythonConvertible)? = nil, is_model_valid: (any PythonConvertible)? = nil, max_trials: Int? = nil, max_skips: Int? = nil, stop_n_inliers: Int? = nil, stop_score: Double? = nil, stop_probability: Double? = nil, loss: String? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolRANSACRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let estimator = estimator { + __kwargs["estimator"] = RemotePythonValue(estimator) + } + if let min_samples = min_samples { + __kwargs["min_samples"] = RemotePythonValue(min_samples) + } + if let residual_threshold = residual_threshold { + __kwargs["residual_threshold"] = RemotePythonValue(residual_threshold) + } + if let is_data_valid = is_data_valid { + __kwargs["is_data_valid"] = RemotePythonValue(is_data_valid) + } + if let is_model_valid = is_model_valid { + __kwargs["is_model_valid"] = RemotePythonValue(is_model_valid) + } + if let max_trials = max_trials { + __kwargs["max_trials"] = RemotePythonValue(max_trials) + } + if let max_skips = max_skips { + __kwargs["max_skips"] = RemotePythonValue(max_skips) + } + if let stop_n_inliers = stop_n_inliers { + __kwargs["stop_n_inliers"] = RemotePythonValue(stop_n_inliers) + } + if let stop_score = stop_score { + __kwargs["stop_score"] = RemotePythonValue(stop_score) + } + if let stop_probability = stop_probability { + __kwargs["stop_probability"] = RemotePythonValue(stop_probability) + } + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "RANSACRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "RANSACRegressor", args: __args, kwargs: __kwargs) + } + return PoolRANSACRegressor(pool: pool, owned: __owned) + } + + public func TheilSenRegressor(fit_intercept: Bool? = nil, copy_X: Bool? = nil, max_subpopulation: Int? = nil, n_subsamples: Int? = nil, max_iter: Int? = nil, tol: Double? = nil, random_state: Int? = nil, n_jobs: Int? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolTheilSenRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let copy_X = copy_X { + __kwargs["copy_X"] = RemotePythonValue(copy_X) + } + if let max_subpopulation = max_subpopulation { + __kwargs["max_subpopulation"] = RemotePythonValue(max_subpopulation) + } + if let n_subsamples = n_subsamples { + __kwargs["n_subsamples"] = RemotePythonValue(n_subsamples) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "TheilSenRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "TheilSenRegressor", args: __args, kwargs: __kwargs) + } + return PoolTheilSenRegressor(pool: pool, owned: __owned) + } + + public func OrthogonalMatchingPursuit(n_nonzero_coefs: Int? = nil, tol: Double? = nil, fit_intercept: Bool? = nil, precompute: String? = nil, worker: Int? = nil) async throws -> PoolOrthogonalMatchingPursuit { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_nonzero_coefs = n_nonzero_coefs { + __kwargs["n_nonzero_coefs"] = RemotePythonValue(n_nonzero_coefs) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let precompute = precompute { + __kwargs["precompute"] = RemotePythonValue(precompute) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "OrthogonalMatchingPursuit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "OrthogonalMatchingPursuit", args: __args, kwargs: __kwargs) + } + return PoolOrthogonalMatchingPursuit(pool: pool, owned: __owned) + } + + public func OrthogonalMatchingPursuitCV(copy: Bool? = nil, fit_intercept: Bool? = nil, max_iter: Int? = nil, cv: Int? = nil, n_jobs: Int? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolOrthogonalMatchingPursuitCV { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "OrthogonalMatchingPursuitCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "OrthogonalMatchingPursuitCV", args: __args, kwargs: __kwargs) + } + return PoolOrthogonalMatchingPursuitCV(pool: pool, owned: __owned) + } + + public func TweedieRegressor(power: Double? = nil, alpha: Double? = nil, fit_intercept: Bool? = nil, link: String? = nil, solver: String? = nil, max_iter: Int? = nil, tol: Double? = nil, warm_start: Bool? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolTweedieRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let power = power { + __kwargs["power"] = RemotePythonValue(power) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let link = link { + __kwargs["link"] = RemotePythonValue(link) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "TweedieRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "TweedieRegressor", args: __args, kwargs: __kwargs) + } + return PoolTweedieRegressor(pool: pool, owned: __owned) + } + + public func PoissonRegressor(alpha: Double? = nil, fit_intercept: Bool? = nil, solver: String? = nil, max_iter: Int? = nil, tol: Double? = nil, warm_start: Bool? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolPoissonRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "PoissonRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "PoissonRegressor", args: __args, kwargs: __kwargs) + } + return PoolPoissonRegressor(pool: pool, owned: __owned) + } + + public func GammaRegressor(alpha: Double? = nil, fit_intercept: Bool? = nil, solver: String? = nil, max_iter: Int? = nil, tol: Double? = nil, warm_start: Bool? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolGammaRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let solver = solver { + __kwargs["solver"] = RemotePythonValue(solver) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let warm_start = warm_start { + __kwargs["warm_start"] = RemotePythonValue(warm_start) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "GammaRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.linear_model", function: "GammaRegressor", args: __args, kwargs: __kwargs) + } + return PoolGammaRegressor(pool: pool, owned: __owned) + } +} + + +public struct PoolLinearRegression: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLinearRegression { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLinearRegression(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolRidge: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolRidge { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRidge(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolRidgeCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolRidgeCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRidgeCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolRidgeClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolRidgeClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRidgeClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolRidgeClassifierCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolRidgeClassifierCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRidgeClassifierCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLasso: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLasso { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLasso(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLassoCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLassoCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLassoCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLassoLars: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLassoLars { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLassoLars(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLassoLarsCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLassoLarsCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLassoLarsCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLassoLarsIC: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLassoLarsIC { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLassoLarsIC(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolElasticNet: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolElasticNet { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolElasticNet(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolElasticNetCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolElasticNetCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolElasticNetCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolMultiTaskLasso: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> PoolMultiTaskLasso { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMultiTaskLasso(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolMultiTaskElasticNet: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> PoolMultiTaskElasticNet { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMultiTaskElasticNet(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLars: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLars { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLars(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLarsCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLarsCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLarsCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLogisticRegression: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolLogisticRegression { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLogisticRegression(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLogisticRegressionCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolLogisticRegressionCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLogisticRegressionCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolSGDClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolSGDClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSGDClassifier(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Int], classes: [Int]? = nil, worker: Int? = nil) async throws -> PoolSGDClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolSGDClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolSGDRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolSGDRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSGDRegressor(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolSGDRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolSGDRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolSGDOneClassSVM: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolSGDOneClassSVM { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSGDOneClassSVM(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolSGDOneClassSVM { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolSGDOneClassSVM(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score_samples(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolPerceptron: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolPerceptron { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolPerceptron(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Int], classes: [Int]? = nil, worker: Int? = nil) async throws -> PoolPerceptron { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolPerceptron(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolPassiveAggressiveClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolPassiveAggressiveClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolPassiveAggressiveClassifier(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Int], classes: [Int]? = nil, worker: Int? = nil) async throws -> PoolPassiveAggressiveClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolPassiveAggressiveClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolPassiveAggressiveRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolPassiveAggressiveRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolPassiveAggressiveRegressor(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolPassiveAggressiveRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolPassiveAggressiveRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolBayesianRidge: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolBayesianRidge { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolBayesianRidge(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, return_std: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let return_std = return_std { + __kwargs["return_std"] = RemotePythonValue(return_std) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolARDRegression: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolARDRegression { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolARDRegression(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, return_std: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let return_std = return_std { + __kwargs["return_std"] = RemotePythonValue(return_std) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolHuberRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolHuberRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolHuberRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolQuantileRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolQuantileRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolQuantileRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolRANSACRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolRANSACRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRANSACRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolTheilSenRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolTheilSenRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolTheilSenRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolOrthogonalMatchingPursuit: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolOrthogonalMatchingPursuit { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolOrthogonalMatchingPursuit(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolOrthogonalMatchingPursuitCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolOrthogonalMatchingPursuitCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolOrthogonalMatchingPursuitCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolTweedieRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolTweedieRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolTweedieRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolPoissonRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolPoissonRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolPoissonRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolGammaRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolGammaRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolGammaRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + +// MARK: - Sklearn.Metrics + +extension PoolSklearn { + /// Pool-bound `sklearn.metrics` namespace. Calls run on this pool. + public var metrics: PoolSklearnMetrics { PoolSklearnMetrics(pool: pool) } +} + +public struct PoolSklearnMetrics: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func accuracy_score(y_true: [Int], y_pred: [Int], normalize: Bool? = nil, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "accuracy_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "accuracy_score", args: __args, kwargs: __kwargs) + } + + public func balanced_accuracy_score(y_true: [Int], y_pred: [Int], sample_weight: [Double]? = nil, adjusted: Bool? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let adjusted = adjusted { + __kwargs["adjusted"] = RemotePythonValue(adjusted) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "balanced_accuracy_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "balanced_accuracy_score", args: __args, kwargs: __kwargs) + } + + public func precision_score(y_true: [Int], y_pred: [Int], labels: [Int]? = nil, pos_label: Int? = nil, average: String? = nil, sample_weight: [Double]? = nil, zero_division: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let zero_division = zero_division { + __kwargs["zero_division"] = RemotePythonValue(zero_division) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "precision_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "precision_score", args: __args, kwargs: __kwargs) + } + + public func recall_score(y_true: [Int], y_pred: [Int], labels: [Int]? = nil, pos_label: Int? = nil, average: String? = nil, sample_weight: [Double]? = nil, zero_division: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let zero_division = zero_division { + __kwargs["zero_division"] = RemotePythonValue(zero_division) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "recall_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "recall_score", args: __args, kwargs: __kwargs) + } + + public func f1_score(y_true: [Int], y_pred: [Int], labels: [Int]? = nil, pos_label: Int? = nil, average: String? = nil, sample_weight: [Double]? = nil, zero_division: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let zero_division = zero_division { + __kwargs["zero_division"] = RemotePythonValue(zero_division) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "f1_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "f1_score", args: __args, kwargs: __kwargs) + } + + public func fbeta_score(y_true: [Int], y_pred: [Int], beta: Double, labels: [Int]? = nil, pos_label: Int? = nil, average: String? = nil, sample_weight: [Double]? = nil, zero_division: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + __args.append(RemotePythonValue(beta)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let zero_division = zero_division { + __kwargs["zero_division"] = RemotePythonValue(zero_division) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "fbeta_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "fbeta_score", args: __args, kwargs: __kwargs) + } + + public func precision_recall_fscore_support(y_true: [Int], y_pred: [Int], beta: Double? = nil, labels: [Int]? = nil, pos_label: Int? = nil, average: String? = nil, warn_for: (any PythonConvertible)? = nil, sample_weight: [Double]? = nil, zero_division: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let beta = beta { + __kwargs["beta"] = RemotePythonValue(beta) + } + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + if let warn_for = warn_for { + __kwargs["warn_for"] = RemotePythonValue(warn_for) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let zero_division = zero_division { + __kwargs["zero_division"] = RemotePythonValue(zero_division) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "precision_recall_fscore_support", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "precision_recall_fscore_support", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func classification_report(y_true: [Int], y_pred: [Int], labels: [Int]? = nil, target_names: [String]? = nil, sample_weight: [Double]? = nil, digits: Int? = nil, output_dict: Bool? = nil, zero_division: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let target_names = target_names { + __kwargs["target_names"] = RemotePythonValue(target_names) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let digits = digits { + __kwargs["digits"] = RemotePythonValue(digits) + } + if let output_dict = output_dict { + __kwargs["output_dict"] = RemotePythonValue(output_dict) + } + if let zero_division = zero_division { + __kwargs["zero_division"] = RemotePythonValue(zero_division) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "classification_report", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "classification_report", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func confusion_matrix(y_true: [Int], y_pred: [Int], labels: [Int]? = nil, sample_weight: [Double]? = nil, normalize: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "confusion_matrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "confusion_matrix", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func multilabel_confusion_matrix(y_true: [Int], y_pred: [Int], sample_weight: [Double]? = nil, labels: [Int]? = nil, samplewise: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let samplewise = samplewise { + __kwargs["samplewise"] = RemotePythonValue(samplewise) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "multilabel_confusion_matrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "multilabel_confusion_matrix", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func roc_auc_score(y_true: [Int], y_score: any PythonConvertible, average: String? = nil, sample_weight: [Double]? = nil, max_fpr: Double? = nil, multi_class: String? = nil, labels: [Int]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let max_fpr = max_fpr { + __kwargs["max_fpr"] = RemotePythonValue(max_fpr) + } + if let multi_class = multi_class { + __kwargs["multi_class"] = RemotePythonValue(multi_class) + } + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "roc_auc_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "roc_auc_score", args: __args, kwargs: __kwargs) + } + + public func roc_curve(y_true: [Int], y_score: [Double], pos_label: Int? = nil, sample_weight: [Double]? = nil, drop_intermediate: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let drop_intermediate = drop_intermediate { + __kwargs["drop_intermediate"] = RemotePythonValue(drop_intermediate) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "roc_curve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "roc_curve", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func auc(x: [Double], y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(x)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "auc", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "auc", args: __args, kwargs: __kwargs) + } + + public func average_precision_score(y_true: [Int], y_score: [Double], average: String? = nil, pos_label: Int? = nil, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "average_precision_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "average_precision_score", args: __args, kwargs: __kwargs) + } + + public func precision_recall_curve(y_true: [Int], y_score: [Double], pos_label: Int? = nil, sample_weight: [Double]? = nil, drop_intermediate: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let drop_intermediate = drop_intermediate { + __kwargs["drop_intermediate"] = RemotePythonValue(drop_intermediate) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "precision_recall_curve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "precision_recall_curve", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func det_curve(y_true: [Int], y_score: [Double], pos_label: Int? = nil, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "det_curve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "det_curve", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func log_loss(y_true: [Int], y_pred: any PythonConvertible, eps: String? = nil, normalize: Bool? = nil, sample_weight: [Double]? = nil, labels: [Int]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "log_loss", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "log_loss", args: __args, kwargs: __kwargs) + } + + public func brier_score_loss(y_true: [Int], y_prob: [Double], sample_weight: [Double]? = nil, pos_label: Int? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_prob)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "brier_score_loss", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "brier_score_loss", args: __args, kwargs: __kwargs) + } + + public func hinge_loss(y_true: [Int], pred_decision: [Double], labels: [Int]? = nil, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(pred_decision)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "hinge_loss", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "hinge_loss", args: __args, kwargs: __kwargs) + } + + public func jaccard_score(y_true: [Int], y_pred: [Int], labels: [Int]? = nil, pos_label: Int? = nil, average: String? = nil, sample_weight: [Double]? = nil, zero_division: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let average = average { + __kwargs["average"] = RemotePythonValue(average) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let zero_division = zero_division { + __kwargs["zero_division"] = RemotePythonValue(zero_division) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "jaccard_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "jaccard_score", args: __args, kwargs: __kwargs) + } + + public func matthews_corrcoef(y_true: [Int], y_pred: [Int], sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "matthews_corrcoef", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "matthews_corrcoef", args: __args, kwargs: __kwargs) + } + + public func cohen_kappa_score(y1: [Int], y2: [Int], labels: [Int]? = nil, weights: String? = nil, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y1)) + __args.append(RemotePythonValue(y2)) + var __kwargs: [String: RemotePythonValue] = [:] + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "cohen_kappa_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "cohen_kappa_score", args: __args, kwargs: __kwargs) + } + + public func hamming_loss(y_true: [Int], y_pred: [Int], sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "hamming_loss", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "hamming_loss", args: __args, kwargs: __kwargs) + } + + public func zero_one_loss(y_true: [Int], y_pred: [Int], normalize: Bool? = nil, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "zero_one_loss", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "zero_one_loss", args: __args, kwargs: __kwargs) + } + + public func top_k_accuracy_score(y_true: [Int], y_score: any PythonConvertible, k: Int? = nil, normalize: Bool? = nil, sample_weight: [Double]? = nil, labels: [Int]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + if let normalize = normalize { + __kwargs["normalize"] = RemotePythonValue(normalize) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "top_k_accuracy_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "top_k_accuracy_score", args: __args, kwargs: __kwargs) + } + + public func d2_log_loss_score(y_true: [Int], y_pred: any PythonConvertible, sample_weight: [Double]? = nil, labels: [Int]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let labels = labels { + __kwargs["labels"] = RemotePythonValue(labels) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "d2_log_loss_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "d2_log_loss_score", args: __args, kwargs: __kwargs) + } + + public func mean_squared_error(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, squared: Bool? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let squared = squared { + __kwargs["squared"] = RemotePythonValue(squared) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_squared_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_squared_error", args: __args, kwargs: __kwargs) + } + + public func mean_absolute_error(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_absolute_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_absolute_error", args: __args, kwargs: __kwargs) + } + + public func mean_absolute_percentage_error(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_absolute_percentage_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_absolute_percentage_error", args: __args, kwargs: __kwargs) + } + + public func median_absolute_error(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "median_absolute_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "median_absolute_error", args: __args, kwargs: __kwargs) + } + + public func r2_score(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, force_finite: Bool? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let force_finite = force_finite { + __kwargs["force_finite"] = RemotePythonValue(force_finite) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "r2_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "r2_score", args: __args, kwargs: __kwargs) + } + + public func explained_variance_score(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, force_finite: Bool? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let force_finite = force_finite { + __kwargs["force_finite"] = RemotePythonValue(force_finite) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "explained_variance_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "explained_variance_score", args: __args, kwargs: __kwargs) + } + + public func max_error(y_true: [Double], y_pred: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "max_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "max_error", args: __args, kwargs: __kwargs) + } + + public func mean_squared_log_error(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, squared: Bool? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let squared = squared { + __kwargs["squared"] = RemotePythonValue(squared) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_squared_log_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_squared_log_error", args: __args, kwargs: __kwargs) + } + + public func root_mean_squared_error(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "root_mean_squared_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "root_mean_squared_error", args: __args, kwargs: __kwargs) + } + + public func root_mean_squared_log_error(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "root_mean_squared_log_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "root_mean_squared_log_error", args: __args, kwargs: __kwargs) + } + + public func mean_poisson_deviance(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_poisson_deviance", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_poisson_deviance", args: __args, kwargs: __kwargs) + } + + public func mean_gamma_deviance(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_gamma_deviance", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_gamma_deviance", args: __args, kwargs: __kwargs) + } + + public func mean_tweedie_deviance(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, power: Double? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let power = power { + __kwargs["power"] = RemotePythonValue(power) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_tweedie_deviance", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_tweedie_deviance", args: __args, kwargs: __kwargs) + } + + public func d2_tweedie_score(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, power: Double? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let power = power { + __kwargs["power"] = RemotePythonValue(power) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "d2_tweedie_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "d2_tweedie_score", args: __args, kwargs: __kwargs) + } + + public func d2_pinball_score(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, alpha: Double? = nil, multioutput: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "d2_pinball_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "d2_pinball_score", args: __args, kwargs: __kwargs) + } + + public func d2_absolute_error_score(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, multioutput: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "d2_absolute_error_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "d2_absolute_error_score", args: __args, kwargs: __kwargs) + } + + public func mean_pinball_loss(y_true: [Double], y_pred: [Double], sample_weight: [Double]? = nil, alpha: Double? = nil, multioutput: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let multioutput = multioutput { + __kwargs["multioutput"] = RemotePythonValue(multioutput) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_pinball_loss", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mean_pinball_loss", args: __args, kwargs: __kwargs) + } + + public func adjusted_rand_score(labels_true: [Int], labels_pred: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "adjusted_rand_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "adjusted_rand_score", args: __args, kwargs: __kwargs) + } + + public func rand_score(labels_true: [Int], labels_pred: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "rand_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "rand_score", args: __args, kwargs: __kwargs) + } + + public func adjusted_mutual_info_score(labels_true: [Int], labels_pred: [Int], average_method: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let average_method = average_method { + __kwargs["average_method"] = RemotePythonValue(average_method) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "adjusted_mutual_info_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "adjusted_mutual_info_score", args: __args, kwargs: __kwargs) + } + + public func mutual_info_score(labels_true: [Int], labels_pred: [Int], contingency: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + if let contingency = contingency { + __args.append(RemotePythonValue(contingency)) + } + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "mutual_info_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "mutual_info_score", args: __args, kwargs: __kwargs) + } + + public func normalized_mutual_info_score(labels_true: [Int], labels_pred: [Int], average_method: String? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let average_method = average_method { + __kwargs["average_method"] = RemotePythonValue(average_method) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "normalized_mutual_info_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "normalized_mutual_info_score", args: __args, kwargs: __kwargs) + } + + public func homogeneity_score(labels_true: [Int], labels_pred: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "homogeneity_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "homogeneity_score", args: __args, kwargs: __kwargs) + } + + public func completeness_score(labels_true: [Int], labels_pred: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "completeness_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "completeness_score", args: __args, kwargs: __kwargs) + } + + public func v_measure_score(labels_true: [Int], labels_pred: [Int], beta: Double? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let beta = beta { + __kwargs["beta"] = RemotePythonValue(beta) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "v_measure_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "v_measure_score", args: __args, kwargs: __kwargs) + } + + public func homogeneity_completeness_v_measure(labels_true: [Int], labels_pred: [Int], beta: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let beta = beta { + __kwargs["beta"] = RemotePythonValue(beta) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "homogeneity_completeness_v_measure", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "homogeneity_completeness_v_measure", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fowlkes_mallows_score(labels_true: [Int], labels_pred: [Int], sparse: Bool? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sparse = sparse { + __kwargs["sparse"] = RemotePythonValue(sparse) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "fowlkes_mallows_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "fowlkes_mallows_score", args: __args, kwargs: __kwargs) + } + + public func silhouette_score(X: any PythonConvertible, labels: [Int], metric: String? = nil, sample_size: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(labels)) + var __kwargs: [String: RemotePythonValue] = [:] + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let sample_size = sample_size { + __kwargs["sample_size"] = RemotePythonValue(sample_size) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "silhouette_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "silhouette_score", args: __args, kwargs: __kwargs) + } + + public func silhouette_samples(X: any PythonConvertible, labels: [Int], metric: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(labels)) + var __kwargs: [String: RemotePythonValue] = [:] + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "silhouette_samples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "silhouette_samples", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func calinski_harabasz_score(X: any PythonConvertible, labels: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(labels)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "calinski_harabasz_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "calinski_harabasz_score", args: __args, kwargs: __kwargs) + } + + public func davies_bouldin_score(X: any PythonConvertible, labels: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(labels)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "davies_bouldin_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "davies_bouldin_score", args: __args, kwargs: __kwargs) + } + + public func contingency_matrix(labels_true: [Int], labels_pred: [Int], eps: Double? = nil, sparse: Bool? = nil, dtype: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + var __kwargs: [String: RemotePythonValue] = [:] + if let eps = eps { + __kwargs["eps"] = RemotePythonValue(eps) + } + if let sparse = sparse { + __kwargs["sparse"] = RemotePythonValue(sparse) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "contingency_matrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "contingency_matrix", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func pair_confusion_matrix(labels_true: [Int], labels_pred: [Int], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(labels_true)) + __args.append(RemotePythonValue(labels_pred)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "pair_confusion_matrix", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "pair_confusion_matrix", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func pairwise_distances(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, metric: String? = nil, n_jobs: Int? = nil, force_all_finite: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let force_all_finite = force_all_finite { + __kwargs["force_all_finite"] = RemotePythonValue(force_all_finite) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "pairwise_distances", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "pairwise_distances", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func pairwise_kernels(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, metric: String? = nil, filter_params: Bool? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let filter_params = filter_params { + __kwargs["filter_params"] = RemotePythonValue(filter_params) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "pairwise_kernels", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "pairwise_kernels", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func euclidean_distances(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, Y_norm_squared: (any PythonConvertible)? = nil, squared: Bool? = nil, X_norm_squared: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + if let Y_norm_squared = Y_norm_squared { + __args.append(RemotePythonValue(Y_norm_squared)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let squared = squared { + __kwargs["squared"] = RemotePythonValue(squared) + } + if let X_norm_squared = X_norm_squared { + __kwargs["X_norm_squared"] = RemotePythonValue(X_norm_squared) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "euclidean_distances", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "euclidean_distances", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func manhattan_distances(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, sum_over_features: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let sum_over_features = sum_over_features { + __kwargs["sum_over_features"] = RemotePythonValue(sum_over_features) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "manhattan_distances", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "manhattan_distances", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cosine_distances(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "cosine_distances", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "cosine_distances", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cosine_similarity(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, dense_output: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dense_output = dense_output { + __kwargs["dense_output"] = RemotePythonValue(dense_output) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "cosine_similarity", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "cosine_similarity", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func linear_kernel(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, dense_output: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let dense_output = dense_output { + __kwargs["dense_output"] = RemotePythonValue(dense_output) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "linear_kernel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "linear_kernel", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func polynomial_kernel(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, degree: Int? = nil, gamma: Double? = nil, coef0: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "polynomial_kernel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "polynomial_kernel", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func sigmoid_kernel(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, gamma: Double? = nil, coef0: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "sigmoid_kernel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "sigmoid_kernel", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func rbf_kernel(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, gamma: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "rbf_kernel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "rbf_kernel", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func laplacian_kernel(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, gamma: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "laplacian_kernel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "laplacian_kernel", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func chi2_kernel(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, gamma: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "chi2_kernel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "chi2_kernel", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func additive_chi2_kernel(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "additive_chi2_kernel", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "additive_chi2_kernel", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func haversine_distances(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "haversine_distances", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "haversine_distances", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func nan_euclidean_distances(X: any PythonConvertible, Y: (any PythonConvertible)? = nil, squared: Bool? = nil, missing_values: Double? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let Y = Y { + __args.append(RemotePythonValue(Y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let squared = squared { + __kwargs["squared"] = RemotePythonValue(squared) + } + if let missing_values = missing_values { + __kwargs["missing_values"] = RemotePythonValue(missing_values) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "nan_euclidean_distances", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "nan_euclidean_distances", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func ndcg_score(y_true: any PythonConvertible, y_score: any PythonConvertible, k: Int? = nil, sample_weight: [Double]? = nil, ignore_ties: Bool? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let ignore_ties = ignore_ties { + __kwargs["ignore_ties"] = RemotePythonValue(ignore_ties) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "ndcg_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "ndcg_score", args: __args, kwargs: __kwargs) + } + + public func dcg_score(y_true: any PythonConvertible, y_score: any PythonConvertible, k: Int? = nil, log_base: Double? = nil, sample_weight: [Double]? = nil, ignore_ties: Bool? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + if let log_base = log_base { + __kwargs["log_base"] = RemotePythonValue(log_base) + } + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let ignore_ties = ignore_ties { + __kwargs["ignore_ties"] = RemotePythonValue(ignore_ties) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "dcg_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "dcg_score", args: __args, kwargs: __kwargs) + } + + public func label_ranking_average_precision_score(y_true: any PythonConvertible, y_score: any PythonConvertible, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "label_ranking_average_precision_score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "label_ranking_average_precision_score", args: __args, kwargs: __kwargs) + } + + public func label_ranking_loss(y_true: any PythonConvertible, y_score: any PythonConvertible, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "label_ranking_loss", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "label_ranking_loss", args: __args, kwargs: __kwargs) + } + + public func coverage_error(y_true: any PythonConvertible, y_score: any PythonConvertible, sample_weight: [Double]? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y_true)) + __args.append(RemotePythonValue(y_score)) + var __kwargs: [String: RemotePythonValue] = [:] + if let sample_weight = sample_weight { + __kwargs["sample_weight"] = RemotePythonValue(sample_weight) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "coverage_error", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "coverage_error", args: __args, kwargs: __kwargs) + } + + public func make_scorer(score_func: any PythonConvertible, greater_is_better: Bool? = nil, needs_proba: Bool? = nil, needs_threshold: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(score_func)) + var __kwargs: [String: RemotePythonValue] = [:] + if let greater_is_better = greater_is_better { + __kwargs["greater_is_better"] = RemotePythonValue(greater_is_better) + } + if let needs_proba = needs_proba { + __kwargs["needs_proba"] = RemotePythonValue(needs_proba) + } + if let needs_threshold = needs_threshold { + __kwargs["needs_threshold"] = RemotePythonValue(needs_threshold) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "make_scorer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "make_scorer", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_scorer(scoring: String, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(scoring)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "get_scorer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "get_scorer", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_scorer_names(worker: Int? = nil) async throws -> [String] { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.invokeResult(module: "sklearn.metrics", function: "get_scorer_names", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.metrics", function: "get_scorer_names", args: __args, kwargs: __kwargs) + } + + public func check_scoring(estimator: any PythonConvertible, scoring: String? = nil, allow_none: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + var __kwargs: [String: RemotePythonValue] = [:] + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let allow_none = allow_none { + __kwargs["allow_none"] = RemotePythonValue(allow_none) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "check_scoring", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "check_scoring", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func ConfusionMatrixDisplay(confusion_matrix: any PythonConvertible, display_labels: [String]? = nil, worker: Int? = nil) async throws -> PoolConfusionMatrixDisplay { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(confusion_matrix)) + var __kwargs: [String: RemotePythonValue] = [:] + if let display_labels = display_labels { + __kwargs["display_labels"] = RemotePythonValue(display_labels) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "ConfusionMatrixDisplay", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "ConfusionMatrixDisplay", args: __args, kwargs: __kwargs) + } + return PoolConfusionMatrixDisplay(pool: pool, owned: __owned) + } + + public func RocCurveDisplay(fpr: any PythonConvertible, tpr: any PythonConvertible, roc_auc: Double? = nil, estimator_name: String? = nil, pos_label: Int? = nil, worker: Int? = nil) async throws -> PoolRocCurveDisplay { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(fpr)) + __args.append(RemotePythonValue(tpr)) + var __kwargs: [String: RemotePythonValue] = [:] + if let roc_auc = roc_auc { + __kwargs["roc_auc"] = RemotePythonValue(roc_auc) + } + if let estimator_name = estimator_name { + __kwargs["estimator_name"] = RemotePythonValue(estimator_name) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "RocCurveDisplay", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "RocCurveDisplay", args: __args, kwargs: __kwargs) + } + return PoolRocCurveDisplay(pool: pool, owned: __owned) + } + + public func PrecisionRecallDisplay(precision: any PythonConvertible, recall: any PythonConvertible, average_precision: Double? = nil, estimator_name: String? = nil, pos_label: Int? = nil, prevalence_pos_label: Double? = nil, worker: Int? = nil) async throws -> PoolPrecisionRecallDisplay { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(precision)) + __args.append(RemotePythonValue(recall)) + var __kwargs: [String: RemotePythonValue] = [:] + if let average_precision = average_precision { + __kwargs["average_precision"] = RemotePythonValue(average_precision) + } + if let estimator_name = estimator_name { + __kwargs["estimator_name"] = RemotePythonValue(estimator_name) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let prevalence_pos_label = prevalence_pos_label { + __kwargs["prevalence_pos_label"] = RemotePythonValue(prevalence_pos_label) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "PrecisionRecallDisplay", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "PrecisionRecallDisplay", args: __args, kwargs: __kwargs) + } + return PoolPrecisionRecallDisplay(pool: pool, owned: __owned) + } + + public func DetCurveDisplay(fpr: any PythonConvertible, fnr: any PythonConvertible, estimator_name: String? = nil, pos_label: Int? = nil, worker: Int? = nil) async throws -> PoolDetCurveDisplay { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(fpr)) + __args.append(RemotePythonValue(fnr)) + var __kwargs: [String: RemotePythonValue] = [:] + if let estimator_name = estimator_name { + __kwargs["estimator_name"] = RemotePythonValue(estimator_name) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "DetCurveDisplay", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "DetCurveDisplay", args: __args, kwargs: __kwargs) + } + return PoolDetCurveDisplay(pool: pool, owned: __owned) + } + + public func CalibrationDisplay(prob_true: any PythonConvertible, prob_pred: any PythonConvertible, y_prob: any PythonConvertible, estimator_name: String? = nil, pos_label: Int? = nil, worker: Int? = nil) async throws -> PoolCalibrationDisplay { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(prob_true)) + __args.append(RemotePythonValue(prob_pred)) + __args.append(RemotePythonValue(y_prob)) + var __kwargs: [String: RemotePythonValue] = [:] + if let estimator_name = estimator_name { + __kwargs["estimator_name"] = RemotePythonValue(estimator_name) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "CalibrationDisplay", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.metrics", function: "CalibrationDisplay", args: __args, kwargs: __kwargs) + } + return PoolCalibrationDisplay(pool: pool, owned: __owned) + } +} + + +public struct PoolConfusionMatrixDisplay: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func plot(include_values: Bool? = nil, cmap: String? = nil, xticks_rotation: String? = nil, values_format: String? = nil, ax: (any PythonConvertible)? = nil, colorbar: Bool? = nil, im_kw: (any PythonConvertible)? = nil, text_kw: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolConfusionMatrixDisplay { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let include_values = include_values { + __kwargs["include_values"] = RemotePythonValue(include_values) + } + if let cmap = cmap { + __kwargs["cmap"] = RemotePythonValue(cmap) + } + if let xticks_rotation = xticks_rotation { + __kwargs["xticks_rotation"] = RemotePythonValue(xticks_rotation) + } + if let values_format = values_format { + __kwargs["values_format"] = RemotePythonValue(values_format) + } + if let ax = ax { + __kwargs["ax"] = RemotePythonValue(ax) + } + if let colorbar = colorbar { + __kwargs["colorbar"] = RemotePythonValue(colorbar) + } + if let im_kw = im_kw { + __kwargs["im_kw"] = RemotePythonValue(im_kw) + } + if let text_kw = text_kw { + __kwargs["text_kw"] = RemotePythonValue(text_kw) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs) + } + return PoolConfusionMatrixDisplay(pool: pool, owned: __owned) + } +} + + +public struct PoolRocCurveDisplay: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func plot(ax: (any PythonConvertible)? = nil, name: String? = nil, plot_chance_level: Bool? = nil, chance_level_kw: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolRocCurveDisplay { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ax = ax { + __kwargs["ax"] = RemotePythonValue(ax) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let plot_chance_level = plot_chance_level { + __kwargs["plot_chance_level"] = RemotePythonValue(plot_chance_level) + } + if let chance_level_kw = chance_level_kw { + __kwargs["chance_level_kw"] = RemotePythonValue(chance_level_kw) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs) + } + return PoolRocCurveDisplay(pool: pool, owned: __owned) + } +} + + +public struct PoolPrecisionRecallDisplay: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func plot(ax: (any PythonConvertible)? = nil, name: String? = nil, plot_chance_level: Bool? = nil, chance_level_kw: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolPrecisionRecallDisplay { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ax = ax { + __kwargs["ax"] = RemotePythonValue(ax) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let plot_chance_level = plot_chance_level { + __kwargs["plot_chance_level"] = RemotePythonValue(plot_chance_level) + } + if let chance_level_kw = chance_level_kw { + __kwargs["chance_level_kw"] = RemotePythonValue(chance_level_kw) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs) + } + return PoolPrecisionRecallDisplay(pool: pool, owned: __owned) + } +} + + +public struct PoolDetCurveDisplay: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func plot(ax: (any PythonConvertible)? = nil, name: String? = nil, worker: Int? = nil) async throws -> PoolDetCurveDisplay { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ax = ax { + __kwargs["ax"] = RemotePythonValue(ax) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs) + } + return PoolDetCurveDisplay(pool: pool, owned: __owned) + } +} + + +public struct PoolCalibrationDisplay: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func plot(ax: (any PythonConvertible)? = nil, name: String? = nil, ref_line: Bool? = nil, worker: Int? = nil) async throws -> PoolCalibrationDisplay { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let ax = ax { + __kwargs["ax"] = RemotePythonValue(ax) + } + if let name = name { + __kwargs["name"] = RemotePythonValue(name) + } + if let ref_line = ref_line { + __kwargs["ref_line"] = RemotePythonValue(ref_line) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "plot", args: __args, kwargs: __kwargs) + } + return PoolCalibrationDisplay(pool: pool, owned: __owned) + } +} + +// MARK: - Sklearn.ModelSelection + +extension PoolSklearn { + /// Pool-bound `sklearn.model_selection` namespace. Calls run on this pool. + public var modelselection: PoolSklearnModelselection { PoolSklearnModelselection(pool: pool) } +} + +public struct PoolSklearnModelselection: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func train_test_split(X: any PythonConvertible, y: (any PythonConvertible)? = nil, test_size: Double? = nil, train_size: Double? = nil, random_state: Int? = nil, shuffle: Bool? = nil, stratify: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let y = y { + __args.append(RemotePythonValue(y)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let test_size = test_size { + __kwargs["test_size"] = RemotePythonValue(test_size) + } + if let train_size = train_size { + __kwargs["train_size"] = RemotePythonValue(train_size) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let stratify = stratify { + __kwargs["stratify"] = RemotePythonValue(stratify) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "train_test_split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "train_test_split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cross_val_score(estimator: any PythonConvertible, X: any PythonConvertible, y: (any PythonConvertible)? = nil, groups: (any PythonConvertible)? = nil, scoring: String? = nil, cv: Int? = nil, n_jobs: Int? = nil, verbose: Int? = nil, fit_params: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(X)) + if let y = y { + __args.append(RemotePythonValue(y)) + } + if let groups = groups { + __args.append(RemotePythonValue(groups)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let fit_params = fit_params { + __kwargs["fit_params"] = RemotePythonValue(fit_params) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "cross_val_score", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "cross_val_score", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cross_val_predict(estimator: any PythonConvertible, X: any PythonConvertible, y: (any PythonConvertible)? = nil, groups: (any PythonConvertible)? = nil, cv: Int? = nil, n_jobs: Int? = nil, verbose: Int? = nil, fit_params: (any PythonConvertible)? = nil, method: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(X)) + if let y = y { + __args.append(RemotePythonValue(y)) + } + if let groups = groups { + __args.append(RemotePythonValue(groups)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let fit_params = fit_params { + __kwargs["fit_params"] = RemotePythonValue(fit_params) + } + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "cross_val_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "cross_val_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func cross_validate(estimator: any PythonConvertible, X: any PythonConvertible, y: (any PythonConvertible)? = nil, groups: (any PythonConvertible)? = nil, scoring: (any PythonConvertible)? = nil, cv: Int? = nil, n_jobs: Int? = nil, verbose: Int? = nil, fit_params: (any PythonConvertible)? = nil, return_train_score: Bool? = nil, return_estimator: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(X)) + if let y = y { + __args.append(RemotePythonValue(y)) + } + if let groups = groups { + __args.append(RemotePythonValue(groups)) + } + if let scoring = scoring { + __args.append(RemotePythonValue(scoring)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let fit_params = fit_params { + __kwargs["fit_params"] = RemotePythonValue(fit_params) + } + if let return_train_score = return_train_score { + __kwargs["return_train_score"] = RemotePythonValue(return_train_score) + } + if let return_estimator = return_estimator { + __kwargs["return_estimator"] = RemotePythonValue(return_estimator) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "cross_validate", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "cross_validate", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func learning_curve(estimator: any PythonConvertible, X: any PythonConvertible, y: any PythonConvertible, groups: (any PythonConvertible)? = nil, train_sizes: (any PythonConvertible)? = nil, cv: Int? = nil, scoring: String? = nil, n_jobs: Int? = nil, verbose: Int? = nil, shuffle: Bool? = nil, random_state: Int? = nil, return_times: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + if let groups = groups { + __args.append(RemotePythonValue(groups)) + } + if let train_sizes = train_sizes { + __args.append(RemotePythonValue(train_sizes)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let return_times = return_times { + __kwargs["return_times"] = RemotePythonValue(return_times) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "learning_curve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "learning_curve", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func validation_curve(estimator: any PythonConvertible, X: any PythonConvertible, y: any PythonConvertible, param_name: String, param_range: any PythonConvertible, groups: (any PythonConvertible)? = nil, cv: Int? = nil, scoring: String? = nil, n_jobs: Int? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + __args.append(RemotePythonValue(param_name)) + __args.append(RemotePythonValue(param_range)) + if let groups = groups { + __args.append(RemotePythonValue(groups)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "validation_curve", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "validation_curve", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func permutation_test_score(estimator: any PythonConvertible, X: any PythonConvertible, y: any PythonConvertible, groups: (any PythonConvertible)? = nil, cv: Int? = nil, n_permutations: Int? = nil, n_jobs: Int? = nil, random_state: Int? = nil, verbose: Int? = nil, scoring: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + if let groups = groups { + __args.append(RemotePythonValue(groups)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let n_permutations = n_permutations { + __kwargs["n_permutations"] = RemotePythonValue(n_permutations) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "permutation_test_score", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "permutation_test_score", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func KFold(n_splits: Int? = nil, shuffle: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolKFold { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_splits = n_splits { + __kwargs["n_splits"] = RemotePythonValue(n_splits) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "KFold", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "KFold", args: __args, kwargs: __kwargs) + } + return PoolKFold(pool: pool, owned: __owned) + } + + public func StratifiedKFold(n_splits: Int? = nil, shuffle: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolStratifiedKFold { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_splits = n_splits { + __kwargs["n_splits"] = RemotePythonValue(n_splits) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "StratifiedKFold", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "StratifiedKFold", args: __args, kwargs: __kwargs) + } + return PoolStratifiedKFold(pool: pool, owned: __owned) + } + + public func LeaveOneOut(worker: Int? = nil) async throws -> PoolLeaveOneOut { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "LeaveOneOut", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "LeaveOneOut", args: __args, kwargs: __kwargs) + } + return PoolLeaveOneOut(pool: pool, owned: __owned) + } + + public func LeavePOut(p: Int, worker: Int? = nil) async throws -> PoolLeavePOut { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(p)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "LeavePOut", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "LeavePOut", args: __args, kwargs: __kwargs) + } + return PoolLeavePOut(pool: pool, owned: __owned) + } + + public func ShuffleSplit(n_splits: Int? = nil, test_size: Double? = nil, train_size: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolShuffleSplit { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_splits = n_splits { + __kwargs["n_splits"] = RemotePythonValue(n_splits) + } + if let test_size = test_size { + __kwargs["test_size"] = RemotePythonValue(test_size) + } + if let train_size = train_size { + __kwargs["train_size"] = RemotePythonValue(train_size) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "ShuffleSplit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "ShuffleSplit", args: __args, kwargs: __kwargs) + } + return PoolShuffleSplit(pool: pool, owned: __owned) + } + + public func StratifiedShuffleSplit(n_splits: Int? = nil, test_size: Double? = nil, train_size: Double? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolStratifiedShuffleSplit { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_splits = n_splits { + __kwargs["n_splits"] = RemotePythonValue(n_splits) + } + if let test_size = test_size { + __kwargs["test_size"] = RemotePythonValue(test_size) + } + if let train_size = train_size { + __kwargs["train_size"] = RemotePythonValue(train_size) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "StratifiedShuffleSplit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "StratifiedShuffleSplit", args: __args, kwargs: __kwargs) + } + return PoolStratifiedShuffleSplit(pool: pool, owned: __owned) + } + + public func GroupKFold(n_splits: Int? = nil, worker: Int? = nil) async throws -> PoolGroupKFold { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_splits = n_splits { + __kwargs["n_splits"] = RemotePythonValue(n_splits) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "GroupKFold", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "GroupKFold", args: __args, kwargs: __kwargs) + } + return PoolGroupKFold(pool: pool, owned: __owned) + } + + public func TimeSeriesSplit(n_splits: Int? = nil, max_train_size: Int? = nil, test_size: Int? = nil, gap: Int? = nil, worker: Int? = nil) async throws -> PoolTimeSeriesSplit { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_splits = n_splits { + __kwargs["n_splits"] = RemotePythonValue(n_splits) + } + if let max_train_size = max_train_size { + __kwargs["max_train_size"] = RemotePythonValue(max_train_size) + } + if let test_size = test_size { + __kwargs["test_size"] = RemotePythonValue(test_size) + } + if let gap = gap { + __kwargs["gap"] = RemotePythonValue(gap) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "TimeSeriesSplit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "TimeSeriesSplit", args: __args, kwargs: __kwargs) + } + return PoolTimeSeriesSplit(pool: pool, owned: __owned) + } + + public func RepeatedKFold(n_splits: Int? = nil, n_repeats: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolRepeatedKFold { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_splits = n_splits { + __kwargs["n_splits"] = RemotePythonValue(n_splits) + } + if let n_repeats = n_repeats { + __kwargs["n_repeats"] = RemotePythonValue(n_repeats) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "RepeatedKFold", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "RepeatedKFold", args: __args, kwargs: __kwargs) + } + return PoolRepeatedKFold(pool: pool, owned: __owned) + } + + public func RepeatedStratifiedKFold(n_splits: Int? = nil, n_repeats: Int? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolRepeatedStratifiedKFold { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_splits = n_splits { + __kwargs["n_splits"] = RemotePythonValue(n_splits) + } + if let n_repeats = n_repeats { + __kwargs["n_repeats"] = RemotePythonValue(n_repeats) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "RepeatedStratifiedKFold", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "RepeatedStratifiedKFold", args: __args, kwargs: __kwargs) + } + return PoolRepeatedStratifiedKFold(pool: pool, owned: __owned) + } + + public func GridSearchCV(estimator: any PythonConvertible, param_grid: any PythonConvertible, scoring: String? = nil, n_jobs: Int? = nil, refit: Bool? = nil, cv: Int? = nil, verbose: Int? = nil, return_train_score: Bool? = nil, worker: Int? = nil) async throws -> PoolGridSearchCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(param_grid)) + var __kwargs: [String: RemotePythonValue] = [:] + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let refit = refit { + __kwargs["refit"] = RemotePythonValue(refit) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let return_train_score = return_train_score { + __kwargs["return_train_score"] = RemotePythonValue(return_train_score) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "GridSearchCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "GridSearchCV", args: __args, kwargs: __kwargs) + } + return PoolGridSearchCV(pool: pool, owned: __owned) + } + + public func RandomizedSearchCV(estimator: any PythonConvertible, param_distributions: any PythonConvertible, n_iter: Int? = nil, scoring: String? = nil, n_jobs: Int? = nil, refit: Bool? = nil, cv: Int? = nil, verbose: Int? = nil, random_state: Int? = nil, return_train_score: Bool? = nil, worker: Int? = nil) async throws -> PoolRandomizedSearchCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(param_distributions)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_iter = n_iter { + __kwargs["n_iter"] = RemotePythonValue(n_iter) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let refit = refit { + __kwargs["refit"] = RemotePythonValue(refit) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let return_train_score = return_train_score { + __kwargs["return_train_score"] = RemotePythonValue(return_train_score) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "RandomizedSearchCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "RandomizedSearchCV", args: __args, kwargs: __kwargs) + } + return PoolRandomizedSearchCV(pool: pool, owned: __owned) + } + + public func HalvingGridSearchCV(estimator: any PythonConvertible, param_grid: any PythonConvertible, factor: Int? = nil, resource: String? = nil, max_resources: String? = nil, min_resources: String? = nil, aggressive_elimination: Bool? = nil, cv: Int? = nil, scoring: String? = nil, refit: Bool? = nil, random_state: Int? = nil, n_jobs: Int? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolHalvingGridSearchCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(param_grid)) + var __kwargs: [String: RemotePythonValue] = [:] + if let factor = factor { + __kwargs["factor"] = RemotePythonValue(factor) + } + if let resource = resource { + __kwargs["resource"] = RemotePythonValue(resource) + } + if let max_resources = max_resources { + __kwargs["max_resources"] = RemotePythonValue(max_resources) + } + if let min_resources = min_resources { + __kwargs["min_resources"] = RemotePythonValue(min_resources) + } + if let aggressive_elimination = aggressive_elimination { + __kwargs["aggressive_elimination"] = RemotePythonValue(aggressive_elimination) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let refit = refit { + __kwargs["refit"] = RemotePythonValue(refit) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "HalvingGridSearchCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "HalvingGridSearchCV", args: __args, kwargs: __kwargs) + } + return PoolHalvingGridSearchCV(pool: pool, owned: __owned) + } + + public func HalvingRandomSearchCV(estimator: any PythonConvertible, param_distributions: any PythonConvertible, n_candidates: String? = nil, factor: Int? = nil, resource: String? = nil, max_resources: String? = nil, min_resources: String? = nil, aggressive_elimination: Bool? = nil, cv: Int? = nil, scoring: String? = nil, refit: Bool? = nil, random_state: Int? = nil, n_jobs: Int? = nil, verbose: Int? = nil, worker: Int? = nil) async throws -> PoolHalvingRandomSearchCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(estimator)) + __args.append(RemotePythonValue(param_distributions)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_candidates = n_candidates { + __kwargs["n_candidates"] = RemotePythonValue(n_candidates) + } + if let factor = factor { + __kwargs["factor"] = RemotePythonValue(factor) + } + if let resource = resource { + __kwargs["resource"] = RemotePythonValue(resource) + } + if let max_resources = max_resources { + __kwargs["max_resources"] = RemotePythonValue(max_resources) + } + if let min_resources = min_resources { + __kwargs["min_resources"] = RemotePythonValue(min_resources) + } + if let aggressive_elimination = aggressive_elimination { + __kwargs["aggressive_elimination"] = RemotePythonValue(aggressive_elimination) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let scoring = scoring { + __kwargs["scoring"] = RemotePythonValue(scoring) + } + if let refit = refit { + __kwargs["refit"] = RemotePythonValue(refit) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "HalvingRandomSearchCV", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "HalvingRandomSearchCV", args: __args, kwargs: __kwargs) + } + return PoolHalvingRandomSearchCV(pool: pool, owned: __owned) + } + + public func ParameterGrid(param_grid: any PythonConvertible, worker: Int? = nil) async throws -> PoolParameterGrid { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(param_grid)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "ParameterGrid", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "ParameterGrid", args: __args, kwargs: __kwargs) + } + return PoolParameterGrid(pool: pool, owned: __owned) + } + + public func ParameterSampler(param_distributions: any PythonConvertible, n_iter: Int, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolParameterSampler { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(param_distributions)) + __args.append(RemotePythonValue(n_iter)) + var __kwargs: [String: RemotePythonValue] = [:] + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "ParameterSampler", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.model_selection", function: "ParameterSampler", args: __args, kwargs: __kwargs) + } + return PoolParameterSampler(pool: pool, owned: __owned) + } +} + + +public struct PoolKFold: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolStratifiedKFold: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLeaveOneOut: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: any PythonConvertible, worker: Int? = nil) async throws -> Int { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLeavePOut: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: any PythonConvertible, worker: Int? = nil) async throws -> Int { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolShuffleSplit: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolStratifiedShuffleSplit: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolGroupKFold: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, y: [Int]? = nil, groups: [Int]? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + if let groups = groups { + __kwargs["groups"] = RemotePythonValue(groups) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: (any PythonConvertible)? = nil, y: [Int]? = nil, groups: [Int]? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + if let groups = groups { + __kwargs["groups"] = RemotePythonValue(groups) + } + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolTimeSeriesSplit: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolRepeatedKFold: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolRepeatedStratifiedKFold: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func split(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "split", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_n_splits(X: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_splits", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolGridSearchCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> PoolGridSearchCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolGridSearchCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolRandomizedSearchCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> PoolRandomizedSearchCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRandomizedSearchCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolHalvingGridSearchCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> PoolHalvingGridSearchCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolHalvingGridSearchCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolHalvingRandomSearchCV: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> PoolHalvingRandomSearchCV { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolHalvingRandomSearchCV(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: any PythonConvertible, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolParameterGrid: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } +} + + +public struct PoolParameterSampler: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } +} + +// MARK: - Sklearn.NaiveBayes + +extension PoolSklearn { + /// Pool-bound `sklearn.naive_bayes` namespace. Calls run on this pool. + public var naivebayes: PoolSklearnNaivebayes { PoolSklearnNaivebayes(pool: pool) } +} + +public struct PoolSklearnNaivebayes: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func GaussianNB(priors: [Double]? = nil, var_smoothing: Double? = nil, worker: Int? = nil) async throws -> PoolGaussianNB { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let priors = priors { + __kwargs["priors"] = RemotePythonValue(priors) + } + if let var_smoothing = var_smoothing { + __kwargs["var_smoothing"] = RemotePythonValue(var_smoothing) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "GaussianNB", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "GaussianNB", args: __args, kwargs: __kwargs) + } + return PoolGaussianNB(pool: pool, owned: __owned) + } + + public func MultinomialNB(alpha: Double? = nil, force_alpha: Bool? = nil, fit_prior: Bool? = nil, class_prior: [Double]? = nil, worker: Int? = nil) async throws -> PoolMultinomialNB { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let force_alpha = force_alpha { + __kwargs["force_alpha"] = RemotePythonValue(force_alpha) + } + if let fit_prior = fit_prior { + __kwargs["fit_prior"] = RemotePythonValue(fit_prior) + } + if let class_prior = class_prior { + __kwargs["class_prior"] = RemotePythonValue(class_prior) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "MultinomialNB", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "MultinomialNB", args: __args, kwargs: __kwargs) + } + return PoolMultinomialNB(pool: pool, owned: __owned) + } + + public func BernoulliNB(alpha: Double? = nil, force_alpha: Bool? = nil, binarize: Double? = nil, fit_prior: Bool? = nil, class_prior: [Double]? = nil, worker: Int? = nil) async throws -> PoolBernoulliNB { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let force_alpha = force_alpha { + __kwargs["force_alpha"] = RemotePythonValue(force_alpha) + } + if let binarize = binarize { + __kwargs["binarize"] = RemotePythonValue(binarize) + } + if let fit_prior = fit_prior { + __kwargs["fit_prior"] = RemotePythonValue(fit_prior) + } + if let class_prior = class_prior { + __kwargs["class_prior"] = RemotePythonValue(class_prior) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "BernoulliNB", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "BernoulliNB", args: __args, kwargs: __kwargs) + } + return PoolBernoulliNB(pool: pool, owned: __owned) + } + + public func ComplementNB(alpha: Double? = nil, force_alpha: Bool? = nil, fit_prior: Bool? = nil, class_prior: [Double]? = nil, norm: Bool? = nil, worker: Int? = nil) async throws -> PoolComplementNB { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let force_alpha = force_alpha { + __kwargs["force_alpha"] = RemotePythonValue(force_alpha) + } + if let fit_prior = fit_prior { + __kwargs["fit_prior"] = RemotePythonValue(fit_prior) + } + if let class_prior = class_prior { + __kwargs["class_prior"] = RemotePythonValue(class_prior) + } + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "ComplementNB", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "ComplementNB", args: __args, kwargs: __kwargs) + } + return PoolComplementNB(pool: pool, owned: __owned) + } + + public func CategoricalNB(alpha: Double? = nil, force_alpha: Bool? = nil, fit_prior: Bool? = nil, class_prior: [Double]? = nil, min_categories: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolCategoricalNB { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let alpha = alpha { + __kwargs["alpha"] = RemotePythonValue(alpha) + } + if let force_alpha = force_alpha { + __kwargs["force_alpha"] = RemotePythonValue(force_alpha) + } + if let fit_prior = fit_prior { + __kwargs["fit_prior"] = RemotePythonValue(fit_prior) + } + if let class_prior = class_prior { + __kwargs["class_prior"] = RemotePythonValue(class_prior) + } + if let min_categories = min_categories { + __kwargs["min_categories"] = RemotePythonValue(min_categories) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "CategoricalNB", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.naive_bayes", function: "CategoricalNB", args: __args, kwargs: __kwargs) + } + return PoolCategoricalNB(pool: pool, owned: __owned) + } +} + + +public struct PoolGaussianNB: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolGaussianNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolGaussianNB(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Int], classes: [Int]? = nil, worker: Int? = nil) async throws -> PoolGaussianNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolGaussianNB(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolMultinomialNB: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolMultinomialNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMultinomialNB(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Int], classes: [Int]? = nil, worker: Int? = nil) async throws -> PoolMultinomialNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolMultinomialNB(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolBernoulliNB: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolBernoulliNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolBernoulliNB(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Int], classes: [Int]? = nil, worker: Int? = nil) async throws -> PoolBernoulliNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolBernoulliNB(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolComplementNB: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolComplementNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolComplementNB(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Int], classes: [Int]? = nil, worker: Int? = nil) async throws -> PoolComplementNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolComplementNB(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolCategoricalNB: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolCategoricalNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolCategoricalNB(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, y: [Int], classes: [Int]? = nil, worker: Int? = nil) async throws -> PoolCategoricalNB { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolCategoricalNB(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + +// MARK: - Sklearn.Neighbors + +extension PoolSklearn { + /// Pool-bound `sklearn.neighbors` namespace. Calls run on this pool. + public var neighbors: PoolSklearnNeighbors { PoolSklearnNeighbors(pool: pool) } +} + +public struct PoolSklearnNeighbors: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func kneighbors_graph(X: any PythonConvertible, n_neighbors: Int, mode: String? = nil, metric: String? = nil, p: Int? = nil, metric_params: (any PythonConvertible)? = nil, include_self: Bool? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(n_neighbors)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let include_self = include_self { + __kwargs["include_self"] = RemotePythonValue(include_self) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "kneighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "kneighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func radius_neighbors_graph(X: any PythonConvertible, radius: Double, mode: String? = nil, metric: String? = nil, p: Int? = nil, metric_params: (any PythonConvertible)? = nil, include_self: Bool? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(radius)) + var __kwargs: [String: RemotePythonValue] = [:] + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let include_self = include_self { + __kwargs["include_self"] = RemotePythonValue(include_self) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "radius_neighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "radius_neighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func KNeighborsClassifier(n_neighbors: Int? = nil, weights: String? = nil, algorithm: String? = nil, leaf_size: Int? = nil, p: Int? = nil, metric: String? = nil, metric_params: (any PythonConvertible)? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolKNeighborsClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "KNeighborsClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "KNeighborsClassifier", args: __args, kwargs: __kwargs) + } + return PoolKNeighborsClassifier(pool: pool, owned: __owned) + } + + public func KNeighborsRegressor(n_neighbors: Int? = nil, weights: String? = nil, algorithm: String? = nil, leaf_size: Int? = nil, p: Int? = nil, metric: String? = nil, metric_params: (any PythonConvertible)? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolKNeighborsRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "KNeighborsRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "KNeighborsRegressor", args: __args, kwargs: __kwargs) + } + return PoolKNeighborsRegressor(pool: pool, owned: __owned) + } + + public func RadiusNeighborsClassifier(radius: Double? = nil, weights: String? = nil, algorithm: String? = nil, leaf_size: Int? = nil, p: Int? = nil, metric: String? = nil, outlier_label: (any PythonConvertible)? = nil, metric_params: (any PythonConvertible)? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolRadiusNeighborsClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let outlier_label = outlier_label { + __kwargs["outlier_label"] = RemotePythonValue(outlier_label) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "RadiusNeighborsClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "RadiusNeighborsClassifier", args: __args, kwargs: __kwargs) + } + return PoolRadiusNeighborsClassifier(pool: pool, owned: __owned) + } + + public func RadiusNeighborsRegressor(radius: Double? = nil, weights: String? = nil, algorithm: String? = nil, leaf_size: Int? = nil, p: Int? = nil, metric: String? = nil, metric_params: (any PythonConvertible)? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolRadiusNeighborsRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let weights = weights { + __kwargs["weights"] = RemotePythonValue(weights) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "RadiusNeighborsRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "RadiusNeighborsRegressor", args: __args, kwargs: __kwargs) + } + return PoolRadiusNeighborsRegressor(pool: pool, owned: __owned) + } + + public func NearestNeighbors(n_neighbors: Int? = nil, radius: Double? = nil, algorithm: String? = nil, leaf_size: Int? = nil, metric: String? = nil, p: Int? = nil, metric_params: (any PythonConvertible)? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolNearestNeighbors { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "NearestNeighbors", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "NearestNeighbors", args: __args, kwargs: __kwargs) + } + return PoolNearestNeighbors(pool: pool, owned: __owned) + } + + public func NearestCentroid(metric: String? = nil, shrink_threshold: Double? = nil, worker: Int? = nil) async throws -> PoolNearestCentroid { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let shrink_threshold = shrink_threshold { + __kwargs["shrink_threshold"] = RemotePythonValue(shrink_threshold) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "NearestCentroid", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "NearestCentroid", args: __args, kwargs: __kwargs) + } + return PoolNearestCentroid(pool: pool, owned: __owned) + } + + public func BallTree(X: any PythonConvertible, leaf_size: Int? = nil, metric: String? = nil, worker: Int? = nil) async throws -> PoolBallTree { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "BallTree", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "BallTree", args: __args, kwargs: __kwargs) + } + return PoolBallTree(pool: pool, owned: __owned) + } + + public func KDTree(X: any PythonConvertible, leaf_size: Int? = nil, metric: String? = nil, worker: Int? = nil) async throws -> PoolKDTree { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "KDTree", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "KDTree", args: __args, kwargs: __kwargs) + } + return PoolKDTree(pool: pool, owned: __owned) + } + + public func LocalOutlierFactor(n_neighbors: Int? = nil, algorithm: String? = nil, leaf_size: Int? = nil, metric: String? = nil, p: Int? = nil, metric_params: (any PythonConvertible)? = nil, contamination: String? = nil, novelty: Bool? = nil, n_jobs: Int? = nil, worker: Int? = nil) async throws -> PoolLocalOutlierFactor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let algorithm = algorithm { + __kwargs["algorithm"] = RemotePythonValue(algorithm) + } + if let leaf_size = leaf_size { + __kwargs["leaf_size"] = RemotePythonValue(leaf_size) + } + if let metric = metric { + __kwargs["metric"] = RemotePythonValue(metric) + } + if let p = p { + __kwargs["p"] = RemotePythonValue(p) + } + if let metric_params = metric_params { + __kwargs["metric_params"] = RemotePythonValue(metric_params) + } + if let contamination = contamination { + __kwargs["contamination"] = RemotePythonValue(contamination) + } + if let novelty = novelty { + __kwargs["novelty"] = RemotePythonValue(novelty) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "LocalOutlierFactor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.neighbors", function: "LocalOutlierFactor", args: __args, kwargs: __kwargs) + } + return PoolLocalOutlierFactor(pool: pool, owned: __owned) + } +} + + +public struct PoolKNeighborsClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolKNeighborsClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolKNeighborsClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func kneighbors(X: (any PythonConvertible)? = nil, n_neighbors: Int? = nil, return_distance: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func kneighbors_graph(X: (any PythonConvertible)? = nil, n_neighbors: Int? = nil, mode: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolKNeighborsRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolKNeighborsRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolKNeighborsRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func kneighbors(X: (any PythonConvertible)? = nil, n_neighbors: Int? = nil, return_distance: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func kneighbors_graph(X: (any PythonConvertible)? = nil, n_neighbors: Int? = nil, mode: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolRadiusNeighborsClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolRadiusNeighborsClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRadiusNeighborsClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func radius_neighbors(X: (any PythonConvertible)? = nil, radius: Double? = nil, return_distance: Bool? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func radius_neighbors_graph(X: (any PythonConvertible)? = nil, radius: Double? = nil, mode: String? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolRadiusNeighborsRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolRadiusNeighborsRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRadiusNeighborsRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func radius_neighbors(X: (any PythonConvertible)? = nil, radius: Double? = nil, return_distance: Bool? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func radius_neighbors_graph(X: (any PythonConvertible)? = nil, radius: Double? = nil, mode: String? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolNearestNeighbors: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolNearestNeighbors { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolNearestNeighbors(pool: pool, owned: __owned) + } + + public func kneighbors(X: (any PythonConvertible)? = nil, n_neighbors: Int? = nil, return_distance: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func kneighbors_graph(X: (any PythonConvertible)? = nil, n_neighbors: Int? = nil, mode: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func radius_neighbors(X: (any PythonConvertible)? = nil, radius: Double? = nil, return_distance: Bool? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func radius_neighbors_graph(X: (any PythonConvertible)? = nil, radius: Double? = nil, mode: String? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let radius = radius { + __kwargs["radius"] = RemotePythonValue(radius) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "radius_neighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolNearestCentroid: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolNearestCentroid { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolNearestCentroid(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolBallTree: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func query(X: any PythonConvertible, k: Int? = nil, return_distance: Bool? = nil, dualtree: Bool? = nil, breadth_first: Bool? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + if let dualtree = dualtree { + __kwargs["dualtree"] = RemotePythonValue(dualtree) + } + if let breadth_first = breadth_first { + __kwargs["breadth_first"] = RemotePythonValue(breadth_first) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "query", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "query", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func query_radius(X: any PythonConvertible, r: Double, return_distance: Bool? = nil, count_only: Bool? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(r)) + var __kwargs: [String: RemotePythonValue] = [:] + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + if let count_only = count_only { + __kwargs["count_only"] = RemotePythonValue(count_only) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "query_radius", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "query_radius", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolKDTree: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func query(X: any PythonConvertible, k: Int? = nil, return_distance: Bool? = nil, dualtree: Bool? = nil, breadth_first: Bool? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let k = k { + __kwargs["k"] = RemotePythonValue(k) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + if let dualtree = dualtree { + __kwargs["dualtree"] = RemotePythonValue(dualtree) + } + if let breadth_first = breadth_first { + __kwargs["breadth_first"] = RemotePythonValue(breadth_first) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "query", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "query", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func query_radius(X: any PythonConvertible, r: Double, return_distance: Bool? = nil, count_only: Bool? = nil, sort_results: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(r)) + var __kwargs: [String: RemotePythonValue] = [:] + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + if let count_only = count_only { + __kwargs["count_only"] = RemotePythonValue(count_only) + } + if let sort_results = sort_results { + __kwargs["sort_results"] = RemotePythonValue(sort_results) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "query_radius", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "query_radius", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolLocalOutlierFactor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolLocalOutlierFactor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLocalOutlierFactor(pool: pool, owned: __owned) + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score_samples(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func kneighbors(X: (any PythonConvertible)? = nil, n_neighbors: Int? = nil, return_distance: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let return_distance = return_distance { + __kwargs["return_distance"] = RemotePythonValue(return_distance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func kneighbors_graph(X: (any PythonConvertible)? = nil, n_neighbors: Int? = nil, mode: String? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let X = X { + __kwargs["X"] = RemotePythonValue(X) + } + if let n_neighbors = n_neighbors { + __kwargs["n_neighbors"] = RemotePythonValue(n_neighbors) + } + if let mode = mode { + __kwargs["mode"] = RemotePythonValue(mode) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors_graph", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "kneighbors_graph", args: __args, kwargs: __kwargs) + } + return __owned + } +} + +// MARK: - Sklearn.Pipeline + +extension PoolSklearn { + /// Pool-bound `sklearn.pipeline` namespace. Calls run on this pool. + public var pipeline: PoolSklearnPipeline { PoolSklearnPipeline(pool: pool) } +} + +public struct PoolSklearnPipeline: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func make_pipeline(_ args: [RemotePythonValue] = [], memory: String? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolPipeline { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + if let memory = memory { + __kwargs["memory"] = RemotePythonValue(memory) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "make_pipeline", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "make_pipeline", args: __args, kwargs: __kwargs) + } + return PoolPipeline(pool: pool, owned: __owned) + } + + public func make_union(_ args: [RemotePythonValue] = [], n_jobs: Int? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolFeatureUnion { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "make_union", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "make_union", args: __args, kwargs: __kwargs) + } + return PoolFeatureUnion(pool: pool, owned: __owned) + } + + public func make_column_transformer(_ args: [RemotePythonValue] = [], remainder: String? = nil, sparse_threshold: Double? = nil, n_jobs: Int? = nil, verbose: Bool? = nil, verbose_feature_names_out: Bool? = nil, force_int_remainder_cols: Bool? = nil, worker: Int? = nil) async throws -> PoolColumnTransformer { + var __args: [RemotePythonValue] = [] + __args.append(contentsOf: args) + var __kwargs: [String: RemotePythonValue] = [:] + if let remainder = remainder { + __kwargs["remainder"] = RemotePythonValue(remainder) + } + if let sparse_threshold = sparse_threshold { + __kwargs["sparse_threshold"] = RemotePythonValue(sparse_threshold) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let verbose_feature_names_out = verbose_feature_names_out { + __kwargs["verbose_feature_names_out"] = RemotePythonValue(verbose_feature_names_out) + } + if let force_int_remainder_cols = force_int_remainder_cols { + __kwargs["force_int_remainder_cols"] = RemotePythonValue(force_int_remainder_cols) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "make_column_transformer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "make_column_transformer", args: __args, kwargs: __kwargs) + } + return PoolColumnTransformer(pool: pool, owned: __owned) + } + + public func make_column_selector(pattern: String? = nil, dtype_include: (any PythonConvertible)? = nil, dtype_exclude: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let pattern = pattern { + __kwargs["pattern"] = RemotePythonValue(pattern) + } + if let dtype_include = dtype_include { + __kwargs["dtype_include"] = RemotePythonValue(dtype_include) + } + if let dtype_exclude = dtype_exclude { + __kwargs["dtype_exclude"] = RemotePythonValue(dtype_exclude) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "make_column_selector", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "make_column_selector", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func Pipeline(steps: PyHandle, memory: String? = nil, verbose: Bool? = nil, worker: Int? = nil) async throws -> PoolPipeline { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(steps)) + var __kwargs: [String: RemotePythonValue] = [:] + if let memory = memory { + __kwargs["memory"] = RemotePythonValue(memory) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "Pipeline", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "Pipeline", args: __args, kwargs: __kwargs) + } + return PoolPipeline(pool: pool, owned: __owned) + } + + public func FeatureUnion(transformer_list: PyHandle, n_jobs: Int? = nil, transformer_weights: (any PythonConvertible)? = nil, verbose: Bool? = nil, verbose_feature_names_out: Bool? = nil, worker: Int? = nil) async throws -> PoolFeatureUnion { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(transformer_list)) + var __kwargs: [String: RemotePythonValue] = [:] + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let transformer_weights = transformer_weights { + __kwargs["transformer_weights"] = RemotePythonValue(transformer_weights) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let verbose_feature_names_out = verbose_feature_names_out { + __kwargs["verbose_feature_names_out"] = RemotePythonValue(verbose_feature_names_out) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "FeatureUnion", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "FeatureUnion", args: __args, kwargs: __kwargs) + } + return PoolFeatureUnion(pool: pool, owned: __owned) + } + + public func ColumnTransformer(transformers: PyHandle, remainder: String? = nil, sparse_threshold: Double? = nil, n_jobs: Int? = nil, transformer_weights: (any PythonConvertible)? = nil, verbose: Bool? = nil, verbose_feature_names_out: Bool? = nil, force_int_remainder_cols: Bool? = nil, worker: Int? = nil) async throws -> PoolColumnTransformer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(transformers)) + var __kwargs: [String: RemotePythonValue] = [:] + if let remainder = remainder { + __kwargs["remainder"] = RemotePythonValue(remainder) + } + if let sparse_threshold = sparse_threshold { + __kwargs["sparse_threshold"] = RemotePythonValue(sparse_threshold) + } + if let n_jobs = n_jobs { + __kwargs["n_jobs"] = RemotePythonValue(n_jobs) + } + if let transformer_weights = transformer_weights { + __kwargs["transformer_weights"] = RemotePythonValue(transformer_weights) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let verbose_feature_names_out = verbose_feature_names_out { + __kwargs["verbose_feature_names_out"] = RemotePythonValue(verbose_feature_names_out) + } + if let force_int_remainder_cols = force_int_remainder_cols { + __kwargs["force_int_remainder_cols"] = RemotePythonValue(force_int_remainder_cols) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "ColumnTransformer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "ColumnTransformer", args: __args, kwargs: __kwargs) + } + return PoolColumnTransformer(pool: pool, owned: __owned) + } + + public func TransformedTargetRegressor(regressor: (any PythonConvertible)? = nil, transformer: (any PythonConvertible)? = nil, `func`: (any PythonConvertible)? = nil, inverse_func: (any PythonConvertible)? = nil, check_inverse: Bool? = nil, worker: Int? = nil) async throws -> PoolTransformedTargetRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let regressor = regressor { + __kwargs["regressor"] = RemotePythonValue(regressor) + } + if let transformer = transformer { + __kwargs["transformer"] = RemotePythonValue(transformer) + } + if let `func` = `func` { + __kwargs["func"] = RemotePythonValue(`func`) + } + if let inverse_func = inverse_func { + __kwargs["inverse_func"] = RemotePythonValue(inverse_func) + } + if let check_inverse = check_inverse { + __kwargs["check_inverse"] = RemotePythonValue(check_inverse) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "TransformedTargetRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.pipeline", function: "TransformedTargetRegressor", args: __args, kwargs: __kwargs) + } + return PoolTransformedTargetRegressor(pool: pool, owned: __owned) + } +} + + +public struct PoolPipeline: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolPipeline { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolPipeline(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_predict(X: any PythonConvertible, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func score_samples(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_params(deep: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_params", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_params", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func set_params(extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> PoolPipeline { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "set_params", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "set_params", args: __args, kwargs: __kwargs) + } + return PoolPipeline(pool: pool, owned: __owned) + } +} + + +public struct PoolFeatureUnion: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolFeatureUnion { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolFeatureUnion(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_params(deep: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_params", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_params", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func set_params(extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> PoolFeatureUnion { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "set_params", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "set_params", args: __args, kwargs: __kwargs) + } + return PoolFeatureUnion(pool: pool, owned: __owned) + } + + public func get_feature_names_out(input_features: [String]? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let input_features = input_features { + __kwargs["input_features"] = RemotePythonValue(input_features) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_feature_names_out", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_feature_names_out", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolColumnTransformer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolColumnTransformer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolColumnTransformer(pool: pool, owned: __owned) + } + + public func fit_transform(X: any PythonConvertible, y: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let y = y { + __kwargs["y"] = RemotePythonValue(y) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_params(deep: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_params", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_params", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func set_params(extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> PoolColumnTransformer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "set_params", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "set_params", args: __args, kwargs: __kwargs) + } + return PoolColumnTransformer(pool: pool, owned: __owned) + } + + public func get_feature_names_out(input_features: [String]? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let input_features = input_features { + __kwargs["input_features"] = RemotePythonValue(input_features) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_feature_names_out", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_feature_names_out", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolTransformedTargetRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolTransformedTargetRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolTransformedTargetRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func get_params(deep: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let deep = deep { + __kwargs["deep"] = RemotePythonValue(deep) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_params", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_params", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func set_params(extraKwargs: [String: RemotePythonValue] = [:], worker: Int? = nil) async throws -> PoolTransformedTargetRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + __kwargs.merge(extraKwargs, uniquingKeysWith: { _, new in new }) + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "set_params", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "set_params", args: __args, kwargs: __kwargs) + } + return PoolTransformedTargetRegressor(pool: pool, owned: __owned) + } +} + +// MARK: - Sklearn.Preprocessing + +extension PoolSklearn { + /// Pool-bound `sklearn.preprocessing` namespace. Calls run on this pool. + public var preprocessing: PoolSklearnPreprocessing { PoolSklearnPreprocessing(pool: pool) } +} + +public struct PoolSklearnPreprocessing: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func add_dummy_feature(X: any PythonConvertible, value: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let value = value { + __kwargs["value"] = RemotePythonValue(value) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "add_dummy_feature", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "add_dummy_feature", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func binarize(X: any PythonConvertible, threshold: Double? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let threshold = threshold { + __kwargs["threshold"] = RemotePythonValue(threshold) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "binarize", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "binarize", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func label_binarize(y: PyHandle, classes: PyHandle, neg_label: Int? = nil, pos_label: Int? = nil, sparse_output: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + __args.append(RemotePythonValue(classes)) + var __kwargs: [String: RemotePythonValue] = [:] + if let neg_label = neg_label { + __kwargs["neg_label"] = RemotePythonValue(neg_label) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let sparse_output = sparse_output { + __kwargs["sparse_output"] = RemotePythonValue(sparse_output) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "label_binarize", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "label_binarize", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func maxabs_scale(X: any PythonConvertible, axis: Int? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "maxabs_scale", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "maxabs_scale", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func minmax_scale(X: any PythonConvertible, feature_range: (any PythonConvertible)? = nil, axis: Int? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + if let feature_range = feature_range { + __args.append(RemotePythonValue(feature_range)) + } + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "minmax_scale", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "minmax_scale", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func normalize(X: any PythonConvertible, norm: String? = nil, axis: Int? = nil, copy: Bool? = nil, return_norm: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let return_norm = return_norm { + __kwargs["return_norm"] = RemotePythonValue(return_norm) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "normalize", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "normalize", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func quantile_transform(X: any PythonConvertible, axis: Int? = nil, n_quantiles: Int? = nil, output_distribution: String? = nil, ignore_implicit_zeros: Bool? = nil, subsample: Int? = nil, random_state: Int? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let n_quantiles = n_quantiles { + __kwargs["n_quantiles"] = RemotePythonValue(n_quantiles) + } + if let output_distribution = output_distribution { + __kwargs["output_distribution"] = RemotePythonValue(output_distribution) + } + if let ignore_implicit_zeros = ignore_implicit_zeros { + __kwargs["ignore_implicit_zeros"] = RemotePythonValue(ignore_implicit_zeros) + } + if let subsample = subsample { + __kwargs["subsample"] = RemotePythonValue(subsample) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "quantile_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "quantile_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func power_transform(X: any PythonConvertible, method: String? = nil, standardize: Bool? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let standardize = standardize { + __kwargs["standardize"] = RemotePythonValue(standardize) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "power_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "power_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func robust_scale(X: any PythonConvertible, axis: Int? = nil, with_centering: Bool? = nil, with_scaling: Bool? = nil, quantile_range: (any PythonConvertible)? = nil, copy: Bool? = nil, unit_variance: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let with_centering = with_centering { + __kwargs["with_centering"] = RemotePythonValue(with_centering) + } + if let with_scaling = with_scaling { + __kwargs["with_scaling"] = RemotePythonValue(with_scaling) + } + if let quantile_range = quantile_range { + __kwargs["quantile_range"] = RemotePythonValue(quantile_range) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let unit_variance = unit_variance { + __kwargs["unit_variance"] = RemotePythonValue(unit_variance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "robust_scale", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "robust_scale", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func scale(X: any PythonConvertible, axis: Int? = nil, with_mean: Bool? = nil, with_std: Bool? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + var __kwargs: [String: RemotePythonValue] = [:] + if let axis = axis { + __kwargs["axis"] = RemotePythonValue(axis) + } + if let with_mean = with_mean { + __kwargs["with_mean"] = RemotePythonValue(with_mean) + } + if let with_std = with_std { + __kwargs["with_std"] = RemotePythonValue(with_std) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "scale", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "scale", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func StandardScaler(copy: Bool? = nil, with_mean: Bool? = nil, with_std: Bool? = nil, worker: Int? = nil) async throws -> PoolStandardScaler { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let with_mean = with_mean { + __kwargs["with_mean"] = RemotePythonValue(with_mean) + } + if let with_std = with_std { + __kwargs["with_std"] = RemotePythonValue(with_std) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "StandardScaler", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "StandardScaler", args: __args, kwargs: __kwargs) + } + return PoolStandardScaler(pool: pool, owned: __owned) + } + + public func MinMaxScaler(feature_range: (any PythonConvertible)? = nil, copy: Bool? = nil, clip: Bool? = nil, worker: Int? = nil) async throws -> PoolMinMaxScaler { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let feature_range = feature_range { + __kwargs["feature_range"] = RemotePythonValue(feature_range) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let clip = clip { + __kwargs["clip"] = RemotePythonValue(clip) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "MinMaxScaler", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "MinMaxScaler", args: __args, kwargs: __kwargs) + } + return PoolMinMaxScaler(pool: pool, owned: __owned) + } + + public func MaxAbsScaler(copy: Bool? = nil, worker: Int? = nil) async throws -> PoolMaxAbsScaler { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "MaxAbsScaler", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "MaxAbsScaler", args: __args, kwargs: __kwargs) + } + return PoolMaxAbsScaler(pool: pool, owned: __owned) + } + + public func RobustScaler(with_centering: Bool? = nil, with_scaling: Bool? = nil, quantile_range: (any PythonConvertible)? = nil, copy: Bool? = nil, unit_variance: Bool? = nil, worker: Int? = nil) async throws -> PoolRobustScaler { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let with_centering = with_centering { + __kwargs["with_centering"] = RemotePythonValue(with_centering) + } + if let with_scaling = with_scaling { + __kwargs["with_scaling"] = RemotePythonValue(with_scaling) + } + if let quantile_range = quantile_range { + __kwargs["quantile_range"] = RemotePythonValue(quantile_range) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + if let unit_variance = unit_variance { + __kwargs["unit_variance"] = RemotePythonValue(unit_variance) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "RobustScaler", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "RobustScaler", args: __args, kwargs: __kwargs) + } + return PoolRobustScaler(pool: pool, owned: __owned) + } + + public func Normalizer(norm: String? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolNormalizer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let norm = norm { + __kwargs["norm"] = RemotePythonValue(norm) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "Normalizer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "Normalizer", args: __args, kwargs: __kwargs) + } + return PoolNormalizer(pool: pool, owned: __owned) + } + + public func Binarizer(threshold: Double? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolBinarizer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let threshold = threshold { + __kwargs["threshold"] = RemotePythonValue(threshold) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "Binarizer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "Binarizer", args: __args, kwargs: __kwargs) + } + return PoolBinarizer(pool: pool, owned: __owned) + } + + public func QuantileTransformer(n_quantiles: Int? = nil, output_distribution: String? = nil, ignore_implicit_zeros: Bool? = nil, subsample: Int? = nil, random_state: Int? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolQuantileTransformer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_quantiles = n_quantiles { + __kwargs["n_quantiles"] = RemotePythonValue(n_quantiles) + } + if let output_distribution = output_distribution { + __kwargs["output_distribution"] = RemotePythonValue(output_distribution) + } + if let ignore_implicit_zeros = ignore_implicit_zeros { + __kwargs["ignore_implicit_zeros"] = RemotePythonValue(ignore_implicit_zeros) + } + if let subsample = subsample { + __kwargs["subsample"] = RemotePythonValue(subsample) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "QuantileTransformer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "QuantileTransformer", args: __args, kwargs: __kwargs) + } + return PoolQuantileTransformer(pool: pool, owned: __owned) + } + + public func PowerTransformer(method: String? = nil, standardize: Bool? = nil, copy: Bool? = nil, worker: Int? = nil) async throws -> PoolPowerTransformer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let method = method { + __kwargs["method"] = RemotePythonValue(method) + } + if let standardize = standardize { + __kwargs["standardize"] = RemotePythonValue(standardize) + } + if let copy = copy { + __kwargs["copy"] = RemotePythonValue(copy) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "PowerTransformer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "PowerTransformer", args: __args, kwargs: __kwargs) + } + return PoolPowerTransformer(pool: pool, owned: __owned) + } + + public func SplineTransformer(n_knots: Int? = nil, degree: Int? = nil, knots: String? = nil, extrapolation: String? = nil, include_bias: Bool? = nil, order: String? = nil, sparse_output: Bool? = nil, worker: Int? = nil) async throws -> PoolSplineTransformer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_knots = n_knots { + __kwargs["n_knots"] = RemotePythonValue(n_knots) + } + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let knots = knots { + __kwargs["knots"] = RemotePythonValue(knots) + } + if let extrapolation = extrapolation { + __kwargs["extrapolation"] = RemotePythonValue(extrapolation) + } + if let include_bias = include_bias { + __kwargs["include_bias"] = RemotePythonValue(include_bias) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + if let sparse_output = sparse_output { + __kwargs["sparse_output"] = RemotePythonValue(sparse_output) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "SplineTransformer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "SplineTransformer", args: __args, kwargs: __kwargs) + } + return PoolSplineTransformer(pool: pool, owned: __owned) + } + + public func KBinsDiscretizer(n_bins: Int? = nil, encode: String? = nil, strategy: String? = nil, dtype: (any PythonConvertible)? = nil, subsample: String? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolKBinsDiscretizer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let n_bins = n_bins { + __kwargs["n_bins"] = RemotePythonValue(n_bins) + } + if let encode = encode { + __kwargs["encode"] = RemotePythonValue(encode) + } + if let strategy = strategy { + __kwargs["strategy"] = RemotePythonValue(strategy) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let subsample = subsample { + __kwargs["subsample"] = RemotePythonValue(subsample) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "KBinsDiscretizer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "KBinsDiscretizer", args: __args, kwargs: __kwargs) + } + return PoolKBinsDiscretizer(pool: pool, owned: __owned) + } + + public func LabelEncoder(worker: Int? = nil) async throws -> PoolLabelEncoder { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "LabelEncoder", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "LabelEncoder", args: __args, kwargs: __kwargs) + } + return PoolLabelEncoder(pool: pool, owned: __owned) + } + + public func OrdinalEncoder(categories: String? = nil, dtype: (any PythonConvertible)? = nil, handle_unknown: String? = nil, unknown_value: (any PythonConvertible)? = nil, encoded_missing_value: Double? = nil, min_frequency: Int? = nil, max_categories: Int? = nil, worker: Int? = nil) async throws -> PoolOrdinalEncoder { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let categories = categories { + __kwargs["categories"] = RemotePythonValue(categories) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let handle_unknown = handle_unknown { + __kwargs["handle_unknown"] = RemotePythonValue(handle_unknown) + } + if let unknown_value = unknown_value { + __kwargs["unknown_value"] = RemotePythonValue(unknown_value) + } + if let encoded_missing_value = encoded_missing_value { + __kwargs["encoded_missing_value"] = RemotePythonValue(encoded_missing_value) + } + if let min_frequency = min_frequency { + __kwargs["min_frequency"] = RemotePythonValue(min_frequency) + } + if let max_categories = max_categories { + __kwargs["max_categories"] = RemotePythonValue(max_categories) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "OrdinalEncoder", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "OrdinalEncoder", args: __args, kwargs: __kwargs) + } + return PoolOrdinalEncoder(pool: pool, owned: __owned) + } + + public func OneHotEncoder(categories: String? = nil, drop: String? = nil, sparse_output: Bool? = nil, dtype: (any PythonConvertible)? = nil, handle_unknown: String? = nil, min_frequency: Int? = nil, max_categories: Int? = nil, feature_name_combiner: String? = nil, worker: Int? = nil) async throws -> PoolOneHotEncoder { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let categories = categories { + __kwargs["categories"] = RemotePythonValue(categories) + } + if let drop = drop { + __kwargs["drop"] = RemotePythonValue(drop) + } + if let sparse_output = sparse_output { + __kwargs["sparse_output"] = RemotePythonValue(sparse_output) + } + if let dtype = dtype { + __kwargs["dtype"] = RemotePythonValue(dtype) + } + if let handle_unknown = handle_unknown { + __kwargs["handle_unknown"] = RemotePythonValue(handle_unknown) + } + if let min_frequency = min_frequency { + __kwargs["min_frequency"] = RemotePythonValue(min_frequency) + } + if let max_categories = max_categories { + __kwargs["max_categories"] = RemotePythonValue(max_categories) + } + if let feature_name_combiner = feature_name_combiner { + __kwargs["feature_name_combiner"] = RemotePythonValue(feature_name_combiner) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "OneHotEncoder", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "OneHotEncoder", args: __args, kwargs: __kwargs) + } + return PoolOneHotEncoder(pool: pool, owned: __owned) + } + + public func LabelBinarizer(neg_label: Int? = nil, pos_label: Int? = nil, sparse_output: Bool? = nil, worker: Int? = nil) async throws -> PoolLabelBinarizer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let neg_label = neg_label { + __kwargs["neg_label"] = RemotePythonValue(neg_label) + } + if let pos_label = pos_label { + __kwargs["pos_label"] = RemotePythonValue(pos_label) + } + if let sparse_output = sparse_output { + __kwargs["sparse_output"] = RemotePythonValue(sparse_output) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "LabelBinarizer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "LabelBinarizer", args: __args, kwargs: __kwargs) + } + return PoolLabelBinarizer(pool: pool, owned: __owned) + } + + public func MultiLabelBinarizer(classes: PyHandle? = nil, sparse_output: Bool? = nil, worker: Int? = nil) async throws -> PoolMultiLabelBinarizer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let classes = classes { + __kwargs["classes"] = RemotePythonValue(classes) + } + if let sparse_output = sparse_output { + __kwargs["sparse_output"] = RemotePythonValue(sparse_output) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "MultiLabelBinarizer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "MultiLabelBinarizer", args: __args, kwargs: __kwargs) + } + return PoolMultiLabelBinarizer(pool: pool, owned: __owned) + } + + public func TargetEncoder(categories: String? = nil, target_type: String? = nil, smooth: String? = nil, cv: Int? = nil, shuffle: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolTargetEncoder { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let categories = categories { + __kwargs["categories"] = RemotePythonValue(categories) + } + if let target_type = target_type { + __kwargs["target_type"] = RemotePythonValue(target_type) + } + if let smooth = smooth { + __kwargs["smooth"] = RemotePythonValue(smooth) + } + if let cv = cv { + __kwargs["cv"] = RemotePythonValue(cv) + } + if let shuffle = shuffle { + __kwargs["shuffle"] = RemotePythonValue(shuffle) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "TargetEncoder", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "TargetEncoder", args: __args, kwargs: __kwargs) + } + return PoolTargetEncoder(pool: pool, owned: __owned) + } + + public func PolynomialFeatures(degree: Int? = nil, interaction_only: Bool? = nil, include_bias: Bool? = nil, order: String? = nil, worker: Int? = nil) async throws -> PoolPolynomialFeatures { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let interaction_only = interaction_only { + __kwargs["interaction_only"] = RemotePythonValue(interaction_only) + } + if let include_bias = include_bias { + __kwargs["include_bias"] = RemotePythonValue(include_bias) + } + if let order = order { + __kwargs["order"] = RemotePythonValue(order) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "PolynomialFeatures", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "PolynomialFeatures", args: __args, kwargs: __kwargs) + } + return PoolPolynomialFeatures(pool: pool, owned: __owned) + } + + public func FunctionTransformer(`func`: (any PythonConvertible)? = nil, inverse_func: (any PythonConvertible)? = nil, validate: Bool? = nil, accept_sparse: Bool? = nil, check_inverse: Bool? = nil, feature_names_out: (any PythonConvertible)? = nil, kw_args: (any PythonConvertible)? = nil, inv_kw_args: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolFunctionTransformer { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let `func` = `func` { + __kwargs["func"] = RemotePythonValue(`func`) + } + if let inverse_func = inverse_func { + __kwargs["inverse_func"] = RemotePythonValue(inverse_func) + } + if let validate = validate { + __kwargs["validate"] = RemotePythonValue(validate) + } + if let accept_sparse = accept_sparse { + __kwargs["accept_sparse"] = RemotePythonValue(accept_sparse) + } + if let check_inverse = check_inverse { + __kwargs["check_inverse"] = RemotePythonValue(check_inverse) + } + if let feature_names_out = feature_names_out { + __kwargs["feature_names_out"] = RemotePythonValue(feature_names_out) + } + if let kw_args = kw_args { + __kwargs["kw_args"] = RemotePythonValue(kw_args) + } + if let inv_kw_args = inv_kw_args { + __kwargs["inv_kw_args"] = RemotePythonValue(inv_kw_args) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "FunctionTransformer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "FunctionTransformer", args: __args, kwargs: __kwargs) + } + return PoolFunctionTransformer(pool: pool, owned: __owned) + } + + public func KernelCenterer(worker: Int? = nil) async throws -> PoolKernelCenterer { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "KernelCenterer", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.preprocessing", function: "KernelCenterer", args: __args, kwargs: __kwargs) + } + return PoolKernelCenterer(pool: pool, owned: __owned) + } +} + + +public struct PoolStandardScaler: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolStandardScaler { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolStandardScaler(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolStandardScaler { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolStandardScaler(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolMinMaxScaler: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMinMaxScaler { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMinMaxScaler(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMinMaxScaler { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolMinMaxScaler(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolMaxAbsScaler: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMaxAbsScaler { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMaxAbsScaler(pool: pool, owned: __owned) + } + + public func partial_fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolMaxAbsScaler { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "partial_fit", args: __args, kwargs: __kwargs) + } + return PoolMaxAbsScaler(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolRobustScaler: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolRobustScaler { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolRobustScaler(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolNormalizer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolNormalizer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolNormalizer(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolBinarizer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolBinarizer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolBinarizer(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolQuantileTransformer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolQuantileTransformer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolQuantileTransformer(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolPowerTransformer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolPowerTransformer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolPowerTransformer(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolSplineTransformer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolSplineTransformer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSplineTransformer(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolKBinsDiscretizer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolKBinsDiscretizer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolKBinsDiscretizer(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolLabelEncoder: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(y: PyHandle, worker: Int? = nil) async throws -> PoolLabelEncoder { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLabelEncoder(pool: pool, owned: __owned) + } + + public func transform(y: PyHandle, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(y: PyHandle, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(y: [Int], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolOrdinalEncoder: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolOrdinalEncoder { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolOrdinalEncoder(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolOneHotEncoder: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolOneHotEncoder { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolOneHotEncoder(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_feature_names_out(input_features: [String]? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let input_features = input_features { + __kwargs["input_features"] = RemotePythonValue(input_features) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_feature_names_out", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_feature_names_out", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolLabelBinarizer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(y: PyHandle, worker: Int? = nil) async throws -> PoolLabelBinarizer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLabelBinarizer(pool: pool, owned: __owned) + } + + public func transform(y: PyHandle, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(y: PyHandle, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(Y: any PythonConvertible, threshold: Double? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(Y)) + var __kwargs: [String: RemotePythonValue] = [:] + if let threshold = threshold { + __kwargs["threshold"] = RemotePythonValue(threshold) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolMultiLabelBinarizer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(y: PyHandle, worker: Int? = nil) async throws -> PoolMultiLabelBinarizer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolMultiLabelBinarizer(pool: pool, owned: __owned) + } + + public func transform(y: PyHandle, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(y: PyHandle, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(Y: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(Y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolTargetEncoder: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: PyHandle, worker: Int? = nil) async throws -> PoolTargetEncoder { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolTargetEncoder(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, y: PyHandle, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolPolynomialFeatures: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolPolynomialFeatures { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolPolynomialFeatures(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_feature_names_out(input_features: [String]? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let input_features = input_features { + __kwargs["input_features"] = RemotePythonValue(input_features) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "get_feature_names_out", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "get_feature_names_out", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolFunctionTransformer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolFunctionTransformer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolFunctionTransformer(pool: pool, owned: __owned) + } + + public func transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func inverse_transform(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "inverse_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolKernelCenterer: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(K: any PythonConvertible, worker: Int? = nil) async throws -> PoolKernelCenterer { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(K)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolKernelCenterer(pool: pool, owned: __owned) + } + + public func transform(K: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(K)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "transform", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_transform(K: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(K)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_transform", args: __args, kwargs: __kwargs) + } + return __owned + } +} + +// MARK: - Sklearn.Svm + +extension PoolSklearn { + /// Pool-bound `sklearn.svm` namespace. Calls run on this pool. + public var svm: PoolSklearnSvm { PoolSklearnSvm(pool: pool) } +} + +public struct PoolSklearnSvm: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func SVC(C: Double? = nil, kernel: String? = nil, degree: Int? = nil, gamma: String? = nil, coef0: Double? = nil, shrinking: Bool? = nil, probability: Bool? = nil, tol: Double? = nil, cache_size: Double? = nil, class_weight: (any PythonConvertible)? = nil, verbose: Bool? = nil, max_iter: Int? = nil, decision_function_shape: String? = nil, break_ties: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolSVC { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let C = C { + __kwargs["C"] = RemotePythonValue(C) + } + if let kernel = kernel { + __kwargs["kernel"] = RemotePythonValue(kernel) + } + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + if let shrinking = shrinking { + __kwargs["shrinking"] = RemotePythonValue(shrinking) + } + if let probability = probability { + __kwargs["probability"] = RemotePythonValue(probability) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let cache_size = cache_size { + __kwargs["cache_size"] = RemotePythonValue(cache_size) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let decision_function_shape = decision_function_shape { + __kwargs["decision_function_shape"] = RemotePythonValue(decision_function_shape) + } + if let break_ties = break_ties { + __kwargs["break_ties"] = RemotePythonValue(break_ties) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "SVC", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "SVC", args: __args, kwargs: __kwargs) + } + return PoolSVC(pool: pool, owned: __owned) + } + + public func SVR(kernel: String? = nil, degree: Int? = nil, gamma: String? = nil, coef0: Double? = nil, tol: Double? = nil, C: Double? = nil, epsilon: Double? = nil, shrinking: Bool? = nil, cache_size: Double? = nil, verbose: Bool? = nil, max_iter: Int? = nil, worker: Int? = nil) async throws -> PoolSVR { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let kernel = kernel { + __kwargs["kernel"] = RemotePythonValue(kernel) + } + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let C = C { + __kwargs["C"] = RemotePythonValue(C) + } + if let epsilon = epsilon { + __kwargs["epsilon"] = RemotePythonValue(epsilon) + } + if let shrinking = shrinking { + __kwargs["shrinking"] = RemotePythonValue(shrinking) + } + if let cache_size = cache_size { + __kwargs["cache_size"] = RemotePythonValue(cache_size) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "SVR", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "SVR", args: __args, kwargs: __kwargs) + } + return PoolSVR(pool: pool, owned: __owned) + } + + public func LinearSVC(penalty: String? = nil, loss: String? = nil, dual: String? = nil, tol: Double? = nil, C: Double? = nil, multi_class: String? = nil, fit_intercept: Bool? = nil, intercept_scaling: Double? = nil, class_weight: (any PythonConvertible)? = nil, verbose: Int? = nil, random_state: Int? = nil, max_iter: Int? = nil, worker: Int? = nil) async throws -> PoolLinearSVC { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let penalty = penalty { + __kwargs["penalty"] = RemotePythonValue(penalty) + } + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let dual = dual { + __kwargs["dual"] = RemotePythonValue(dual) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let C = C { + __kwargs["C"] = RemotePythonValue(C) + } + if let multi_class = multi_class { + __kwargs["multi_class"] = RemotePythonValue(multi_class) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let intercept_scaling = intercept_scaling { + __kwargs["intercept_scaling"] = RemotePythonValue(intercept_scaling) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "LinearSVC", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "LinearSVC", args: __args, kwargs: __kwargs) + } + return PoolLinearSVC(pool: pool, owned: __owned) + } + + public func LinearSVR(epsilon: Double? = nil, tol: Double? = nil, C: Double? = nil, loss: String? = nil, fit_intercept: Bool? = nil, intercept_scaling: Double? = nil, dual: String? = nil, verbose: Int? = nil, random_state: Int? = nil, max_iter: Int? = nil, worker: Int? = nil) async throws -> PoolLinearSVR { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let epsilon = epsilon { + __kwargs["epsilon"] = RemotePythonValue(epsilon) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let C = C { + __kwargs["C"] = RemotePythonValue(C) + } + if let loss = loss { + __kwargs["loss"] = RemotePythonValue(loss) + } + if let fit_intercept = fit_intercept { + __kwargs["fit_intercept"] = RemotePythonValue(fit_intercept) + } + if let intercept_scaling = intercept_scaling { + __kwargs["intercept_scaling"] = RemotePythonValue(intercept_scaling) + } + if let dual = dual { + __kwargs["dual"] = RemotePythonValue(dual) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "LinearSVR", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "LinearSVR", args: __args, kwargs: __kwargs) + } + return PoolLinearSVR(pool: pool, owned: __owned) + } + + public func NuSVC(nu: Double? = nil, kernel: String? = nil, degree: Int? = nil, gamma: String? = nil, coef0: Double? = nil, shrinking: Bool? = nil, probability: Bool? = nil, tol: Double? = nil, cache_size: Double? = nil, class_weight: (any PythonConvertible)? = nil, verbose: Bool? = nil, max_iter: Int? = nil, decision_function_shape: String? = nil, break_ties: Bool? = nil, random_state: Int? = nil, worker: Int? = nil) async throws -> PoolNuSVC { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let nu = nu { + __kwargs["nu"] = RemotePythonValue(nu) + } + if let kernel = kernel { + __kwargs["kernel"] = RemotePythonValue(kernel) + } + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + if let shrinking = shrinking { + __kwargs["shrinking"] = RemotePythonValue(shrinking) + } + if let probability = probability { + __kwargs["probability"] = RemotePythonValue(probability) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let cache_size = cache_size { + __kwargs["cache_size"] = RemotePythonValue(cache_size) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + if let decision_function_shape = decision_function_shape { + __kwargs["decision_function_shape"] = RemotePythonValue(decision_function_shape) + } + if let break_ties = break_ties { + __kwargs["break_ties"] = RemotePythonValue(break_ties) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "NuSVC", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "NuSVC", args: __args, kwargs: __kwargs) + } + return PoolNuSVC(pool: pool, owned: __owned) + } + + public func NuSVR(nu: Double? = nil, C: Double? = nil, kernel: String? = nil, degree: Int? = nil, gamma: String? = nil, coef0: Double? = nil, shrinking: Bool? = nil, tol: Double? = nil, cache_size: Double? = nil, verbose: Bool? = nil, max_iter: Int? = nil, worker: Int? = nil) async throws -> PoolNuSVR { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let nu = nu { + __kwargs["nu"] = RemotePythonValue(nu) + } + if let C = C { + __kwargs["C"] = RemotePythonValue(C) + } + if let kernel = kernel { + __kwargs["kernel"] = RemotePythonValue(kernel) + } + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + if let shrinking = shrinking { + __kwargs["shrinking"] = RemotePythonValue(shrinking) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let cache_size = cache_size { + __kwargs["cache_size"] = RemotePythonValue(cache_size) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "NuSVR", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "NuSVR", args: __args, kwargs: __kwargs) + } + return PoolNuSVR(pool: pool, owned: __owned) + } + + public func OneClassSVM(kernel: String? = nil, degree: Int? = nil, gamma: String? = nil, coef0: Double? = nil, tol: Double? = nil, nu: Double? = nil, shrinking: Bool? = nil, cache_size: Double? = nil, verbose: Bool? = nil, max_iter: Int? = nil, worker: Int? = nil) async throws -> PoolOneClassSVM { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let kernel = kernel { + __kwargs["kernel"] = RemotePythonValue(kernel) + } + if let degree = degree { + __kwargs["degree"] = RemotePythonValue(degree) + } + if let gamma = gamma { + __kwargs["gamma"] = RemotePythonValue(gamma) + } + if let coef0 = coef0 { + __kwargs["coef0"] = RemotePythonValue(coef0) + } + if let tol = tol { + __kwargs["tol"] = RemotePythonValue(tol) + } + if let nu = nu { + __kwargs["nu"] = RemotePythonValue(nu) + } + if let shrinking = shrinking { + __kwargs["shrinking"] = RemotePythonValue(shrinking) + } + if let cache_size = cache_size { + __kwargs["cache_size"] = RemotePythonValue(cache_size) + } + if let verbose = verbose { + __kwargs["verbose"] = RemotePythonValue(verbose) + } + if let max_iter = max_iter { + __kwargs["max_iter"] = RemotePythonValue(max_iter) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "OneClassSVM", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.svm", function: "OneClassSVM", args: __args, kwargs: __kwargs) + } + return PoolOneClassSVM(pool: pool, owned: __owned) + } +} + + +public struct PoolSVC: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolSVC { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSVC(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolSVR: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolSVR { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolSVR(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLinearSVC: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolLinearSVC { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLinearSVC(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolLinearSVR: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolLinearSVR { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolLinearSVR(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolNuSVC: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolNuSVC { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolNuSVC(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolNuSVR: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolNuSVR { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolNuSVR(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolOneClassSVM: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, worker: Int? = nil) async throws -> PoolOneClassSVM { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolOneClassSVM(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_function(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_function", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score_samples(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "score_samples", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func fit_predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit_predict", args: __args, kwargs: __kwargs) + } + return __owned + } +} + +// MARK: - Sklearn.Tree + +extension PoolSklearn { + /// Pool-bound `sklearn.tree` namespace. Calls run on this pool. + public var tree: PoolSklearnTree { PoolSklearnTree(pool: pool) } +} + +public struct PoolSklearnTree: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } + + public func export_graphviz(decision_tree: any PythonConvertible, out_file: String? = nil, max_depth: Int? = nil, feature_names: [String]? = nil, class_names: [String]? = nil, label: String? = nil, filled: Bool? = nil, leaves_parallel: Bool? = nil, impurity: Bool? = nil, node_ids: Bool? = nil, proportion: Bool? = nil, rotate: Bool? = nil, rounded: Bool? = nil, special_characters: Bool? = nil, precision: Int? = nil, fontname: String? = nil, worker: Int? = nil) async throws -> String { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(decision_tree)) + var __kwargs: [String: RemotePythonValue] = [:] + if let out_file = out_file { + __kwargs["out_file"] = RemotePythonValue(out_file) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let feature_names = feature_names { + __kwargs["feature_names"] = RemotePythonValue(feature_names) + } + if let class_names = class_names { + __kwargs["class_names"] = RemotePythonValue(class_names) + } + if let label = label { + __kwargs["label"] = RemotePythonValue(label) + } + if let filled = filled { + __kwargs["filled"] = RemotePythonValue(filled) + } + if let leaves_parallel = leaves_parallel { + __kwargs["leaves_parallel"] = RemotePythonValue(leaves_parallel) + } + if let impurity = impurity { + __kwargs["impurity"] = RemotePythonValue(impurity) + } + if let node_ids = node_ids { + __kwargs["node_ids"] = RemotePythonValue(node_ids) + } + if let proportion = proportion { + __kwargs["proportion"] = RemotePythonValue(proportion) + } + if let rotate = rotate { + __kwargs["rotate"] = RemotePythonValue(rotate) + } + if let rounded = rounded { + __kwargs["rounded"] = RemotePythonValue(rounded) + } + if let special_characters = special_characters { + __kwargs["special_characters"] = RemotePythonValue(special_characters) + } + if let precision = precision { + __kwargs["precision"] = RemotePythonValue(precision) + } + if let fontname = fontname { + __kwargs["fontname"] = RemotePythonValue(fontname) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.tree", function: "export_graphviz", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.tree", function: "export_graphviz", args: __args, kwargs: __kwargs) + } + + public func export_text(decision_tree: any PythonConvertible, feature_names: [String]? = nil, class_names: [String]? = nil, max_depth: Int? = nil, spacing: Int? = nil, decimals: Int? = nil, show_weights: Bool? = nil, worker: Int? = nil) async throws -> String { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(decision_tree)) + var __kwargs: [String: RemotePythonValue] = [:] + if let feature_names = feature_names { + __kwargs["feature_names"] = RemotePythonValue(feature_names) + } + if let class_names = class_names { + __kwargs["class_names"] = RemotePythonValue(class_names) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let spacing = spacing { + __kwargs["spacing"] = RemotePythonValue(spacing) + } + if let decimals = decimals { + __kwargs["decimals"] = RemotePythonValue(decimals) + } + if let show_weights = show_weights { + __kwargs["show_weights"] = RemotePythonValue(show_weights) + } + if let worker { + return try await pool.invokeResult(module: "sklearn.tree", function: "export_text", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.invokeResult(module: "sklearn.tree", function: "export_text", args: __args, kwargs: __kwargs) + } + + public func plot_tree(decision_tree: any PythonConvertible, max_depth: Int? = nil, feature_names: [String]? = nil, class_names: [String]? = nil, label: String? = nil, filled: Bool? = nil, impurity: Bool? = nil, node_ids: Bool? = nil, proportion: Bool? = nil, rounded: Bool? = nil, precision: Int? = nil, ax: (any PythonConvertible)? = nil, fontsize: Int? = nil, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(decision_tree)) + var __kwargs: [String: RemotePythonValue] = [:] + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let feature_names = feature_names { + __kwargs["feature_names"] = RemotePythonValue(feature_names) + } + if let class_names = class_names { + __kwargs["class_names"] = RemotePythonValue(class_names) + } + if let label = label { + __kwargs["label"] = RemotePythonValue(label) + } + if let filled = filled { + __kwargs["filled"] = RemotePythonValue(filled) + } + if let impurity = impurity { + __kwargs["impurity"] = RemotePythonValue(impurity) + } + if let node_ids = node_ids { + __kwargs["node_ids"] = RemotePythonValue(node_ids) + } + if let proportion = proportion { + __kwargs["proportion"] = RemotePythonValue(proportion) + } + if let rounded = rounded { + __kwargs["rounded"] = RemotePythonValue(rounded) + } + if let precision = precision { + __kwargs["precision"] = RemotePythonValue(precision) + } + if let ax = ax { + __kwargs["ax"] = RemotePythonValue(ax) + } + if let fontsize = fontsize { + __kwargs["fontsize"] = RemotePythonValue(fontsize) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "plot_tree", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "plot_tree", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func DecisionTreeClassifier(criterion: String? = nil, splitter: String? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_features: (any PythonConvertible)? = nil, random_state: Int? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, class_weight: (any PythonConvertible)? = nil, ccp_alpha: Double? = nil, monotonic_cst: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDecisionTreeClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let splitter = splitter { + __kwargs["splitter"] = RemotePythonValue(splitter) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + if let monotonic_cst = monotonic_cst { + __kwargs["monotonic_cst"] = RemotePythonValue(monotonic_cst) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "DecisionTreeClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "DecisionTreeClassifier", args: __args, kwargs: __kwargs) + } + return PoolDecisionTreeClassifier(pool: pool, owned: __owned) + } + + public func DecisionTreeRegressor(criterion: String? = nil, splitter: String? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_features: (any PythonConvertible)? = nil, random_state: Int? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, ccp_alpha: Double? = nil, monotonic_cst: (any PythonConvertible)? = nil, worker: Int? = nil) async throws -> PoolDecisionTreeRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let splitter = splitter { + __kwargs["splitter"] = RemotePythonValue(splitter) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + if let monotonic_cst = monotonic_cst { + __kwargs["monotonic_cst"] = RemotePythonValue(monotonic_cst) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "DecisionTreeRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "DecisionTreeRegressor", args: __args, kwargs: __kwargs) + } + return PoolDecisionTreeRegressor(pool: pool, owned: __owned) + } + + public func ExtraTreeClassifier(criterion: String? = nil, splitter: String? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_features: String? = nil, random_state: Int? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, class_weight: (any PythonConvertible)? = nil, ccp_alpha: Double? = nil, worker: Int? = nil) async throws -> PoolExtraTreeClassifier { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let splitter = splitter { + __kwargs["splitter"] = RemotePythonValue(splitter) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let class_weight = class_weight { + __kwargs["class_weight"] = RemotePythonValue(class_weight) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "ExtraTreeClassifier", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "ExtraTreeClassifier", args: __args, kwargs: __kwargs) + } + return PoolExtraTreeClassifier(pool: pool, owned: __owned) + } + + public func ExtraTreeRegressor(criterion: String? = nil, splitter: String? = nil, max_depth: Int? = nil, min_samples_split: Int? = nil, min_samples_leaf: Int? = nil, min_weight_fraction_leaf: Double? = nil, max_features: Double? = nil, random_state: Int? = nil, max_leaf_nodes: Int? = nil, min_impurity_decrease: Double? = nil, ccp_alpha: Double? = nil, worker: Int? = nil) async throws -> PoolExtraTreeRegressor { + let __args: [RemotePythonValue] = [] + var __kwargs: [String: RemotePythonValue] = [:] + if let criterion = criterion { + __kwargs["criterion"] = RemotePythonValue(criterion) + } + if let splitter = splitter { + __kwargs["splitter"] = RemotePythonValue(splitter) + } + if let max_depth = max_depth { + __kwargs["max_depth"] = RemotePythonValue(max_depth) + } + if let min_samples_split = min_samples_split { + __kwargs["min_samples_split"] = RemotePythonValue(min_samples_split) + } + if let min_samples_leaf = min_samples_leaf { + __kwargs["min_samples_leaf"] = RemotePythonValue(min_samples_leaf) + } + if let min_weight_fraction_leaf = min_weight_fraction_leaf { + __kwargs["min_weight_fraction_leaf"] = RemotePythonValue(min_weight_fraction_leaf) + } + if let max_features = max_features { + __kwargs["max_features"] = RemotePythonValue(max_features) + } + if let random_state = random_state { + __kwargs["random_state"] = RemotePythonValue(random_state) + } + if let max_leaf_nodes = max_leaf_nodes { + __kwargs["max_leaf_nodes"] = RemotePythonValue(max_leaf_nodes) + } + if let min_impurity_decrease = min_impurity_decrease { + __kwargs["min_impurity_decrease"] = RemotePythonValue(min_impurity_decrease) + } + if let ccp_alpha = ccp_alpha { + __kwargs["ccp_alpha"] = RemotePythonValue(ccp_alpha) + } + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "ExtraTreeRegressor", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.invokeOwned(module: "sklearn.tree", function: "ExtraTreeRegressor", args: __args, kwargs: __kwargs) + } + return PoolExtraTreeRegressor(pool: pool, owned: __owned) + } +} + + +public struct PoolDecisionTreeClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolDecisionTreeClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolDecisionTreeClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_path(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_depth(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_depth", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_depth", args: __args, kwargs: __kwargs) + } + + public func get_n_leaves(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_leaves", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_leaves", args: __args, kwargs: __kwargs) + } + + public func cost_complexity_pruning_path(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cost_complexity_pruning_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cost_complexity_pruning_path", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolDecisionTreeRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolDecisionTreeRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolDecisionTreeRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_path(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_depth(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_depth", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_depth", args: __args, kwargs: __kwargs) + } + + public func get_n_leaves(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_leaves", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_leaves", args: __args, kwargs: __kwargs) + } + + public func cost_complexity_pruning_path(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "cost_complexity_pruning_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "cost_complexity_pruning_path", args: __args, kwargs: __kwargs) + } + return __owned + } +} + + +public struct PoolExtraTreeClassifier: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> PoolExtraTreeClassifier { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolExtraTreeClassifier(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func predict_log_proba(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict_log_proba", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Int], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_path(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_depth(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_depth", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_depth", args: __args, kwargs: __kwargs) + } + + public func get_n_leaves(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_leaves", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_leaves", args: __args, kwargs: __kwargs) + } +} + + +public struct PoolExtraTreeRegressor: Sendable, HandleConvertible { + public let pool: PythonProcessPool + public let owned: OwnedPyHandle + public var handle: PyHandle { owned.handle } + public init(pool: PythonProcessPool, owned: OwnedPyHandle) { + self.pool = pool + self.owned = owned + } + + public func fit(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> PoolExtraTreeRegressor { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "fit", args: __args, kwargs: __kwargs) + } + return PoolExtraTreeRegressor(pool: pool, owned: __owned) + } + + public func predict(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "predict", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func score(X: any PythonConvertible, y: [Double], worker: Int? = nil) async throws -> Double { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + __args.append(RemotePythonValue(y)) + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "score", args: __args, kwargs: __kwargs) + } + + public func apply(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "apply", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func decision_path(X: any PythonConvertible, worker: Int? = nil) async throws -> OwnedPyHandle { + var __args: [RemotePythonValue] = [] + __args.append(RemotePythonValue(X)) + let __kwargs: [String: RemotePythonValue] = [:] + let __owned: OwnedPyHandle + if let worker { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs, worker: worker) + } else { + __owned = try await pool.methodOwned(handle: self, name: "decision_path", args: __args, kwargs: __kwargs) + } + return __owned + } + + public func get_depth(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_depth", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_depth", args: __args, kwargs: __kwargs) + } + + public func get_n_leaves(worker: Int? = nil) async throws -> Int { + let __args: [RemotePythonValue] = [] + let __kwargs: [String: RemotePythonValue] = [:] + if let worker { + return try await pool.methodResult(handle: self, name: "get_n_leaves", args: __args, kwargs: __kwargs, worker: worker) + } + return try await pool.methodResult(handle: self, name: "get_n_leaves", args: __args, kwargs: __kwargs) + } +} + +// MARK: - Sklearn (synthesized root namespace) + +extension PythonProcessPool { + /// Pool-bound `sklearn` namespace. Calls run on this pool. + public var sklearn: PoolSklearn { PoolSklearn(pool: self) } +} + +public struct PoolSklearn: Sendable { + public let pool: PythonProcessPool + public init(pool: PythonProcessPool) { self.pool = pool } +} + diff --git a/Examples/Studio/Sources/studio-cli/main.swift b/Examples/Studio/Sources/studio-cli/main.swift new file mode 100644 index 0000000..dbf8942 --- /dev/null +++ b/Examples/Studio/Sources/studio-cli/main.swift @@ -0,0 +1,156 @@ +// studio-cli — the terminal face of SwiftPython Studio. +// +// Races several scikit-learn classifiers across Python worker processes, driven +// entirely from Swift through the canonical `pool.` surface. This is the +// "behind the curtain" view: same engine as the app, pure terminal output. + +import Foundation +import SwiftPythonRuntime +import SwiftPythonKit + +// MARK: - ANSI + +enum A { + static let reset = "\u{001B}[0m" + static let bold = "\u{001B}[1m" + static let dim = "\u{001B}[2m" + static let orange = "\u{001B}[38;5;208m" + static let blue = "\u{001B}[38;5;75m" + static let green = "\u{001B}[38;5;78m" + static let purple = "\u{001B}[38;5;141m" + static let grey = "\u{001B}[38;5;245m" +} +let modelColor = [A.orange, A.blue, A.purple, A.green] + +func bar(_ value: Double, width: Int = 28) -> String { + let filled = Int((value * Double(width)).rounded()) + return String(repeating: "█", count: max(0, filled)) + String(repeating: "·", count: max(0, width - filled)) +} + +// MARK: - Deterministic dataset (SplitMix64) + +struct SplitMix64 { + var state: UInt64 + mutating func next() -> UInt64 { + state &+= 0x9E3779B97F4A7C15 + var z = state + z = (z ^ (z >> 30)) &* 0xBF58476D1CE4E5B9 + z = (z ^ (z >> 27)) &* 0x94D049BB133111EB + return z ^ (z >> 31) + } + mutating func unit() -> Double { Double(next() >> 11) * (1.0 / 9007199254740992.0) } + mutating func gauss() -> Double { + let u1 = max(unit(), 1e-12), u2 = unit() + return (-2.0 * log(u1)).squareRoot() * cos(2.0 * .pi * u2) + } +} + +func makeDataset(samples: Int, features: Int, classes: Int, seed: UInt64) + -> ([[Double]], [Int], [[Double]], [Int]) { + var rng = SplitMix64(state: seed) + var centroids: [[Double]] = [] + for c in 0.. Double } + +let specs: [Spec] = [ + Spec(name: "Random Forest", worker: 0, color: modelColor[0], + code: "pool.sklearn.ensemble.RandomForestClassifier(n_estimators: 300)") { p, xtr, ytr, xte, yte, w in + let m = try await p.sklearn.ensemble.RandomForestClassifier(n_estimators: 300, random_state: 0, worker: w) + return try await m.fit(X: xtr, y: ytr, worker: w).score(X: xte, y: yte, worker: w) + }, + Spec(name: "Gradient Boosting", worker: 1, color: modelColor[1], + code: "pool.sklearn.ensemble.GradientBoostingClassifier(n_estimators: 200)") { p, xtr, ytr, xte, yte, w in + let m = try await p.sklearn.ensemble.GradientBoostingClassifier(n_estimators: 200, random_state: 0, worker: w) + return try await m.fit(X: xtr, y: ytr, worker: w).score(X: xte, y: yte, worker: w) + }, + Spec(name: "Logistic Regression", worker: 2, color: modelColor[2], + code: "pool.sklearn.linearmodel.LogisticRegression(max_iter: 2000)") { p, xtr, ytr, xte, yte, w in + let m = try await p.sklearn.linearmodel.LogisticRegression(random_state: 0, max_iter: 2000, worker: w) + return try await m.fit(X: xtr, y: ytr, worker: w).score(X: xte, y: yte, worker: w) + }, + Spec(name: "K-Neighbors", worker: 3, color: modelColor[3], + code: "pool.sklearn.neighbors.KNeighborsClassifier(n_neighbors: 7)") { p, xtr, ytr, xte, yte, w in + let m = try await p.sklearn.neighbors.KNeighborsClassifier(n_neighbors: 7, worker: w) + return try await m.fit(X: xtr, y: ytr, worker: w).score(X: xte, y: yte, worker: w) + }, +] + +func workerPath() -> String? { + if let env = ProcessInfo.processInfo.environment["SWIFTPYTHON_WORKER_PATH"], !env.isEmpty { return env } + return nil +} + +// MARK: - Run + +func runStudio() async { + print("") + print(" \(A.bold)\(A.orange)SwiftPython Studio\(A.reset) \(A.grey)· studio-cli\(A.reset)") + print(" \(A.grey)Swift → scikit-learn, across real Python processes.\(A.reset)") + print("") + + let (xtr, ytr, xte, yte) = makeDataset(samples: 1500, features: 12, classes: 3, seed: 0xC0FFEE) + print(" \(A.dim)dataset built in Swift:\(A.reset) 1500×12, 3 classes → train \(ytr.count) / test \(yte.count)") + + do { + StudioRuntime.configureBundledPythonIfPresent() + let wall = Date() + print(" \(A.orange)›\(A.reset) let pool = try await PythonProcessPool(workers: 4)") + let pool = try await PythonProcessPool(workers: 4, workerExecutablePath: workerPath()) + print(" \(A.green)✓\(A.reset) 4 Python workers spawned") + print(" \(A.dim)racing \(specs.count) models in parallel — each pinned to its own worker…\(A.reset)\n") + + let snapTr = xtr, snapYtr = ytr, snapTe = xte, snapYte = yte + var results: [(name: String, color: String, acc: Double, ms: Int)] = [] + + try await withThrowingTaskGroup(of: (Int, Double, Int).self) { group in + for (i, spec) in specs.enumerated() { + group.addTask { + let t0 = Date() + let acc = try await spec.run(pool, snapTr, snapYtr, snapTe, snapYte, spec.worker) + return (i, acc, Int(Date().timeIntervalSince(t0) * 1000)) + } + } + for try await (i, acc, ms) in group { + let s = specs[i] + print(" \(s.color)✓\(A.reset) [w\(s.worker)] \(s.name) → \(A.bold)\(String(format: "%.3f", acc))\(A.reset) \(A.dim)(\(ms) ms)\(A.reset)") + results.append((s.name, s.color, acc, ms)) + } + } + + print("") + for r in results.sorted(by: { $0.acc > $1.acc }) { + let name = r.name.padding(toLength: 20, withPad: " ", startingAt: 0) + print(" \(r.color)\(name)\(A.reset) \(r.color)\(bar(r.acc))\(A.reset) \(String(format: "%.3f", r.acc))") + } + if let best = results.max(by: { $0.acc < $1.acc }) { + print("\n \(A.green)\(A.bold)winner:\(A.reset) \(best.name) \(String(format: "(%.3f)", best.acc))") + } + print(" \(A.dim)total \(Int(Date().timeIntervalSince(wall) * 1000)) ms · handles auto-released\(A.reset)\n") + await pool.shutdown() + fflush(nil) + exit(0) + } catch { + print(" \(A.bold)error:\(A.reset) \(error)") + fflush(nil) + exit(1) + } +} + +await runStudio() diff --git a/Examples/Studio/scripts/build_app.sh b/Examples/Studio/scripts/build_app.sh new file mode 100755 index 0000000..9cd0035 --- /dev/null +++ b/Examples/Studio/scripts/build_app.sh @@ -0,0 +1,140 @@ +#!/usr/bin/env bash +# Assemble SwiftPython Studio.app from the built Swift product. +# +# Modes: +# (default) dev bundle — relies on a system/Homebrew Python 3.13 at runtime. +# --bundle-python copy a relocatable Python + numpy/pandas/scikit-learn/scipy into +# the app so it runs on a machine with no Python (see bundle_python.sh). +# --sign codesign with Developer ID (inside-out: worker + bundled native code, +# then the app), hardened runtime. Required before notarization. +# --open launch the app when done. +# +# Notarization + DMG are separate steps (see SHIPPING.md). +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PKG_DIR="$(dirname "$SCRIPT_DIR")" +REPO_DIR="$(cd "$PKG_DIR/../.." && pwd)" # swiftpython-commercial root (has SwiftPythonWorker) +APP_NAME="SwiftPython Studio" +APP_DIR="$PKG_DIR/build/${APP_NAME}.app" +CONFIG="release" +DO_OPEN=0; DO_SIGN=0; DO_BUNDLE_PYTHON=0 +SIGN_ID="${STUDIO_CODESIGN_IDENTITY:-Developer ID Application}" + +for arg in "$@"; do case "$arg" in + --open) DO_OPEN=1 ;; + --sign) DO_SIGN=1 ;; + --bundle-python) DO_BUNDLE_PYTHON=1 ;; + --debug) CONFIG="debug" ;; + *) echo "Unknown argument: $arg" >&2; exit 64 ;; +esac; done + +cd "$PKG_DIR" +echo "==> swift build -c $CONFIG (Studio + studio-cli)" +swift build -c "$CONFIG" --product Studio +swift build -c "$CONFIG" --product studio-cli +BIN_DIR="$(swift build -c "$CONFIG" --show-bin-path)" + +echo "==> assembling $APP_DIR" +rm -rf "$APP_DIR" +mkdir -p "$APP_DIR/Contents/MacOS" "$APP_DIR/Contents/Resources" +cp "$BIN_DIR/Studio" "$APP_DIR/Contents/MacOS/Studio" +cp "$BIN_DIR/studio-cli" "$APP_DIR/Contents/MacOS/studio-cli" + +# App icon +if [ -f "$PKG_DIR/Resources/AppIcon.icns" ]; then + cp "$PKG_DIR/Resources/AppIcon.icns" "$APP_DIR/Contents/Resources/AppIcon.icns" +else + echo "WARNING: Resources/AppIcon.icns not found; app will use the generic icon" >&2 +fi + +# Bundle the worker sidecar so PythonProcessPool auto-discovers it. +if [ -f "$REPO_DIR/SwiftPythonWorker" ]; then + cp "$REPO_DIR/SwiftPythonWorker" "$APP_DIR/Contents/MacOS/SwiftPythonWorker" +else + echo "WARNING: $REPO_DIR/SwiftPythonWorker not found; pool will rely on SWIFTPYTHON_WORKER_PATH" >&2 +fi + +cat > "$APP_DIR/Contents/Info.plist" < + + + + CFBundleExecutableStudio + CFBundleIdentifierdev.swiftpython.studio + CFBundleNameSwiftPython Studio + CFBundleDisplayNameSwiftPython Studio + CFBundleIconFileAppIcon + CFBundleIconNameAppIcon + CFBundlePackageTypeAPPL + CFBundleShortVersionString${STUDIO_APP_SHORT_VERSION:-0.1.0} + CFBundleVersion${STUDIO_APP_BUILD_VERSION:-1} + LSApplicationCategoryTypepublic.app-category.developer-tools + LSMinimumSystemVersion15.0 + NSHighResolutionCapable + NSPrincipalClassNSApplication + + +PLIST + +if [ "$DO_BUNDLE_PYTHON" -eq 1 ]; then + echo "==> bundling Python runtime" + "$SCRIPT_DIR/bundle_python.sh" "$APP_DIR" + + echo "==> relinking binaries to the bundled Python framework (@rpath)" + OLD_PY="/opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/Python" + NEW_PY="@rpath/Python.framework/Versions/3.13/Python" + for b in Studio studio-cli SwiftPythonWorker; do + bp="$APP_DIR/Contents/MacOS/$b" + [ -f "$bp" ] || continue + install_name_tool -change "$OLD_PY" "$NEW_PY" "$bp" 2>/dev/null || true + install_name_tool -add_rpath "@executable_path/../Frameworks" "$bp" 2>/dev/null || true + done +fi + +if [ "$DO_SIGN" -eq 1 ]; then + echo "==> codesigning (Developer ID, hardened runtime, inside-out)" + ENT="$SCRIPT_DIR/studio.entitlements" + SCAN_DIRS=() + [ -d "$APP_DIR/Contents/Frameworks" ] && SCAN_DIRS+=("$APP_DIR/Contents/Frameworks") + [ -d "$APP_DIR/Contents/Resources/Python" ] && SCAN_DIRS+=("$APP_DIR/Contents/Resources/Python") + + if [ "${#SCAN_DIRS[@]}" -gt 0 ]; then + # 1a) strip executable bits from non-Mach-O Python payloads (Gatekeeper "damaged" guard) + echo " normalizing non-Mach-O executable bits…" + find "${SCAN_DIRS[@]}" -type f -perm -111 2>/dev/null | while IFS= read -r f; do + file "$f" | grep -q 'Mach-O' || chmod -x "$f" + done + # 1b) sign every nested Mach-O (wheel .so, framework dylibs, the Python binary, bin/python3.13) + echo " signing nested Mach-O (this takes a few minutes)…" + count=0 + while IFS= read -r -d '' f; do + if file "$f" | grep -q 'Mach-O'; then + codesign --force --options runtime --timestamp --sign "$SIGN_ID" "$f" + count=$((count + 1)) + fi + done < <(find "${SCAN_DIRS[@]}" -type f \( -name '*.so' -o -name '*.dylib' -o -perm -111 \) -print0 2>/dev/null) + echo " signed $count nested Mach-O files" + fi + + # 2) re-seal the Python framework as a proper versioned bundle (after nested code is signed) + if [ -d "$APP_DIR/Contents/Frameworks/Python.framework" ]; then + codesign --force --options runtime --timestamp --sign "$SIGN_ID" \ + "$APP_DIR/Contents/Frameworks/Python.framework" + fi + + # 3) the worker sidecar + nested CLI (re-sign after install_name_tool relink). + # NOTE: do NOT sign Contents/MacOS/Studio separately — sealing the .app (step 4) + # signs the main executable + applies entitlements. Signing it twice yields an + # "invalid signature" at notarization. + codesign --force --options runtime --timestamp --sign "$SIGN_ID" "$APP_DIR/Contents/MacOS/SwiftPythonWorker" + codesign --force --options runtime --timestamp --sign "$SIGN_ID" "$APP_DIR/Contents/MacOS/studio-cli" + + # 4) the outer app last (no --deep; seals nested code, signs the main executable + entitlements) + codesign --force --options runtime --timestamp \ + --entitlements "$ENT" --sign "$SIGN_ID" "$APP_DIR" + codesign --verify --strict --verbose=2 "$APP_DIR" +fi + +echo "Created: $APP_DIR" +[ "$DO_OPEN" -eq 1 ] && open "$APP_DIR" || true diff --git a/Examples/Studio/scripts/bundle_python.sh b/Examples/Studio/scripts/bundle_python.sh new file mode 100755 index 0000000..45ecdf2 --- /dev/null +++ b/Examples/Studio/scripts/bundle_python.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# Bundle a self-contained Python 3.13 + the scientific stack into Studio.app so it +# runs on a Mac with NO system Python. Invoked by build_app.sh --bundle-python. +# +# Lean payload (per the launch decision): numpy, pandas, scikit-learn, scipy. +# +# Strategy: copy the Homebrew Python 3.13 framework as a relocatable interpreter, +# then `pip install --target` the wheels into a bundled site-packages. The app +# points the worker at this interpreter via PYTHONHOME/PYTHONPATH (see +# SHIPPING.md "Wiring the worker to the bundled interpreter"). +# +# NOTE: This is the bundling scaffold. The exact PYTHONHOME wiring + the +# inside-out signing of every wheel .so are covered in SHIPPING.md and must be +# verified end-to-end on the release machine (Developer ID + notarytool). +set -euo pipefail + +APP_DIR="${1:?usage: bundle_python.sh }" +PYVER="3.13" +SRC_FRAMEWORK="${STUDIO_PYTHON_FRAMEWORK:-/opt/homebrew/opt/python@${PYVER}/Frameworks/Python.framework}" +WHEELS=("numpy" "pandas" "scikit-learn" "scipy") + +FRAMEWORKS_DIR="$APP_DIR/Contents/Frameworks" +PY_RES_DIR="$APP_DIR/Contents/Resources/Python" +SITE_PKGS="$PY_RES_DIR/site-packages" + +[ -d "$SRC_FRAMEWORK" ] || { echo "Python.framework not found at $SRC_FRAMEWORK" >&2; exit 1; } + +echo "==> copying Python.framework" +mkdir -p "$FRAMEWORKS_DIR" +ditto "$SRC_FRAMEWORK" "$FRAMEWORKS_DIR/Python.framework" + +echo "==> installing wheels into bundled site-packages: ${WHEELS[*]}" +mkdir -p "$SITE_PKGS" +PYBIN="$FRAMEWORKS_DIR/Python.framework/Versions/$PYVER/bin/python$PYVER" +"$PYBIN" -m pip install --upgrade --no-cache-dir --target "$SITE_PKGS" "${WHEELS[@]}" + +echo "==> removing symlinks that escape the framework (Gatekeeper rejects them)" +# e.g. Homebrew's framework links lib/python3.13/site-packages up into the Cellar. +# We use Contents/Resources/Python/site-packages via PYTHONPATH instead. +# realpath resolves even broken/nonexistent targets, so escaping links are caught +# whether or not their destination exists. +FW="$FRAMEWORKS_DIR/Python.framework" +realpath_py() { /usr/bin/python3 -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' "$1" 2>/dev/null; } +FW_REAL="$(realpath_py "$FW")"; [ -z "$FW_REAL" ] && FW_REAL="$FW" +find "$FW" -type l | while IFS= read -r link; do + resolved="$(realpath_py "$link")" + case "$resolved" in + "$FW_REAL"/*|"$FW_REAL") : ;; # resolves inside the framework — keep + *) rm -f "$link"; echo " removed escaping/broken symlink: ${link#$APP_DIR/}" ;; + esac +done + +echo "==> normalizing executable bits on non-Mach-O Python payloads (Gatekeeper)" +find "$FRAMEWORKS_DIR/Python.framework" "$PY_RES_DIR" -type f -perm -111 2>/dev/null | while IFS= read -r f; do + file "$f" | grep -q 'Mach-O' || chmod -x "$f" +done + +echo "==> bundled Python ready under Contents/Frameworks + Contents/Resources/Python" +echo " (build_app.sh --sign will Developer-ID-sign every wheel .so inside-out)" diff --git a/Examples/Studio/scripts/make_icon.py b/Examples/Studio/scripts/make_icon.py new file mode 100644 index 0000000..5923154 --- /dev/null +++ b/Examples/Studio/scripts/make_icon.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 +"""Turn square icon artwork into a proper macOS app-icon PNG. + +Center-crops the source to a square, fits it to the macOS 1024 icon grid +(824 body, ~0.2237 corner radius), cuts the rounded-rect with REAL alpha +(transparent corners — no baked checkerboard), and adds a soft drop shadow. + +Usage: make_icon.py [preview.png] +""" +import sys +from PIL import Image, ImageDraw, ImageFilter + +src, out = sys.argv[1], sys.argv[2] +preview = sys.argv[3] if len(sys.argv) > 3 else None + +CANVAS, BODY, RADIUS = 1024, 824, 185 +MARGIN = (CANVAS - BODY) // 2 + +art = Image.open(src).convert("RGBA") +w, h = art.size +# Pad to a square by replicating edge rows/cols (seamless on a gradient bg) so the +# full emblem is preserved — never center-crop, which can clip the artwork. +if w > h: + pad = w - h + top, bot = pad // 2, pad - pad // 2 + sq = Image.new("RGBA", (w, w)) + sq.paste(art.crop((0, 0, w, 1)).resize((w, top)), (0, 0)) + sq.paste(art, (0, top)) + sq.paste(art.crop((0, h - 1, w, h)).resize((w, bot)), (0, top + h)) + art = sq +elif h > w: + pad = h - w + left, right = pad // 2, pad - pad // 2 + sq = Image.new("RGBA", (h, h)) + sq.paste(art.crop((0, 0, 1, h)).resize((left, h)), (0, 0)) + sq.paste(art, (left, 0)) + sq.paste(art.crop((w - 1, 0, w, h)).resize((right, h)), (left + w, 0)) + art = sq +art = art.resize((BODY, BODY), Image.LANCZOS) + +mask = Image.new("L", (BODY, BODY), 0) +ImageDraw.Draw(mask).rounded_rectangle([0, 0, BODY - 1, BODY - 1], radius=RADIUS, fill=255) +art.putalpha(mask) + +canvas = Image.new("RGBA", (CANVAS, CANVAS), (0, 0, 0, 0)) + +shadow = Image.new("RGBA", (CANVAS, CANVAS), (0, 0, 0, 0)) +ImageDraw.Draw(shadow).rounded_rectangle( + [MARGIN, MARGIN + 16, MARGIN + BODY, MARGIN + BODY + 16], radius=RADIUS, fill=(0, 0, 0, 115) +) +shadow = shadow.filter(ImageFilter.GaussianBlur(20)) +canvas = Image.alpha_composite(canvas, shadow) +canvas.alpha_composite(art, (MARGIN, MARGIN)) +canvas.save(out) + +print("size:", canvas.size, + "| top-left alpha:", canvas.getpixel((4, 4))[3], + "| center alpha:", canvas.getpixel((512, 512))[3]) + +if preview: + bg = Image.new("RGBA", (CANVAS, CANVAS), (236, 236, 238, 255)) + Image.alpha_composite(bg, canvas).convert("RGB").save(preview) diff --git a/Examples/Studio/scripts/studio.entitlements b/Examples/Studio/scripts/studio.entitlements new file mode 100644 index 0000000..827c7f4 --- /dev/null +++ b/Examples/Studio/scripts/studio.entitlements @@ -0,0 +1,14 @@ + + + + + + com.apple.security.cs.disable-library-validation + + + com.apple.security.cs.allow-dyld-environment-variables + + +

    34KvdVhf5Z$7|De<+B;i8+Lvyu~K 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