diff --git a/components/indexer/.DS_Store b/components/indexer/.DS_Store new file mode 100644 index 0000000..4dd082c Binary files /dev/null and b/components/indexer/.DS_Store differ diff --git a/components/indexer/pinecone/examples/create_index/create_index.go b/components/indexer/pinecone/examples/create_index/create_index.go new file mode 100644 index 0000000..0d3b164 --- /dev/null +++ b/components/indexer/pinecone/examples/create_index/create_index.go @@ -0,0 +1,60 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package main + +import ( + "context" + "fmt" + "os" + + "github.com/pinecone-io/go-pinecone/pinecone" +) + +// component does not support create index, you can create index on platform or by codes below + +func main() { + ctx := context.Background() + apiKey := os.Getenv("PINECONE_API_KEY") + indexName := "eino-index-test" + + pc, err := pinecone.NewClient(pinecone.NewClientParams{ + ApiKey: apiKey, + }) + if err != nil { + panic(fmt.Errorf("failed to create client: %v", err)) + } + + // [dimensionality]: https://docs.pinecone.io/guides/indexes/choose-a-pod-type-and-size#dimensionality-of-vectors + // [Serverless]: https://docs.pinecone.io/guides/indexes/understanding-indexes#serverless-indexes + // [similarity]: https://docs.pinecone.io/guides/indexes/understanding-indexes#distance-metrics + // [region]: https://docs.pinecone.io/troubleshooting/available-cloud-regions + // [cloud provider]: https://docs.pinecone.io/troubleshooting/available-cloud-regions#regions-available-for-serverless-indexes + // [deletion protection]: https://docs.pinecone.io/guides/indexes/prevent-index-deletion#enable-deletion-protection + idx, err := pc.CreateServerlessIndex(ctx, &pinecone.CreateServerlessIndexRequest{ + Name: indexName, + Dimension: 1024, + Metric: pinecone.Cosine, // use pinecone.Dotproduct if you need hybrid search + Cloud: pinecone.Aws, + Region: "us-east-1", + }) + if err != nil { + panic(fmt.Errorf("failed to create serverless index \"%v\": %v", indexName, err)) + } + + fmt.Printf("Successfully created serverless index: %v", idx.Name) + // Successfully created serverless index: eino-index-test +} diff --git a/components/indexer/pinecone/examples/upsert_data/ds.json b/components/indexer/pinecone/examples/upsert_data/ds.json new file mode 100644 index 0000000..9ec2bd3 --- /dev/null +++ b/components/indexer/pinecone/examples/upsert_data/ds.json @@ -0,0 +1,10610 @@ +{ + "dense": [ + [ + -0.0018224716186523438, + 0.03216552734375, + 0.00145721435546875, + 0.0256195068359375, + 0.01934814453125, + -0.0180206298828125, + -0.0305328369140625, + 0.0121612548828125, + 0.01012420654296875, + 0.0108184814453125, + -0.0242462158203125, + -0.0062255859375, + -0.005126953125, + -0.0179443359375, + 0.0234375, + 0.021209716796875, + 0.072998046875, + -0.02215576171875, + 0.0192413330078125, + -0.0252838134765625, + -0.039703369140625, + -0.02130126953125, + -0.0068817138671875, + -0.0557861328125, + -0.020782470703125, + -0.003398895263671875, + 0.01082611083984375, + 0.0100860595703125, + 0.0035991668701171875, + -0.021026611328125, + 0.00574493408203125, + 0.023223876953125, + 0.0199737548828125, + 0.057281494140625, + -0.04449462890625, + -0.0263519287109375, + 0.01131439208984375, + -0.05352783203125, + -0.0445556640625, + -0.0025844573974609375, + -0.0325927734375, + -0.002460479736328125, + 0.034149169921875, + 0.0038585662841796875, + 0.03564453125, + -0.059173583984375, + -0.043304443359375, + -0.017852783203125, + -0.045013427734375, + -0.07366943359375, + -0.0127105712890625, + -0.0180816650390625, + 0.00989532470703125, + -0.0275726318359375, + -0.043304443359375, + 0.0022144317626953125, + -0.0926513671875, + -0.0289154052734375, + -0.06988525390625, + -0.032806396484375, + -0.0207672119140625, + 0.055023193359375, + -0.0189361572265625, + -0.07269287109375, + 0.01418304443359375, + 0.03680419921875, + 0.0272369384765625, + 0.0093841552734375, + -0.0264892578125, + -0.03887939453125, + -0.0084686279296875, + 0.043487548828125, + -0.0494384765625, + 0.00016105175018310547, + -0.0160064697265625, + -0.0211181640625, + -0.040069580078125, + 0.00809478759765625, + -0.0091094970703125, + -0.01195526123046875, + 0.01316070556640625, + -0.020843505859375, + 0.02508544921875, + 0.020111083984375, + 0.007781982421875, + 0.035888671875, + -0.01052093505859375, + 0.049407958984375, + -0.0140533447265625, + 0.0006098747253417969, + -0.046234130859375, + -0.009124755859375, + 0.03656005859375, + -0.006145477294921875, + 0.00246429443359375, + -0.047027587890625, + -0.049835205078125, + -0.0217132568359375, + 0.07293701171875, + 0.005054473876953125, + 0.02423095703125, + 0.000762939453125, + 0.004730224609375, + 0.035491943359375, + 0.03997802734375, + -0.0004992485046386719, + 0.0201416015625, + 0.0023288726806640625, + 0.0184326171875, + 0.00890350341796875, + 0.029022216796875, + -0.05743408203125, + 0.06353759765625, + 0.004119873046875, + 0.0228424072265625, + -0.020477294921875, + -0.004161834716796875, + 0.0219879150390625, + -0.0308990478515625, + -0.0018520355224609375, + 0.04443359375, + 0.0166778564453125, + 0.06488037109375, + -0.0219879150390625, + 0.0311279296875, + -0.01776123046875, + 0.01241302490234375, + 0.01800537109375, + -0.00768280029296875, + 0.01552581787109375, + 0.0080718994140625, + 0.0305023193359375, + -0.0045928955078125, + -0.019378662109375, + -0.04095458984375, + 0.0230865478515625, + -0.02215576171875, + 0.049560546875, + 0.007106781005859375, + -0.0192718505859375, + 0.011627197265625, + 0.006587982177734375, + -0.0638427734375, + -0.042510986328125, + 0.00995635986328125, + -0.00434112548828125, + -0.0016946792602539062, + 0.06494140625, + 0.035675048828125, + -0.01580810546875, + -0.011016845703125, + 0.039581298828125, + 0.007232666015625, + 0.014190673828125, + -0.0205841064453125, + -0.017486572265625, + -0.0196685791015625, + 0.0275115966796875, + -0.0203857421875, + -0.0129241943359375, + -0.0107269287109375, + -0.0242462158203125, + -0.052978515625, + 0.019927978515625, + 0.0251617431640625, + -0.0034275054931640625, + 0.01367950439453125, + 0.041290283203125, + -0.0263214111328125, + -0.0229949951171875, + -0.03045654296875, + -0.060943603515625, + -0.004352569580078125, + 0.00394439697265625, + -0.03057861328125, + 0.0305633544921875, + 0.0001971721649169922, + 0.018463134765625, + 0.001689910888671875, + -0.01513671875, + -0.035003662109375, + -0.0074615478515625, + 0.018463134765625, + 0.04205322265625, + -0.0185394287109375, + 0.0384521484375, + 0.006847381591796875, + 0.0084381103515625, + 0.015716552734375, + 0.03314208984375, + -0.03033447265625, + -0.00890350341796875, + 0.01300811767578125, + -0.0297393798828125, + 0.0209808349609375, + -0.038360595703125, + 0.005458831787109375, + 0.0133819580078125, + -0.01502227783203125, + -0.04296875, + -0.0343017578125, + -0.0279083251953125, + 0.007396697998046875, + -0.0204925537109375, + 0.007541656494140625, + 0.00893402099609375, + 0.00612640380859375, + -0.01751708984375, + 0.02813720703125, + -0.042999267578125, + 0.032958984375, + -0.0212554931640625, + 0.00937652587890625, + -0.0178985595703125, + -0.0261688232421875, + 0.05426025390625, + 0.052520751953125, + 0.0061492919921875, + 0.049835205078125, + 0.039093017578125, + 0.051849365234375, + 0.04730224609375, + -0.017333984375, + -0.0196533203125, + 0.06854248046875, + -0.025421142578125, + 0.0020122528076171875, + 0.0100250244140625, + -0.025299072265625, + -0.0196685791015625, + -0.0011138916015625, + 0.037078857421875, + -0.0201873779296875, + -0.0018787384033203125, + -0.0234527587890625, + -0.00901031494140625, + -0.051055908203125, + 0.005390167236328125, + 0.050079345703125, + 0.0205841064453125, + 0.01488494873046875, + 0.005687713623046875, + 0.0019702911376953125, + -0.0247802734375, + -0.0225830078125, + -0.0243682861328125, + 0.0241546630859375, + -0.0145111083984375, + -0.003570556640625, + -0.0055084228515625, + 0.00750732421875, + -0.04583740234375, + -0.0271148681640625, + 0.0213470458984375, + 0.039276123046875, + 0.0030574798583984375, + 0.0191802978515625, + -0.00812530517578125, + 0.0199737548828125, + -0.01959228515625, + 0.0164794921875, + -0.007732391357421875, + -0.034423828125, + 0.04510498046875, + -0.0033740997314453125, + -0.01003265380859375, + -0.005474090576171875, + -0.005512237548828125, + 0.03509521484375, + -0.02581787109375, + 0.0018157958984375, + 0.01204681396484375, + -0.01091766357421875, + -0.00740814208984375, + 0.0290374755859375, + 0.01509857177734375, + -0.046478271484375, + 0.040008544921875, + 0.04876708984375, + -0.02923583984375, + 0.020477294921875, + -0.0408935546875, + 0.06207275390625, + 0.04205322265625, + -0.002185821533203125, + -0.05291748046875, + -0.06494140625, + 0.004917144775390625, + -0.029693603515625, + -0.0178375244140625, + -0.033538818359375, + 0.01238250732421875, + 0.03729248046875, + -0.01401519775390625, + 0.021820068359375, + -0.00812530517578125, + -0.0163726806640625, + -0.1959228515625, + -0.022552490234375, + -0.0196075439453125, + 0.0042266845703125, + -0.039947509765625, + -0.008056640625, + -0.0243072509765625, + -0.06256103515625, + 0.033721923828125, + 0.00395965576171875, + -0.017242431640625, + -0.0269775390625, + -0.03228759765625, + -0.0178070068359375, + 0.0166473388671875, + 0.05035400390625, + 0.020416259765625, + 0.0229949951171875, + -0.01476287841796875, + -0.023529052734375, + -0.036834716796875, + -0.033905029296875, + 0.0677490234375, + -0.02398681640625, + 0.037841796875, + 0.00872802734375, + -0.005947113037109375, + 0.0291595458984375, + 0.022491455078125, + 0.018280029296875, + -0.041961669921875, + -0.016510009765625, + -0.00930023193359375, + -0.0034961700439453125, + 0.03997802734375, + 0.03363037109375, + 0.040069580078125, + 0.0221099853515625, + 0.0248870849609375, + 0.01274871826171875, + -0.00978851318359375, + 0.0645751953125, + -0.00850677490234375, + -0.004241943359375, + -0.05218505859375, + -0.00972747802734375, + -0.0345458984375, + -0.02508544921875, + 0.01181793212890625, + -0.03936767578125, + -0.0228271484375, + -0.038543701171875, + -0.0257720947265625, + -0.0166015625, + -0.05126953125, + 0.016754150390625, + -0.0038051605224609375, + 0.0157012939453125, + -0.006374359130859375, + 0.00024402141571044922, + 0.03741455078125, + -0.0526123046875, + -0.0016765594482421875, + -0.02362060546875, + 0.051422119140625, + 0.018951416015625, + -0.00025391578674316406, + 0.0250244140625, + 0.010009765625, + 0.05194091796875, + 0.037200927734375, + 0.01490020751953125, + -0.00537109375, + 0.004467010498046875, + 0.038543701171875, + 0.029449462890625, + 0.0013904571533203125, + 0.018890380859375, + -0.05987548828125, + -0.048919677734375, + 0.01367950439453125, + 0.021636962890625, + -0.041656494140625, + 0.017425537109375, + -0.043182373046875, + -0.01387786865234375, + -0.01000213623046875, + 0.028533935546875, + 0.004444122314453125, + 0.2435302734375, + -0.006771087646484375, + 0.06707763671875, + -0.040374755859375, + -0.013916015625, + -0.0275726318359375, + -0.0160675048828125, + -0.0205535888671875, + -0.001537322998046875, + -0.0254974365234375, + -0.004604339599609375, + -0.0021343231201171875, + -0.010345458984375, + -0.0100250244140625, + -0.012481689453125, + 0.0182952880859375, + -0.017486572265625, + 0.0284881591796875, + 0.0338134765625, + 0.0102386474609375, + -0.0085906982421875, + -0.053253173828125, + 0.0195159912109375, + 0.044097900390625, + -0.0091552734375, + -0.03076171875, + 0.00699615478515625, + 0.0212860107421875, + -0.0154876708984375, + -0.005214691162109375, + -0.039886474609375, + -0.032257080078125, + 0.03594970703125, + 0.03326416015625, + -0.045806884765625, + 0.021392822265625, + 0.01934814453125, + -0.037628173828125, + -0.0019321441650390625, + 0.0216522216796875, + 0.034210205078125, + -0.0239715576171875, + 0.01079559326171875, + -0.0703125, + 0.02001953125, + 0.0150909423828125, + -0.014068603515625, + 0.0186767578125, + -0.01824951171875, + -0.0343017578125, + -0.048126220703125, + 0.013519287109375, + -0.01105499267578125, + -0.020355224609375, + -0.04833984375, + 0.043304443359375, + -0.046051025390625, + -0.0360107421875, + -0.01561737060546875, + 0.037017822265625, + 0.043182373046875, + -0.0042266845703125, + 0.04449462890625, + -0.0306243896484375, + -0.007106781005859375, + -0.0596923828125, + 0.04364013671875, + -0.038360595703125, + 0.0159759521484375, + 0.08673095703125, + 0.049835205078125, + -0.031982421875, + 0.006023406982421875, + -0.006916046142578125, + 0.027862548828125, + 0.00789642333984375, + 0.02679443359375, + 0.056976318359375, + 0.037017822265625, + 0.0066986083984375, + 0.01324462890625, + -0.00966644287109375, + 0.0013256072998046875, + 0.043853759765625, + 0.0137939453125, + -0.00493621826171875, + 0.033782958984375, + 0.05340576171875, + 0.00624847412109375, + 0.03997802734375, + 0.029510498046875, + 0.0273284912109375, + -0.0287017822265625, + -0.00432586669921875, + -0.062408447265625, + -0.05230712890625, + 0.03076171875, + -0.030242919921875, + -0.037841796875, + 0.00785064697265625, + 0.041656494140625, + 0.00910186767578125, + -0.0160369873046875, + 0.0110931396484375, + 0.011627197265625, + -0.03436279296875, + 0.00489044189453125, + 0.0218505859375, + -0.0102081298828125, + 0.022369384765625, + -0.002536773681640625, + 0.0021648406982421875, + -0.00421142578125, + 0.01198577880859375, + -0.03228759765625, + 0.030731201171875, + 0.00731658935546875, + -0.046051025390625, + -0.006256103515625, + 0.061920166015625, + 0.0023593902587890625, + -0.01445770263671875, + -0.006465911865234375, + -0.0330810546875, + -0.0209503173828125, + 0.07977294921875, + -0.00908660888671875, + 0.03436279296875, + -0.0096435546875, + 0.031341552734375, + 0.01003265380859375, + -0.044219970703125, + -0.006473541259765625, + -0.005237579345703125, + 0.07781982421875, + -0.0020732879638671875, + 0.01418304443359375, + 0.02642822265625, + -0.01325225830078125, + -0.0438232421875, + -0.024261474609375, + 0.0291595458984375, + 0.004123687744140625, + 0.0202484130859375, + 0.0195770263671875, + -0.0017852783203125, + -0.007740020751953125, + 0.0269775390625, + 0.010284423828125, + 0.0182952880859375, + -0.01380157470703125, + -0.0249786376953125, + 0.023895263671875, + -0.0195465087890625, + 0.017822265625, + 0.008636474609375, + -0.0237579345703125, + -0.018585205078125, + 0.008819580078125, + -0.0125274658203125, + 0.032135009765625, + 0.034423828125, + 0.0270233154296875, + 0.09857177734375, + 0.0360107421875, + 0.01151275634765625, + -0.046722412109375, + -0.004665374755859375, + 0.014495849609375, + -0.0008826255798339844, + 0.010040283203125, + -0.028717041015625, + -0.01873779296875, + 0.004886627197265625, + 0.0445556640625, + 0.0204925537109375, + -0.05584716796875, + 0.004329681396484375, + 0.0259857177734375, + 0.049041748046875, + -0.02862548828125, + -0.0037784576416015625, + -0.0389404296875, + -0.0026035308837890625, + 0.0060272216796875, + 0.0234527587890625, + -0.0125579833984375, + -0.031768798828125, + -0.0423583984375, + -0.019073486328125, + -0.04156494140625, + 0.0843505859375, + -0.0457763671875, + -0.05279541015625, + 0.02777099609375, + -0.041229248046875, + -0.007160186767578125, + -0.011016845703125, + -0.005420684814453125, + -0.0191802978515625, + -0.00696563720703125, + 0.001422882080078125, + -0.00785064697265625, + 0.00556182861328125, + -0.0374755859375, + -0.017578125, + -0.037353515625, + 0.004123687744140625, + -0.01238250732421875, + -0.03033447265625, + 0.00914764404296875, + 0.0199127197265625, + 0.0055084228515625, + 0.009796142578125, + -0.045623779296875, + -0.0238800048828125, + 0.02178955078125, + 0.01348876953125, + 0.03546142578125, + -0.020904541015625, + -0.00858306884765625, + 0.0556640625, + 0.00795745849609375, + -0.0078887939453125, + -0.01251220703125, + 0.04718017578125, + 0.0178985595703125, + 0.043487548828125, + 0.039825439453125, + -0.00724029541015625, + -0.00890350341796875, + -0.0091094970703125, + -0.00989532470703125, + -0.023040771484375, + -0.046112060546875, + 0.01519012451171875, + 0.019744873046875, + 0.01482391357421875, + -0.0199432373046875, + 0.0182647705078125, + 0.02496337890625, + -0.0293121337890625, + 0.05169677734375, + 0.0689697265625, + 0.021636962890625, + 0.015869140625, + 0.0204315185546875, + -0.0032329559326171875, + 0.027435302734375, + 0.009490966796875, + -0.047271728515625, + 0.00820159912109375, + -0.01265716552734375, + -0.01338958740234375, + -0.00972747802734375, + -0.0208587646484375, + -0.06268310546875, + -0.004825592041015625, + -0.051666259765625, + 0.0035610198974609375, + 0.01074981689453125, + 0.0203094482421875, + -0.026397705078125, + -0.0267333984375, + 0.0185394287109375, + 0.01300811767578125, + 0.0386962890625, + -0.0297698974609375, + -0.025482177734375, + 0.0286407470703125, + -0.01549530029296875, + -0.0031452178955078125, + -0.03173828125, + -0.00980377197265625, + -0.0153961181640625, + 0.006626129150390625, + -0.001590728759765625, + -0.01175689697265625, + -0.0350341796875, + 0.002483367919921875, + 0.01212310791015625, + 0.0599365234375, + -0.01316070556640625, + 0.00421142578125, + -0.02288818359375, + 0.0284271240234375, + 0.01389312744140625, + 0.01438140869140625, + 0.0003159046173095703, + -0.0308074951171875, + 0.0223846435546875, + 0.0105133056640625, + -0.050262451171875, + -0.00023984909057617188, + 0.00492095947265625, + 0.0192108154296875, + -0.06292724609375, + 0.0225830078125, + -0.0261688232421875, + -0.021392822265625, + -0.004726409912109375, + -0.041656494140625, + -0.0154571533203125, + -0.047149658203125, + -0.019744873046875, + -0.016876220703125, + -0.0154571533203125, + -0.01175689697265625, + 0.024444580078125, + -0.030914306640625, + -0.004100799560546875, + 0.007633209228515625, + 0.030792236328125, + 0.041900634765625, + 0.0219879150390625, + -0.0692138671875, + 0.0009164810180664062, + -0.032135009765625, + 0.03533935546875, + 0.004077911376953125, + 0.0126953125, + 0.019622802734375, + 0.015228271484375, + 0.0283203125, + 0.009185791015625, + -0.0009436607360839844, + -0.041900634765625, + 0.062347412109375, + -0.044158935546875, + 0.006549835205078125, + -0.03717041015625, + 0.017242431640625, + -0.00868988037109375, + 4.506111145019531e-05, + -0.036285400390625, + 0.0019855499267578125, + 0.0341796875, + -0.0046539306640625, + 0.01325225830078125, + -0.01456451416015625, + 0.005771636962890625, + 0.01158905029296875, + 0.04376220703125, + -0.022125244140625, + 0.027496337890625, + -0.0267791748046875, + -0.00698089599609375, + -0.0267791748046875, + -0.020965576171875, + 0.0266265869140625, + 0.0269927978515625, + 0.050445556640625, + 0.01763916015625, + -0.038421630859375, + -0.01165008544921875, + -0.01274871826171875, + -0.0455322265625, + -0.0540771484375, + 0.034576416015625, + 0.006580352783203125, + 0.0022640228271484375, + 0.040435791015625, + 0.01131439208984375, + 0.007022857666015625, + -0.0386962890625, + 0.044464111328125, + -0.0118255615234375, + -0.003940582275390625, + -0.0084075927734375, + 0.01091766357421875, + -0.0219573974609375, + 0.039520263671875, + 0.036712646484375, + -0.008087158203125, + -0.011138916015625, + 0.04742431640625, + 0.002960205078125, + -0.0323486328125, + 0.038238525390625, + 0.04742431640625, + -0.0311279296875, + -0.014984130859375, + -0.00954437255859375, + -0.019378662109375, + -0.03802490234375, + -0.02069091796875, + -0.0172271728515625, + -0.004894256591796875, + -0.059051513671875, + 0.022918701171875, + -0.0142822265625, + -0.0072479248046875, + -0.000736236572265625, + 0.0135498046875, + -0.1435546875, + 0.004650115966796875, + -0.0301666259765625, + 0.0105438232421875, + -0.032867431640625, + -0.00751495361328125, + -0.0177154541015625, + -0.047515869140625, + -0.00868988037109375, + -0.036407470703125, + 0.0196075439453125, + 0.06451416015625, + 0.0301971435546875, + -0.0098876953125, + 0.00260162353515625, + 0.008880615234375, + -0.0178070068359375, + 0.007198333740234375, + -0.062255859375, + 0.0095367431640625, + 0.0284881591796875, + -0.019012451171875, + -0.0017499923706054688, + 0.0148468017578125, + 0.00669097900390625, + 0.0048370361328125, + -0.00888824462890625, + -0.0513916015625, + -0.0279083251953125, + -0.034332275390625, + 0.0019989013671875, + -0.0386962890625, + -0.006092071533203125, + 0.042572021484375, + 0.026580810546875, + 0.045989990234375, + -0.0111083984375, + 0.00972747802734375, + 0.0234222412109375, + 0.0277557373046875, + -0.033050537109375, + 0.02069091796875, + -0.003570556640625, + -0.01239013671875, + 0.0207672119140625, + 0.0219573974609375, + 0.0224609375, + -0.02117919921875, + -0.03125, + 0.026580810546875, + -0.038909912109375, + 0.0103607177734375, + 0.00806427001953125, + 0.03741455078125, + -0.0204315185546875, + 0.03167724609375, + -0.00992584228515625, + 0.0258331298828125, + 0.04779052734375, + 0.010162353515625, + -0.030426025390625, + 0.005878448486328125, + 0.0251922607421875, + -0.037139892578125, + -0.0305633544921875, + 0.026641845703125, + -0.02191162109375, + 0.0231475830078125, + 0.0192413330078125, + -0.038726806640625, + -0.0308074951171875, + 0.019622802734375, + -0.036224365234375, + 0.0207061767578125, + 0.0251312255859375, + 0.0416259765625, + 0.04644775390625, + 0.021820068359375, + -0.04205322265625, + -0.022491455078125, + -0.0249786376953125, + 0.0171051025390625, + 0.044464111328125, + -0.01084136962890625, + 0.02423095703125, + 0.007610321044921875, + -0.0484619140625, + 0.056610107421875, + -0.01331329345703125, + -0.0240631103515625, + -0.01165771484375, + -0.047027587890625, + -0.026580810546875, + 0.0638427734375, + -0.053863525390625, + 0.0155792236328125, + -0.0177764892578125, + -0.03533935546875, + -0.03338623046875, + -0.042755126953125, + -0.0105438232421875, + 0.01305389404296875, + -0.003253936767578125, + -0.04217529296875, + -0.04437255859375, + 0.051055908203125, + -0.0192413330078125, + 0.046295166015625, + 0.020751953125, + -0.0270843505859375, + -0.022491455078125, + -0.00598907470703125, + -0.0078582763671875, + 0.0565185546875, + 0.0269927978515625, + 0.01352691650390625, + -0.017181396484375, + 0.034942626953125, + 0.0139312744140625, + -0.037811279296875, + -0.017181396484375, + 0.04656982421875, + 0.00641632080078125, + -0.035552978515625, + -0.0084228515625, + -0.003238677978515625, + 0.02117919921875, + 0.0277862548828125, + 0.049835205078125, + -0.01232147216796875, + 0.0209808349609375, + -0.0015192031860351562, + -0.010894775390625, + -0.011749267578125, + 0.03936767578125, + -0.0455322265625, + -0.040557861328125, + 0.02691650390625, + 0.0156402587890625, + -0.0269012451171875, + -0.029296875, + -0.022125244140625, + 0.004878997802734375, + -0.0174102783203125, + -0.0109405517578125, + 0.01837158203125, + -0.0214385986328125, + -0.0180816650390625, + 0.039794921875, + 0.010711669921875, + 0.07257080078125, + -0.02252197265625, + -0.019866943359375, + -0.0008330345153808594, + -0.06134033203125, + 0.0107421875, + -0.0299224853515625, + 0.00572967529296875, + -0.0087432861328125, + -0.042205810546875, + -0.027313232421875, + 0.0012254714965820312, + -0.021759033203125, + -0.004024505615234375, + 0.03729248046875, + -0.00469207763671875, + -0.0115966796875, + 0.00830078125, + 0.0228271484375, + -0.00965118408203125, + -0.010223388671875, + 0.0272369384765625, + -0.01322174072265625, + 0.00012874603271484375, + 0.053680419921875, + 0.0186920166015625, + 0.01129150390625, + 0.059967041015625, + -0.0008893013000488281, + 0.0047149658203125, + 0.031463623046875, + 0.05462646484375, + 0.0223846435546875, + -0.00589752197265625, + -0.01265716552734375, + -0.0144805908203125, + -0.019012451171875, + -0.012542724609375, + -0.02923583984375, + -0.018280029296875, + -0.04364013671875, + 0.0011568069458007812, + -0.049102783203125, + -0.016815185546875, + 0.028533935546875, + -0.0156707763671875, + 0.0072479248046875, + 0.03564453125, + 0.0030307769775390625, + 0.033050537109375, + -0.037353515625, + 0.0283203125, + 0.01171875, + 0.00904083251953125, + 0.0025787353515625, + 0.035675048828125, + -0.0163726806640625, + 0.0026645660400390625, + -0.03515625, + 0.0003821849822998047, + 0.0001837015151977539, + 0.02423095703125, + -0.059112548828125, + 0.028167724609375, + 0.046112060546875, + -0.0126495361328125, + 0.0199127197265625, + -0.03118896484375, + 0.0423583984375, + 0.01983642578125, + -0.0139312744140625, + 0.04473876953125, + -0.033416748046875, + -0.0234222412109375, + 0.0247802734375, + 0.0406494140625, + -0.051422119140625, + -0.031494140625, + -0.040374755859375, + -0.0487060546875, + 0.03814697265625, + -0.008453369140625, + 0.01314544677734375, + 0.0308380126953125, + 0.036285400390625, + -0.06195068359375, + -0.055938720703125, + 0.004108428955078125, + 0.024322509765625, + -0.036163330078125, + 0.045501708984375, + -0.0008478164672851562, + -0.00756072998046875, + -0.0190277099609375 + ], + [ + 0.026214599609375, + 0.054473876953125, + -0.005596160888671875, + 0.0207061767578125, + -0.05474853515625, + 0.00484466552734375, + -0.0272979736328125, + 0.006542205810546875, + -0.0067291259765625, + 0.0038909912109375, + -0.030975341796875, + -0.015869140625, + -0.0005025863647460938, + -0.002574920654296875, + 0.00522613525390625, + 0.0008301734924316406, + 0.0177459716796875, + -0.007038116455078125, + 0.00925445556640625, + -0.00628662109375, + 0.0281829833984375, + -0.024627685546875, + 0.0096893310546875, + 0.0207977294921875, + -0.03857421875, + 0.004734039306640625, + 0.02099609375, + 0.0046844482421875, + 0.0277557373046875, + -0.006427764892578125, + -0.04559326171875, + -0.03289794921875, + 0.0350341796875, + 0.016998291015625, + -0.025726318359375, + -0.04608154296875, + 0.0071868896484375, + -0.04461669921875, + -0.0313720703125, + 0.037994384765625, + -0.0023212432861328125, + -0.01279449462890625, + 0.033233642578125, + 0.0029163360595703125, + 0.0169677734375, + -0.01528167724609375, + -0.03692626953125, + -0.029998779296875, + -0.008697509765625, + -0.03369140625, + -0.011199951171875, + -0.0247650146484375, + 0.0474853515625, + -0.0011749267578125, + -0.01035308837890625, + 0.032745361328125, + -0.041168212890625, + 0.006710052490234375, + -0.031158447265625, + -0.03619384765625, + -0.00927734375, + 0.0284881591796875, + -0.03045654296875, + -0.0156707763671875, + -0.00457000732421875, + 0.0440673828125, + 0.0295562744140625, + -0.015594482421875, + -0.019256591796875, + -0.03631591796875, + -0.00748443603515625, + 0.021697998046875, + -0.026214599609375, + -0.0170745849609375, + -0.023406982421875, + -0.007080078125, + -0.051239013671875, + 0.0390625, + -0.01470947265625, + -0.002147674560546875, + 0.01482391357421875, + 0.022125244140625, + -0.00295257568359375, + 0.03192138671875, + -0.0369873046875, + 0.038787841796875, + -0.01387786865234375, + 0.021575927734375, + 0.03466796875, + -0.01788330078125, + -0.005176544189453125, + -0.02105712890625, + 0.00241851806640625, + -0.021636962890625, + -0.0200653076171875, + 0.0005755424499511719, + -0.045684814453125, + -0.0295562744140625, + 0.034881591796875, + 0.0160675048828125, + 0.0117950439453125, + 0.0033721923828125, + 0.033172607421875, + 0.01326751708984375, + 0.0058441162109375, + -0.0126495361328125, + 0.053192138671875, + -0.006587982177734375, + -0.0193939208984375, + 0.01031494140625, + 0.0662841796875, + 0.00814056396484375, + 0.0232391357421875, + -0.031707763671875, + -0.0284576416015625, + 0.00036406517028808594, + -0.017791748046875, + -0.0219879150390625, + -0.04901123046875, + -0.01314544677734375, + 0.07464599609375, + 0.00475311279296875, + 0.056304931640625, + -0.03509521484375, + 0.032470703125, + -0.0002903938293457031, + 0.00060272216796875, + 0.0494384765625, + 0.005321502685546875, + 0.00708770751953125, + -0.0036525726318359375, + 0.0272216796875, + -0.03875732421875, + 0.0005154609680175781, + -0.01120758056640625, + 0.0092620849609375, + 0.013092041015625, + 0.0228424072265625, + 0.008270263671875, + -0.0216827392578125, + 0.006984710693359375, + -0.01494598388671875, + -0.0161895751953125, + -0.0638427734375, + 0.0191802978515625, + -0.014495849609375, + 0.024505615234375, + 0.01180267333984375, + 0.024139404296875, + -0.03668212890625, + -0.01387786865234375, + 0.041015625, + 0.0701904296875, + -0.01099395751953125, + 0.0183868408203125, + -0.03558349609375, + -0.017333984375, + 0.01025390625, + -0.026641845703125, + 0.002338409423828125, + -0.01708984375, + -0.0038299560546875, + -0.041900634765625, + 0.0556640625, + 0.0114898681640625, + 0.0158233642578125, + 0.0128173828125, + 0.06298828125, + -0.0284881591796875, + -0.033477783203125, + -0.0007920265197753906, + -0.032745361328125, + -0.01534271240234375, + 0.0176239013671875, + 0.003421783447265625, + 0.025848388671875, + 0.0809326171875, + 0.0085296630859375, + 0.0316162109375, + -0.0177001953125, + -0.06329345703125, + -0.039794921875, + 0.023895263671875, + 0.03302001953125, + 0.0015392303466796875, + 0.04876708984375, + -0.033416748046875, + -0.0232696533203125, + -0.007648468017578125, + 0.039306640625, + 0.006633758544921875, + -0.0323486328125, + 0.055511474609375, + -0.048583984375, + 0.0202178955078125, + -0.00888824462890625, + -0.005218505859375, + 0.0160980224609375, + 0.01513671875, + -0.05242919921875, + -0.0288543701171875, + 0.019378662109375, + 0.0164337158203125, + 0.001201629638671875, + -0.0029850006103515625, + -0.004154205322265625, + -0.041717529296875, + 0.00266265869140625, + 0.039031982421875, + -0.0259246826171875, + 0.004787445068359375, + -0.03985595703125, + -0.0110015869140625, + 0.0140838623046875, + -0.0017910003662109375, + 0.019378662109375, + 0.032684326171875, + -0.00542449951171875, + 0.03515625, + 0.01739501953125, + 0.01739501953125, + 0.028656005859375, + -0.0244903564453125, + 0.006587982177734375, + 0.04742431640625, + -0.011627197265625, + 0.0058135986328125, + 0.002960205078125, + -0.044219970703125, + -0.02899169921875, + -0.0408935546875, + 0.042877197265625, + -0.0005884170532226562, + 0.001178741455078125, + -0.0182952880859375, + -0.034088134765625, + -0.03729248046875, + 0.038726806640625, + 0.033416748046875, + 0.01023101806640625, + -0.007965087890625, + -0.0095977783203125, + 0.0511474609375, + 0.0045318603515625, + -0.00913238525390625, + -0.0004730224609375, + 0.02227783203125, + 0.02593994140625, + -0.0181121826171875, + 0.00717926025390625, + 0.00269317626953125, + -0.049835205078125, + -0.0016937255859375, + 0.020172119140625, + 0.033203125, + 0.0126800537109375, + -0.0011091232299804688, + -0.0290679931640625, + -0.032440185546875, + 0.01361083984375, + -0.0240020751953125, + -0.051300048828125, + -0.028106689453125, + 0.024017333984375, + 0.02740478515625, + 0.0036182403564453125, + 0.003635406494140625, + -0.024627685546875, + 0.0205078125, + -0.03521728515625, + -0.0082855224609375, + -0.0174407958984375, + -0.00943756103515625, + 0.0111083984375, + -0.00800323486328125, + 0.031707763671875, + -0.0227508544921875, + -0.006412506103515625, + 0.00820159912109375, + -0.005584716796875, + 0.0157470703125, + 0.0081329345703125, + 0.051544189453125, + 0.0133209228515625, + -0.0214385986328125, + -0.031341552734375, + -0.05072021484375, + 0.034454345703125, + -0.019927978515625, + 0.0311279296875, + -0.068603515625, + -0.05731201171875, + 0.05560302734375, + -0.01548004150390625, + 0.0286407470703125, + -0.01221466064453125, + 0.01236724853515625, + -0.1844482421875, + -0.04461669921875, + 0.0121002197265625, + -0.003993988037109375, + -0.0189361572265625, + -0.016021728515625, + 0.032196044921875, + -0.05029296875, + -0.0245208740234375, + -0.0221710205078125, + -0.037506103515625, + -0.036651611328125, + -0.0291595458984375, + 0.037384033203125, + 0.0020046234130859375, + 0.0206451416015625, + 0.0222625732421875, + -0.034881591796875, + -0.03338623046875, + -0.014923095703125, + -0.03515625, + -0.01345062255859375, + 0.01194000244140625, + 0.0206451416015625, + 0.0196075439453125, + 0.0283966064453125, + -0.01499176025390625, + 0.054229736328125, + 0.027252197265625, + -0.004058837890625, + 0.00891876220703125, + 0.0199127197265625, + -0.0088348388671875, + -0.01172637939453125, + 0.07794189453125, + 0.01302337646484375, + -0.003116607666015625, + -0.00644683837890625, + 0.03704833984375, + 0.05419921875, + -0.0167388916015625, + 0.0648193359375, + -0.010223388671875, + -0.042816162109375, + -0.0255126953125, + -0.030426025390625, + -0.0270233154296875, + 0.00555419921875, + 0.029449462890625, + -0.01287841796875, + 0.028076171875, + -0.00202178955078125, + 0.015411376953125, + -0.03253173828125, + -0.046875, + 0.023529052734375, + 0.0233306884765625, + 0.05517578125, + 0.047607421875, + -0.044403076171875, + 0.0300445556640625, + 0.02105712890625, + 0.019744873046875, + 0.0426025390625, + 0.01123809814453125, + 0.0003619194030761719, + 0.0023326873779296875, + -0.0173797607421875, + -0.015869140625, + 0.03125, + 0.0204620361328125, + 0.01313018798828125, + 0.00281524658203125, + -0.0080718994140625, + 0.01306915283203125, + -0.00836181640625, + 0.006862640380859375, + -0.0115814208984375, + -0.0386962890625, + -0.046783447265625, + -0.01502227783203125, + -0.00424957275390625, + -0.034423828125, + -0.0103912353515625, + -0.047149658203125, + -0.023193359375, + -0.01045989990234375, + 0.00177001953125, + 0.0450439453125, + 0.2437744140625, + -0.0215606689453125, + 0.007343292236328125, + -0.0037326812744140625, + -0.005077362060546875, + -0.026458740234375, + -0.006320953369140625, + 0.0224609375, + 0.0170440673828125, + -0.034637451171875, + -0.0202178955078125, + -0.01708984375, + -0.0182647705078125, + -0.0198822021484375, + 0.02191162109375, + 0.0623779296875, + -0.0097503662109375, + 0.0267333984375, + 0.0328369140625, + -0.0003814697265625, + -0.01279449462890625, + -0.06549072265625, + 0.00569915771484375, + -0.0196533203125, + -0.0276641845703125, + -0.01180267333984375, + -0.003307342529296875, + -0.03515625, + -0.0129547119140625, + 0.03375244140625, + -0.061492919921875, + -0.0361328125, + 0.02410888671875, + 0.00809478759765625, + -0.021484375, + 0.0082244873046875, + 0.0166168212890625, + 0.0006718635559082031, + -0.016143798828125, + 0.01397705078125, + -0.011688232421875, + -0.02972412109375, + 0.036590576171875, + -0.038726806640625, + 0.003314971923828125, + 0.0079498291015625, + -0.01096343994140625, + -0.0009255409240722656, + 0.01194000244140625, + -0.032257080078125, + 0.0113677978515625, + 0.030059814453125, + -0.039093017578125, + 0.01326751708984375, + -0.04229736328125, + 0.00696563720703125, + 0.01556396484375, + 0.0007452964782714844, + -0.0165557861328125, + 0.0227508544921875, + -0.0007834434509277344, + 0.00446319580078125, + 0.0506591796875, + -0.046051025390625, + 0.034912109375, + -0.009674072265625, + 0.04644775390625, + -0.01611328125, + -0.0037384033203125, + 0.04742431640625, + 0.048126220703125, + -0.0460205078125, + -0.027801513671875, + -0.01080322265625, + 0.049102783203125, + 0.032989501953125, + 0.0161895751953125, + 0.039825439453125, + 0.032135009765625, + 0.004398345947265625, + 0.0284881591796875, + -0.0189056396484375, + -0.0251312255859375, + 0.057403564453125, + -0.00936126708984375, + 0.026275634765625, + 0.049102783203125, + 0.06219482421875, + -0.01155853271484375, + -0.010894775390625, + 0.0171051025390625, + 0.03656005859375, + -0.09124755859375, + 0.003284454345703125, + -0.0033550262451171875, + -0.036529541015625, + 0.025970458984375, + -0.005550384521484375, + -0.03662109375, + -0.013824462890625, + -0.01128387451171875, + -0.02862548828125, + -0.03741455078125, + 0.01345062255859375, + 0.01145172119140625, + -0.0282745361328125, + 0.023468017578125, + 0.034515380859375, + -0.002613067626953125, + 0.03033447265625, + -0.03515625, + -0.017486572265625, + -0.05059814453125, + 0.04962158203125, + 0.015716552734375, + -0.008209228515625, + -0.0003273487091064453, + -0.01605224609375, + 0.035186767578125, + 0.0352783203125, + 0.00621795654296875, + -0.0284423828125, + 0.003818511962890625, + -0.0313720703125, + -0.007106781005859375, + 0.033966064453125, + -0.006771087646484375, + 0.07611083984375, + -0.01064300537109375, + 0.0301971435546875, + 0.01506805419921875, + -0.031585693359375, + -0.051025390625, + -0.024139404296875, + 0.0721435546875, + 0.020843505859375, + 0.01479339599609375, + 0.0292816162109375, + -0.0313720703125, + -0.0276947021484375, + 0.009033203125, + 0.01081085205078125, + -0.024322509765625, + 0.01082611083984375, + 0.001781463623046875, + 0.023681640625, + -0.01113128662109375, + 0.0223541259765625, + 0.0005831718444824219, + -0.056488037109375, + 0.02532958984375, + 0.0198211669921875, + 0.0133819580078125, + -0.04083251953125, + -0.036529541015625, + 0.0224456787109375, + -0.0257568359375, + -0.00614166259765625, + 0.0012416839599609375, + 0.00510406494140625, + 0.034149169921875, + 0.028656005859375, + 0.029296875, + 0.10272216796875, + 0.0220947265625, + 0.0027446746826171875, + -0.028717041015625, + 0.032562255859375, + 0.0305938720703125, + 0.0195770263671875, + -0.0024471282958984375, + -0.03167724609375, + -0.03509521484375, + -0.0244140625, + 0.022674560546875, + 0.0126190185546875, + -0.050872802734375, + 0.004734039306640625, + 0.0008401870727539062, + 0.04156494140625, + 0.0413818359375, + 0.015106201171875, + 0.03436279296875, + 0.035003662109375, + 0.00457763671875, + 0.02325439453125, + -0.037200927734375, + -0.02435302734375, + -0.031768798828125, + -0.0136871337890625, + -0.034088134765625, + 0.1173095703125, + -0.032623291015625, + -0.0289154052734375, + 0.02392578125, + -0.0474853515625, + 0.01464080810546875, + -0.0211944580078125, + 0.01534271240234375, + -0.019683837890625, + -0.0221710205078125, + -0.006343841552734375, + 0.01096343994140625, + 0.02252197265625, + -0.05718994140625, + -0.0266265869140625, + -0.015960693359375, + 0.00022733211517333984, + -0.01201629638671875, + -0.022216796875, + -0.035125732421875, + -0.0301513671875, + -0.0221710205078125, + 0.0030307769775390625, + -0.036285400390625, + 0.00743865966796875, + 0.0160675048828125, + -0.0236053466796875, + 0.0217742919921875, + -0.006175994873046875, + -0.0178680419921875, + 0.0308380126953125, + 0.01390838623046875, + -0.019805908203125, + -0.01000213623046875, + 0.039642333984375, + 0.06494140625, + 0.04608154296875, + -0.023529052734375, + 0.006710052490234375, + -0.005298614501953125, + 1.1086463928222656e-05, + 0.017425537109375, + 0.004825592041015625, + -0.0140838623046875, + -0.02001953125, + 0.0184478759765625, + -0.01119232177734375, + 0.030914306640625, + -0.03118896484375, + 0.035491943359375, + 0.005817413330078125, + 0.00405120849609375, + 0.041015625, + 0.018341064453125, + 0.0303192138671875, + 0.0244293212890625, + -0.036041259765625, + 0.01461029052734375, + 0.035064697265625, + -0.0333251953125, + -0.0013790130615234375, + -0.01348114013671875, + 0.0239410400390625, + -0.005107879638671875, + 0.0215606689453125, + -0.060150146484375, + -0.01152801513671875, + -0.03826904296875, + -0.0098876953125, + -0.01422882080078125, + 0.033050537109375, + -0.036468505859375, + -0.0191192626953125, + 0.05535888671875, + -0.032196044921875, + -0.02606201171875, + -0.044891357421875, + -0.00914764404296875, + -0.0109100341796875, + -0.0261993408203125, + -0.00296783447265625, + -0.023956298828125, + -0.01336669921875, + 0.0271148681640625, + -0.0019121170043945312, + -0.00798797607421875, + -0.00832366943359375, + -0.026824951171875, + -0.0001304149627685547, + -0.0287017822265625, + 0.04815673828125, + 0.021697998046875, + -0.0014295578002929688, + 0.00865936279296875, + -0.04925537109375, + 0.0455322265625, + 0.0103302001953125, + 0.0364990234375, + -0.0212249755859375, + -0.00768280029296875, + -0.0203094482421875, + -0.0214385986328125, + -0.0036983489990234375, + 0.0173797607421875, + 0.042724609375, + -0.0638427734375, + 0.0274658203125, + -0.0360107421875, + -0.0269012451171875, + -0.0035381317138671875, + 0.01165771484375, + -0.0325927734375, + -0.06451416015625, + 0.0099029541015625, + 0.00609588623046875, + -0.0019664764404296875, + -0.0202484130859375, + 0.0286407470703125, + -0.012542724609375, + -0.0031528472900390625, + -0.004055023193359375, + 0.0246734619140625, + 0.0106964111328125, + 0.0002282857894897461, + -0.035430908203125, + -0.006214141845703125, + -0.028076171875, + 0.00267791748046875, + -0.003719329833984375, + 0.0296783447265625, + 0.02294921875, + -0.004528045654296875, + 0.023040771484375, + -0.027191162109375, + 0.045745849609375, + -0.0028095245361328125, + 0.0211181640625, + -0.023223876953125, + 0.0309600830078125, + -0.042572021484375, + 0.044769287109375, + -0.0258941650390625, + 0.004726409912109375, + -0.04217529296875, + -0.036285400390625, + 0.052490234375, + -0.03326416015625, + 0.0027313232421875, + -0.037353515625, + -0.010345458984375, + 0.0176849365234375, + 0.0119476318359375, + -0.05010986328125, + 0.0458984375, + -0.046722412109375, + -0.0202484130859375, + 0.01568603515625, + -0.0224456787109375, + 0.088134765625, + 0.034881591796875, + 0.047027587890625, + 0.0176239013671875, + -0.01611328125, + 0.03765869140625, + -0.04547119140625, + -0.039703369140625, + -0.0538330078125, + 0.017303466796875, + 0.01134490966796875, + -0.0296783447265625, + -0.003528594970703125, + 0.0163421630859375, + -0.00824737548828125, + -0.019500732421875, + 0.033477783203125, + -0.0143280029296875, + -0.045684814453125, + 0.006015777587890625, + 0.0011730194091796875, + 0.0072021484375, + 0.07476806640625, + 0.05889892578125, + -0.0494384765625, + -0.0024013519287109375, + 0.028228759765625, + 0.009765625, + -0.036346435546875, + 0.01056671142578125, + 0.07421875, + 0.0121612548828125, + -0.0208587646484375, + -0.02886962890625, + -0.05419921875, + -0.027862548828125, + -6.711483001708984e-05, + -0.03955078125, + 0.013214111328125, + -0.04132080078125, + 0.0085601806640625, + -0.041900634765625, + 0.00965118408203125, + -0.00330352783203125, + 0.037109375, + -0.1259765625, + 0.052978515625, + -0.02008056640625, + 0.0307464599609375, + -0.03839111328125, + 0.0224609375, + -0.0110015869140625, + -0.038116455078125, + -0.006481170654296875, + -0.07049560546875, + -0.01187896728515625, + 0.01617431640625, + -0.0117950439453125, + -0.01043701171875, + -0.0074310302734375, + 0.03826904296875, + -0.0264129638671875, + 0.0168304443359375, + -0.0439453125, + 0.029144287109375, + 0.00656890869140625, + -0.0157318115234375, + -0.0075836181640625, + 0.0009431838989257812, + -0.032470703125, + 0.02801513671875, + -0.00399017333984375, + -0.022003173828125, + -0.0014448165893554688, + -0.029632568359375, + -0.00498199462890625, + -0.049407958984375, + -0.0015544891357421875, + 0.04962158203125, + 0.007793426513671875, + 0.0400390625, + 0.00884246826171875, + -0.058013916015625, + -0.01824951171875, + -0.007419586181640625, + -0.022216796875, + 0.00968170166015625, + 0.019744873046875, + -0.0308837890625, + 0.01134490966796875, + -0.030548095703125, + -0.0174713134765625, + -0.017547607421875, + -0.034454345703125, + -0.0203704833984375, + -0.039398193359375, + -0.016021728515625, + 0.0005917549133300781, + 0.033233642578125, + -0.05572509765625, + 0.035919189453125, + 0.00545501708984375, + 0.0019931793212890625, + 0.0169219970703125, + 0.0022487640380859375, + -0.041839599609375, + -0.024017333984375, + 0.01131439208984375, + 0.01299285888671875, + -0.0158538818359375, + 0.06451416015625, + -0.01142120361328125, + 0.0360107421875, + 0.046478271484375, + -0.073974609375, + -0.031768798828125, + 0.06396484375, + -0.0045928955078125, + 0.050384521484375, + 0.0128936767578125, + 0.044525146484375, + 0.06817626953125, + 0.031097412109375, + 0.0236663818359375, + -0.03472900390625, + -0.0106353759765625, + 0.00765228271484375, + 0.0318603515625, + 0.0104217529296875, + 0.0237579345703125, + -0.008544921875, + -0.00988006591796875, + 0.0025997161865234375, + -0.022979736328125, + 7.30752944946289e-05, + -0.017120361328125, + -0.07183837890625, + -0.01363372802734375, + -0.015777587890625, + -0.066650390625, + 0.006542205810546875, + -0.051300048828125, + -0.040679931640625, + -0.032440185546875, + -0.049041748046875, + 0.0177459716796875, + 0.02691650390625, + -0.0179595947265625, + -0.030029296875, + -0.07843017578125, + 0.08819580078125, + -0.033233642578125, + 0.01971435546875, + 0.0250701904296875, + -0.06646728515625, + 0.007144927978515625, + -0.053741455078125, + -0.006404876708984375, + 0.00714111328125, + 0.0012340545654296875, + 0.02740478515625, + -0.0125274658203125, + 0.0416259765625, + 0.057769775390625, + 0.012786865234375, + -0.04827880859375, + 0.0218963623046875, + -0.0269927978515625, + -0.0311126708984375, + 0.0250091552734375, + 0.017181396484375, + 0.03564453125, + -0.040191650390625, + 0.014892578125, + -0.0628662109375, + -0.009185791015625, + -0.031707763671875, + 0.0123291015625, + -0.03228759765625, + 0.0516357421875, + -0.044219970703125, + 0.022552490234375, + 0.0233917236328125, + 0.027618408203125, + -0.01519012451171875, + -0.002872467041015625, + -0.00267791748046875, + -0.020782470703125, + -0.03961181640625, + -0.00191497802734375, + -0.037384033203125, + -0.0384521484375, + -0.005054473876953125, + 0.0292816162109375, + -0.0101165771484375, + -0.0021915435791015625, + -0.002185821533203125, + -0.00827789306640625, + 0.04425048828125, + -0.00904083251953125, + 0.01042938232421875, + -0.0154571533203125, + -0.007694244384765625, + 0.0136260986328125, + -0.00539398193359375, + 0.03875732421875, + -0.0281829833984375, + -0.051116943359375, + -0.044342041015625, + 0.037384033203125, + 0.042327880859375, + -0.00279998779296875, + -0.005764007568359375, + 0.00464630126953125, + -0.00417327880859375, + -0.045318603515625, + 0.021209716796875, + -0.0111541748046875, + 0.0160980224609375, + 0.0165557861328125, + 0.0188751220703125, + 0.006595611572265625, + 0.0408935546875, + 0.0087432861328125, + 0.040191650390625, + 0.03997802734375, + 0.05377197265625, + 0.026397705078125, + 0.023712158203125, + 0.00116729736328125, + -0.0435791015625, + -0.00507354736328125, + 0.03155517578125, + -0.0217742919921875, + -0.01751708984375, + -0.0022220611572265625, + -0.0137939453125, + -0.058868408203125, + 0.0005159378051757812, + -0.0018901824951171875, + -0.00952911376953125, + 0.0279998779296875, + 0.0177764892578125, + -0.0054473876953125, + -0.010772705078125, + -0.01496124267578125, + -0.023590087890625, + -0.03753662109375, + 0.0284271240234375, + 0.00646209716796875, + 0.01708984375, + 0.0186309814453125, + -0.014678955078125, + -0.055023193359375, + -0.00879669189453125, + -0.0312042236328125, + -0.007709503173828125, + -0.022491455078125, + 0.036376953125, + 0.05828857421875, + 0.006473541259765625, + 0.040313720703125, + -0.0083770751953125, + 0.0117034912109375, + 0.00907135009765625, + 0.01363372802734375, + 0.01119232177734375, + -0.052581787109375, + -0.03240966796875, + 0.0185699462890625, + -0.01047515869140625, + -0.009857177734375, + -0.006549835205078125, + -0.050018310546875, + -0.020721435546875, + 0.018890380859375, + 0.02655029296875, + 0.0309906005859375, + 0.0203094482421875, + 0.02056884765625, + -0.003101348876953125, + 0.0275726318359375, + 0.035491943359375, + 0.02520751953125, + -0.02734375, + 0.0828857421875, + 0.01544189453125, + -0.007526397705078125, + -0.037261962890625 + ], + [ + 0.0217132568359375, + -0.00804901123046875, + -0.01410675048828125, + -0.0023479461669921875, + -0.037994384765625, + -0.0117950439453125, + 0.01438140869140625, + -0.0038890838623046875, + -0.053131103515625, + -0.004489898681640625, + 0.006031036376953125, + -0.0193939208984375, + 0.0009851455688476562, + -0.0221405029296875, + 0.0283660888671875, + -0.004756927490234375, + 0.02923583984375, + 0.007720947265625, + 0.032806396484375, + -0.0721435546875, + -0.02337646484375, + -0.00020110607147216797, + -0.0330810546875, + -0.023040771484375, + -0.06512451171875, + 0.007793426513671875, + 0.007038116455078125, + -0.01561737060546875, + -0.041717529296875, + -0.044952392578125, + -0.0268402099609375, + -0.0152740478515625, + 0.0240020751953125, + 0.0216827392578125, + -0.0194854736328125, + -0.00946807861328125, + 0.0020294189453125, + 0.008575439453125, + -0.0489501953125, + 0.072509765625, + 0.008544921875, + 0.00862884521484375, + 0.040283203125, + 0.0180511474609375, + -0.0017499923706054688, + -0.020050048828125, + -0.005809783935546875, + -0.032318115234375, + 0.031280517578125, + -0.003948211669921875, + 0.0049285888671875, + 0.02447509765625, + 0.046478271484375, + -0.0228118896484375, + 0.01506805419921875, + 0.017425537109375, + -0.0340576171875, + 0.006687164306640625, + -0.037445068359375, + -0.0238037109375, + -0.016754150390625, + 0.051971435546875, + -0.040252685546875, + -0.01357269287109375, + 0.047698974609375, + 0.07550048828125, + -0.0009775161743164062, + 0.010467529296875, + -0.040618896484375, + -0.0017547607421875, + 0.0038700103759765625, + 0.005046844482421875, + -0.0014524459838867188, + -0.050018310546875, + -0.03656005859375, + -0.004974365234375, + 0.03607177734375, + 0.0235748291015625, + -0.0438232421875, + 0.0079193115234375, + 0.0159454345703125, + -0.0278472900390625, + 0.031707763671875, + -0.0118255615234375, + -0.030487060546875, + 0.00905609130859375, + -0.0258331298828125, + 0.0290985107421875, + 0.0289459228515625, + 0.01273345947265625, + 0.0233917236328125, + 0.01605224609375, + 0.03277587890625, + -0.036895751953125, + -0.0350341796875, + -0.00975799560546875, + -0.01861572265625, + -0.05517578125, + -0.005931854248046875, + 0.0015592575073242188, + 0.0178985595703125, + -0.00940704345703125, + -0.0218658447265625, + 0.046905517578125, + 0.007450103759765625, + -0.01271820068359375, + 0.01160430908203125, + 0.021148681640625, + -0.00286865234375, + 0.0008749961853027344, + 0.057281494140625, + 0.031646728515625, + 0.019622802734375, + 0.0196533203125, + -0.01468658447265625, + -0.01296234130859375, + -0.01361083984375, + -0.044647216796875, + -0.03350830078125, + -0.0082550048828125, + 0.040374755859375, + 0.07666015625, + 0.042877197265625, + 0.02545166015625, + -0.007144927978515625, + -0.020111083984375, + 0.033477783203125, + 0.059906005859375, + 0.036956787109375, + 0.0178985595703125, + -0.029327392578125, + -0.00445556640625, + -0.03619384765625, + 0.03668212890625, + -0.0014162063598632812, + -0.014129638671875, + 0.0016021728515625, + -0.0181732177734375, + -0.00357818603515625, + -0.02069091796875, + 0.0221099853515625, + 0.019317626953125, + 0.00627899169921875, + -0.036956787109375, + 0.0263671875, + -0.0105743408203125, + -0.0304412841796875, + 0.02490234375, + 0.01407623291015625, + -0.0230712890625, + -0.0250701904296875, + -0.0037784576416015625, + 0.05194091796875, + 0.01511383056640625, + -0.0245361328125, + -0.03118896484375, + -0.01175689697265625, + 0.0015468597412109375, + -0.01290130615234375, + 0.0094146728515625, + 0.01380157470703125, + -0.035919189453125, + -0.043609619140625, + 0.01079559326171875, + 0.045928955078125, + -0.006320953369140625, + 0.0011844635009765625, + 0.0233154296875, + -0.004302978515625, + -0.036651611328125, + -0.017822265625, + -0.0638427734375, + -0.02813720703125, + -7.206201553344727e-05, + 0.01001739501953125, + 0.019561767578125, + 0.02459716796875, + -0.01160430908203125, + 0.0028972625732421875, + -0.0011758804321289062, + -0.04986572265625, + 0.0257720947265625, + 0.04327392578125, + 0.00019478797912597656, + -0.003025054931640625, + 0.00899505615234375, + -0.0457763671875, + -0.0260467529296875, + -0.006961822509765625, + 0.00875091552734375, + -0.049530029296875, + -0.035797119140625, + 0.041473388671875, + 0.00733184814453125, + 0.040924072265625, + -0.04547119140625, + -0.0312042236328125, + -0.00774383544921875, + -0.026275634765625, + -0.046417236328125, + -0.058441162109375, + 0.00601959228515625, + -0.01403045654296875, + 0.006755828857421875, + 0.01503753662109375, + 0.008148193359375, + -0.00659942626953125, + -0.026275634765625, + 0.0258636474609375, + 0.007038116455078125, + 0.01259613037109375, + -0.0087738037109375, + 0.0135040283203125, + 0.0003197193145751953, + -0.0152130126953125, + 0.0548095703125, + 0.01186370849609375, + 0.0147247314453125, + 0.0270843505859375, + 0.0267333984375, + -0.0039215087890625, + -0.018280029296875, + -0.04632568359375, + 0.0060882568359375, + 0.033905029296875, + 0.01122283935546875, + 0.003345489501953125, + 0.034942626953125, + -0.042724609375, + -0.033538818359375, + -0.062103271484375, + 0.002880096435546875, + -0.01389312744140625, + 0.013580322265625, + 0.0020351409912109375, + -0.042449951171875, + -0.055145263671875, + -0.004489898681640625, + 0.036956787109375, + 0.00910186767578125, + 0.01433563232421875, + -0.00583648681640625, + -0.017791748046875, + 0.014923095703125, + 0.0274505615234375, + -0.0281829833984375, + 0.00620269775390625, + 0.041046142578125, + -0.01690673828125, + -0.00940704345703125, + 0.0006566047668457031, + -0.01074981689453125, + 0.00372314453125, + 0.0225982666015625, + 0.02117919921875, + 0.0065155029296875, + 0.00803375244140625, + 0.006866455078125, + -0.0154266357421875, + -0.0231781005859375, + -0.011688232421875, + 0.032745361328125, + -0.00635528564453125, + 0.047454833984375, + 0.022674560546875, + -0.03253173828125, + 0.0229034423828125, + -0.0014944076538085938, + -0.00568389892578125, + 0.04351806640625, + 0.006641387939453125, + 0.005615234375, + 0.018341064453125, + 0.01250457763671875, + -0.0161590576171875, + -0.01065826416015625, + -0.004085540771484375, + 0.019927978515625, + 0.0614013671875, + 0.020538330078125, + -0.008758544921875, + -0.01535797119140625, + 0.0258636474609375, + 0.01418304443359375, + 0.0220794677734375, + -0.03369140625, + -0.03033447265625, + 0.01812744140625, + -0.050048828125, + 0.01277923583984375, + -0.039794921875, + -0.049896240234375, + 0.0418701171875, + 0.03643798828125, + 0.0158538818359375, + -0.0214385986328125, + 0.0051116943359375, + -0.1876220703125, + -0.0100555419921875, + -0.01629638671875, + -0.0113372802734375, + 0.005283355712890625, + -0.0228729248046875, + -0.029449462890625, + -0.04608154296875, + -0.038818359375, + -0.043731689453125, + -0.057891845703125, + -0.02276611328125, + -0.061767578125, + 0.004161834716796875, + -0.00804901123046875, + -0.016937255859375, + 0.006389617919921875, + 0.021270751953125, + -0.014495849609375, + -0.03607177734375, + -0.03363037109375, + -0.022552490234375, + 0.002201080322265625, + 0.0318603515625, + 0.012664794921875, + 0.0694580078125, + 0.01441192626953125, + 0.00327301025390625, + 0.01241302490234375, + 0.0008535385131835938, + -0.017303466796875, + 0.0020542144775390625, + 0.005031585693359375, + -0.043304443359375, + 0.0307464599609375, + 0.0058441162109375, + 0.0194244384765625, + -0.0250244140625, + 0.01534271240234375, + 0.00562286376953125, + 0.004421234130859375, + 0.0203704833984375, + -0.0080718994140625, + 0.036529541015625, + -0.0321044921875, + -0.0509033203125, + -0.040679931640625, + 0.0218658447265625, + 0.0528564453125, + -0.0095977783203125, + -0.0200042724609375, + 0.019134521484375, + -0.0247039794921875, + -0.0302581787109375, + -0.060699462890625, + 0.00891876220703125, + 0.0038814544677734375, + 0.033233642578125, + 0.049407958984375, + -0.0258636474609375, + 0.01155853271484375, + -0.012237548828125, + 0.0014362335205078125, + -0.026214599609375, + 0.00023055076599121094, + -0.01036834716796875, + -0.01499176025390625, + 0.04522705078125, + -0.0255279541015625, + -0.005359649658203125, + 0.05487060546875, + 0.04913330078125, + -0.035858154296875, + 0.00201416015625, + 0.01348876953125, + 0.0134124755859375, + 0.00537872314453125, + -0.004375457763671875, + -0.0482177734375, + -0.053131103515625, + -0.029266357421875, + 0.007045745849609375, + -0.039642333984375, + 0.004741668701171875, + -0.03399658203125, + -0.060821533203125, + 0.0178985595703125, + 0.01427459716796875, + 0.036651611328125, + 0.2313232421875, + -0.0308990478515625, + 0.0294952392578125, + 0.0153350830078125, + -0.023712158203125, + -0.050872802734375, + 0.030303955078125, + 0.01154327392578125, + 0.0190582275390625, + -0.0205841064453125, + 0.00038743019104003906, + -0.01343536376953125, + 0.01995849609375, + -0.01148223876953125, + -0.01145172119140625, + 0.08526611328125, + -0.051055908203125, + 0.003940582275390625, + 0.0419921875, + 0.003997802734375, + 0.0198211669921875, + -0.061767578125, + 0.00609588623046875, + -0.0222625732421875, + -0.0121307373046875, + -0.043548583984375, + -0.0310516357421875, + -0.0208282470703125, + -0.0044708251953125, + 0.027984619140625, + -0.019195556640625, + -0.0311279296875, + 0.0305023193359375, + 0.02081298828125, + -0.0224761962890625, + 0.01410675048828125, + -0.0102386474609375, + 0.00870513916015625, + -0.005615234375, + 0.04180908203125, + 0.007904052734375, + -0.0030231475830078125, + -0.03924560546875, + 0.00035071372985839844, + 0.033447265625, + -0.02069091796875, + 0.003955841064453125, + -0.031402587890625, + 0.0158233642578125, + -0.0027313232421875, + -0.0164794921875, + -0.01971435546875, + -0.00659942626953125, + 0.017974853515625, + -0.01258087158203125, + 0.004146575927734375, + -0.0007562637329101562, + -0.0312042236328125, + -0.0016546249389648438, + 0.02801513671875, + 0.0299224853515625, + 0.0013551712036132812, + -0.0115814208984375, + -0.042999267578125, + -0.0172119140625, + -0.01265716552734375, + 0.039031982421875, + -0.00986480712890625, + 0.0028247833251953125, + 0.0267791748046875, + 0.0455322265625, + -0.05255126953125, + -0.0242462158203125, + 0.00829315185546875, + 0.0228118896484375, + -0.007350921630859375, + 0.01708984375, + 0.007427215576171875, + -0.00537872314453125, + -0.037078857421875, + 0.00934600830078125, + -0.0133056640625, + 0.004932403564453125, + 0.036224365234375, + 0.04669189453125, + 0.0394287109375, + 0.05804443359375, + 0.0269012451171875, + 0.050384521484375, + -0.00939178466796875, + 0.025390625, + 0.038970947265625, + -0.053253173828125, + 0.005130767822265625, + 0.00476837158203125, + -0.03125, + -0.023651123046875, + 0.0092926025390625, + -0.03594970703125, + -0.01079559326171875, + 0.01277923583984375, + 0.003284454345703125, + -0.03057861328125, + 0.0223541259765625, + 0.028778076171875, + -0.0208587646484375, + -0.0089263916015625, + 0.0038299560546875, + -0.02862548828125, + -0.00040721893310546875, + -0.0282135009765625, + -0.01486968994140625, + 0.0083770751953125, + 0.035308837890625, + 0.039581298828125, + 0.047821044921875, + 0.0181884765625, + 0.039398193359375, + 0.034332275390625, + 0.0628662109375, + -0.0283660888671875, + -0.02154541015625, + 0.030059814453125, + -0.02044677734375, + 0.00736236572265625, + 0.00311279296875, + -0.038604736328125, + 0.06695556640625, + 0.0133819580078125, + 0.053619384765625, + -0.0185546875, + -0.0450439453125, + -0.006900787353515625, + 0.0328369140625, + 0.0550537109375, + -0.035491943359375, + 0.02044677734375, + 0.00841522216796875, + 0.007781982421875, + -0.035125732421875, + -0.003955841064453125, + -0.005687713623046875, + 0.0014314651489257812, + -0.003917694091796875, + -0.0015039443969726562, + 0.006839752197265625, + -0.04254150390625, + -0.045379638671875, + 0.028472900390625, + -0.022613525390625, + 0.00708770751953125, + 0.0435791015625, + -0.02069091796875, + -0.032562255859375, + -0.046875, + 0.035858154296875, + -0.0240478515625, + 0.00539398193359375, + -0.006084442138671875, + 0.00855255126953125, + -0.0046234130859375, + 0.00811767578125, + 0.055816650390625, + 0.10546875, + 0.0297088623046875, + 0.014923095703125, + -0.007190704345703125, + -0.007038116455078125, + -0.002101898193359375, + 0.045379638671875, + 0.00848388671875, + -0.0214385986328125, + 0.0036716461181640625, + 0.019622802734375, + 0.01018524169921875, + 0.00379180908203125, + -0.042022705078125, + -0.026214599609375, + -0.03814697265625, + 0.049652099609375, + 0.0142822265625, + 0.03515625, + -0.0115203857421875, + 0.034820556640625, + 0.0313720703125, + 0.0789794921875, + -0.01258087158203125, + -0.0239410400390625, + -0.049591064453125, + -0.0149383544921875, + -0.02960205078125, + 0.08465576171875, + -0.058258056640625, + -0.01108551025390625, + 0.034637451171875, + -0.0579833984375, + 0.04656982421875, + 0.042724609375, + 0.0011243820190429688, + -0.007656097412109375, + 0.0037403106689453125, + 0.0037174224853515625, + 0.00921630859375, + -0.032257080078125, + -0.00667572021484375, + -0.00891876220703125, + -0.021636962890625, + 0.0012674331665039062, + 0.0265350341796875, + -0.053558349609375, + 0.004589080810546875, + -0.025299072265625, + 0.0309295654296875, + 0.020660400390625, + -0.021575927734375, + 0.028045654296875, + 0.031097412109375, + 0.005458831787109375, + -0.0142364501953125, + -0.0273284912109375, + 0.03216552734375, + 0.0194549560546875, + 0.035003662109375, + -0.053924560546875, + -0.0154266357421875, + -0.0027561187744140625, + 0.01517486572265625, + 0.06573486328125, + 0.007358551025390625, + -0.010650634765625, + -0.00142669677734375, + -0.01174163818359375, + -0.05279541015625, + -0.00212860107421875, + -0.0178070068359375, + 0.007091522216796875, + 0.022735595703125, + 0.0208740234375, + 0.06781005859375, + -0.015869140625, + 0.0219879150390625, + -0.038970947265625, + 0.045074462890625, + 0.10028076171875, + 0.03466796875, + 0.0440673828125, + 0.0284576416015625, + -0.007419586181640625, + 0.00843048095703125, + 0.061370849609375, + -0.0241546630859375, + 0.0008254051208496094, + 0.0197601318359375, + 0.019989013671875, + 0.036407470703125, + -0.0255126953125, + -0.04119873046875, + -0.0176544189453125, + -0.00244903564453125, + -0.019439697265625, + -0.00749969482421875, + 0.055572509765625, + -0.04254150390625, + -0.0235595703125, + 0.03253173828125, + -0.036468505859375, + 0.037567138671875, + -0.02606201171875, + -0.0191497802734375, + -0.00038123130798339844, + -0.0267791748046875, + -0.0189208984375, + -0.0042724609375, + 0.018096923828125, + 0.024078369140625, + -0.034637451171875, + -0.06744384765625, + 0.0278778076171875, + -0.05499267578125, + 0.03350830078125, + -0.04449462890625, + 0.07281494140625, + 0.0196533203125, + -0.0190277099609375, + 0.0296630859375, + -0.0301666259765625, + 0.04302978515625, + 0.04510498046875, + 0.01535797119140625, + -0.038330078125, + 0.0226287841796875, + -0.034515380859375, + -0.0775146484375, + -0.0035266876220703125, + -0.0126953125, + 0.01490020751953125, + -0.0260009765625, + 0.046234130859375, + 0.0005559921264648438, + -0.022247314453125, + -0.025634765625, + -0.00020802021026611328, + 0.00359344482421875, + -0.04498291015625, + 0.001827239990234375, + -0.009765625, + 0.01244354248046875, + -0.0755615234375, + -0.0164794921875, + -0.0180816650390625, + -0.0277252197265625, + 0.0008254051208496094, + 0.039306640625, + 0.0306396484375, + 0.0134124755859375, + -0.01038360595703125, + -6.318092346191406e-05, + -0.004238128662109375, + -0.01288604736328125, + 0.0006303787231445312, + 0.0036373138427734375, + 0.040191650390625, + 0.01380157470703125, + 0.01354217529296875, + 0.014617919921875, + 0.0321044921875, + -0.08349609375, + 0.0304718017578125, + -0.043701171875, + -0.01013946533203125, + -0.031341552734375, + 0.00949859619140625, + 0.014495849609375, + 0.0186309814453125, + -0.0030155181884765625, + -0.00954437255859375, + 0.046905517578125, + -0.005218505859375, + -0.0172271728515625, + 0.0172271728515625, + -0.048797607421875, + -0.0224456787109375, + 0.0074005126953125, + 0.0057373046875, + 0.0260162353515625, + 0.0203704833984375, + -0.00684356689453125, + -0.017852783203125, + -0.03167724609375, + 0.016143798828125, + 0.048828125, + 0.058074951171875, + -0.01129150390625, + -0.042724609375, + 0.0285797119140625, + -0.059783935546875, + 0.0020389556884765625, + -0.0653076171875, + 0.0382080078125, + 0.0458984375, + -0.00518035888671875, + 0.0202484130859375, + -0.0068206787109375, + 0.02728271484375, + -0.014862060546875, + 0.06317138671875, + 0.01003265380859375, + -0.0037841796875, + -0.0210113525390625, + -0.01134490966796875, + -0.0076751708984375, + 0.08184814453125, + 0.02899169921875, + 0.01441192626953125, + -0.0111083984375, + 0.0171051025390625, + 0.00963592529296875, + -0.004058837890625, + 0.03460693359375, + 0.05999755859375, + -0.0234222412109375, + 0.0308837890625, + -0.0086517333984375, + 0.00942230224609375, + 0.038055419921875, + 0.004913330078125, + -0.005474090576171875, + -0.01580810546875, + -0.03253173828125, + 0.0081787109375, + 0.018157958984375, + 0.01186370849609375, + -0.0007071495056152344, + 0.0310211181640625, + -0.1226806640625, + 0.035552978515625, + 0.01119232177734375, + 0.0176544189453125, + -0.050750732421875, + 0.00318145751953125, + -0.02716064453125, + -0.037384033203125, + 0.001712799072265625, + -0.06268310546875, + -0.01324462890625, + 0.0157012939453125, + -0.0202789306640625, + -0.031951904296875, + 0.02716064453125, + -0.00875091552734375, + -0.0112457275390625, + 0.004627227783203125, + 0.03192138671875, + 0.0296630859375, + 0.00882720947265625, + 0.005275726318359375, + -0.033843994140625, + 0.002246856689453125, + -0.03155517578125, + 0.0089111328125, + -0.004215240478515625, + -0.03009033203125, + -0.00934600830078125, + -0.02874755859375, + -0.0276641845703125, + -0.05352783203125, + 0.01654052734375, + 0.059906005859375, + -0.00713348388671875, + 0.0296630859375, + 0.004741668701171875, + -0.0233917236328125, + -0.0465087890625, + 0.02801513671875, + -0.034820556640625, + 0.01471710205078125, + -0.0305633544921875, + 0.035491943359375, + -0.036895751953125, + 0.034515380859375, + -0.033477783203125, + -0.031982421875, + -0.052215576171875, + 0.02044677734375, + 0.0059661865234375, + 0.01654052734375, + -0.0021495819091796875, + 0.0201416015625, + -0.012969970703125, + 0.033294677734375, + -0.08111572265625, + 0.00849151611328125, + 0.04290771484375, + 0.05401611328125, + -0.051055908203125, + -0.01325225830078125, + -0.0037059783935546875, + -0.020904541015625, + -0.049468994140625, + 0.041748046875, + -0.04180908203125, + 0.00958251953125, + 0.033416748046875, + -0.0182037353515625, + -0.0034313201904296875, + 0.060791015625, + -0.004913330078125, + 0.00695037841796875, + 0.0006008148193359375, + 0.02923583984375, + -0.00027179718017578125, + 0.01141357421875, + 0.028533935546875, + 0.00363922119140625, + 0.007587432861328125, + 0.025665283203125, + 0.0167236328125, + 0.041900634765625, + 0.0023517608642578125, + 0.007137298583984375, + -0.0235748291015625, + -0.0186767578125, + -0.0255889892578125, + -0.0007734298706054688, + -0.0252227783203125, + -0.0745849609375, + 0.01016998291015625, + -0.047607421875, + -0.03369140625, + 0.060882568359375, + -0.051666259765625, + -0.00783538818359375, + -0.0224609375, + -0.04754638671875, + 0.036041259765625, + 0.02325439453125, + -0.01299285888671875, + -0.0113983154296875, + -0.0243988037109375, + 0.01158905029296875, + -0.0099639892578125, + 0.00887298583984375, + 0.0095367431640625, + -0.0157928466796875, + -0.011199951171875, + -0.035797119140625, + -0.0147705078125, + 0.0190887451171875, + 0.01641845703125, + -0.03216552734375, + 0.0253143310546875, + 0.0309295654296875, + 0.0126800537109375, + 0.040771484375, + -0.0212860107421875, + -0.0010433197021484375, + -0.03369140625, + -0.034942626953125, + 0.004917144775390625, + 0.005741119384765625, + 0.0235595703125, + -0.0472412109375, + 0.0662841796875, + -0.01090240478515625, + -0.0014171600341796875, + -0.017333984375, + 0.036895751953125, + -0.007404327392578125, + -0.004302978515625, + -0.01189422607421875, + -0.03228759765625, + 0.0213470458984375, + 0.0183563232421875, + -0.0236663818359375, + 0.0168304443359375, + 0.0161590576171875, + 0.0104522705078125, + 0.01023101806640625, + -0.051605224609375, + -0.007656097412109375, + -0.03448486328125, + -0.032745361328125, + 0.019775390625, + 0.0090484619140625, + 0.01357269287109375, + 0.03240966796875, + 0.031402587890625, + 0.046142578125, + -0.058868408203125, + 0.0285797119140625, + -0.0545654296875, + -0.035186767578125, + 0.0582275390625, + -0.0428466796875, + -0.01427459716796875, + -0.0379638671875, + -0.0279541015625, + -0.062103271484375, + 0.0026988983154296875, + -0.0208587646484375, + -0.048309326171875, + -0.0322265625, + 0.015380859375, + -0.0723876953125, + -0.05322265625, + -0.004909515380859375, + -0.052825927734375, + -0.02880859375, + 0.027740478515625, + 0.00240325927734375, + 0.003787994384765625, + 0.0418701171875, + -0.0196075439453125, + -0.015777587890625, + 0.06451416015625, + 0.0196075439453125, + 0.044219970703125, + 0.002689361572265625, + -0.03131103515625, + -0.06298828125, + -0.0538330078125, + 0.03546142578125, + -0.01454925537109375, + 0.014556884765625, + 0.01171112060546875, + 0.016021728515625, + -0.054290771484375, + -0.00791168212890625, + 0.015045166015625, + 0.03607177734375, + 0.01715087890625, + -0.017547607421875, + 0.0091705322265625, + 0.00330352783203125, + 0.004543304443359375, + -0.0161590576171875, + 0.006557464599609375, + 0.03192138671875, + -0.046478271484375, + -0.000885009765625, + 0.004688262939453125, + -0.02606201171875, + -0.0802001953125, + 0.00023055076599121094, + -0.023590087890625, + 0.0164794921875, + -0.018402099609375, + 0.03778076171875, + 0.0271453857421875, + -0.0200042724609375, + 0.028839111328125, + -0.002498626708984375, + 0.0256500244140625, + -0.01078033447265625, + -0.0279998779296875, + -0.021026611328125, + 0.0018377304077148438, + 0.0128326416015625, + -0.00946807861328125, + 0.01519775390625, + -0.0237884521484375, + 0.034881591796875, + -0.026947021484375, + -0.0016679763793945312, + 0.01325225830078125, + 0.01383209228515625, + -0.024627685546875, + -0.0003943443298339844, + -0.026763916015625, + -0.025421142578125, + -0.0239715576171875, + 0.03009033203125, + 0.03076171875, + 0.0117950439453125, + 0.0298004150390625, + 0.0234527587890625, + 0.03192138671875, + -0.0313720703125 + ], + [ + 0.047210693359375, + 0.046783447265625, + -0.032257080078125, + 0.03887939453125, + -0.0168304443359375, + 0.00774383544921875, + -0.03662109375, + 0.00011110305786132812, + 0.0248870849609375, + -0.0257415771484375, + 0.0208282470703125, + 0.0443115234375, + -0.0089111328125, + -0.0095672607421875, + -0.03485107421875, + -0.046478271484375, + 0.035797119140625, + -0.060638427734375, + 0.048004150390625, + -0.0217132568359375, + 0.0125579833984375, + -0.01477813720703125, + -0.0251617431640625, + -0.02044677734375, + -0.053436279296875, + 0.002460479736328125, + -0.01873779296875, + 0.027862548828125, + -0.00913238525390625, + -0.00969696044921875, + -0.0025386810302734375, + 0.002696990966796875, + 0.029937744140625, + 0.01065826416015625, + -0.003299713134765625, + -0.03033447265625, + -0.00418853759765625, + -0.044586181640625, + -0.03961181640625, + 0.04266357421875, + -0.0052490234375, + -0.007602691650390625, + 0.054168701171875, + 0.056243896484375, + 0.0110015869140625, + -0.054046630859375, + -0.0164947509765625, + -0.0147552490234375, + -0.0623779296875, + -0.00916290283203125, + 0.0008358955383300781, + -0.01134490966796875, + 0.0003046989440917969, + -0.00726318359375, + 0.018218994140625, + 0.03594970703125, + -0.0185089111328125, + -0.0013990402221679688, + -0.008331298828125, + 0.0467529296875, + -0.0199432373046875, + 0.0165557861328125, + -0.0185089111328125, + -0.03509521484375, + 0.0237884521484375, + 0.040740966796875, + -0.0067901611328125, + 0.00033664703369140625, + -0.008392333984375, + 0.008941650390625, + -0.036224365234375, + 0.0123443603515625, + -0.01502227783203125, + -0.03765869140625, + -0.04833984375, + -0.0191650390625, + -0.0205078125, + -0.0001665353775024414, + -0.0173187255859375, + -0.0297393798828125, + 0.016510009765625, + -0.03985595703125, + 0.014404296875, + 0.007472991943359375, + -0.04949951171875, + 0.0240936279296875, + 0.02874755859375, + 0.0211029052734375, + 0.009246826171875, + -0.01352691650390625, + -0.0196990966796875, + -0.004329681396484375, + 0.021728515625, + 0.0181121826171875, + -0.039215087890625, + -0.0214385986328125, + -0.0056915283203125, + -0.0014734268188476562, + 0.034637451171875, + -0.03271484375, + -0.040283203125, + 0.0305328369140625, + 0.0168914794921875, + 0.00794219970703125, + 0.01166534423828125, + 0.0241241455078125, + 0.06982421875, + 0.0138702392578125, + -0.05145263671875, + 0.02099609375, + 0.07318115234375, + -0.0022411346435546875, + 0.033721923828125, + 0.02166748046875, + -0.01494598388671875, + -0.055450439453125, + -0.0132904052734375, + -0.038970947265625, + -0.0408935546875, + -0.06884765625, + 0.052093505859375, + 0.0269775390625, + 0.08380126953125, + -0.000362396240234375, + -0.002655029296875, + 0.007579803466796875, + 0.00628662109375, + 0.01739501953125, + 9.334087371826172e-05, + 0.00974273681640625, + -0.036773681640625, + 0.059478759765625, + -0.006778717041015625, + 0.00284576416015625, + -0.0079193115234375, + 0.00444793701171875, + 0.0096435546875, + 0.0184783935546875, + 0.04437255859375, + -0.009979248046875, + 0.0125274658203125, + -0.0195465087890625, + 0.0087127685546875, + -0.06024169921875, + 0.043304443359375, + -0.021728515625, + -0.045654296875, + 0.01377105712890625, + 0.018402099609375, + -0.05706787109375, + 0.007198333740234375, + 0.00878143310546875, + 0.042816162109375, + 0.0279693603515625, + -0.069091796875, + 0.01331329345703125, + -0.03936767578125, + 0.0269622802734375, + -0.0474853515625, + 0.00960540771484375, + -0.0618896484375, + -0.0031528472900390625, + -0.0229339599609375, + -0.0014753341674804688, + 0.036468505859375, + -0.0061798095703125, + 0.020721435546875, + 0.0085906982421875, + -0.0186614990234375, + -0.038604736328125, + 0.006862640380859375, + -0.051788330078125, + 0.015594482421875, + -0.012420654296875, + -0.00011563301086425781, + 0.0268402099609375, + -0.005886077880859375, + 0.006862640380859375, + -0.004329681396484375, + -0.042938232421875, + -0.0187835693359375, + -0.004024505615234375, + 0.0254364013671875, + 0.0158233642578125, + 0.03363037109375, + 0.01000213623046875, + -0.052490234375, + -0.00536346435546875, + -0.0014524459838867188, + 0.0251922607421875, + -0.0821533203125, + -0.0186309814453125, + 0.041015625, + -0.039306640625, + 0.02630615234375, + -0.005222320556640625, + -0.0222930908203125, + 0.0055999755859375, + -0.01207733154296875, + 0.023834228515625, + -0.00836181640625, + -0.01042938232421875, + -0.0019702911376953125, + 0.005413055419921875, + 0.0015478134155273438, + 0.01097869873046875, + -0.01476287841796875, + -0.01080322265625, + 0.0263214111328125, + -0.055633544921875, + -0.004634857177734375, + -0.00911712646484375, + -0.027618408203125, + -0.01154327392578125, + 0.00217437744140625, + 0.036468505859375, + 0.025238037109375, + 0.0084686279296875, + 0.0162811279296875, + 0.02581787109375, + 0.021392822265625, + 0.04852294921875, + 0.009490966796875, + 0.0482177734375, + 0.05810546875, + -0.0245361328125, + 0.01168060302734375, + 0.0689697265625, + 0.00876617431640625, + -0.033111572265625, + -0.00647735595703125, + 0.0229644775390625, + -0.006885528564453125, + -0.019500732421875, + -0.0170745849609375, + -0.028472900390625, + -0.053009033203125, + 0.01806640625, + 0.0166015625, + 0.0223846435546875, + 0.01861572265625, + 0.00133514404296875, + 0.05718994140625, + 0.001491546630859375, + -0.001041412353515625, + 0.0232391357421875, + 0.0194244384765625, + 0.0234832763671875, + -0.0216522216796875, + -0.0322265625, + -0.0163726806640625, + -0.037139892578125, + -0.01184844970703125, + -0.004520416259765625, + 0.050811767578125, + -0.004547119140625, + 0.0006518363952636719, + 0.00032138824462890625, + -0.0100555419921875, + -0.0247344970703125, + 0.01593017578125, + -0.0200347900390625, + -0.02374267578125, + -0.0015106201171875, + 0.052093505859375, + -0.01025390625, + -0.00296783447265625, + -0.003307342529296875, + 0.045318603515625, + -0.00534820556640625, + -0.00524139404296875, + -0.00537872314453125, + -0.0022144317626953125, + -0.020538330078125, + -0.0281982421875, + 0.0178070068359375, + -0.0227508544921875, + 0.027984619140625, + -0.0214080810546875, + 0.0222320556640625, + 0.0166015625, + -0.017852783203125, + 0.0179290771484375, + 0.044525146484375, + 0.014404296875, + 0.0002694129943847656, + -0.03948974609375, + 0.0343017578125, + -0.054656982421875, + -0.01418304443359375, + -0.045166015625, + -0.049896240234375, + 0.0643310546875, + -0.01227569580078125, + 0.0305328369140625, + -0.049346923828125, + -0.0093994140625, + -0.1800537109375, + -0.01654052734375, + -0.031524658203125, + -0.0318603515625, + -0.00766754150390625, + 0.00505828857421875, + 0.017791748046875, + -0.06121826171875, + 0.03814697265625, + 0.034515380859375, + -0.045928955078125, + -0.06005859375, + -0.0185546875, + -0.03070068359375, + 0.0002460479736328125, + 0.06256103515625, + -0.016937255859375, + 0.00397491455078125, + -0.057220458984375, + -0.0258941650390625, + -0.04071044921875, + 0.02764892578125, + -0.0003228187561035156, + 0.0517578125, + -0.0361328125, + -0.0087127685546875, + 0.04534912109375, + 0.02679443359375, + -0.0035495758056640625, + 0.0265960693359375, + -0.01369476318359375, + 0.026580810546875, + 0.00640106201171875, + -0.037506103515625, + 0.06622314453125, + -0.00139617919921875, + 0.01282501220703125, + 0.00030040740966796875, + 0.0169219970703125, + -0.00121307373046875, + -0.0207977294921875, + 0.028656005859375, + -0.0269775390625, + 0.0158538818359375, + -0.018646240234375, + -0.0567626953125, + -0.0218048095703125, + -0.007724761962890625, + -0.0012884140014648438, + -0.011444091796875, + 0.02288818359375, + -0.00537872314453125, + -0.0138702392578125, + -0.03851318359375, + -0.04290771484375, + 0.026885986328125, + -0.041351318359375, + 0.0109100341796875, + 0.0058135986328125, + 0.0130157470703125, + 0.0171356201171875, + -0.0592041015625, + 0.0241546630859375, + 0.019500732421875, + 0.0038852691650390625, + 0.01494598388671875, + -0.03472900390625, + -0.05218505859375, + 0.01953125, + -0.0021381378173828125, + 0.028472900390625, + 0.039886474609375, + -0.00394439697265625, + 0.00969696044921875, + 0.0821533203125, + 0.02783203125, + 0.0208282470703125, + -0.0028972625732421875, + -0.01126861572265625, + -0.041351318359375, + -0.04229736328125, + 0.03179931640625, + -0.0122528076171875, + 0.00609588623046875, + -0.01727294921875, + 0.0007700920104980469, + 0.0089263916015625, + 5.8591365814208984e-05, + 0.0355224609375, + 0.2183837890625, + -0.040069580078125, + 0.06097412109375, + -0.00403594970703125, + 0.01461029052734375, + -0.040191650390625, + 0.0130615234375, + 0.005420684814453125, + 0.035003662109375, + -0.01062774658203125, + -0.026336669921875, + 0.039337158203125, + -0.0008373260498046875, + 0.00012564659118652344, + 0.0094451904296875, + 0.01020050048828125, + -0.006649017333984375, + 0.0283203125, + 0.056304931640625, + -0.0053863525390625, + 0.003932952880859375, + -0.04571533203125, + 0.01690673828125, + -0.004032135009765625, + -0.01305389404296875, + -0.006000518798828125, + 0.01375579833984375, + 0.0244598388671875, + 0.0137939453125, + -0.0074310302734375, + -0.0211181640625, + -0.0120391845703125, + -0.0193328857421875, + 0.0650634765625, + -0.01348114013671875, + -0.028045654296875, + 0.034759521484375, + 0.0202484130859375, + -0.0005125999450683594, + -0.0161285400390625, + -0.0019025802612304688, + -0.0440673828125, + -0.01030731201171875, + -0.040802001953125, + -0.0118255615234375, + -0.0369873046875, + -0.02679443359375, + 0.0203857421875, + -0.0237884521484375, + -0.0443115234375, + 0.009521484375, + 0.043609619140625, + 0.0184783935546875, + -0.0084228515625, + -0.044677734375, + 0.0208282470703125, + -0.00981903076171875, + -0.0229339599609375, + -0.0372314453125, + -0.01275634765625, + 0.0275115966796875, + -0.0080718994140625, + -0.022308349609375, + -0.019683837890625, + -0.0117034912109375, + -0.018646240234375, + 0.037353515625, + -0.0010223388671875, + -0.032012939453125, + 0.033477783203125, + 0.050811767578125, + -0.0142974853515625, + -0.052093505859375, + -0.034271240234375, + 0.0301666259765625, + 0.0433349609375, + 0.01271820068359375, + 0.057891845703125, + 0.016357421875, + 0.034393310546875, + -0.00811004638671875, + -0.06109619140625, + -0.0188140869140625, + 0.06793212890625, + 0.01346588134765625, + -0.011016845703125, + 0.035430908203125, + 0.0062255859375, + -0.054168701171875, + -0.02239990234375, + -0.003871917724609375, + -0.0111236572265625, + -0.0770263671875, + 0.031982421875, + -0.01053619384765625, + 0.0009636878967285156, + -0.005718231201171875, + -0.013153076171875, + -0.09246826171875, + -0.0009870529174804688, + 0.0179901123046875, + -0.0023040771484375, + -0.007152557373046875, + 0.017730712890625, + 0.0262298583984375, + -0.021240234375, + -0.0121612548828125, + 0.054931640625, + -0.0132293701171875, + 0.034576416015625, + -0.0041046142578125, + 0.0198211669921875, + -0.0128021240234375, + 0.005306243896484375, + -0.0262603759765625, + -0.0236663818359375, + -0.02557373046875, + -0.00662994384765625, + 0.01132965087890625, + 0.060791015625, + -0.02166748046875, + 0.0252227783203125, + 0.02545166015625, + -0.0295257568359375, + -0.02716064453125, + 0.0189666748046875, + -0.018218994140625, + 0.10693359375, + -0.0093231201171875, + 0.035003662109375, + 0.0127410888671875, + -0.038055419921875, + -0.03558349609375, + -0.0009560585021972656, + 0.05023193359375, + -0.0157623291015625, + -0.0062713623046875, + -0.023834228515625, + 0.0256500244140625, + -0.026336669921875, + -0.00846099853515625, + -0.0125579833984375, + -0.00853729248046875, + 0.028656005859375, + 0.0073089599609375, + -0.01427459716796875, + -0.026824951171875, + 0.01352691650390625, + 0.0210723876953125, + 0.032379150390625, + -0.0321044921875, + 0.0266876220703125, + -0.049041748046875, + -0.045501708984375, + 0.0011987686157226562, + 0.01187896728515625, + -0.05279541015625, + 0.0286712646484375, + -0.0193939208984375, + -0.001476287841796875, + 0.0297393798828125, + 0.0093231201171875, + -0.00305938720703125, + 0.06988525390625, + 0.01910400390625, + -0.03265380859375, + -0.007633209228515625, + 0.011871337890625, + 0.0079498291015625, + 0.003871917724609375, + 0.0057373046875, + -0.031463623046875, + -0.037567138671875, + 0.02197265625, + 0.031341552734375, + 0.0018024444580078125, + 0.01424407958984375, + -0.0034046173095703125, + 0.019683837890625, + 0.0295562744140625, + 0.01137542724609375, + 0.0516357421875, + 0.038299560546875, + -0.036224365234375, + -0.052093505859375, + 0.0040435791015625, + -0.0546875, + -0.0175018310546875, + -0.013824462890625, + -0.006168365478515625, + -0.035797119140625, + 0.05804443359375, + -0.0242919921875, + -0.0192108154296875, + 0.01629638671875, + -0.00228118896484375, + 0.0262298583984375, + -0.004138946533203125, + 0.028900146484375, + -0.019012451171875, + 0.01302337646484375, + 0.0109710693359375, + -0.0125732421875, + -0.0289154052734375, + -0.06988525390625, + -0.019287109375, + -0.0303955078125, + -0.00445556640625, + -0.0290069580078125, + -0.052337646484375, + -0.00014770030975341797, + 0.011016845703125, + 4.774332046508789e-05, + 0.00018990039825439453, + -0.06298828125, + -0.0009675025939941406, + 0.061065673828125, + 0.0292510986328125, + 0.04071044921875, + -0.00742340087890625, + -0.0316162109375, + 0.046234130859375, + -0.008087158203125, + 0.0260772705078125, + 0.05035400390625, + 0.03192138671875, + 0.049957275390625, + 0.01201629638671875, + 0.01369476318359375, + -0.01123809814453125, + -0.006732940673828125, + -0.04266357421875, + -0.018218994140625, + -0.0203704833984375, + -0.04364013671875, + -0.025299072265625, + 0.0020618438720703125, + -0.00688934326171875, + 0.01090240478515625, + 0.034576416015625, + 0.00057220458984375, + -0.040191650390625, + 0.01244354248046875, + 0.05816650390625, + -0.0124053955078125, + 0.0188446044921875, + 0.01329803466796875, + -0.0304107666015625, + 0.0227203369140625, + 0.0389404296875, + -0.00800323486328125, + -0.013580322265625, + 0.006023406982421875, + 0.005092620849609375, + 0.0391845703125, + -0.038909912109375, + -0.05352783203125, + -0.03851318359375, + -0.017913818359375, + 0.0017957687377929688, + -0.00031185150146484375, + -0.0225982666015625, + -0.03167724609375, + -0.0195159912109375, + 0.0266571044921875, + -0.0181884765625, + -0.0285186767578125, + -0.0264434814453125, + -0.02197265625, + -0.00872039794921875, + -0.0217437744140625, + -0.0128936767578125, + -0.050628662109375, + 0.04486083984375, + 0.059356689453125, + 0.05596923828125, + -0.079345703125, + -0.044525146484375, + -0.039154052734375, + -0.031585693359375, + -0.0450439453125, + 0.0372314453125, + 0.01180267333984375, + -0.0295257568359375, + 0.002887725830078125, + -0.020111083984375, + 0.039337158203125, + 0.03228759765625, + -0.0036640167236328125, + -0.0291595458984375, + 0.0262298583984375, + -0.056304931640625, + -0.045501708984375, + 0.0450439453125, + -0.03094482421875, + 0.023406982421875, + -0.043609619140625, + -0.0022449493408203125, + 0.002437591552734375, + -0.0574951171875, + -0.0164947509765625, + 0.007511138916015625, + -0.004467010498046875, + -0.04364013671875, + -0.04620361328125, + 0.022674560546875, + 0.0168304443359375, + -0.0295867919921875, + 0.006633758544921875, + 0.0020599365234375, + 0.033905029296875, + 0.0138702392578125, + 0.0296783447265625, + 0.049468994140625, + -0.034210205078125, + -0.05377197265625, + 0.033782958984375, + -0.0191802978515625, + 0.00475311279296875, + -0.0283050537109375, + 0.0234527587890625, + 0.0231781005859375, + 0.0227508544921875, + 0.0077362060546875, + 0.001361846923828125, + 0.011444091796875, + -0.033721923828125, + 0.037567138671875, + -0.02203369140625, + -0.031982421875, + -0.040191650390625, + 0.0228118896484375, + -0.0006451606750488281, + 0.0029125213623046875, + -0.038177490234375, + -0.01251983642578125, + 0.02880859375, + -0.0162506103515625, + 0.0115509033203125, + -0.004669189453125, + -0.004886627197265625, + 0.014129638671875, + 0.0219268798828125, + -0.0018138885498046875, + -0.0151214599609375, + 0.021148681640625, + -0.036376953125, + -0.021453857421875, + -0.031982421875, + -0.000640869140625, + 0.01311492919921875, + 0.06915283203125, + -0.00475311279296875, + -0.01383209228515625, + -0.0204620361328125, + -0.049041748046875, + 0.0012722015380859375, + -0.01061248779296875, + 0.00630950927734375, + 0.0183258056640625, + 0.00853729248046875, + -0.051055908203125, + 0.0078277587890625, + 0.04486083984375, + -0.007045745849609375, + 0.032501220703125, + 0.0127716064453125, + 0.0198211669921875, + 0.046234130859375, + 0.032989501953125, + 0.01232147216796875, + 0.0697021484375, + 0.0309600830078125, + 0.022735595703125, + -0.01186370849609375, + 0.061309814453125, + 0.03094482421875, + -0.002349853515625, + 0.0170135498046875, + -0.0018873214721679688, + -0.037017822265625, + -0.0029048919677734375, + -0.03399658203125, + -0.0218048095703125, + -0.0243682861328125, + 0.004245758056640625, + -0.01776123046875, + -0.00852203369140625, + 0.037506103515625, + 0.04852294921875, + -0.033477783203125, + -0.023193359375, + 0.016143798828125, + 0.0281829833984375, + -0.1239013671875, + 0.005435943603515625, + -0.0214996337890625, + 0.0142059326171875, + -0.0192108154296875, + -0.0096588134765625, + -0.03448486328125, + 0.01157379150390625, + 0.0017461776733398438, + -0.0222625732421875, + -0.00033664703369140625, + 0.034271240234375, + 0.039947509765625, + -0.0006923675537109375, + -0.00968170166015625, + 0.058746337890625, + -0.041748046875, + 0.0211944580078125, + -0.020233154296875, + 0.0017614364624023438, + -0.0009593963623046875, + -0.00722503662109375, + -0.044921875, + 0.023040771484375, + -0.023406982421875, + 0.0029659271240234375, + 0.039215087890625, + -0.031585693359375, + -0.01727294921875, + -0.0242919921875, + 0.05810546875, + -0.044036865234375, + -0.00011926889419555664, + 0.0200958251953125, + 0.003055572509765625, + 0.00421905517578125, + -0.01175689697265625, + -0.0233917236328125, + 0.028839111328125, + 0.0252532958984375, + 0.00035643577575683594, + 0.018463134765625, + 0.02197265625, + 0.0036296844482421875, + 0.004795074462890625, + -0.03277587890625, + 0.037109375, + 0.034088134765625, + -0.0364990234375, + -0.0208740234375, + -0.01236724853515625, + 0.0142974853515625, + -0.0224761962890625, + 0.01519012451171875, + -0.045074462890625, + 0.00836181640625, + -0.0238189697265625, + -0.0235443115234375, + 0.06512451171875, + 0.034149169921875, + -0.034423828125, + 0.0015554428100585938, + -0.01148223876953125, + 0.0228729248046875, + -0.03070068359375, + 0.05133056640625, + -0.0272369384765625, + 0.0283355712890625, + 0.0194244384765625, + -0.0523681640625, + 0.001567840576171875, + 0.016448974609375, + -0.024658203125, + -0.026031494140625, + -0.012237548828125, + 0.034027099609375, + 0.0245513916015625, + 0.032440185546875, + 0.0011796951293945312, + -0.007049560546875, + -0.021881103515625, + -0.0245208740234375, + 0.01290130615234375, + 0.04302978515625, + 0.037445068359375, + -0.00763702392578125, + -0.0289459228515625, + 0.024688720703125, + -0.054534912109375, + -0.0335693359375, + -0.018890380859375, + -0.07647705078125, + -0.03692626953125, + -0.02178955078125, + -0.0550537109375, + 0.00868988037109375, + -0.041168212890625, + -0.0136566162109375, + -0.0401611328125, + -0.0298309326171875, + 0.0197906494140625, + 0.0140228271484375, + -0.00716400146484375, + -0.0243377685546875, + -0.0205078125, + 0.04400634765625, + 0.0098724365234375, + 0.035736083984375, + -0.00821685791015625, + -0.0109405517578125, + -0.026336669921875, + 0.001617431640625, + -0.0171966552734375, + 0.018524169921875, + -0.0440673828125, + 0.047027587890625, + 0.0144805908203125, + 0.005268096923828125, + -0.00737762451171875, + -0.03192138671875, + -0.0236968994140625, + 0.017242431640625, + 0.023681640625, + -0.0281829833984375, + -0.01018524169921875, + 0.0550537109375, + 0.0144500732421875, + -0.0192108154296875, + 0.00994873046875, + 0.0276947021484375, + 0.00701141357421875, + 0.03985595703125, + -0.032073974609375, + 0.003086090087890625, + 0.046783447265625, + -0.0005865097045898438, + 0.0033168792724609375, + 0.048614501953125, + 0.016571044921875, + 0.004520416259765625, + 0.006763458251953125, + 0.0239410400390625, + 0.005619049072265625, + -0.01146697998046875, + 0.04010009765625, + -0.0094451904296875, + -0.0020618438720703125, + -0.034271240234375, + 0.042510986328125, + -0.00988006591796875, + -0.0196075439453125, + 0.0166778564453125, + 0.0114288330078125, + 0.040313720703125, + -0.048492431640625, + 0.0196380615234375, + 0.0183563232421875, + -0.0022792816162109375, + -0.0029125213623046875, + -0.0197601318359375, + -0.033660888671875, + 0.0022373199462890625, + -0.049346923828125, + -0.021240234375, + -0.00653839111328125, + 0.01346588134765625, + -0.0254669189453125, + -0.006435394287109375, + -0.03521728515625, + -0.0257568359375, + 0.01093292236328125, + 0.0306243896484375, + -0.039306640625, + 0.019378662109375, + 0.06658935546875, + -0.012359619140625, + 0.0228271484375, + 0.050872802734375, + 0.040863037109375, + 0.01325225830078125, + 0.03472900390625, + 0.09075927734375, + 0.0256805419921875, + 0.00208282470703125, + -0.0004143714904785156, + -0.043060302734375, + -0.01184844970703125, + 0.050201416015625, + -0.00957489013671875, + 0.049652099609375, + -0.0203094482421875, + 0.045501708984375, + -0.0399169921875, + 0.01018524169921875, + 0.01248931884765625, + -0.023223876953125, + 0.0382080078125, + 0.076171875, + 0.03692626953125, + 0.0009145736694335938, + -0.01465606689453125, + -0.0309600830078125, + -0.0377197265625, + 0.03466796875, + -0.01019287109375, + -0.0097198486328125, + 0.026580810546875, + -0.03521728515625, + -0.043304443359375, + -0.03594970703125, + -0.0306549072265625, + -0.020172119140625, + 0.007091522216796875, + 0.04376220703125, + 0.0298919677734375, + 0.025482177734375, + -0.01499176025390625, + -0.0211639404296875, + -0.0302276611328125, + 0.00885772705078125, + 0.0166778564453125, + -0.00021398067474365234, + -0.045501708984375, + -0.0178070068359375, + -0.009246826171875, + -0.0086822509765625, + -0.0035953521728515625, + -0.0126953125, + -0.0294036865234375, + -0.025238037109375, + -0.006954193115234375, + -0.0048980712890625, + 0.0088043212890625, + 0.08428955078125, + 0.03271484375, + 0.0297393798828125, + 0.00481414794921875, + 0.0124359130859375, + 0.02288818359375, + -0.00550079345703125, + 0.10174560546875, + -0.0301513671875, + -0.0005970001220703125, + -0.01154327392578125 + ], + [ + 0.0162353515625, + -0.007633209228515625, + -0.0143280029296875, + 0.040435791015625, + -0.00264739990234375, + 0.012420654296875, + -0.0263824462890625, + -0.01708984375, + -0.0113677978515625, + -0.0239715576171875, + 0.0198211669921875, + 0.00157928466796875, + -0.00720977783203125, + 0.04010009765625, + -0.0011034011840820312, + -0.004016876220703125, + 0.06707763671875, + 0.01690673828125, + -0.0125579833984375, + -0.0406494140625, + -0.0296783447265625, + 0.0040435791015625, + 0.01238250732421875, + -0.011260986328125, + -0.0560302734375, + -0.01018524169921875, + 0.009490966796875, + 0.006744384765625, + -0.0172576904296875, + -0.00962066650390625, + 0.002948760986328125, + 0.00321197509765625, + -0.0279388427734375, + 0.0430908203125, + -0.00821685791015625, + -0.0731201171875, + 0.0245513916015625, + -0.036651611328125, + -0.03497314453125, + 0.0117645263671875, + 0.019775390625, + 0.0113677978515625, + 0.0250396728515625, + 0.01824951171875, + -0.0002014636993408203, + -0.045440673828125, + -0.0193939208984375, + -0.01611328125, + 0.0047607421875, + -0.0426025390625, + 0.0018758773803710938, + -0.04931640625, + 0.01097869873046875, + -0.018035888671875, + -0.00814056396484375, + 0.04010009765625, + -0.058349609375, + 0.00980377197265625, + -0.05474853515625, + -0.01450347900390625, + -0.0416259765625, + 0.028076171875, + -0.0012006759643554688, + 0.0087127685546875, + 0.040191650390625, + 0.04364013671875, + 0.03350830078125, + -0.048583984375, + -0.01425933837890625, + -0.011322021484375, + -0.0152435302734375, + 0.0256500244140625, + -0.056640625, + 0.0048675537109375, + -0.042877197265625, + -0.0097808837890625, + -0.0262603759765625, + 0.03375244140625, + 0.00531005859375, + -0.0189666748046875, + 0.0241851806640625, + -0.0210113525390625, + 0.016632080078125, + 0.04791259765625, + -0.045806884765625, + 0.08563232421875, + -0.045867919921875, + 0.0419921875, + 0.04443359375, + -0.0198211669921875, + -0.0261688232421875, + -0.03277587890625, + 0.004611968994140625, + -0.035369873046875, + -0.0430908203125, + -0.013397216796875, + -0.0413818359375, + 0.0004849433898925781, + 0.00470733642578125, + -0.00420379638671875, + 0.01490020751953125, + 0.03228759765625, + 0.012939453125, + 0.0276031494140625, + 0.0220794677734375, + -0.002471923828125, + 0.03814697265625, + -0.0038700103759765625, + -0.00977325439453125, + 0.0149688720703125, + 0.049591064453125, + -0.006435394287109375, + 0.035369873046875, + 0.01105499267578125, + -0.035858154296875, + -0.057525634765625, + -0.00949859619140625, + 0.00440216064453125, + -0.0228729248046875, + -0.01284027099609375, + 0.039215087890625, + 0.033721923828125, + 0.010589599609375, + -0.022003173828125, + 0.0015583038330078125, + -0.0009794235229492188, + 0.004100799560546875, + 0.025390625, + 0.0223236083984375, + 0.01444244384765625, + 0.035247802734375, + 0.01412200927734375, + 0.014007568359375, + -0.0042572021484375, + -0.0302734375, + -0.01593017578125, + 0.02325439453125, + 0.0117340087890625, + 0.016204833984375, + -0.004795074462890625, + -0.022430419921875, + 0.007747650146484375, + -0.027008056640625, + -0.079345703125, + 0.027008056640625, + -0.005008697509765625, + -0.039215087890625, + 0.045806884765625, + 0.034149169921875, + -0.0273895263671875, + -0.032501220703125, + 0.01261138916015625, + 0.05450439453125, + -0.0379638671875, + -0.036224365234375, + -0.03717041015625, + 0.009246826171875, + 0.039642333984375, + -0.0181884765625, + 0.022796630859375, + -0.01300811767578125, + 0.00286865234375, + -0.06329345703125, + 0.04931640625, + 0.0267486572265625, + -0.03497314453125, + 0.0246429443359375, + 0.0181732177734375, + -0.0126800537109375, + -0.03741455078125, + -0.050933837890625, + -0.036651611328125, + -0.03076171875, + 0.018890380859375, + 0.016448974609375, + 0.027801513671875, + 0.048797607421875, + 0.00884246826171875, + -0.0049285888671875, + -0.060760498046875, + -0.04010009765625, + 0.0374755859375, + 0.0714111328125, + 0.002155303955078125, + -0.017333984375, + 0.04248046875, + -0.04791259765625, + -0.01468658447265625, + 0.01548004150390625, + 0.00848388671875, + -0.01861572265625, + -0.0126190185546875, + 0.022613525390625, + -0.02093505859375, + 0.0509033203125, + 0.0181121826171875, + 0.0167694091796875, + 0.0002073049545288086, + 0.004375457763671875, + -0.043304443359375, + -0.0242156982421875, + 0.0198211669921875, + -0.01043701171875, + -0.0223846435546875, + -0.020111083984375, + -0.00812530517578125, + 0.01502227783203125, + 0.032196044921875, + 0.0030689239501953125, + -0.07330322265625, + -0.01313018798828125, + -0.0109710693359375, + 0.0005431175231933594, + 0.007457733154296875, + -0.01904296875, + 0.007701873779296875, + 0.0268707275390625, + -0.0245208740234375, + 0.0164031982421875, + 0.04949951171875, + 0.035491943359375, + 0.0093994140625, + 0.0144195556640625, + -0.0187530517578125, + 0.054351806640625, + 0.017791748046875, + 0.01480865478515625, + 0.028472900390625, + -0.02178955078125, + -0.0084075927734375, + -0.039276123046875, + 0.046051025390625, + 0.01068115234375, + 0.001071929931640625, + -0.012420654296875, + -0.0075225830078125, + -0.040069580078125, + -0.005870819091796875, + 0.05035400390625, + 0.01140594482421875, + -0.017547607421875, + 0.01418304443359375, + 0.054595947265625, + 0.023284912109375, + -0.007511138916015625, + -0.041473388671875, + -0.00296783447265625, + -0.01021575927734375, + -0.005126953125, + 0.01091766357421875, + 0.036895751953125, + -0.0172271728515625, + 0.01861572265625, + 0.024505615234375, + 0.04351806640625, + 0.0167236328125, + 0.00423431396484375, + -0.04705810546875, + -0.02374267578125, + -0.00035834312438964844, + -0.014129638671875, + -0.028533935546875, + -0.00905609130859375, + 0.034454345703125, + 0.014923095703125, + -0.00643157958984375, + 0.00949859619140625, + 0.01438140869140625, + 0.0294036865234375, + -0.031494140625, + 0.012115478515625, + 0.0019989013671875, + 0.0386962890625, + 0.019683837890625, + -0.0162200927734375, + -0.00328826904296875, + -0.039703369140625, + -0.0220489501953125, + -0.005214691162109375, + 0.034210205078125, + 0.01548004150390625, + -0.04534912109375, + 0.069091796875, + 0.0224456787109375, + -0.01209259033203125, + -0.0498046875, + -0.002689361572265625, + 0.0208892822265625, + -0.0443115234375, + -0.0005707740783691406, + -0.04730224609375, + 0.01558685302734375, + 0.03692626953125, + 0.0094146728515625, + 0.0335693359375, + -0.01335906982421875, + 0.016876220703125, + -0.180419921875, + -0.02197265625, + -0.03155517578125, + 0.026031494140625, + -0.018402099609375, + -0.0186004638671875, + 0.0132598876953125, + -0.038604736328125, + -0.01123809814453125, + -0.03436279296875, + -0.048919677734375, + -0.02801513671875, + -0.034423828125, + 0.021087646484375, + -0.0015420913696289062, + -0.0171356201171875, + -0.0150604248046875, + -0.02471923828125, + -0.00778961181640625, + -0.03656005859375, + -0.01654052734375, + 0.016815185546875, + 0.019287109375, + 0.031768798828125, + 0.0003631114959716797, + -0.0203857421875, + -0.0016193389892578125, + 0.001430511474609375, + -0.0030422210693359375, + 0.01560211181640625, + 0.0401611328125, + 0.0263824462890625, + 0.004177093505859375, + 0.0181884765625, + 0.04815673828125, + 0.007091522216796875, + 0.008331298828125, + 0.0401611328125, + 0.03778076171875, + 0.0281982421875, + -0.00943756103515625, + 0.046600341796875, + -0.01080322265625, + 0.01197052001953125, + -0.0295562744140625, + -0.01039886474609375, + -0.054168701171875, + -0.03753662109375, + -0.01148223876953125, + -0.0111236572265625, + 0.016448974609375, + -0.0108642578125, + 0.02587890625, + -0.05120849609375, + -0.029266357421875, + 0.02838134765625, + -0.02496337890625, + 0.0229644775390625, + 0.0074005126953125, + -0.02471923828125, + 0.0396728515625, + -0.02911376953125, + 0.00893402099609375, + 0.0004227161407470703, + -0.0139007568359375, + 0.041778564453125, + -0.02197265625, + 0.015594482421875, + 0.0213165283203125, + -0.007568359375, + 0.0251922607421875, + 0.03729248046875, + -0.0038585662841796875, + 0.0272979736328125, + 0.0238037109375, + 0.0394287109375, + -0.031402587890625, + -0.01540374755859375, + 0.0035915374755859375, + -0.069580078125, + -0.005035400390625, + 0.0190887451171875, + -0.03399658203125, + 0.0166168212890625, + -0.05731201171875, + -0.0233001708984375, + -0.046295166015625, + 0.01042938232421875, + -0.0108795166015625, + 0.23388671875, + -0.00453948974609375, + 0.06781005859375, + -0.027435302734375, + -0.0193634033203125, + -0.008209228515625, + -0.01477813720703125, + -0.005687713623046875, + 0.01947021484375, + -0.0029125213623046875, + -0.031158447265625, + -0.0150299072265625, + -0.005992889404296875, + -0.00955963134765625, + -0.003963470458984375, + 0.062744140625, + 0.0018625259399414062, + 0.0038318634033203125, + 0.04864501953125, + 0.00960540771484375, + -0.0006756782531738281, + -0.03485107421875, + -0.028533935546875, + -0.012115478515625, + -0.06011962890625, + -0.0233612060546875, + -0.0099639892578125, + 0.03594970703125, + -0.042877197265625, + 0.028045654296875, + -0.02362060546875, + 0.0011987686157226562, + 0.0675048828125, + 0.01259613037109375, + -0.033294677734375, + -0.005268096923828125, + 0.010498046875, + -0.01218414306640625, + 0.0008788108825683594, + -0.01311492919921875, + 0.009765625, + -0.00926971435546875, + -0.0013284683227539062, + 0.0035247802734375, + 0.006725311279296875, + 0.005977630615234375, + -0.044647216796875, + -0.00975799560546875, + -0.0308685302734375, + -0.0176849365234375, + -0.03802490234375, + -0.0152435302734375, + -0.05401611328125, + -0.00186920166015625, + -0.025604248046875, + -0.00568389892578125, + 0.01800537109375, + -0.029449462890625, + 0.031768798828125, + 0.00992584228515625, + 0.0152435302734375, + 0.0095062255859375, + 0.004169464111328125, + -0.0517578125, + 0.0261077880859375, + 0.00424957275390625, + 0.0019369125366210938, + 0.018646240234375, + -0.0214996337890625, + 0.06842041015625, + 0.08270263671875, + -0.060455322265625, + -0.0227203369140625, + -0.015899658203125, + 0.040740966796875, + 0.035736083984375, + 0.02459716796875, + 0.04547119140625, + 0.058013916015625, + -0.0322265625, + 0.005035400390625, + -0.01314544677734375, + -0.01184844970703125, + 0.05120849609375, + 0.0186309814453125, + 0.034942626953125, + 0.04095458984375, + 0.045318603515625, + -0.020172119140625, + -0.018310546875, + 0.015655517578125, + -0.0071563720703125, + -0.062408447265625, + -0.007083892822265625, + 0.0183563232421875, + -0.0283660888671875, + 0.032806396484375, + -0.0236053466796875, + -0.043609619140625, + 0.01387786865234375, + -0.04681396484375, + -0.06787109375, + -0.0280914306640625, + 0.0118408203125, + 0.003574371337890625, + -0.051727294921875, + 0.0269317626953125, + 0.032989501953125, + 0.0249481201171875, + 0.045654296875, + 0.02874755859375, + -0.01326751708984375, + -0.0148468017578125, + 0.050750732421875, + 0.0255889892578125, + -0.01189422607421875, + -0.006099700927734375, + 0.0086517333984375, + 0.0245361328125, + 0.05426025390625, + 0.01111602783203125, + 0.002506256103515625, + 0.026885986328125, + -0.03033447265625, + -0.00848388671875, + -0.00513458251953125, + -0.034332275390625, + 0.07220458984375, + 0.01319122314453125, + 0.032623291015625, + 0.0489501953125, + -0.046051025390625, + 0.0038814544677734375, + -0.046478271484375, + 0.03515625, + -0.01404571533203125, + 0.01263427734375, + 0.019683837890625, + 0.00696563720703125, + 0.01268768310546875, + 0.02752685546875, + 0.037139892578125, + -0.00365447998046875, + 0.048370361328125, + -0.0160980224609375, + 0.0056304931640625, + -0.02032470703125, + 0.01380157470703125, + 0.018951416015625, + -0.0183563232421875, + -0.0037631988525390625, + 0.007068634033203125, + 0.0028705596923828125, + -0.0293731689453125, + -0.04876708984375, + 0.044036865234375, + -0.01198577880859375, + 0.0027523040771484375, + -0.0172119140625, + 0.0124359130859375, + 0.004253387451171875, + 0.043182373046875, + 0.042205810546875, + 0.1041259765625, + 0.01116943359375, + -0.035980224609375, + -0.03509521484375, + 0.0008025169372558594, + 0.0064544677734375, + 0.03192138671875, + -0.006221771240234375, + -0.0017175674438476562, + -0.0245361328125, + 0.03704833984375, + 0.06915283203125, + -0.018035888671875, + 0.04522705078125, + 0.0174407958984375, + 0.0100860595703125, + 0.06396484375, + 0.0283660888671875, + 0.0258636474609375, + 0.005970001220703125, + 0.0009355545043945312, + 0.01244354248046875, + 0.0240325927734375, + -0.0137939453125, + -0.04022216796875, + -0.047149658203125, + -0.0196685791015625, + -0.012451171875, + 0.0703125, + -0.016357421875, + -0.02423095703125, + 0.026947021484375, + -0.05572509765625, + 0.021453857421875, + -0.00946807861328125, + 0.017303466796875, + -0.039581298828125, + -0.0257568359375, + 0.0206451416015625, + 0.01552581787109375, + -0.0111541748046875, + -0.0278167724609375, + 0.01483917236328125, + -0.005649566650390625, + -0.036346435546875, + -0.031341552734375, + -0.0909423828125, + -0.0186767578125, + -0.0034122467041015625, + 0.0169830322265625, + -0.0269775390625, + -0.043487548828125, + 0.0184326171875, + -0.00203704833984375, + -0.009735107421875, + -0.00809478759765625, + 0.03131103515625, + 0.03228759765625, + 0.042510986328125, + 0.019134521484375, + -0.034942626953125, + 0.0113067626953125, + 0.031646728515625, + 0.04010009765625, + 0.0196075439453125, + 0.036956787109375, + -0.005268096923828125, + -0.0103302001953125, + 0.00931549072265625, + -0.075927734375, + -0.0338134765625, + -0.03033447265625, + -0.0300445556640625, + 0.0245361328125, + -0.00670623779296875, + 0.048919677734375, + -0.0119781494140625, + -0.00792694091796875, + 0.0008740425109863281, + 0.006885528564453125, + 0.042144775390625, + 0.01068878173828125, + 0.029327392578125, + 0.012664794921875, + -0.024261474609375, + 0.006591796875, + -0.0197906494140625, + -0.037994384765625, + -0.041473388671875, + -0.0136260986328125, + 0.012786865234375, + 0.01404571533203125, + -0.03143310546875, + -0.09820556640625, + -0.01268768310546875, + -0.0201416015625, + -0.005420684814453125, + -0.0021076202392578125, + 0.0025196075439453125, + -0.0325927734375, + -0.00040030479431152344, + 0.0308685302734375, + -0.0298919677734375, + -0.0049591064453125, + 0.0033702850341796875, + 0.001163482666015625, + 0.0207366943359375, + -0.00013756752014160156, + -0.0228271484375, + -0.007007598876953125, + 0.03948974609375, + 0.031280517578125, + 0.02569580078125, + -0.00740814208984375, + -0.045501708984375, + 0.0013332366943359375, + 0.0176239013671875, + -0.0128021240234375, + 0.032135009765625, + 0.048431396484375, + -0.0183563232421875, + 0.01611328125, + 0.01490020751953125, + 0.059661865234375, + 0.01271820068359375, + 0.0355224609375, + -0.0384521484375, + 0.03594970703125, + 0.0014886856079101562, + -0.02716064453125, + -5.340576171875e-05, + -0.009613037109375, + 0.023223876953125, + -0.05023193359375, + 0.007598876953125, + -0.022186279296875, + -0.0352783203125, + 0.0143280029296875, + 0.006595611572265625, + -0.029327392578125, + -0.039642333984375, + 0.0010232925415039062, + 0.044769287109375, + -0.027984619140625, + -0.06622314453125, + 0.0168609619140625, + -0.019439697265625, + -0.044281005859375, + -0.059173583984375, + 0.037872314453125, + 0.045654296875, + -0.003658294677734375, + -0.05462646484375, + 0.0218658447265625, + -0.03564453125, + 0.00836944580078125, + 0.0003790855407714844, + 0.036224365234375, + 0.0222320556640625, + -0.022369384765625, + -0.0285491943359375, + 0.0038471221923828125, + 0.0411376953125, + -0.00030541419982910156, + 0.021026611328125, + -0.0340576171875, + -0.002471923828125, + -0.033935546875, + 0.023956298828125, + 0.0079803466796875, + -0.00955963134765625, + -0.0070037841796875, + -0.01007843017578125, + 0.000881195068359375, + -0.055755615234375, + 0.01358795166015625, + -0.042144775390625, + -0.06005859375, + 0.04345703125, + 0.014617919921875, + -0.046173095703125, + 0.0277252197265625, + -0.05535888671875, + -0.021392822265625, + -0.00959014892578125, + -0.050750732421875, + 0.05157470703125, + 0.019012451171875, + 0.076171875, + 0.0171051025390625, + -0.002910614013671875, + 0.0260772705078125, + 0.013153076171875, + -0.06640625, + -0.05419921875, + 0.0299530029296875, + -0.0021076202392578125, + 0.0027828216552734375, + 0.034210205078125, + 0.0210418701171875, + 0.02630615234375, + -0.0030384063720703125, + 0.033966064453125, + -0.00302886962890625, + 0.036773681640625, + -0.041351318359375, + 0.0224609375, + 0.01374053955078125, + 0.035400390625, + 0.0186767578125, + -0.0225067138671875, + -0.0191192626953125, + -0.0162811279296875, + -0.010894775390625, + -0.0242156982421875, + -0.01154327392578125, + 0.06854248046875, + -0.00334930419921875, + -0.0142059326171875, + -0.004779815673828125, + -0.035369873046875, + -0.01342010498046875, + 0.025177001953125, + -0.038665771484375, + -0.00374603271484375, + -0.06256103515625, + -0.0261688232421875, + -0.005321502685546875, + 0.0190277099609375, + -0.041015625, + 0.0006175041198730469, + -0.1385498046875, + 0.0306549072265625, + -0.00672149658203125, + 0.03936767578125, + -0.07684326171875, + 0.041717529296875, + -0.031036376953125, + 0.007671356201171875, + -0.03424072265625, + -0.054351806640625, + -0.02410888671875, + 0.03759765625, + -0.022796630859375, + -0.0157470703125, + -0.06427001953125, + 0.010833740234375, + -0.031524658203125, + 0.031036376953125, + -0.046783447265625, + 0.0439453125, + 0.00875091552734375, + -0.0288238525390625, + -0.0022068023681640625, + 0.003448486328125, + -0.0211944580078125, + 0.0148162841796875, + 0.0167236328125, + -0.021453857421875, + -0.0125732421875, + -0.01265716552734375, + -0.0206146240234375, + 0.04010009765625, + 0.0087127685546875, + 0.009033203125, + -0.0069122314453125, + 0.00978851318359375, + 0.0012569427490234375, + -0.0183258056640625, + -0.033935546875, + 0.024444580078125, + 0.0006880760192871094, + 0.0026302337646484375, + -0.0041961669921875, + 0.006511688232421875, + -0.00678253173828125, + -0.002780914306640625, + 0.01995849609375, + -0.0249481201171875, + -0.04522705078125, + -0.00360870361328125, + 0.0207366943359375, + -0.0263824462890625, + 0.0167236328125, + -0.0144195556640625, + -0.05731201171875, + 0.032745361328125, + -0.06732177734375, + 0.027252197265625, + 0.01071929931640625, + 0.00998687744140625, + 0.0171356201171875, + -0.04248046875, + 0.0008416175842285156, + -0.0345458984375, + -0.03277587890625, + 0.035919189453125, + -0.029266357421875, + 0.0022029876708984375, + 0.0096893310546875, + -0.037506103515625, + -0.00014472007751464844, + 0.0180816650390625, + -0.0419921875, + 0.00885772705078125, + 0.0121307373046875, + 0.041229248046875, + 0.062744140625, + 0.020904541015625, + 0.0245361328125, + -0.017059326171875, + -0.0192413330078125, + 0.0088958740234375, + 0.030517578125, + -0.01103973388671875, + 0.007061004638671875, + -0.016937255859375, + 0.01094818115234375, + -0.01214599609375, + -0.013092041015625, + -0.0423583984375, + -0.0175628662109375, + -0.034576416015625, + 0.015899658203125, + -0.02154541015625, + -0.06146240234375, + 0.0557861328125, + 0.0032787322998046875, + -0.043792724609375, + -0.0238037109375, + -0.01544189453125, + 0.007289886474609375, + -0.0014247894287109375, + -0.0017881393432617188, + -0.034423828125, + -0.07086181640625, + 0.06353759765625, + -0.044647216796875, + 0.00913238525390625, + -0.008880615234375, + -0.05401611328125, + 0.00560760498046875, + 0.02032470703125, + -0.03533935546875, + 0.0285491943359375, + -0.034027099609375, + 0.0159149169921875, + -0.01407623291015625, + 0.052398681640625, + -0.01387786865234375, + -0.0645751953125, + -0.02130126953125, + 0.0265045166015625, + 0.002414703369140625, + -0.039947509765625, + -0.00348663330078125, + 0.02569580078125, + 0.0246734619140625, + -0.031829833984375, + 0.048583984375, + -0.02972412109375, + 0.0007433891296386719, + 0.005489349365234375, + 0.01052093505859375, + 0.00745391845703125, + 0.04473876953125, + -0.06494140625, + -0.033660888671875, + 0.0178985595703125, + -0.0165557861328125, + -0.039276123046875, + 0.006290435791015625, + -0.036590576171875, + -0.025909423828125, + 0.004322052001953125, + -0.022003173828125, + -0.01232147216796875, + -0.0477294921875, + 0.0013589859008789062, + 0.020599365234375, + -0.01509857177734375, + 0.038360595703125, + -0.0086822509765625, + 0.01526641845703125, + 0.04461669921875, + -0.0197601318359375, + 0.0041656494140625, + -0.030242919921875, + 0.0258636474609375, + -0.00970458984375, + -0.0033283233642578125, + -0.0157470703125, + -0.0159912109375, + -0.0064697265625, + -0.02325439453125, + 0.04693603515625, + 0.0280914306640625, + -0.0048370361328125, + 0.0024738311767578125, + -0.021453857421875, + -0.005542755126953125, + 0.00445556640625, + 0.020721435546875, + -0.01030731201171875, + -0.003326416015625, + 0.03851318359375, + 0.0001895427703857422, + 0.011871337890625, + 0.06988525390625, + 0.016937255859375, + 0.07012939453125, + 0.057952880859375, + 0.029296875, + 0.0167694091796875, + 0.0089874267578125, + -0.019927978515625, + 0.007781982421875, + 0.006435394287109375, + 0.017059326171875, + -0.00662994384765625, + -0.00262451171875, + 0.012908935546875, + -0.012237548828125, + -0.0233306884765625, + 0.0138397216796875, + 0.029510498046875, + -0.004550933837890625, + 0.028839111328125, + -0.0285797119140625, + -0.01198577880859375, + 0.030548095703125, + -0.0029735565185546875, + -0.030059814453125, + -0.037567138671875, + 0.03509521484375, + 0.00836181640625, + 0.00597381591796875, + 0.037811279296875, + -0.004543304443359375, + -0.03887939453125, + 0.02044677734375, + -0.0272369384765625, + 0.01105499267578125, + -0.0198211669921875, + 0.05108642578125, + 0.01171875, + 0.00836944580078125, + 0.007503509521484375, + -0.039276123046875, + 0.035980224609375, + 0.06768798828125, + 0.024810791015625, + 0.04119873046875, + -0.0241851806640625, + -0.0086822509765625, + 0.019439697265625, + 0.0137939453125, + -0.0112762451171875, + -0.0015325546264648438, + -0.0254669189453125, + 0.0259552001953125, + -0.007511138916015625, + 0.038299560546875, + 0.00527191162109375, + 0.016937255859375, + -0.0012273788452148438, + -0.01204681396484375, + -0.0035400390625, + -0.04315185546875, + 0.021514892578125, + -0.0009646415710449219, + 0.0322265625, + -0.00989532470703125, + -0.017913818359375, + -0.063720703125 + ], + [ + 0.028564453125, + 0.048309326171875, + 0.00588226318359375, + -0.006687164306640625, + -0.01019287109375, + -0.0360107421875, + -0.0182952880859375, + 0.00592041015625, + -0.0007786750793457031, + 0.0103912353515625, + 0.04644775390625, + 0.0246429443359375, + -0.028961181640625, + -0.00023567676544189453, + 0.005626678466796875, + -0.00411224365234375, + 0.029571533203125, + 0.0161590576171875, + 0.0183868408203125, + -0.03668212890625, + -0.0062255859375, + 0.0193939208984375, + -0.0052490234375, + -0.07537841796875, + -0.03228759765625, + 0.025146484375, + -0.0221099853515625, + 0.026336669921875, + -0.019317626953125, + -0.0341796875, + 0.0005502700805664062, + -0.006725311279296875, + 0.0367431640625, + 0.016448974609375, + 9.447336196899414e-05, + -0.0289306640625, + -0.00478363037109375, + -0.0168304443359375, + -0.04962158203125, + 0.0223541259765625, + 0.0006780624389648438, + 0.00039768218994140625, + 0.031494140625, + 0.0154266357421875, + 0.037200927734375, + -0.0284423828125, + -0.0251312255859375, + -0.00849151611328125, + -0.0062103271484375, + -0.0228729248046875, + 0.01345062255859375, + 0.02349853515625, + 0.00569915771484375, + -0.00841522216796875, + -0.0202789306640625, + 0.0096893310546875, + -0.03851318359375, + -0.051025390625, + -0.0416259765625, + -0.038055419921875, + -0.00644683837890625, + 0.06658935546875, + -0.0264892578125, + -0.0206756591796875, + -0.0156097412109375, + 0.040252685546875, + -0.0013437271118164062, + 0.00733184814453125, + -0.0184326171875, + -0.0228424072265625, + -0.0303192138671875, + 0.0078887939453125, + -0.0101776123046875, + -0.03125, + -0.033905029296875, + 0.00960540771484375, + -0.05084228515625, + -0.0143585205078125, + 0.00719451904296875, + -0.0182342529296875, + 0.000965118408203125, + -0.01507568359375, + -0.01117706298828125, + 0.0245361328125, + -0.06005859375, + 0.029632568359375, + -0.021514892578125, + 0.043243408203125, + -0.00930023193359375, + 0.00373077392578125, + -0.0184783935546875, + -0.027130126953125, + 0.022979736328125, + -0.0487060546875, + -0.047210693359375, + 0.0026111602783203125, + -0.03271484375, + 0.0244598388671875, + 0.04962158203125, + -0.0013418197631835938, + -0.01076507568359375, + -0.0017032623291015625, + -0.0129547119140625, + 0.0143280029296875, + -0.04132080078125, + -0.00799560546875, + 0.04730224609375, + -0.00357818603515625, + 0.017791748046875, + -0.007320404052734375, + 0.057952880859375, + -0.0015954971313476562, + -0.0098724365234375, + 0.035125732421875, + -0.01194000244140625, + -0.056793212890625, + -0.0202789306640625, + -0.0173492431640625, + -0.0357666015625, + -0.0162506103515625, + 0.0270843505859375, + 0.01068878173828125, + 0.06451416015625, + -0.04132080078125, + 0.01424407958984375, + -0.033905029296875, + 0.017181396484375, + 0.058929443359375, + -0.031585693359375, + 0.0110321044921875, + -0.005443572998046875, + 0.027435302734375, + -0.0369873046875, + 0.01195526123046875, + -0.0088348388671875, + -0.02337646484375, + -0.0056915283203125, + 0.01824951171875, + -0.05438232421875, + -0.0163421630859375, + -0.025482177734375, + -0.0110321044921875, + -0.032806396484375, + 0.0019702911376953125, + 0.0192108154296875, + 0.0236968994140625, + -0.029510498046875, + 0.042755126953125, + 0.004276275634765625, + -0.02288818359375, + 0.024566650390625, + 0.0283355712890625, + -0.021697998046875, + 0.02850341796875, + 0.007068634033203125, + -0.031829833984375, + 0.01064300537109375, + 0.0092010498046875, + -0.00020635128021240234, + -0.04193115234375, + 0.006893157958984375, + -0.01165008544921875, + -0.037750244140625, + -0.0229034423828125, + 0.026031494140625, + 0.054962158203125, + 0.0096588134765625, + 0.045501708984375, + -0.0157623291015625, + -0.0584716796875, + -0.0499267578125, + -0.0269622802734375, + 0.01678466796875, + 0.031341552734375, + 0.045196533203125, + 0.01435089111328125, + 0.0274200439453125, + 0.02655029296875, + 0.0034008026123046875, + -0.033721923828125, + -0.050201416015625, + 0.02734375, + -0.020660400390625, + 0.017852783203125, + 0.017364501953125, + 0.004016876220703125, + -0.0379638671875, + -0.0122833251953125, + -0.0039215087890625, + 0.003139495849609375, + -0.035125732421875, + -0.0073699951171875, + 0.0300750732421875, + -0.0030155181884765625, + 0.056732177734375, + -0.01309967041015625, + -0.0230255126953125, + -0.022125244140625, + -0.02734375, + 0.001842498779296875, + 0.00655364990234375, + 0.014129638671875, + -0.00933837890625, + -0.04046630859375, + -0.00791168212890625, + 0.028778076171875, + -0.01812744140625, + -0.0313720703125, + 0.0136566162109375, + -0.0277862548828125, + -0.0318603515625, + -0.0191192626953125, + 0.0202789306640625, + 0.0038127899169921875, + -0.03607177734375, + 0.035491943359375, + 0.00907135009765625, + -0.0092315673828125, + -0.00672149658203125, + 0.0277099609375, + -0.00547027587890625, + 0.049774169921875, + 0.0404052734375, + 0.051177978515625, + 0.06396484375, + -0.02825927734375, + -0.0250701904296875, + 0.002635955810546875, + -0.005939483642578125, + -0.07867431640625, + 0.01050567626953125, + -0.01383209228515625, + -0.027252197265625, + -0.043212890625, + -0.0143585205078125, + 0.04248046875, + -0.0294647216796875, + 0.04443359375, + -0.0203704833984375, + 0.013275146484375, + -0.0249176025390625, + -0.00933074951171875, + -0.018798828125, + 0.0199432373046875, + -0.01171112060546875, + 0.0352783203125, + 0.04180908203125, + 0.0139312744140625, + -0.00611114501953125, + -0.021148681640625, + 0.037994384765625, + -0.005115509033203125, + -0.004474639892578125, + 0.0169830322265625, + 0.0172882080078125, + -0.01165008544921875, + -0.037933349609375, + -0.01314544677734375, + 0.023406982421875, + -0.04437255859375, + 0.024444580078125, + 0.01371002197265625, + 0.026031494140625, + 0.0294189453125, + 0.021759033203125, + 0.01302337646484375, + -0.0692138671875, + 0.02337646484375, + 0.040924072265625, + 0.00830078125, + 0.0136260986328125, + 0.005397796630859375, + 0.0074920654296875, + 0.0033054351806640625, + 0.00350189208984375, + 0.01329803466796875, + -0.0020580291748046875, + 0.0011568069458007812, + -0.0192718505859375, + -0.0038280487060546875, + 0.002178192138671875, + -0.0247650146484375, + -0.0013914108276367188, + 0.05499267578125, + -0.01114654541015625, + -0.06744384765625, + 0.007198333740234375, + -0.0206146240234375, + -0.033416748046875, + -0.018829345703125, + 0.0010728836059570312, + -0.03143310546875, + 0.04412841796875, + 0.0210113525390625, + 0.0185394287109375, + 0.0355224609375, + 0.03497314453125, + -0.1668701171875, + 0.002017974853515625, + -0.00786590576171875, + 0.0240478515625, + -0.021697998046875, + -0.0068206787109375, + -0.0242767333984375, + -0.041107177734375, + -0.035369873046875, + -0.000873565673828125, + -0.005092620849609375, + -0.023895263671875, + -0.0396728515625, + -0.0211181640625, + 0.025482177734375, + -0.035552978515625, + 0.024810791015625, + -0.00856781005859375, + -0.02862548828125, + -0.0252685546875, + -0.016632080078125, + 0.003093719482421875, + 0.0233306884765625, + 0.05279541015625, + 0.01385498046875, + 0.034759521484375, + -0.0142822265625, + -0.003940582275390625, + 0.0018901824951171875, + -0.0418701171875, + 0.033355712890625, + 0.03900146484375, + -0.006298065185546875, + -0.0194854736328125, + 0.05316162109375, + 0.03564453125, + 0.0014858245849609375, + 0.054718017578125, + -0.00980377197265625, + -0.01141357421875, + 0.02874755859375, + 0.04730224609375, + -0.04248046875, + 0.038970947265625, + -0.008056640625, + -0.07208251953125, + 0.01153564453125, + 0.0277557373046875, + 0.035186767578125, + -0.053863525390625, + 0.034820556640625, + -0.021820068359375, + -0.03497314453125, + -0.052093505859375, + -0.04180908203125, + -0.005306243896484375, + 0.06658935546875, + 0.0682373046875, + 0.03143310546875, + -0.0158843994140625, + -0.019683837890625, + -0.0728759765625, + 0.01055908203125, + -0.0016422271728515625, + -0.00433349609375, + 0.048675537109375, + 0.002162933349609375, + -0.0004940032958984375, + 0.021087646484375, + -0.00618743896484375, + 0.0190582275390625, + 0.01302337646484375, + -0.033935546875, + 0.025634765625, + 0.036407470703125, + -0.01361846923828125, + -0.0008082389831542969, + -0.02099609375, + -0.056243896484375, + -0.0443115234375, + 0.046356201171875, + -0.0138397216796875, + 0.015655517578125, + 0.037017822265625, + -0.0092926025390625, + 0.0123748779296875, + 0.0167999267578125, + 0.00849151611328125, + 0.0101776123046875, + 0.2130126953125, + -0.0216217041015625, + 0.0596923828125, + 0.025360107421875, + 0.032623291015625, + -0.041412353515625, + -0.00348663330078125, + -0.0286712646484375, + 0.0142822265625, + -0.03662109375, + -0.0270538330078125, + 0.01287078857421875, + -0.04888916015625, + 0.00489044189453125, + -0.04827880859375, + 0.03546142578125, + -0.053009033203125, + -0.009002685546875, + 0.07037353515625, + -0.00824737548828125, + 0.0141754150390625, + -0.050750732421875, + 0.0167999267578125, + 0.0289764404296875, + 0.0256805419921875, + 0.0302734375, + -0.028289794921875, + -0.0095977783203125, + -0.03887939453125, + 0.0244903564453125, + -0.027374267578125, + -0.02392578125, + -0.003772735595703125, + -0.0291595458984375, + -0.053009033203125, + -0.0374755859375, + -0.0052642822265625, + 0.0098724365234375, + -0.0267181396484375, + 0.05242919921875, + 0.027435302734375, + 0.0028972625732421875, + 0.0145263671875, + -0.0243682861328125, + -0.021209716796875, + -0.0231781005859375, + 0.00711822509765625, + 0.058380126953125, + 0.02337646484375, + 0.004131317138671875, + -0.0007700920104980469, + -0.019744873046875, + -0.0254364013671875, + 0.0249786376953125, + -0.04608154296875, + 0.0303192138671875, + 0.01027679443359375, + -0.053466796875, + -0.048370361328125, + 0.05438232421875, + -0.017669677734375, + -0.0017032623291015625, + -0.0362548828125, + -0.0236053466796875, + -0.0009312629699707031, + -0.0294647216796875, + 0.01727294921875, + -0.01409149169921875, + -0.00833892822265625, + 0.019866943359375, + 0.03594970703125, + -0.0611572265625, + -0.022003173828125, + -0.022796630859375, + 0.03875732421875, + 0.04693603515625, + 0.028778076171875, + 0.052520751953125, + 0.047393798828125, + -0.035919189453125, + 0.00508880615234375, + -0.044586181640625, + 0.00441741943359375, + 0.05633544921875, + 0.02362060546875, + -0.01934814453125, + -0.001262664794921875, + 0.084228515625, + 0.007747650146484375, + 0.002338409423828125, + 0.0284271240234375, + 0.0219879150390625, + -0.05975341796875, + 0.0775146484375, + -0.018829345703125, + -0.01190948486328125, + 0.051177978515625, + -0.0323486328125, + -0.015289306640625, + 0.022064208984375, + 0.055511474609375, + 0.01084136962890625, + -0.0345458984375, + -0.0811767578125, + 0.042938232421875, + -0.0211334228515625, + 0.022735595703125, + -0.00022852420806884766, + -0.007556915283203125, + 0.0270843505859375, + 0.00323486328125, + 0.03948974609375, + -0.044219970703125, + -0.0291900634765625, + 0.0097503662109375, + -0.003856658935546875, + 0.049591064453125, + -0.00643157958984375, + 0.0010700225830078125, + 0.03997802734375, + -0.01763916015625, + 0.01177215576171875, + -0.0191650390625, + -0.033050537109375, + -0.06622314453125, + 0.00737762451171875, + -0.07281494140625, + 0.01885986328125, + 0.01180267333984375, + 0.020355224609375, + -0.01500701904296875, + -0.0248260498046875, + -0.044677734375, + -0.0188446044921875, + 0.12164306640625, + -0.006450653076171875, + 0.03179931640625, + 0.026275634765625, + 0.003841400146484375, + -0.0007925033569335938, + -0.02191162109375, + -0.007328033447265625, + -0.025909423828125, + 0.01389312744140625, + 0.0034580230712890625, + 0.0087432861328125, + -0.042938232421875, + -0.02288818359375, + -0.0171356201171875, + -0.00994873046875, + 0.0262908935546875, + 0.02288818359375, + -0.03594970703125, + -0.022186279296875, + -0.0083160400390625, + 0.004169464111328125, + -0.0171966552734375, + 0.019561767578125, + -0.01470184326171875, + 0.0013408660888671875, + 0.027984619140625, + 0.0386962890625, + 0.059722900390625, + 0.11676025390625, + -0.013519287109375, + -0.00675201416015625, + -0.0243072509765625, + 0.0215301513671875, + 0.005096435546875, + 0.005107879638671875, + -0.02032470703125, + 0.01229095458984375, + -0.052520751953125, + 0.0172882080078125, + 0.034942626953125, + -0.0080108642578125, + -0.057586669921875, + -0.02471923828125, + 0.00229644775390625, + 0.06500244140625, + 0.0019006729125976562, + 0.0205841064453125, + -0.02496337890625, + -0.03851318359375, + 0.01006317138671875, + 0.03509521484375, + 0.011810302734375, + -0.016082763671875, + -0.04876708984375, + -0.04345703125, + -0.0418701171875, + 0.088134765625, + -0.010040283203125, + -0.045745849609375, + 0.014068603515625, + 0.00440216064453125, + 0.0250244140625, + 0.043304443359375, + 0.0246734619140625, + 0.013580322265625, + -0.01401519775390625, + -0.01229095458984375, + 0.01812744140625, + 0.0017490386962890625, + -0.03271484375, + -0.018096923828125, + -0.01166534423828125, + 0.0380859375, + -0.02740478515625, + -0.040771484375, + 0.03765869140625, + -0.0058441162109375, + -0.004680633544921875, + 0.012786865234375, + -0.013519287109375, + -0.00473785400390625, + 0.0145416259765625, + 0.0103912353515625, + 0.02789306640625, + -0.08636474609375, + 0.027191162109375, + 0.0198516845703125, + 0.014068603515625, + -0.0092010498046875, + 0.0328369140625, + -0.00800323486328125, + 0.02130126953125, + 0.007297515869140625, + 0.022979736328125, + -0.0528564453125, + -0.01027679443359375, + -0.006778717041015625, + -0.011260986328125, + 0.01230621337890625, + -0.060546875, + -0.0021381378173828125, + -0.0009813308715820312, + 0.0322265625, + 0.00775146484375, + 0.04339599609375, + 0.025634765625, + 0.03582763671875, + 0.058837890625, + 0.035003662109375, + 0.0149993896484375, + -0.0016498565673828125, + -0.046142578125, + -0.050201416015625, + 0.0230560302734375, + 0.005054473876953125, + -0.015869140625, + -0.051605224609375, + -0.008575439453125, + -0.038543701171875, + 0.026092529296875, + -0.06951904296875, + -0.042449951171875, + -0.0205535888671875, + -0.0233612060546875, + -0.037811279296875, + -0.02490234375, + 0.02490234375, + -0.0226593017578125, + -0.030426025390625, + 0.0472412109375, + -0.00891876220703125, + 0.0168304443359375, + -0.0162811279296875, + -0.01221466064453125, + -0.0111846923828125, + -0.0131988525390625, + 0.0016908645629882812, + -0.04876708984375, + -0.0205078125, + 0.025665283203125, + 0.0106201171875, + -0.00307464599609375, + 0.052825927734375, + -0.039520263671875, + 0.0025119781494140625, + -0.041717529296875, + -0.01050567626953125, + -0.018463134765625, + 0.0158538818359375, + -0.0380859375, + -0.035919189453125, + 0.025482177734375, + 0.02044677734375, + 0.00551605224609375, + -0.022369384765625, + 0.0206298828125, + -0.00012874603271484375, + -0.0283203125, + -0.02886962890625, + 0.0072021484375, + 0.05242919921875, + -0.01474761962890625, + 0.06256103515625, + -0.0264739990234375, + -0.0316162109375, + -0.0084686279296875, + -0.050048828125, + -0.027191162109375, + -0.0006508827209472656, + 0.0031280517578125, + -0.0034084320068359375, + 0.03924560546875, + -0.0241546630859375, + 0.0069580078125, + -0.0263214111328125, + 0.0153045654296875, + -0.01287078857421875, + -0.0113067626953125, + 0.0418701171875, + 0.00836944580078125, + -0.045379638671875, + 0.0118255615234375, + 0.019866943359375, + 0.016448974609375, + -0.01290130615234375, + -0.02197265625, + 0.019500732421875, + -0.0133514404296875, + -0.01922607421875, + 0.01218414306640625, + 0.03369140625, + -0.0277862548828125, + -0.03302001953125, + -0.04638671875, + -0.0034542083740234375, + -0.031982421875, + -0.0003771781921386719, + -0.033905029296875, + 0.010772705078125, + -0.012725830078125, + 0.049468994140625, + -0.024871826171875, + -0.0287933349609375, + 0.0109405517578125, + 0.03436279296875, + -0.01143646240234375, + 0.050811767578125, + -0.0019550323486328125, + -0.0095672607421875, + 0.032745361328125, + -0.0309295654296875, + -0.0291595458984375, + -0.0308837890625, + -0.003467559814453125, + -0.00252532958984375, + 0.0166778564453125, + 0.09796142578125, + 0.0362548828125, + -0.0244598388671875, + 0.0110015869140625, + -0.016632080078125, + -0.0186614990234375, + -0.03363037109375, + -0.01904296875, + 0.024810791015625, + -0.0161285400390625, + -0.023895263671875, + -0.0159454345703125, + -0.0144805908203125, + -0.018280029296875, + 0.05023193359375, + -0.0112152099609375, + -0.0083770751953125, + 0.05010986328125, + -0.031463623046875, + 0.0467529296875, + 0.03936767578125, + 0.02294921875, + 0.00901031494140625, + -0.0102691650390625, + 0.04852294921875, + -0.027252197265625, + -0.01934814453125, + 0.01082611083984375, + 0.04754638671875, + -0.00771331787109375, + 0.0285491943359375, + 0.036590576171875, + -0.0159912109375, + -0.0018157958984375, + -0.03778076171875, + -0.00017893314361572266, + -0.00640106201171875, + 0.00739288330078125, + 0.0291748046875, + -0.01271820068359375, + 0.023651123046875, + -0.01251220703125, + 0.004451751708984375, + -0.12078857421875, + -0.0014181137084960938, + 0.007061004638671875, + 0.038848876953125, + -0.06829833984375, + -0.01268768310546875, + -0.045745849609375, + -0.01812744140625, + -0.0421142578125, + -0.0487060546875, + -0.024810791015625, + 0.05657958984375, + 0.05120849609375, + -0.006793975830078125, + -0.01294708251953125, + -0.00814056396484375, + -0.032684326171875, + 0.0025157928466796875, + -0.01418304443359375, + 0.014739990234375, + -0.0066070556640625, + -0.0218963623046875, + 0.01274871826171875, + -0.004589080810546875, + 0.0094451904296875, + -0.016143798828125, + -0.029632568359375, + 0.00609588623046875, + -0.0111541748046875, + -0.0006699562072753906, + -0.00998687744140625, + -0.01525115966796875, + 0.02471923828125, + -0.050201416015625, + 0.00260162353515625, + 0.0235137939453125, + 0.00418853759765625, + 0.017608642578125, + -0.04376220703125, + 0.03857421875, + -0.043365478515625, + 0.0131378173828125, + -0.053863525390625, + 0.035888671875, + -0.014556884765625, + 0.032073974609375, + 0.008209228515625, + -0.048919677734375, + 0.00565338134765625, + -0.0161895751953125, + 0.018707275390625, + 0.039794921875, + 0.0279083251953125, + -0.0070037841796875, + 0.0005631446838378906, + 0.02972412109375, + -0.015777587890625, + -0.005977630615234375, + 0.08184814453125, + 0.0130462646484375, + -0.01343536376953125, + 0.0009145736694335938, + -0.0174407958984375, + -0.01312255859375, + -0.039825439453125, + 0.01505279541015625, + -0.01226043701171875, + 0.019561767578125, + 0.0150604248046875, + -0.042999267578125, + -0.024505615234375, + 0.04638671875, + 0.00933074951171875, + -0.01372528076171875, + 0.017608642578125, + 0.044281005859375, + 0.02008056640625, + 0.0270843505859375, + -0.0190887451171875, + 0.020538330078125, + -0.0225830078125, + 0.0022373199462890625, + 0.0294952392578125, + 0.0086669921875, + 0.0171661376953125, + 0.00696563720703125, + -0.0015649795532226562, + 0.0235748291015625, + -0.062164306640625, + -0.0276031494140625, + -0.030853271484375, + -0.029388427734375, + 0.024688720703125, + -0.0034503936767578125, + -0.0528564453125, + 0.040313720703125, + -0.029052734375, + -0.0863037109375, + -0.031890869140625, + -0.04437255859375, + 0.012115478515625, + 0.0007905960083007812, + -0.0273590087890625, + 0.007358551025390625, + -0.0191650390625, + -0.006679534912109375, + 0.022491455078125, + 0.05572509765625, + 0.03436279296875, + -0.01316070556640625, + -0.061676025390625, + -0.010162353515625, + -0.0076141357421875, + 0.0207061767578125, + -0.0031299591064453125, + 0.0298004150390625, + -0.03253173828125, + -0.01412200927734375, + 0.03436279296875, + -0.00637054443359375, + -0.0009522438049316406, + 0.0780029296875, + -0.0089874267578125, + -0.0288543701171875, + -0.00312042236328125, + 0.0100860595703125, + 0.0026683807373046875, + -0.03656005859375, + 0.048095703125, + -0.006988525390625, + -0.003875732421875, + 0.00421905517578125, + -0.032501220703125, + 0.039093017578125, + 0.029022216796875, + 0.019287109375, + 0.0021514892578125, + 0.038177490234375, + 0.051666259765625, + -0.042633056640625, + 0.007843017578125, + -0.0340576171875, + -0.00881195068359375, + 0.00647735595703125, + 0.019561767578125, + 0.0099639892578125, + -0.012176513671875, + 0.0165557861328125, + 0.033782958984375, + 0.0158843994140625, + 0.038421630859375, + 0.04241943359375, + -0.0161285400390625, + 0.0699462890625, + 0.04315185546875, + -0.0206298828125, + 0.003597259521484375, + -0.01184844970703125, + 0.016815185546875, + -0.0137176513671875, + 0.01338958740234375, + -0.0206146240234375, + -0.0222625732421875, + -0.0087432861328125, + 0.0211334228515625, + -0.00672149658203125, + -0.03302001953125, + 0.0148468017578125, + 0.033203125, + 0.0037555694580078125, + 0.01140594482421875, + -0.02703857421875, + -0.035400390625, + -0.007282257080078125, + 0.00569915771484375, + 0.035125732421875, + 0.0053558349609375, + 0.063232421875, + -0.004032135009765625, + -0.007320404052734375, + 0.053314208984375, + 0.0311737060546875, + 0.05035400390625, + -0.0081939697265625, + -0.061126708984375, + 0.026702880859375, + -0.0268707275390625, + 0.00830078125, + 0.0156402587890625, + 0.036468505859375, + -0.0168609619140625, + 0.05987548828125, + -0.03759765625, + -0.040191650390625, + 0.007045745849609375, + -0.024078369140625, + 0.020599365234375, + 0.034149169921875, + -0.0219879150390625, + 0.007396697998046875, + -0.0162506103515625, + -0.0028591156005859375, + -0.004791259765625, + 0.005794525146484375, + -0.0174407958984375, + 0.01284027099609375, + 0.029022216796875, + -0.04766845703125, + 0.006378173828125, + 0.003124237060546875, + 0.01299285888671875, + 0.018402099609375, + -0.0269622802734375, + 0.0106048583984375, + -0.0034313201904296875, + -0.03558349609375, + 0.00624847412109375, + -0.01148223876953125, + 0.043182373046875, + 0.017059326171875, + -0.01059722900390625, + 0.0396728515625, + -0.039642333984375, + 0.0092620849609375, + 0.0192413330078125, + 0.006256103515625, + -0.047698974609375, + -0.011322021484375, + -0.0154571533203125, + -0.0166015625, + 0.03302001953125, + -0.00786590576171875, + 0.018951416015625, + 0.032196044921875, + -0.0270233154296875, + -0.010498046875, + -0.0771484375, + 0.0209197998046875, + 0.0338134765625, + -0.0261383056640625, + 0.030609130859375, + -0.012054443359375, + -0.01238250732421875, + -0.01898193359375 + ], + [ + 0.03033447265625, + 0.05926513671875, + -0.0175323486328125, + 0.0279998779296875, + -0.019683837890625, + -0.0092620849609375, + -0.0280914306640625, + -0.0243377685546875, + 0.0288848876953125, + -0.021881103515625, + 0.0069122314453125, + 0.0364990234375, + -0.01367950439453125, + 0.0306243896484375, + -0.0217132568359375, + 0.0113525390625, + 0.0249176025390625, + -0.009246826171875, + -0.018829345703125, + -0.052459716796875, + -0.01230621337890625, + -0.02716064453125, + -0.000988006591796875, + -0.04510498046875, + -0.058990478515625, + 0.0263214111328125, + 0.0262298583984375, + 0.005306243896484375, + -0.05487060546875, + -0.03839111328125, + -0.0487060546875, + -0.020782470703125, + 0.0220947265625, + 0.0262908935546875, + -9.638071060180664e-05, + -0.061614990234375, + -0.01520538330078125, + -0.012451171875, + -0.032440185546875, + -0.0063934326171875, + -0.0051116943359375, + 0.0295257568359375, + 0.046356201171875, + 0.0081634521484375, + -0.005199432373046875, + -0.053985595703125, + -0.0176544189453125, + -0.0179901123046875, + -0.0318603515625, + -0.042877197265625, + -0.01284027099609375, + -0.00797271728515625, + 0.0311737060546875, + -0.001346588134765625, + -0.040557861328125, + 0.06646728515625, + -0.0234832763671875, + -0.0167999267578125, + -0.01497650146484375, + -0.0687255859375, + 0.01287841796875, + 0.0155029296875, + -0.02777099609375, + -0.010467529296875, + 0.046478271484375, + 0.0684814453125, + -0.003021240234375, + 0.0350341796875, + -0.034210205078125, + -0.045806884765625, + -0.047943115234375, + 0.038818359375, + -0.032379150390625, + -0.0227508544921875, + -0.035491943359375, + -0.0161590576171875, + -0.0419921875, + 0.0179901123046875, + -0.0309295654296875, + 0.0152587890625, + 0.0268096923828125, + 0.0011568069458007812, + 0.015777587890625, + 0.016265869140625, + -0.055633544921875, + 0.042633056640625, + 0.01526641845703125, + 0.00691986083984375, + 0.0009579658508300781, + -0.0011949539184570312, + -0.0199737548828125, + -0.032928466796875, + 0.0295867919921875, + -0.022186279296875, + -0.03839111328125, + 0.005828857421875, + -0.035736083984375, + -0.01763916015625, + 0.0634765625, + -0.00952911376953125, + 0.01198577880859375, + 0.0178070068359375, + 0.00704193115234375, + 0.0241241455078125, + 0.01971435546875, + 0.0223541259765625, + 0.005176544189453125, + 0.03753662109375, + -0.0195770263671875, + 0.006313323974609375, + 0.061126708984375, + -0.01343536376953125, + 0.0254974365234375, + 0.006160736083984375, + -0.005859375, + -0.0443115234375, + -0.0158233642578125, + -0.03863525390625, + -0.0195770263671875, + -0.005733489990234375, + 0.027099609375, + 0.032440185546875, + 0.044036865234375, + -0.0257720947265625, + 0.018585205078125, + 0.0003497600555419922, + 0.034881591796875, + 0.0290985107421875, + -0.0015325546264648438, + 0.0167083740234375, + 0.031982421875, + 0.039398193359375, + -0.05072021484375, + 0.010162353515625, + -0.033905029296875, + -0.01425933837890625, + 0.01343536376953125, + 0.029205322265625, + 0.0102081298828125, + 0.00720977783203125, + 0.0025768280029296875, + -0.036651611328125, + -0.0009355545043945312, + -0.04364013671875, + -0.01320648193359375, + 0.019805908203125, + -0.00324249267578125, + -0.0104217529296875, + 0.0261993408203125, + -0.0147247314453125, + -0.011627197265625, + 0.039154052734375, + 0.036346435546875, + -0.0107574462890625, + 0.0244140625, + -0.03424072265625, + -0.035400390625, + 0.01214599609375, + -0.0623779296875, + 0.0195159912109375, + -0.0131988525390625, + -0.030975341796875, + -0.022796630859375, + 0.0196990966796875, + 0.00885009765625, + 0.0419921875, + -0.0025196075439453125, + 0.0175323486328125, + -0.01259613037109375, + -0.04510498046875, + -0.02593994140625, + -0.06787109375, + -0.003543853759765625, + 0.00927734375, + -0.0009918212890625, + 0.027679443359375, + 0.01453399658203125, + 0.0160064697265625, + 0.0133056640625, + -0.017730712890625, + -0.03167724609375, + 0.03997802734375, + 0.00506591796875, + 0.0217132568359375, + 0.04315185546875, + 0.044677734375, + 0.01080322265625, + -0.033355712890625, + 0.00969696044921875, + -0.004878997802734375, + -0.01097869873046875, + -0.0250701904296875, + 0.0299530029296875, + -0.03460693359375, + 0.0234527587890625, + -0.0621337890625, + 0.0056610107421875, + 0.0100860595703125, + -0.0033740997314453125, + -0.0277862548828125, + -0.0362548828125, + -0.00542449951171875, + 0.0018930435180664062, + 0.0282745361328125, + 0.0185546875, + 0.0269927978515625, + 0.00708770751953125, + -0.01506805419921875, + 0.061767578125, + -0.059814453125, + 0.009857177734375, + -0.01221466064453125, + -0.0224151611328125, + -0.009185791015625, + -0.021392822265625, + 0.03277587890625, + 0.01739501953125, + 0.0085296630859375, + 0.032135009765625, + 0.0021686553955078125, + -0.001251220703125, + 0.0467529296875, + 0.0113983154296875, + 0.0121307373046875, + 0.05047607421875, + -0.04248046875, + -0.0096435546875, + 0.0221405029296875, + 0.033111572265625, + -0.031829833984375, + 0.0108795166015625, + 0.01459503173828125, + -0.0155029296875, + 0.0098724365234375, + -0.00478363037109375, + -0.040374755859375, + -0.035308837890625, + 0.0066986083984375, + 0.033599853515625, + -0.0113372802734375, + -0.003444671630859375, + 0.0246124267578125, + 0.032135009765625, + -0.0021610260009765625, + -0.015869140625, + 0.0267791748046875, + 0.0192108154296875, + 0.003406524658203125, + 0.000301361083984375, + -0.040435791015625, + -0.0185089111328125, + -0.00388336181640625, + 0.00579071044921875, + 0.00982666015625, + 0.00601959228515625, + -0.0330810546875, + -0.00849151611328125, + -0.04425048828125, + -0.0234832763671875, + -0.02679443359375, + -0.005596160888671875, + 0.01177978515625, + -0.01146697998046875, + 0.0360107421875, + -0.00794219970703125, + 0.008819580078125, + -0.00626373291015625, + -0.0146636962890625, + 0.03387451171875, + -0.017822265625, + 0.0145263671875, + -0.01358795166015625, + -0.006084442138671875, + -0.018768310546875, + 0.0087738037109375, + -0.0173187255859375, + -0.0494384765625, + -0.00914764404296875, + 0.0423583984375, + 0.00458526611328125, + -0.0113525390625, + -0.035552978515625, + 0.060791015625, + 0.0218963623046875, + -0.016326904296875, + -0.0255279541015625, + -0.005847930908203125, + 0.0267486572265625, + -0.052581787109375, + -0.0011281967163085938, + -0.024139404296875, + -0.0196533203125, + 0.04840087890625, + 0.0330810546875, + 0.0222930908203125, + -0.00399017333984375, + 0.00536346435546875, + -0.201904296875, + 0.030303955078125, + -0.027557373046875, + -0.00579071044921875, + -0.0306549072265625, + -0.0102081298828125, + -0.0170440673828125, + -0.07489013671875, + 0.004100799560546875, + -0.0289306640625, + -0.0009317398071289062, + -0.0272064208984375, + -0.007656097412109375, + 0.006580352783203125, + 0.013275146484375, + 0.0232391357421875, + 0.00786590576171875, + -0.0070648193359375, + 0.00555419921875, + -0.01268768310546875, + -0.0296478271484375, + -0.0222625732421875, + -0.00902557373046875, + 0.01502227783203125, + 0.035430908203125, + 0.00627899169921875, + 0.0035724639892578125, + -0.027008056640625, + -0.008392333984375, + -0.032867431640625, + 0.03717041015625, + 0.0302886962890625, + -0.0008530616760253906, + -0.0071563720703125, + 0.046905517578125, + 0.04022216796875, + 0.043304443359375, + 0.0160675048828125, + 4.1425228118896484e-05, + 0.036956787109375, + -0.0220794677734375, + 0.048797607421875, + -0.002529144287109375, + 0.028106689453125, + -0.04400634765625, + -0.005767822265625, + -0.0291290283203125, + -0.0350341796875, + 0.048248291015625, + -0.04071044921875, + -0.0214996337890625, + -0.030426025390625, + -0.004119873046875, + -0.0159454345703125, + -0.037994384765625, + 0.0189208984375, + 0.0271148681640625, + -0.0228729248046875, + 0.04998779296875, + -0.038330078125, + 0.04595947265625, + -0.06646728515625, + -0.00489044189453125, + -0.0254974365234375, + 0.005168914794921875, + -0.0014209747314453125, + -0.0035247802734375, + 0.024810791015625, + 0.00917816162109375, + 0.02783203125, + 0.035308837890625, + 0.0220947265625, + 0.024932861328125, + 0.01824951171875, + -0.012481689453125, + 0.035400390625, + -0.0291595458984375, + 0.035614013671875, + -0.0272674560546875, + -0.046051025390625, + -0.005428314208984375, + 8.64267349243164e-06, + -0.01593017578125, + 0.0109710693359375, + -0.0280914306640625, + 0.0038089752197265625, + -0.0189361572265625, + 0.0073089599609375, + 0.0178680419921875, + 0.245361328125, + -0.0074920654296875, + 0.058135986328125, + 0.004718780517578125, + 0.0171966552734375, + -0.011627197265625, + -0.004711151123046875, + -0.040435791015625, + 0.00177001953125, + 0.004291534423828125, + -0.01220703125, + 0.0236358642578125, + -0.01507568359375, + 0.01338958740234375, + -0.028076171875, + 0.07305908203125, + -0.0173797607421875, + 0.0419921875, + 0.06201171875, + -0.0296783447265625, + -0.045745849609375, + -0.033966064453125, + -0.0042877197265625, + 0.01678466796875, + 0.01256561279296875, + -0.0172119140625, + -0.01419830322265625, + -0.03009033203125, + -0.033355712890625, + 0.042144775390625, + -0.06439208984375, + -0.00334930419921875, + 0.031707763671875, + 0.0244598388671875, + -0.0322265625, + -0.0421142578125, + 0.016387939453125, + 0.002056121826171875, + -0.00662994384765625, + 0.040802001953125, + -0.01528167724609375, + -0.0165557861328125, + 0.0159912109375, + -0.023712158203125, + 0.04608154296875, + 0.01425933837890625, + 0.00769805908203125, + 0.033538818359375, + 0.00971221923828125, + -0.051605224609375, + -0.06103515625, + -0.0465087890625, + -0.0307159423828125, + -0.0025005340576171875, + -0.0303955078125, + 0.0282745361328125, + -0.040252685546875, + 0.0009851455688476562, + -0.00511932373046875, + 0.06427001953125, + -0.00684356689453125, + 0.006999969482421875, + 0.0008974075317382812, + -0.042236328125, + 0.011688232421875, + -0.0275115966796875, + 0.036346435546875, + -0.006084442138671875, + -0.015899658203125, + 0.0394287109375, + 0.003662109375, + -0.044952392578125, + -0.0129241943359375, + -0.0154266357421875, + 0.041015625, + 0.044830322265625, + 0.0193023681640625, + 0.034759521484375, + 0.0635986328125, + 0.00786590576171875, + -0.00489044189453125, + -0.0022296905517578125, + 0.0175323486328125, + 0.0267791748046875, + -0.0009541511535644531, + -0.032562255859375, + -0.01065826416015625, + 0.036651611328125, + -0.026092529296875, + -0.068359375, + 0.0304107666015625, + -0.011199951171875, + -0.048065185546875, + -0.06646728515625, + -0.0067291259765625, + -0.08050537109375, + 0.0273895263671875, + -0.036376953125, + -0.055572509765625, + 0.0194091796875, + 0.0115509033203125, + -0.0290374755859375, + -0.027099609375, + -0.0160369873046875, + 0.01537322998046875, + -0.0244293212890625, + 0.01009368896484375, + 0.038055419921875, + 0.01824951171875, + 0.0291900634765625, + -0.0034542083740234375, + 0.0209197998046875, + -0.0224609375, + 0.052276611328125, + -0.0003790855407714844, + 0.01910400390625, + 0.0177764892578125, + -0.0184783935546875, + 0.0005030632019042969, + 0.06915283203125, + -0.00251007080078125, + 0.00893402099609375, + 0.0152435302734375, + -0.051116943359375, + -0.041473388671875, + 0.0299072265625, + -0.0184326171875, + 0.059814453125, + -0.011138916015625, + -0.00759124755859375, + -0.0076141357421875, + -0.030548095703125, + -0.032257080078125, + -0.0062255859375, + 0.05670166015625, + -0.046875, + -0.021820068359375, + 0.0275726318359375, + 0.002044677734375, + -0.03765869140625, + 0.0009975433349609375, + 0.017608642578125, + 0.01654052734375, + -0.0224761962890625, + 0.0177001953125, + 0.0511474609375, + -0.048553466796875, + 0.05633544921875, + 0.006244659423828125, + 0.023956298828125, + 0.003997802734375, + 0.052001953125, + 0.01177978515625, + -0.00688934326171875, + 0.0016794204711914062, + 0.0275726318359375, + -0.0206451416015625, + -0.0005502700805664062, + -0.02880859375, + 0.01324462890625, + 0.03533935546875, + 0.033721923828125, + 0.061737060546875, + 0.107666015625, + 0.0159912109375, + 0.0272369384765625, + -0.030548095703125, + 0.059814453125, + 0.00022840499877929688, + 0.00899505615234375, + -0.005580902099609375, + -0.0114898681640625, + -0.0101318359375, + -0.004486083984375, + 0.0171661376953125, + -0.03759765625, + -0.037933349609375, + -0.00228118896484375, + -0.00843048095703125, + 0.09869384765625, + 0.0203857421875, + 0.005611419677734375, + 0.01166534423828125, + 0.020263671875, + 0.056732177734375, + 0.026947021484375, + 0.012908935546875, + -0.0308074951171875, + -0.0384521484375, + -0.00323486328125, + -0.035552978515625, + 0.07171630859375, + -0.0162811279296875, + -0.0247955322265625, + 0.0291748046875, + -0.026458740234375, + 0.063232421875, + 0.01503753662109375, + 0.03900146484375, + -0.0487060546875, + 0.0078887939453125, + -0.003864288330078125, + 0.02081298828125, + -0.005321502685546875, + -0.0162811279296875, + -0.03363037109375, + -0.0305328369140625, + 0.0036487579345703125, + -0.00911712646484375, + -0.0343017578125, + 0.0020751953125, + -0.00890350341796875, + 0.0831298828125, + 0.0012998580932617188, + -0.040863037109375, + 0.013458251953125, + 0.0306549072265625, + 0.0153350830078125, + 0.012664794921875, + -0.012176513671875, + 0.00514984130859375, + 0.01375579833984375, + 0.0416259765625, + -0.022613525390625, + -0.006198883056640625, + 0.01494598388671875, + 0.03900146484375, + 0.02081298828125, + -0.00853729248046875, + -0.0157623291015625, + -0.0108795166015625, + 0.0160369873046875, + -0.0239410400390625, + -0.016448974609375, + -0.04071044921875, + -0.004489898681640625, + -0.00325775146484375, + 6.788969039916992e-05, + 0.000247955322265625, + 0.03961181640625, + 0.0171966552734375, + -0.00919342041015625, + 0.0367431640625, + 0.042388916015625, + -0.022491455078125, + 0.0263519287109375, + -0.0013647079467773438, + -0.0576171875, + 0.05316162109375, + 0.025909423828125, + -0.06842041015625, + -0.0190277099609375, + 0.01404571533203125, + 0.0030574798583984375, + 0.0031452178955078125, + -0.056915283203125, + -0.0645751953125, + -0.0250396728515625, + -0.003925323486328125, + -0.0386962890625, + 0.0213775634765625, + 0.060546875, + -0.01035308837890625, + -0.01995849609375, + 0.0156707763671875, + 0.023284912109375, + 0.00457000732421875, + -0.05084228515625, + -0.0214385986328125, + -0.0312042236328125, + 0.01425933837890625, + -0.021759033203125, + -0.0278472900390625, + -0.004100799560546875, + 0.060089111328125, + 0.0126953125, + 0.0007925033569335938, + -0.0251922607421875, + -0.0875244140625, + 0.00466156005859375, + -0.0574951171875, + -0.0110626220703125, + 0.067138671875, + 0.0228424072265625, + 0.004436492919921875, + 0.0265960693359375, + 0.062286376953125, + 0.010650634765625, + 0.01061248779296875, + -0.01153564453125, + 0.01369476318359375, + -0.032501220703125, + -0.07098388671875, + -0.00896453857421875, + 0.01033782958984375, + 0.0260162353515625, + -0.060577392578125, + 0.033294677734375, + -0.0029201507568359375, + -0.01401519775390625, + -0.01488494873046875, + -0.01174163818359375, + -0.0291290283203125, + -0.017547607421875, + 0.0103302001953125, + -0.0341796875, + 0.0173187255859375, + -0.023834228515625, + -0.0302276611328125, + -0.0149993896484375, + 0.044464111328125, + -0.04052734375, + 0.06640625, + 0.053466796875, + 0.0020809173583984375, + -0.02545166015625, + 0.057098388671875, + 0.00833892822265625, + 0.0138702392578125, + -0.00855255126953125, + 0.00962066650390625, + 0.0180511474609375, + 0.0025730133056640625, + 0.0135345458984375, + -0.01306915283203125, + 0.0285491943359375, + -0.023651123046875, + 0.033233642578125, + -0.0256805419921875, + 0.01457977294921875, + 0.0151519775390625, + -0.00884246826171875, + 0.0008158683776855469, + 0.01129913330078125, + -0.08160400390625, + 0.0095367431640625, + 0.0386962890625, + -0.011749267578125, + 7.236003875732422e-05, + 0.0281982421875, + -0.0321044921875, + 0.032196044921875, + 0.012176513671875, + -0.015655517578125, + 0.0216064453125, + -0.01114654541015625, + -0.0274810791015625, + -0.019744873046875, + -0.034210205078125, + 0.051544189453125, + 0.012939453125, + 0.04949951171875, + -0.0010614395141601562, + -0.050018310546875, + 0.022216796875, + -0.03729248046875, + 0.00397491455078125, + -0.0126800537109375, + 0.0013189315795898438, + -0.00548553466796875, + 0.0129547119140625, + 0.00039124488830566406, + 0.04541015625, + 0.0226593017578125, + 0.0019626617431640625, + 0.06304931640625, + 0.019561767578125, + 9.715557098388672e-05, + -0.0201263427734375, + -0.0103302001953125, + -0.0037288665771484375, + 0.0765380859375, + 0.0261688232421875, + -0.03369140625, + -0.0200653076171875, + 0.0469970703125, + -0.0023593902587890625, + -0.006122589111328125, + 0.0195770263671875, + 0.027069091796875, + -0.0037136077880859375, + -0.00809478759765625, + -0.03033447265625, + -0.02130126953125, + -0.0164794921875, + 0.005039215087890625, + -0.00458526611328125, + -0.00662994384765625, + -0.05072021484375, + -0.0052947998046875, + -0.034637451171875, + -0.0171356201171875, + 0.018951416015625, + -0.0018682479858398438, + -0.125244140625, + -0.00943756103515625, + -0.038787841796875, + -0.012969970703125, + -0.04541015625, + -0.0166168212890625, + -0.0239410400390625, + -0.022796630859375, + -0.044708251953125, + -0.037689208984375, + -0.002971649169921875, + 0.061676025390625, + -0.0036907196044921875, + -0.0166168212890625, + 0.005275726318359375, + 0.05169677734375, + -0.0307769775390625, + -0.005840301513671875, + 0.0024127960205078125, + 0.040771484375, + 0.0013265609741210938, + -0.019683837890625, + -0.011688232421875, + -0.002849578857421875, + -0.0178070068359375, + -0.020721435546875, + -0.0189971923828125, + -0.0198974609375, + -0.0084991455078125, + 0.01387786865234375, + 0.030914306640625, + -0.01983642578125, + 0.017242431640625, + -0.01275634765625, + 0.032196044921875, + -0.006763458251953125, + 0.027130126953125, + -0.037322998046875, + -0.00608062744140625, + 0.034881591796875, + -0.01483917236328125, + 0.00814056396484375, + -0.02911376953125, + 0.032562255859375, + -0.032623291015625, + 0.026519775390625, + 0.04315185546875, + -0.01097869873046875, + -0.01465606689453125, + -0.0014362335205078125, + 0.0153045654296875, + 0.00267791748046875, + 0.0136260986328125, + 0.0126800537109375, + -0.0166015625, + 0.042266845703125, + -0.0155487060546875, + -0.00942230224609375, + 0.057464599609375, + 0.05010986328125, + -0.0306854248046875, + -0.0241546630859375, + -0.007587432861328125, + -0.0199737548828125, + -0.007694244384765625, + 0.03497314453125, + -0.0206451416015625, + 0.0265350341796875, + 0.034637451171875, + -0.035675048828125, + -0.01384735107421875, + 0.0290679931640625, + -0.01214599609375, + -0.00966644287109375, + 0.01505279541015625, + 0.058319091796875, + 0.022705078125, + 0.023895263671875, + 0.0235137939453125, + -0.0234527587890625, + -0.044891357421875, + -0.0223236083984375, + 0.01458740234375, + -0.02679443359375, + 0.00733184814453125, + -0.01198577880859375, + -0.031982421875, + 0.00545501708984375, + -0.025177001953125, + -0.0213775634765625, + -0.039215087890625, + -0.038543701171875, + -0.0215606689453125, + -0.025054931640625, + -0.06964111328125, + 0.030487060546875, + -0.034576416015625, + -0.0333251953125, + -0.03656005859375, + -0.0233001708984375, + -0.05462646484375, + 0.019134521484375, + -0.019775390625, + -0.01140594482421875, + -0.028839111328125, + 0.078857421875, + -0.01104736328125, + 0.0255126953125, + -0.01120758056640625, + -0.048248291015625, + -0.0085906982421875, + -0.02667236328125, + -0.0025043487548828125, + 0.033447265625, + 0.01029205322265625, + -0.007007598876953125, + -0.02423095703125, + 0.010406494140625, + 0.04364013671875, + -0.005458831787109375, + -0.0258941650390625, + 0.0279388427734375, + -0.00414276123046875, + -0.02587890625, + -0.0274810791015625, + 0.037353515625, + 0.0537109375, + -0.004581451416015625, + 0.03009033203125, + 0.00054931640625, + 0.0308837890625, + -0.0274505615234375, + -0.032501220703125, + 0.0178680419921875, + 0.0318603515625, + -0.004749298095703125, + -0.030975341796875, + 0.044891357421875, + 0.0006875991821289062, + -0.0059356689453125, + -0.016265869140625, + -0.00949859619140625, + -0.01200103759765625, + -0.0340576171875, + -0.0116119384765625, + 0.00878143310546875, + -0.01523590087890625, + -0.0272674560546875, + 0.0160369873046875, + 0.019317626953125, + 0.0272979736328125, + -0.0008697509765625, + 0.04278564453125, + -0.003276824951171875, + -0.00414276123046875, + 0.0223236083984375, + -0.0207672119140625, + -0.0301971435546875, + -0.0025959014892578125, + -0.0138702392578125, + -0.00812530517578125, + -0.0247344970703125, + -0.04315185546875, + 0.0262298583984375, + 0.01027679443359375, + -0.0149383544921875, + 0.00959014892578125, + 0.01404571533203125, + 0.004459381103515625, + -0.01291656494140625, + -0.01258087158203125, + 0.00933837890625, + -0.0261383056640625, + -0.03692626953125, + 0.03497314453125, + -0.002231597900390625, + 0.00734710693359375, + 0.058197021484375, + -0.01071929931640625, + -0.0273284912109375, + 0.0186309814453125, + 0.052825927734375, + 0.00634002685546875, + -0.006069183349609375, + -0.036529541015625, + -0.029205322265625, + -0.055267333984375, + 0.057769775390625, + 0.01067352294921875, + 0.007778167724609375, + -0.0350341796875, + -0.0177154541015625, + -0.025909423828125, + 0.0159912109375, + -0.0074462890625, + -0.0143585205078125, + 0.0234222412109375, + 0.050201416015625, + 0.020355224609375, + 0.0218048095703125, + -0.015838623046875, + 0.0244293212890625, + -0.056182861328125, + 0.02813720703125, + -0.0284576416015625, + 0.0135650634765625, + 0.06195068359375, + -0.040008544921875, + -0.020416259765625, + -0.03857421875, + -0.04949951171875, + -0.02423095703125, + 0.0037021636962890625, + 0.0250701904296875, + 0.06427001953125, + -0.0275115966796875, + 0.0037689208984375, + 0.007312774658203125, + 0.032562255859375, + 0.05487060546875, + -0.0160980224609375, + 0.04388427734375, + -0.04852294921875, + 0.0034160614013671875, + 0.01543426513671875, + -0.0029392242431640625, + -0.027252197265625, + -0.0264892578125, + 0.006946563720703125, + -0.0092926025390625, + 0.029571533203125, + 0.004886627197265625, + 0.007564544677734375, + 0.031768798828125, + -0.0015859603881835938, + -0.0031948089599609375, + -0.032470703125, + 0.0238189697265625, + 0.035797119140625, + -0.048919677734375, + 0.007251739501953125, + -0.0026569366455078125, + -0.046051025390625, + -0.0474853515625 + ], + [ + 0.0253448486328125, + -0.0041656494140625, + -0.0228118896484375, + 0.00972747802734375, + -0.021728515625, + -0.022613525390625, + -0.0064544677734375, + 0.0218353271484375, + -0.009185791015625, + -0.00022351741790771484, + 0.02191162109375, + -0.0138397216796875, + 0.0029430389404296875, + -0.00978851318359375, + 0.01374053955078125, + 0.0007300376892089844, + 0.01055908203125, + 0.003322601318359375, + 0.0020198822021484375, + -0.04241943359375, + 0.01580810546875, + 0.00962066650390625, + -0.04962158203125, + -0.0174102783203125, + -0.0673828125, + 0.004970550537109375, + -0.02203369140625, + -0.01372528076171875, + -0.017120361328125, + -0.001392364501953125, + 0.01104736328125, + -0.033905029296875, + 0.07330322265625, + 0.013580322265625, + -0.01055145263671875, + -0.046661376953125, + -0.029388427734375, + -0.025787353515625, + -0.03973388671875, + 0.0521240234375, + 0.0222930908203125, + 0.0036029815673828125, + 0.04522705078125, + 0.0193328857421875, + 0.0152740478515625, + -0.0294036865234375, + 0.0081634521484375, + -0.01084136962890625, + 0.0121917724609375, + -0.0145416259765625, + -0.022216796875, + -0.0098876953125, + 0.0321044921875, + -0.0026092529296875, + 0.02197265625, + -0.004131317138671875, + -0.06964111328125, + -0.001209259033203125, + -0.06494140625, + -0.05230712890625, + -0.0104827880859375, + 0.035400390625, + -0.020172119140625, + 0.01153564453125, + 0.0301055908203125, + 0.0718994140625, + -0.024139404296875, + -0.0144195556640625, + -0.04144287109375, + -0.046295166015625, + 0.00974273681640625, + 0.07635498046875, + -0.0007004737854003906, + -0.032196044921875, + -0.036468505859375, + 0.00597381591796875, + 0.0084381103515625, + 0.0016937255859375, + -0.0007719993591308594, + -0.0224456787109375, + 0.0177001953125, + -0.035369873046875, + 0.007083892822265625, + 0.020050048828125, + -0.06201171875, + 0.057373046875, + -0.0181121826171875, + 0.0115509033203125, + 0.0296783447265625, + 0.015655517578125, + -0.029327392578125, + -0.0075836181640625, + 0.027984619140625, + -0.03448486328125, + -0.054168701171875, + -0.0187530517578125, + -0.028167724609375, + -0.03826904296875, + 0.0126190185546875, + -0.005992889404296875, + 0.0330810546875, + 0.0142059326171875, + -0.0273284912109375, + 0.032379150390625, + 0.0141448974609375, + 0.01776123046875, + 0.035614013671875, + 0.0055694580078125, + 0.01519775390625, + 0.0205841064453125, + 0.050140380859375, + -0.00417327880859375, + 0.019256591796875, + -0.019134521484375, + -0.0262298583984375, + -0.01029205322265625, + -0.029083251953125, + -0.012054443359375, + -0.0245361328125, + -0.050994873046875, + 0.04901123046875, + 0.038238525390625, + 0.0760498046875, + 0.01178741455078125, + 0.02105712890625, + -0.021484375, + 0.036041259765625, + 0.061004638671875, + 0.0156707763671875, + 0.00740814208984375, + -0.0122222900390625, + 0.019287109375, + -0.004863739013671875, + 0.0369873046875, + -0.0003719329833984375, + -0.0031986236572265625, + 0.004608154296875, + 0.0172882080078125, + -0.01407623291015625, + -0.01348876953125, + -0.0159912109375, + 0.009857177734375, + 0.01535797119140625, + -0.06591796875, + 0.01995849609375, + -0.009735107421875, + -0.0015535354614257812, + 0.040557861328125, + 0.0034732818603515625, + -0.0197296142578125, + 0.0162200927734375, + 0.0278167724609375, + 0.048980712890625, + 0.03900146484375, + 0.00804901123046875, + -0.0016574859619140625, + 0.0208282470703125, + 0.0148468017578125, + -0.0269775390625, + 0.0228729248046875, + 0.004123687744140625, + -0.09344482421875, + -0.03094482421875, + -0.0260467529296875, + 0.034637451171875, + 0.006832122802734375, + 0.01488494873046875, + 0.02459716796875, + -0.0239105224609375, + -0.04473876953125, + -0.031951904296875, + -0.04840087890625, + -0.01971435546875, + -0.01351165771484375, + 0.004497528076171875, + 0.00943756103515625, + 0.051666259765625, + -0.01050567626953125, + 0.00615692138671875, + -0.0176239013671875, + -0.043182373046875, + 0.0285186767578125, + 0.01055908203125, + 0.006862640380859375, + -0.0001800060272216797, + 0.0377197265625, + 0.005138397216796875, + -0.03961181640625, + -0.00016367435455322266, + -0.01032257080078125, + -0.00469970703125, + -0.0338134765625, + 0.0738525390625, + -0.027740478515625, + 0.056793212890625, + -0.047607421875, + -0.0182342529296875, + -0.019561767578125, + -0.00113677978515625, + -0.0458984375, + -0.062744140625, + 0.03045654296875, + -0.00826263427734375, + 0.004638671875, + 0.0211334228515625, + 0.010406494140625, + 0.0042724609375, + -0.037261962890625, + 0.0003452301025390625, + 0.0144500732421875, + 0.0253753662109375, + -0.00850677490234375, + 0.016265869140625, + -0.022064208984375, + -0.03607177734375, + 0.020111083984375, + 0.060638427734375, + 0.027740478515625, + 0.025146484375, + 0.00991058349609375, + -0.0033473968505859375, + -0.0012054443359375, + -0.03094482421875, + 0.041290283203125, + 0.031463623046875, + 0.01520538330078125, + 0.012298583984375, + 0.01503753662109375, + -0.0263671875, + -0.039764404296875, + -0.06475830078125, + 0.025421142578125, + 0.02459716796875, + 0.048004150390625, + -0.0266876220703125, + -0.041259765625, + -0.038238525390625, + 0.004375457763671875, + 0.0218353271484375, + 0.035308837890625, + 0.03607177734375, + -0.006618499755859375, + -0.0140533447265625, + -0.00150299072265625, + 0.01448822021484375, + 0.006595611572265625, + 0.04437255859375, + 0.0347900390625, + -0.020477294921875, + -0.0386962890625, + 0.007137298583984375, + -0.00846099853515625, + -0.0242767333984375, + 0.0289154052734375, + 0.0241241455078125, + 0.0193328857421875, + -0.006664276123046875, + -0.02105712890625, + 0.00548553466796875, + -0.01861572265625, + 0.0123443603515625, + 0.01517486572265625, + -0.0150146484375, + 0.031463623046875, + -0.006336212158203125, + -0.033050537109375, + -0.0010423660278320312, + -0.0003273487091064453, + 0.033843994140625, + -0.01611328125, + -0.0213775634765625, + 0.019500732421875, + 0.0196380615234375, + -0.029693603515625, + -0.01389312744140625, + -0.004180908203125, + -0.01776123046875, + 0.0209808349609375, + 0.001827239990234375, + 0.0147705078125, + -0.0091552734375, + -0.04193115234375, + 0.032379150390625, + 0.0115509033203125, + 0.0347900390625, + -0.005496978759765625, + -0.04705810546875, + 0.048980712890625, + -0.0164337158203125, + 0.01345062255859375, + -0.0343017578125, + -0.0330810546875, + 0.036041259765625, + 0.0279541015625, + 0.044403076171875, + 0.0035610198974609375, + -0.0140380859375, + -0.1656494140625, + 0.0037212371826171875, + -0.004276275634765625, + 0.0077972412109375, + 0.0037631988525390625, + -0.008087158203125, + -0.022369384765625, + -0.044097900390625, + -0.0242767333984375, + -0.036224365234375, + -0.0513916015625, + -0.036956787109375, + -0.0272369384765625, + -0.01308441162109375, + 0.022125244140625, + -0.00811004638671875, + 0.00588226318359375, + 0.0276336669921875, + 0.00044798851013183594, + -0.0235748291015625, + -0.03253173828125, + -0.0178070068359375, + 0.05419921875, + -0.0017213821411132812, + -0.01099395751953125, + 0.027923583984375, + 0.0014371871948242188, + 0.0140380859375, + 0.00524139404296875, + 0.01873779296875, + -0.00434112548828125, + 0.0014781951904296875, + 0.006000518798828125, + -0.054962158203125, + 0.0289154052734375, + 0.049652099609375, + -0.0238189697265625, + -0.0079345703125, + 0.018585205078125, + -0.005397796630859375, + -0.006626129150390625, + 0.0975341796875, + -0.0184173583984375, + 0.018463134765625, + -0.0206756591796875, + -0.05181884765625, + -0.017852783203125, + 0.006359100341796875, + 0.03387451171875, + -0.0268707275390625, + -0.038970947265625, + 0.0027675628662109375, + -0.0036830902099609375, + -0.035125732421875, + -0.06793212890625, + 0.03143310546875, + 0.0081329345703125, + 0.00824737548828125, + 0.03790283203125, + -0.022064208984375, + 0.0181884765625, + -0.04052734375, + -0.0038280487060546875, + -0.035247802734375, + -0.0036773681640625, + 0.0179443359375, + 0.027557373046875, + 0.0595703125, + -0.032440185546875, + 0.01190948486328125, + 0.043121337890625, + 0.04437255859375, + -0.03546142578125, + 0.010284423828125, + 0.027435302734375, + 0.051483154296875, + -0.007373809814453125, + 0.0185699462890625, + -0.026611328125, + -0.07061767578125, + 0.023834228515625, + 0.0225677490234375, + -0.0020084381103515625, + 0.0176239013671875, + -0.03271484375, + -0.06085205078125, + -0.0189666748046875, + 0.01861572265625, + 0.04998779296875, + 0.2259521484375, + -0.0290069580078125, + 0.0018377304077148438, + -0.035675048828125, + -0.041168212890625, + -0.0165557861328125, + -0.0010175704956054688, + 0.0241546630859375, + 0.0208740234375, + -0.032745361328125, + -0.01036834716796875, + -0.019073486328125, + 0.0023708343505859375, + -0.01482391357421875, + -0.00370025634765625, + 0.09228515625, + -0.01338958740234375, + -0.006290435791015625, + 0.0355224609375, + -0.018829345703125, + -0.006725311279296875, + -0.03521728515625, + -0.006561279296875, + -0.0015935897827148438, + -0.0207061767578125, + -0.0229034423828125, + -0.0159912109375, + -0.00045490264892578125, + 0.0260772705078125, + 0.05694580078125, + -0.0224609375, + 0.006801605224609375, + 0.0283355712890625, + 0.0440673828125, + -0.0097198486328125, + 0.0031223297119140625, + 0.014862060546875, + -0.01085662841796875, + 0.00659942626953125, + 0.04327392578125, + 0.040863037109375, + -0.0208282470703125, + 0.0132904052734375, + 0.024627685546875, + 0.038360595703125, + 0.0064239501953125, + 0.004375457763671875, + -0.03924560546875, + -0.004055023193359375, + 0.0023670196533203125, + 0.0194854736328125, + 0.004131317138671875, + -0.0087890625, + 0.0181427001953125, + 0.002933502197265625, + -0.00954437255859375, + -0.0252227783203125, + -0.053955078125, + 0.016571044921875, + 0.006130218505859375, + -0.0025806427001953125, + -0.006366729736328125, + 0.039764404296875, + -0.019256591796875, + -0.024383544921875, + 0.0093231201171875, + -0.00568389892578125, + 0.01422882080078125, + 0.0007610321044921875, + 0.0167694091796875, + 0.022735595703125, + -0.0160980224609375, + -0.02642822265625, + -0.007076263427734375, + 0.0264739990234375, + -0.00516510009765625, + 0.007110595703125, + -0.0133819580078125, + 0.011688232421875, + -0.01508331298828125, + -0.013275146484375, + -0.022491455078125, + -0.007965087890625, + 0.05322265625, + 0.0275115966796875, + 0.03631591796875, + 0.044525146484375, + 0.038116455078125, + 0.04241943359375, + 0.00217437744140625, + 0.01308441162109375, + 0.052459716796875, + -0.03778076171875, + -0.00286865234375, + -0.044647216796875, + -0.023284912109375, + -0.007232666015625, + -0.00958251953125, + -0.07989501953125, + 0.022735595703125, + 0.0008263587951660156, + -0.0193634033203125, + -0.028900146484375, + 0.007190704345703125, + 0.0177764892578125, + -0.0123443603515625, + 0.0124053955078125, + -0.007476806640625, + 0.005138397216796875, + 0.01465606689453125, + -0.03472900390625, + -0.00734710693359375, + 0.00506591796875, + 0.05169677734375, + 0.048583984375, + 0.024383544921875, + -0.01317596435546875, + 0.0111083984375, + 0.0212860107421875, + 0.037841796875, + -0.008331298828125, + -0.0303192138671875, + -0.0082244873046875, + -0.031585693359375, + 0.01361846923828125, + 0.0123443603515625, + -0.02899169921875, + 0.0229644775390625, + -0.015625, + 0.0313720703125, + -0.0186614990234375, + -0.0374755859375, + -0.034698486328125, + 0.02716064453125, + 0.05078125, + -0.0005030632019042969, + 0.07958984375, + -0.021942138671875, + 0.04376220703125, + -0.0010862350463867188, + -0.04486083984375, + 0.0657958984375, + -0.0192108154296875, + 0.00934600830078125, + 0.0057373046875, + 0.01078033447265625, + -0.054779052734375, + 0.0192413330078125, + 0.03271484375, + 0.003093719482421875, + -0.02166748046875, + 0.045928955078125, + 0.0298309326171875, + -0.03216552734375, + -0.023284912109375, + 0.03515625, + -0.01377105712890625, + 0.00848388671875, + -0.0182647705078125, + 0.0124969482421875, + 0.002239227294921875, + 0.039306640625, + 0.050872802734375, + 0.10089111328125, + -0.0120391845703125, + 0.002780914306640625, + -0.0487060546875, + 0.0039215087890625, + 8.577108383178711e-05, + 0.00522613525390625, + 0.0064239501953125, + 0.026214599609375, + 0.01715087890625, + -0.005275726318359375, + 0.033843994140625, + -0.00531768798828125, + -0.0254364013671875, + 0.010833740234375, + -0.03009033203125, + 0.07855224609375, + 0.01293182373046875, + 0.0289154052734375, + -0.01087188720703125, + 0.0158233642578125, + 0.0355224609375, + 0.0438232421875, + 0.00518035888671875, + -0.03497314453125, + -0.036224365234375, + -0.0186920166015625, + -0.0209808349609375, + 0.08453369140625, + -0.05194091796875, + -0.004161834716796875, + 0.03436279296875, + -0.027862548828125, + 0.06390380859375, + -0.049713134765625, + 0.033599853515625, + -0.042236328125, + -0.0204315185546875, + 0.024261474609375, + -0.0291595458984375, + -0.005390167236328125, + 0.00794219970703125, + 0.01097869873046875, + -0.0333251953125, + 0.0163116455078125, + 0.013275146484375, + -0.0692138671875, + 0.00479888916015625, + -0.0062408447265625, + 0.00028705596923828125, + 0.0243682861328125, + -0.0004730224609375, + 0.0097808837890625, + 0.0052337646484375, + -0.011016845703125, + 0.01055908203125, + -0.0626220703125, + 0.011871337890625, + -0.00983428955078125, + 0.0179290771484375, + -0.05029296875, + -0.01233673095703125, + 0.001262664794921875, + 0.02862548828125, + 0.105224609375, + 0.02392578125, + -0.004703521728515625, + -0.00882720947265625, + -0.02545166015625, + 0.008514404296875, + -0.036651611328125, + -0.0097808837890625, + 0.0026226043701171875, + -0.002414703369140625, + 0.0184173583984375, + 0.058624267578125, + 0.037994384765625, + -0.0087890625, + -0.03460693359375, + 0.0252685546875, + 0.1009521484375, + 0.019012451171875, + 0.019317626953125, + 0.02484130859375, + -0.014312744140625, + 0.03411865234375, + 0.0228424072265625, + -0.0134124755859375, + 0.02001953125, + -0.00261688232421875, + -0.00797271728515625, + 0.01837158203125, + -0.048858642578125, + -0.037078857421875, + 0.0082855224609375, + -0.03961181640625, + -0.014434814453125, + -0.010894775390625, + 0.0458984375, + -0.0182342529296875, + -0.036865234375, + 0.01047515869140625, + -0.04644775390625, + 0.017547607421875, + -0.0267791748046875, + -0.00809478759765625, + -0.0440673828125, + -0.018157958984375, + -0.042327880859375, + -0.0220489501953125, + -0.00511932373046875, + 0.0019063949584960938, + -0.006366729736328125, + -0.00911712646484375, + 0.0174407958984375, + -0.04351806640625, + 0.01125335693359375, + -0.0243682861328125, + 0.04925537109375, + 0.00868988037109375, + -0.007537841796875, + 0.01220703125, + -0.028533935546875, + 0.032440185546875, + 0.0340576171875, + 0.0120697021484375, + -0.0012083053588867188, + 0.0233612060546875, + -0.0236053466796875, + -0.06695556640625, + -0.0259246826171875, + 0.0013933181762695312, + 0.0214996337890625, + -0.05364990234375, + 0.07171630859375, + 0.013336181640625, + 0.0159149169921875, + 0.0180816650390625, + -0.0227508544921875, + -0.006053924560546875, + -0.03973388671875, + -0.037322998046875, + 0.0013790130615234375, + -0.01190185546875, + -0.05865478515625, + 0.02978515625, + -0.01056671142578125, + -0.00830078125, + 0.0227203369140625, + 0.01788330078125, + 0.0260772705078125, + 0.0281829833984375, + 0.003387451171875, + 0.01462554931640625, + 0.00797271728515625, + -0.004810333251953125, + -0.02545166015625, + -0.01032257080078125, + 0.0229949951171875, + 0.00028967857360839844, + 0.0294647216796875, + 0.0016231536865234375, + 0.00959014892578125, + -0.01525115966796875, + 0.0562744140625, + -0.05364990234375, + -0.02435302734375, + 0.00676727294921875, + 0.01505279541015625, + 0.0163116455078125, + 0.0091705322265625, + -0.03778076171875, + -0.047393798828125, + 0.045654296875, + -0.07568359375, + -0.01361846923828125, + 0.0089874267578125, + -0.00027370452880859375, + 0.0095062255859375, + 0.03192138671875, + -0.04156494140625, + 0.044769287109375, + -0.01995849609375, + -0.0247650146484375, + -0.044525146484375, + -0.0276641845703125, + 0.00978851318359375, + 0.040283203125, + 0.05181884765625, + -0.012542724609375, + -0.04083251953125, + -0.0132598876953125, + -0.0360107421875, + 0.0035686492919921875, + -0.037841796875, + 0.04547119140625, + 0.043212890625, + 0.0018596649169921875, + -0.0191802978515625, + 0.00839996337890625, + -0.0006132125854492188, + -0.031005859375, + 0.07379150390625, + 0.005680084228515625, + -0.00713348388671875, + -0.00951385498046875, + -0.028228759765625, + -0.009185791015625, + 0.0885009765625, + 0.01654052734375, + 0.0281524658203125, + -0.02838134765625, + 0.0235748291015625, + -0.004505157470703125, + -0.006916046142578125, + 0.01259613037109375, + 0.046844482421875, + -0.016815185546875, + 0.008331298828125, + -0.006923675537109375, + -0.008636474609375, + 0.00904083251953125, + -0.038970947265625, + -0.028167724609375, + -0.01097869873046875, + -0.09344482421875, + 0.00681304931640625, + 0.0255889892578125, + 0.006744384765625, + -0.0194854736328125, + 0.00925445556640625, + -0.1302490234375, + 0.030853271484375, + -0.0041351318359375, + -0.01343536376953125, + -0.048004150390625, + -0.02020263671875, + -0.055633544921875, + -0.0185089111328125, + -0.0200347900390625, + -0.015716552734375, + -0.00516510009765625, + 0.03778076171875, + -0.038055419921875, + -0.0283050537109375, + 0.0250091552734375, + -0.006927490234375, + -0.062164306640625, + 0.0130615234375, + 0.00960540771484375, + 0.0025234222412109375, + 0.00699615478515625, + -0.0076751708984375, + -0.016693115234375, + 0.019378662109375, + -0.015045166015625, + 0.015594482421875, + 0.01165008544921875, + 0.01306915283203125, + 0.01061248779296875, + -0.0386962890625, + -0.0107269287109375, + -0.0404052734375, + 0.0292510986328125, + 0.0244140625, + -0.00817108154296875, + 0.045318603515625, + 0.004871368408203125, + -0.031768798828125, + -0.03955078125, + 0.0408935546875, + -0.027862548828125, + 0.01462554931640625, + -0.0155029296875, + 0.005611419677734375, + 0.011993408203125, + 0.009490966796875, + -0.03887939453125, + -0.0091552734375, + -0.040557861328125, + 0.0108795166015625, + -0.017547607421875, + 0.041412353515625, + -0.0182342529296875, + 0.01593017578125, + -0.024658203125, + 0.02911376953125, + -0.053558349609375, + 0.00620269775390625, + 0.033447265625, + 0.0080718994140625, + -0.049041748046875, + -0.0135040283203125, + 0.01438140869140625, + -0.0528564453125, + -0.0316162109375, + 0.0073699951171875, + -0.0648193359375, + 0.0119781494140625, + 0.0426025390625, + -0.0633544921875, + -0.0438232421875, + -0.01641845703125, + -0.001522064208984375, + 0.0081939697265625, + 0.00794219970703125, + 0.01430511474609375, + 0.025390625, + 0.0018796920776367188, + 0.0008573532104492188, + 0.034515380859375, + -0.035003662109375, + -0.0135498046875, + 0.0162353515625, + 0.005496978759765625, + -0.0197906494140625, + 0.0323486328125, + -0.0211639404296875, + -0.0265350341796875, + -0.034210205078125, + -0.040283203125, + 0.0012521743774414062, + -0.07025146484375, + 0.006999969482421875, + -0.037384033203125, + -0.04638671875, + 0.0562744140625, + -0.0167083740234375, + -0.048370361328125, + 0.01148223876953125, + -0.0511474609375, + -0.018890380859375, + -0.0021953582763671875, + 0.0106048583984375, + -0.0109710693359375, + -0.053009033203125, + 0.044586181640625, + -0.053466796875, + 0.00580596923828125, + -0.0146331787109375, + -0.027923583984375, + -0.0103759765625, + -0.016937255859375, + -0.03045654296875, + 0.0109710693359375, + -0.01316070556640625, + -0.01538848876953125, + -0.0234222412109375, + 0.057098388671875, + 0.0184783935546875, + 0.0262451171875, + -0.038543701171875, + 0.04241943359375, + 0.04443359375, + -0.03961181640625, + 0.02838134765625, + 0.0107269287109375, + 0.03521728515625, + 0.00457000732421875, + 0.05718994140625, + -0.035003662109375, + -0.0081939697265625, + 0.038970947265625, + 0.00885009765625, + -0.0101470947265625, + 0.021270751953125, + -0.032470703125, + -0.02349853515625, + 0.0238037109375, + 0.008026123046875, + -0.0033283233642578125, + 0.01122283935546875, + -0.020355224609375, + -0.026123046875, + -0.0232086181640625, + -0.037994384765625, + -0.02655029296875, + -0.037689208984375, + 0.016510009765625, + 0.051544189453125, + 0.0008945465087890625, + -0.002902984619140625, + -0.0003879070281982422, + 0.0016736984252929688, + 0.03607177734375, + -0.0400390625, + 0.0411376953125, + -0.075439453125, + -0.043426513671875, + 0.0253753662109375, + -0.020660400390625, + -0.03607177734375, + -0.031524658203125, + -0.0198516845703125, + -0.0290985107421875, + 0.01235198974609375, + 0.01317596435546875, + -0.02606201171875, + -0.0006690025329589844, + 0.031890869140625, + -0.02789306640625, + -0.07171630859375, + 0.032196044921875, + -0.0567626953125, + -0.036041259765625, + 0.034149169921875, + 0.016845703125, + 0.01520538330078125, + -0.01580810546875, + -0.00533294677734375, + 0.061065673828125, + 0.087646484375, + 0.037994384765625, + 0.031982421875, + 0.00555419921875, + -0.0100250244140625, + 0.01259613037109375, + -0.032928466796875, + -0.01031494140625, + 0.018280029296875, + -0.01491546630859375, + -0.01001739501953125, + -0.01047515869140625, + -0.0675048828125, + -0.0142059326171875, + 0.01383209228515625, + -0.007312774658203125, + 0.017608642578125, + -0.0159454345703125, + 0.01227569580078125, + 0.03607177734375, + 0.004558563232421875, + 0.0168914794921875, + -0.005832672119140625, + 0.038482666015625, + -0.047637939453125, + -0.006130218505859375, + -0.004558563232421875, + -0.0244293212890625, + -0.068603515625, + -0.015838623046875, + 0.002216339111328125, + 0.01776123046875, + -0.0311126708984375, + 0.031341552734375, + 0.02886962890625, + -0.048553466796875, + 0.00710296630859375, + -0.0275421142578125, + 0.00624847412109375, + 0.01461029052734375, + 0.019927978515625, + 0.020172119140625, + -0.04669189453125, + 0.020599365234375, + 0.025054931640625, + -0.0033740997314453125, + 0.004383087158203125, + -0.0136871337890625, + -0.0133514404296875, + -0.005222320556640625, + -0.01285552978515625, + 0.048858642578125, + -0.02874755859375, + -0.01070404052734375, + -0.017730712890625, + -0.007122039794921875, + -0.0268402099609375, + -0.003940582275390625, + 0.0340576171875, + 0.005802154541015625, + 0.026153564453125, + 0.033721923828125, + -0.00627899169921875, + 0.0184783935546875 + ], + [ + 0.0482177734375, + 0.03228759765625, + -0.052001953125, + 0.06146240234375, + -0.0197601318359375, + -0.01503753662109375, + -0.0090484619140625, + -0.00728607177734375, + -0.004749298095703125, + 0.0099639892578125, + 0.051177978515625, + 0.0306396484375, + -0.035400390625, + 0.01493072509765625, + -0.0245361328125, + 0.035614013671875, + 0.0726318359375, + 0.0033664703369140625, + 0.0189361572265625, + -0.03204345703125, + -0.015380859375, + 0.022735595703125, + 0.005096435546875, + -0.064208984375, + -0.0163116455078125, + 0.019012451171875, + -0.01351165771484375, + -0.03509521484375, + -0.01800537109375, + 0.0018062591552734375, + 0.01256561279296875, + -0.042694091796875, + 0.03424072265625, + 0.0276336669921875, + 0.04498291015625, + -0.051666259765625, + -0.023773193359375, + -0.03033447265625, + -0.0298614501953125, + 0.04034423828125, + 0.03875732421875, + 0.0006260871887207031, + 0.0227203369140625, + 0.0286407470703125, + 0.01261138916015625, + -0.055938720703125, + -0.00958251953125, + 0.005107879638671875, + -0.06329345703125, + -0.031463623046875, + -0.00942230224609375, + -0.050689697265625, + 0.03424072265625, + -0.0144805908203125, + -0.02020263671875, + 0.035369873046875, + 4.029273986816406e-05, + -0.0245819091796875, + -0.042694091796875, + -0.034912109375, + -0.05938720703125, + -0.006587982177734375, + -0.0005984306335449219, + -0.01959228515625, + 0.0151519775390625, + 0.032806396484375, + -0.0168304443359375, + -0.0062103271484375, + -0.02130126953125, + -0.0257110595703125, + -0.01222991943359375, + -0.00862884521484375, + -0.0297393798828125, + -0.0018377304077148438, + -0.03570556640625, + -0.01300811767578125, + -0.052154541015625, + 0.004329681396484375, + 0.001499176025390625, + -0.03521728515625, + 0.0055084228515625, + -0.008941650390625, + 0.0190582275390625, + -0.004428863525390625, + -0.04815673828125, + 0.044036865234375, + 0.009246826171875, + 0.0160369873046875, + -0.008331298828125, + 0.028594970703125, + -0.059600830078125, + -0.0152435302734375, + -0.005710601806640625, + -0.0078582763671875, + -0.017608642578125, + -0.010528564453125, + -0.0186004638671875, + 0.036895751953125, + 0.003376007080078125, + -0.01097869873046875, + -0.0010137557983398438, + -0.00839996337890625, + 0.012054443359375, + -2.1457672119140625e-06, + 0.0277099609375, + -0.005168914794921875, + 0.043365478515625, + 0.0218658447265625, + -0.01971435546875, + 0.0045623779296875, + 0.0411376953125, + -0.02447509765625, + 0.06329345703125, + -0.0255279541015625, + -0.03155517578125, + 0.0021495819091796875, + -0.013946533203125, + -0.0240478515625, + -0.052581787109375, + -0.0311126708984375, + 0.01506805419921875, + -0.00931549072265625, + 0.0200347900390625, + -0.00948333740234375, + 0.009124755859375, + 0.0041351318359375, + 0.0079803466796875, + 0.0187225341796875, + -0.051666259765625, + 0.0026302337646484375, + -0.020172119140625, + 0.0135345458984375, + 0.039459228515625, + 0.0325927734375, + -0.0269012451171875, + -0.0562744140625, + 0.05206298828125, + 0.0273284912109375, + 0.01220703125, + -0.01241302490234375, + 0.00347900390625, + -0.0046844482421875, + -0.002979278564453125, + -0.059600830078125, + 0.01074981689453125, + 0.01052093505859375, + -0.042724609375, + 0.0259552001953125, + 0.033660888671875, + -0.040985107421875, + -0.012939453125, + 0.041168212890625, + 0.04803466796875, + 0.0238189697265625, + -0.039703369140625, + 0.0128631591796875, + -0.03216552734375, + 0.01256561279296875, + -0.0157318115234375, + -0.023773193359375, + -0.01611328125, + -0.037139892578125, + -0.044525146484375, + -0.01052093505859375, + -0.00257110595703125, + 0.031005859375, + -0.0067596435546875, + 0.0031566619873046875, + -0.01488494873046875, + -0.002315521240234375, + -0.0445556640625, + -0.0584716796875, + -0.01192474365234375, + -0.0041961669921875, + 0.01291656494140625, + 0.0284881591796875, + 0.035064697265625, + 0.01308441162109375, + 0.0207977294921875, + -0.0152587890625, + -0.057647705078125, + 0.0078582763671875, + -0.0151519775390625, + 0.0283203125, + 0.006702423095703125, + 0.0217742919921875, + -0.01045989990234375, + -0.023101806640625, + 0.0064239501953125, + 0.004718780517578125, + -0.0114288330078125, + -0.020660400390625, + 0.0177001953125, + -0.01120758056640625, + -0.0299530029296875, + 0.006565093994140625, + 0.006771087646484375, + -0.0004024505615234375, + -0.003932952880859375, + -0.021209716796875, + -0.044921875, + -0.002254486083984375, + 0.0200958251953125, + -0.039886474609375, + 0.0008597373962402344, + 0.027496337890625, + 0.0518798828125, + -0.02703857421875, + 0.031524658203125, + 0.00406646728515625, + -0.0458984375, + -0.06793212890625, + -0.01142120361328125, + 0.0177001953125, + -0.04852294921875, + 0.043975830078125, + 0.059783935546875, + -0.012481689453125, + 0.0173187255859375, + 0.041748046875, + 0.017181396484375, + 0.0439453125, + -0.005542755126953125, + 0.0005998611450195312, + 0.01003265380859375, + 0.0076904296875, + 0.030242919921875, + -0.0031108856201171875, + -0.012969970703125, + -0.0010356903076171875, + -0.0138397216796875, + 0.00485992431640625, + -0.01421356201171875, + -0.030548095703125, + 0.01195526123046875, + -0.032470703125, + -0.015625, + -0.0088043212890625, + 0.0235748291015625, + 0.0221405029296875, + 0.00879669189453125, + -0.00818634033203125, + -0.006206512451171875, + -0.0293121337890625, + -0.0071868896484375, + -0.0004987716674804688, + 0.02410888671875, + -0.0041351318359375, + 0.019500732421875, + 0.016143798828125, + 0.042938232421875, + -0.0206756591796875, + -0.0233612060546875, + 0.0246734619140625, + 0.0020923614501953125, + 0.017303466796875, + -0.0284881591796875, + -0.0003066062927246094, + -0.01177215576171875, + -0.01096343994140625, + 0.0211029052734375, + 0.0242156982421875, + -0.038421630859375, + 0.033599853515625, + -0.0178680419921875, + -0.02301025390625, + -0.01306915283203125, + -0.01186370849609375, + 0.033721923828125, + -0.06414794921875, + 0.051666259765625, + -0.005962371826171875, + 0.018463134765625, + -0.01503753662109375, + -0.0060882568359375, + -0.004024505615234375, + -0.033233642578125, + -0.01242828369140625, + 0.00157928466796875, + 0.0269012451171875, + 0.037261962890625, + -0.0219573974609375, + 0.0230865478515625, + 0.0322265625, + -0.0202789306640625, + -0.04931640625, + -0.00467681884765625, + 0.018524169921875, + -0.002410888671875, + 0.01025390625, + 0.0290679931640625, + -0.0105133056640625, + 0.030609130859375, + 0.0173797607421875, + -0.011383056640625, + -0.041107177734375, + -0.005352020263671875, + -0.2098388671875, + -0.0218658447265625, + 0.0014486312866210938, + -0.03680419921875, + -0.0242156982421875, + -0.0023250579833984375, + 0.0080718994140625, + -0.03656005859375, + -0.01898193359375, + -0.02203369140625, + -0.06500244140625, + -0.0235748291015625, + -0.073486328125, + -0.050506591796875, + 0.03515625, + 0.031585693359375, + -0.01474761962890625, + 0.03558349609375, + 0.025543212890625, + -0.02154541015625, + 0.0095977783203125, + -0.027496337890625, + 0.037200927734375, + 0.030303955078125, + -0.0246429443359375, + -0.016082763671875, + 0.043426513671875, + 0.00811004638671875, + -0.0011281967163085938, + 0.044097900390625, + 0.033905029296875, + 0.0137176513671875, + 0.002086639404296875, + -0.036041259765625, + 0.040313720703125, + 0.003353118896484375, + 0.061248779296875, + -0.01503753662109375, + -0.0203094482421875, + 0.01154327392578125, + -0.038330078125, + 0.048797607421875, + -0.0203857421875, + 0.0279998779296875, + -0.045928955078125, + -0.003833770751953125, + -0.0034542083740234375, + -0.016204833984375, + 0.0623779296875, + 0.0011568069458007812, + -0.0048370361328125, + -0.02099609375, + -0.0093536376953125, + -0.016815185546875, + -0.04180908203125, + 0.0222625732421875, + -0.001697540283203125, + 0.0035247802734375, + 0.032989501953125, + -0.046173095703125, + 0.0303955078125, + -0.088623046875, + 0.0021419525146484375, + -0.00567626953125, + 0.038177490234375, + 0.0211029052734375, + -0.07354736328125, + 0.00197601318359375, + 0.016387939453125, + 0.01316070556640625, + 0.0016841888427734375, + 0.015960693359375, + 0.0170135498046875, + 0.0170745849609375, + 0.021728515625, + -0.0007452964782714844, + 3.844499588012695e-05, + 0.0253753662109375, + 0.0280303955078125, + -0.067138671875, + -0.0030879974365234375, + 0.021331787109375, + -0.003940582275390625, + -0.01806640625, + -0.0310821533203125, + -0.03875732421875, + -0.0234832763671875, + 0.01175689697265625, + 0.016815185546875, + 0.230224609375, + 0.0279693603515625, + 0.07318115234375, + -0.041473388671875, + -0.0164337158203125, + -0.007358551025390625, + 0.0189666748046875, + -0.0158843994140625, + 0.026031494140625, + -0.023834228515625, + 0.00798797607421875, + 0.014190673828125, + -0.0211029052734375, + 0.0001367330551147461, + 0.01074981689453125, + 0.041717529296875, + -0.0098876953125, + 0.025909423828125, + 0.06329345703125, + -0.007808685302734375, + -0.017181396484375, + -0.0222930908203125, + 0.038787841796875, + 0.017791748046875, + -0.0218048095703125, + -0.00634765625, + -0.003314971923828125, + 0.0003364086151123047, + -0.01178741455078125, + -0.00920867919921875, + -0.0655517578125, + 0.04278564453125, + 0.03564453125, + 0.0311431884765625, + -0.052581787109375, + -0.015838623046875, + 0.04791259765625, + 0.00154876708984375, + 0.004314422607421875, + 0.0239715576171875, + -0.0112152099609375, + -0.0252227783203125, + 0.01467132568359375, + 0.00908660888671875, + 0.034210205078125, + -0.029876708984375, + -0.0177764892578125, + 0.023773193359375, + 0.005695343017578125, + -0.03704833984375, + -0.004245758056640625, + -0.056640625, + -0.004528045654296875, + -0.020599365234375, + -0.02569580078125, + 0.07012939453125, + -0.0293121337890625, + 0.00939178466796875, + 0.037567138671875, + 0.05218505859375, + 0.027496337890625, + 0.0184478759765625, + 0.043212890625, + 0.0242156982421875, + -0.0235443115234375, + -0.0013704299926757812, + 0.059783935546875, + 0.01291656494140625, + 0.024658203125, + 0.047027587890625, + 0.05780029296875, + -0.04278564453125, + -0.0299530029296875, + -0.0645751953125, + 0.0239105224609375, + 0.006458282470703125, + 0.021148681640625, + 0.07049560546875, + 0.00739288330078125, + 0.027130126953125, + -0.0004968643188476562, + 0.01023101806640625, + -0.01103973388671875, + 0.07391357421875, + 0.002422332763671875, + -0.0207977294921875, + -0.010650634765625, + 0.038421630859375, + -0.01548004150390625, + -0.039337158203125, + -0.0098876953125, + -0.02130126953125, + -0.07452392578125, + -0.010498046875, + -0.0222930908203125, + -0.0572509765625, + 0.0059814453125, + -0.0439453125, + 0.0142822265625, + 0.011474609375, + -0.0294342041015625, + -0.004383087158203125, + -0.03387451171875, + -0.0249481201171875, + 0.025543212890625, + -0.0767822265625, + -0.0257568359375, + -0.0391845703125, + 0.007511138916015625, + 0.036773681640625, + 0.01534271240234375, + -0.0085296630859375, + -0.0121002197265625, + -0.003620147705078125, + -0.0374755859375, + 0.0015878677368164062, + 0.02606201171875, + 0.01136016845703125, + -0.0179595947265625, + 0.06494140625, + -0.0049285888671875, + -0.0045928955078125, + 0.01471710205078125, + 0.042724609375, + -0.04510498046875, + 0.043914794921875, + -0.03302001953125, + 0.042694091796875, + -0.00531768798828125, + 0.015380859375, + 0.00923919677734375, + -0.04541015625, + -0.025543212890625, + 0.006160736083984375, + 0.056793212890625, + 0.003292083740234375, + -0.0278167724609375, + -0.0019054412841796875, + -0.0265045166015625, + 0.0036163330078125, + 0.0021076202392578125, + -0.02532958984375, + 0.0232086181640625, + -0.0232086181640625, + 0.01323699951171875, + -0.0310821533203125, + -0.02496337890625, + -0.0031719207763671875, + -0.01953125, + -0.0018863677978515625, + 0.022674560546875, + 0.037139892578125, + 0.0063323974609375, + -0.033660888671875, + 0.0123291015625, + 0.048553466796875, + -0.03680419921875, + -0.01261138916015625, + -0.00257110595703125, + -0.0083465576171875, + 0.004791259765625, + 0.02142333984375, + 0.0345458984375, + 0.0810546875, + 0.038360595703125, + -0.0206146240234375, + -0.03070068359375, + 0.044525146484375, + -0.0060577392578125, + 0.038482666015625, + 0.0203857421875, + -0.03033447265625, + -0.022613525390625, + -0.0192413330078125, + 0.053192138671875, + -0.04571533203125, + -0.013702392578125, + 0.004611968994140625, + 0.0394287109375, + 0.07177734375, + -0.0264739990234375, + 0.005413055419921875, + 0.0044708251953125, + -0.0191650390625, + 0.032928466796875, + 0.01186370849609375, + -0.023468017578125, + -0.0012111663818359375, + 0.007366180419921875, + -0.034393310546875, + -0.006603240966796875, + 0.06341552734375, + -0.022979736328125, + -0.00603485107421875, + 0.00026226043701171875, + 0.01471710205078125, + 0.08343505859375, + 0.00782012939453125, + 0.0131988525390625, + -0.0298614501953125, + 0.03369140625, + 0.00559234619140625, + -0.0179595947265625, + -0.00765228271484375, + -0.023406982421875, + -0.0234527587890625, + -0.030517578125, + 0.02581787109375, + 0.0022182464599609375, + -0.043121337890625, + 0.039031982421875, + -0.0130462646484375, + 0.052886962890625, + 0.0267181396484375, + 0.0018320083618164062, + -0.032928466796875, + 0.007495880126953125, + 0.0572509765625, + -0.034942626953125, + -0.023345947265625, + -0.0175323486328125, + 0.00673675537109375, + 0.031951904296875, + -0.0419921875, + -0.003940582275390625, + -0.005458831787109375, + 0.035919189453125, + 0.046966552734375, + 0.0113067626953125, + 0.01233673095703125, + -0.0091094970703125, + -0.00931549072265625, + -0.0029125213623046875, + -0.0301971435546875, + -0.015106201171875, + -0.0308990478515625, + -0.0263519287109375, + 0.023162841796875, + -0.0036945343017578125, + 0.0306854248046875, + 0.01354217529296875, + -0.0098419189453125, + 0.03497314453125, + 0.01558685302734375, + 0.012908935546875, + 0.01947021484375, + -0.07293701171875, + -0.043487548828125, + -0.004360198974609375, + 7.772445678710938e-05, + -0.046173095703125, + 0.0199432373046875, + 0.01904296875, + 0.010284423828125, + 0.0064544677734375, + -0.0197906494140625, + -0.035980224609375, + -0.016754150390625, + -0.01424407958984375, + -0.007488250732421875, + -0.033447265625, + -0.037384033203125, + -0.034332275390625, + -0.03887939453125, + 0.03753662109375, + -0.0220947265625, + 0.05804443359375, + -0.047637939453125, + -0.0036468505859375, + 0.002620697021484375, + 0.0111083984375, + -0.00415802001953125, + -0.00600433349609375, + 0.0208587646484375, + 0.047515869140625, + 0.068115234375, + -0.004367828369140625, + -0.01441192626953125, + -0.056060791015625, + 0.019500732421875, + -0.0029621124267578125, + 0.0150909423828125, + 0.068603515625, + -0.0268707275390625, + -0.03094482421875, + -0.0006046295166015625, + -0.0038604736328125, + -0.00034499168395996094, + 0.021728515625, + -0.026885986328125, + 0.031646728515625, + -0.0215606689453125, + -0.0243377685546875, + -0.03460693359375, + 0.0270843505859375, + 0.0445556640625, + -0.036407470703125, + 0.03839111328125, + -0.004138946533203125, + -0.0221099853515625, + -0.0238189697265625, + -0.0297088623046875, + -0.0360107421875, + -0.0282135009765625, + -0.00884246826171875, + -0.01241302490234375, + 0.0170440673828125, + 0.00311279296875, + -0.00337982177734375, + -0.005603790283203125, + 0.00923919677734375, + 0.0093536376953125, + 0.007770538330078125, + 0.044464111328125, + -0.0087890625, + -0.0677490234375, + 0.0214691162109375, + -0.0237274169921875, + -0.0355224609375, + -0.0216217041015625, + -0.0237884521484375, + -0.02197265625, + -0.005443572998046875, + 0.0297698974609375, + 0.006877899169921875, + 0.032745361328125, + 0.0169219970703125, + 0.03680419921875, + -0.050079345703125, + -0.0114593505859375, + -0.0240936279296875, + 0.0103759765625, + 0.004512786865234375, + 0.003200531005859375, + -0.022796630859375, + 0.029022216796875, + 0.01381683349609375, + 0.004955291748046875, + 0.0031337738037109375, + 0.0028076171875, + -0.022735595703125, + 0.032318115234375, + 0.03228759765625, + 0.0011272430419921875, + 0.0232086181640625, + -0.04815673828125, + -0.002849578857421875, + -0.048553466796875, + -0.030609130859375, + 0.0249481201171875, + -0.026397705078125, + 0.0706787109375, + -0.019012451171875, + -0.025543212890625, + 0.00850677490234375, + -0.031707763671875, + -0.0020732879638671875, + 0.0304412841796875, + 0.03570556640625, + 0.0244598388671875, + -0.020233154296875, + -0.010986328125, + 0.0233001708984375, + 0.0164031982421875, + -0.0174102783203125, + 0.060882568359375, + -0.0120086669921875, + -0.0178070068359375, + -0.0216064453125, + 0.039093017578125, + -0.00272369384765625, + 0.074462890625, + 0.0279998779296875, + 0.01922607421875, + -0.0031681060791015625, + 0.053558349609375, + -0.0287017822265625, + 0.005664825439453125, + 0.034515380859375, + 0.060882568359375, + -0.01422882080078125, + 0.002895355224609375, + -0.0191650390625, + -0.0318603515625, + -0.01393890380859375, + 0.0271453857421875, + -0.013824462890625, + 0.006580352783203125, + -0.059722900390625, + -0.0255126953125, + -0.045196533203125, + 0.002315521240234375, + 0.01947021484375, + 0.0088653564453125, + -0.1148681640625, + -0.0184783935546875, + -0.044097900390625, + 0.00461578369140625, + -0.03155517578125, + 0.003360748291015625, + -0.01617431640625, + -0.03466796875, + -0.047515869140625, + -0.05169677734375, + -0.0297088623046875, + 0.0675048828125, + 0.0116119384765625, + 0.0004436969757080078, + -0.02520751953125, + 0.0712890625, + -0.0245208740234375, + 0.0215301513671875, + 0.0025157928466796875, + 0.0281982421875, + -0.00677490234375, + -0.0266265869140625, + -0.00951385498046875, + -0.0325927734375, + -0.036376953125, + 0.0015878677368164062, + 0.0289459228515625, + -0.005565643310546875, + -0.0151519775390625, + -0.022796630859375, + 0.017791748046875, + -0.0128936767578125, + -0.00386810302734375, + -0.00835418701171875, + 0.0036106109619140625, + -0.04254150390625, + -0.000995635986328125, + 0.0242767333984375, + 0.021453857421875, + 0.053558349609375, + -0.05194091796875, + 0.01230621337890625, + -0.047149658203125, + -0.0010499954223632812, + 0.0240478515625, + -0.0386962890625, + 0.03607177734375, + -0.028839111328125, + -0.01052093505859375, + -0.0027256011962890625, + 0.009735107421875, + 0.0186309814453125, + 0.045928955078125, + 0.01202392578125, + -0.0455322265625, + 0.029815673828125, + -0.049530029296875, + 0.0460205078125, + 0.0297393798828125, + -0.005779266357421875, + 0.01096343994140625, + -0.04742431640625, + -0.0189361572265625, + -0.0190887451171875, + -0.01435089111328125, + 0.0281219482421875, + 0.03497314453125, + 0.037384033203125, + 0.003925323486328125, + -0.040435791015625, + 0.020721435546875, + 0.05157470703125, + 0.0325927734375, + 0.00494384765625, + 0.025634765625, + 0.040374755859375, + 0.0308837890625, + 0.0026531219482421875, + 0.0158843994140625, + 0.03857421875, + -0.0222930908203125, + -0.00452423095703125, + -0.00412750244140625, + 0.0175933837890625, + 0.003589630126953125, + 0.0268096923828125, + -0.040496826171875, + 0.004150390625, + -0.037109375, + -0.0262908935546875, + -0.0239105224609375, + -0.06390380859375, + -0.051544189453125, + 0.0182952880859375, + -0.06109619140625, + 0.058807373046875, + -0.0361328125, + -0.0511474609375, + -0.040374755859375, + -0.054290771484375, + -0.0248870849609375, + 0.029632568359375, + -0.02496337890625, + -0.02264404296875, + -0.0249176025390625, + 0.044921875, + -0.02899169921875, + 0.033050537109375, + 0.00597381591796875, + -0.0244598388671875, + -0.005519866943359375, + -0.030242919921875, + -0.005035400390625, + 0.01129913330078125, + 0.0263214111328125, + -0.0015649795532226562, + -0.0187530517578125, + 0.0204010009765625, + 0.01416778564453125, + -0.07574462890625, + -0.0301971435546875, + 0.0142822265625, + -0.0011692047119140625, + -0.04461669921875, + 0.0082244873046875, + 0.037628173828125, + 0.0303802490234375, + -0.0061187744140625, + 0.03662109375, + -0.01422119140625, + 0.0203094482421875, + -0.03533935546875, + 0.00823211669921875, + 0.01419830322265625, + 0.0281829833984375, + -0.01267242431640625, + -0.04681396484375, + 0.01605224609375, + 0.0251617431640625, + -0.018310546875, + -0.02752685546875, + -0.0035800933837890625, + -0.010589599609375, + -0.022552490234375, + -0.01470184326171875, + 0.016448974609375, + -0.021209716796875, + 0.0002048015594482422, + 0.0157318115234375, + -0.035797119140625, + 0.039306640625, + -0.02703857421875, + -0.0144195556640625, + 0.03094482421875, + -0.0007977485656738281, + 0.001911163330078125, + -0.0062713623046875, + 0.00811767578125, + 0.012115478515625, + -0.01263427734375, + -0.0188446044921875, + 0.014129638671875, + -0.046844482421875, + -0.0128326416015625, + 0.0024566650390625, + 0.044036865234375, + -0.02197265625, + -0.003658294677734375, + -0.0123291015625, + -0.02105712890625, + 0.0038814544677734375, + -0.023284912109375, + -0.04608154296875, + -0.072021484375, + 0.02911376953125, + 0.023712158203125, + -0.0007352828979492188, + 0.0088043212890625, + -0.0012254714965820312, + 0.053070068359375, + 0.0455322265625, + 0.0748291015625, + 0.0703125, + -0.042724609375, + -0.0242767333984375, + -0.0100250244140625, + -0.030242919921875, + 0.06109619140625, + -0.00389862060546875, + -0.009979248046875, + -0.00608062744140625, + -0.01255035400390625, + -0.007717132568359375, + 0.0190582275390625, + 0.018341064453125, + 0.00952911376953125, + 0.0175323486328125, + 0.037322998046875, + 0.052154541015625, + 0.05743408203125, + -0.03912353515625, + 4.7326087951660156e-05, + -0.006755828857421875, + 0.0176544189453125, + -0.01245880126953125, + 0.04595947265625, + 0.0129547119140625, + 0.00933837890625, + -0.02130126953125, + 0.033172607421875, + 0.03009033203125, + -0.01557159423828125, + -0.020751953125, + 0.053955078125, + 0.0216827392578125, + 0.01169586181640625, + -0.04888916015625, + -0.021148681640625, + 0.03826904296875, + 0.044525146484375, + 0.0306243896484375, + -0.0165557861328125, + -0.037811279296875, + 0.0138092041015625, + 0.005725860595703125, + 0.003875732421875, + -0.0121307373046875, + 0.0265350341796875, + -0.0020618438720703125, + -0.00495147705078125, + 0.0255126953125, + 0.017333984375, + 0.019378662109375, + 0.04193115234375, + -0.0228424072265625, + -0.035247802734375, + -0.036346435546875, + -0.0296173095703125, + 0.0360107421875, + -0.021148681640625, + 0.046966552734375, + 0.0237274169921875, + 0.01375579833984375, + -0.027069091796875 + ], + [ + 0.044342041015625, + -0.00884246826171875, + -0.052764892578125, + 0.036407470703125, + -0.020751953125, + -0.03564453125, + -0.0005669593811035156, + 0.0087890625, + -0.00989532470703125, + -0.0234832763671875, + -0.0173492431640625, + -0.0291595458984375, + -0.045166015625, + 0.002529144287109375, + 0.0299530029296875, + 0.01451873779296875, + 0.029632568359375, + 0.0015125274658203125, + -0.01129913330078125, + -0.0164794921875, + -0.0230865478515625, + -0.00998687744140625, + 0.0155487060546875, + 0.0281982421875, + -0.035400390625, + 0.00844573974609375, + 0.015594482421875, + 0.01432037353515625, + 0.0270843505859375, + -0.0293731689453125, + -0.0149993896484375, + -0.049652099609375, + 0.04766845703125, + 0.019622802734375, + -0.02386474609375, + -0.0325927734375, + 0.0149383544921875, + -0.00766754150390625, + -0.04541015625, + 0.03656005859375, + 0.0017452239990234375, + 0.00937652587890625, + 0.022491455078125, + 0.0008425712585449219, + -0.0237274169921875, + -0.0220489501953125, + -0.02252197265625, + -0.0096282958984375, + 0.0143585205078125, + -0.047210693359375, + 0.0278778076171875, + -0.0287628173828125, + 0.0213623046875, + -0.0162353515625, + -0.07568359375, + 0.0224456787109375, + -0.0216827392578125, + 0.01617431640625, + -0.04534912109375, + -0.06488037109375, + 0.0007996559143066406, + 0.040191650390625, + -0.02984619140625, + 0.0017900466918945312, + -0.005718231201171875, + 0.063720703125, + 0.01174163818359375, + -0.01523590087890625, + -0.00811004638671875, + -0.04656982421875, + -0.0263519287109375, + 0.02435302734375, + -0.059173583984375, + -0.0028781890869140625, + -0.0173797607421875, + 0.0214996337890625, + -0.05926513671875, + 0.017669677734375, + -0.01375579833984375, + -0.004199981689453125, + 0.027618408203125, + -0.01751708984375, + -0.0169219970703125, + 0.06317138671875, + -0.073486328125, + 0.055633544921875, + -0.0163421630859375, + -0.005340576171875, + 0.0289764404296875, + 0.025054931640625, + -0.0167083740234375, + -0.04876708984375, + -0.023773193359375, + -0.056396484375, + -0.0219879150390625, + 0.02886962890625, + -0.045257568359375, + 0.001316070556640625, + 0.02899169921875, + 0.004947662353515625, + 0.0312042236328125, + 0.03179931640625, + 0.02252197265625, + 0.042633056640625, + 0.0091552734375, + -0.04296875, + 0.03125, + 0.029510498046875, + -0.00830078125, + -0.0019855499267578125, + 0.07476806640625, + 0.00594329833984375, + 0.0234527587890625, + -0.041778564453125, + -0.023468017578125, + -0.00962066650390625, + -0.0306396484375, + -0.0119781494140625, + -0.01264190673828125, + -0.02325439453125, + 0.042724609375, + 0.024200439453125, + 0.040008544921875, + -0.0279541015625, + 0.03961181640625, + -0.0261383056640625, + 0.006046295166015625, + 0.0394287109375, + 0.05316162109375, + 0.0142059326171875, + 0.01090240478515625, + -0.0298004150390625, + -0.022918701171875, + -0.0023860931396484375, + -0.017669677734375, + -0.055023193359375, + 0.007007598876953125, + 0.047454833984375, + 0.008697509765625, + -0.02703857421875, + -0.0144500732421875, + -0.03570556640625, + 0.0208282470703125, + -0.07781982421875, + 0.0260009765625, + -0.01971435546875, + 0.0037403106689453125, + -0.0045318603515625, + 0.01910400390625, + -0.002216339111328125, + -0.005245208740234375, + 0.0300750732421875, + -0.0179443359375, + -0.0171051025390625, + 0.039794921875, + -0.0267333984375, + -0.005168914794921875, + 0.05108642578125, + -0.057403564453125, + 0.001987457275390625, + -0.0174560546875, + -0.0290679931640625, + -0.08013916015625, + 0.01102447509765625, + -0.048492431640625, + -0.024017333984375, + 0.0292816162109375, + 0.07763671875, + -0.0203857421875, + -0.054443359375, + 0.0013828277587890625, + -0.01324462890625, + -0.0139007568359375, + 0.01071929931640625, + 0.003818511962890625, + 0.0309600830078125, + 0.09173583984375, + 0.009033203125, + -0.0132598876953125, + -0.046630859375, + -0.0241851806640625, + 0.0153961181640625, + 0.026397705078125, + -0.01751708984375, + -0.03436279296875, + 0.0634765625, + -0.01186370849609375, + -0.00791168212890625, + 0.0165863037109375, + 0.0197296142578125, + 0.0132598876953125, + -0.01026153564453125, + 0.04571533203125, + -0.052581787109375, + 0.01291656494140625, + -0.0318603515625, + -0.0206146240234375, + 0.021881103515625, + -0.0034332275390625, + -0.03533935546875, + -0.05279541015625, + -0.0090789794921875, + -0.0023136138916015625, + -0.03192138671875, + -0.006862640380859375, + -0.01082611083984375, + 0.03253173828125, + 0.00876617431640625, + 0.02227783203125, + -0.07525634765625, + -0.031494140625, + 0.03302001953125, + 0.02593994140625, + 0.0266876220703125, + -0.0021038055419921875, + 0.0099029541015625, + 0.045166015625, + 0.007686614990234375, + 0.02984619140625, + 0.024566650390625, + 0.01337432861328125, + 0.00638580322265625, + -0.006320953369140625, + 0.0012464523315429688, + 0.0374755859375, + 0.044036865234375, + -0.0263519287109375, + 0.02398681640625, + 0.0260009765625, + -0.00506591796875, + -0.033843994140625, + 0.024383544921875, + 0.00777435302734375, + 0.0217742919921875, + -0.031280517578125, + -0.01220703125, + -0.057525634765625, + 0.00021350383758544922, + 0.032073974609375, + 0.0305938720703125, + 0.0147857666015625, + -0.001434326171875, + -0.005039215087890625, + 0.032196044921875, + -0.00982666015625, + 0.0210418701171875, + 0.0182647705078125, + -0.0114593505859375, + 0.0035247802734375, + -0.01654052734375, + 0.030029296875, + -0.0673828125, + 0.004001617431640625, + 0.0110321044921875, + 0.033843994140625, + -0.01190185546875, + 0.0011873245239257812, + -0.0231170654296875, + -0.047393798828125, + 0.004856109619140625, + 0.0124664306640625, + -0.0273284912109375, + -0.0172271728515625, + 0.0233154296875, + 0.0012502670288085938, + 0.02032470703125, + 0.03662109375, + 0.0504150390625, + 0.060699462890625, + -0.02288818359375, + -0.01128387451171875, + -0.00830078125, + -0.006633758544921875, + -0.0301055908203125, + -0.045501708984375, + -0.0069580078125, + -0.053497314453125, + -0.006549835205078125, + -0.00395965576171875, + 0.01392364501953125, + -0.0200042724609375, + -0.022491455078125, + 0.01202392578125, + 0.0245208740234375, + 0.007205963134765625, + -0.0565185546875, + 0.01215362548828125, + 0.0209808349609375, + -0.0732421875, + 0.003650665283203125, + -0.04754638671875, + 0.01108551025390625, + 0.042205810546875, + 0.040496826171875, + 0.0277557373046875, + -0.039825439453125, + 0.0165252685546875, + -0.1766357421875, + -0.022064208984375, + -0.0318603515625, + -0.01290130615234375, + -0.01959228515625, + -0.03643798828125, + -0.0121002197265625, + 0.0072174072265625, + -0.0528564453125, + -0.0285797119140625, + -0.08441162109375, + -0.0360107421875, + -0.0152587890625, + 0.04705810546875, + 0.0015201568603515625, + 0.0156707763671875, + -0.042572021484375, + 0.0034427642822265625, + -0.03765869140625, + -0.035400390625, + -0.00884246826171875, + -0.0247650146484375, + 0.041259765625, + -0.0006508827209472656, + 0.030059814453125, + 0.020599365234375, + -0.02459716796875, + 0.0027217864990234375, + -0.0261993408203125, + 0.0132293701171875, + 0.0280609130859375, + -0.0404052734375, + -0.01016998291015625, + -0.0055694580078125, + 0.072021484375, + 0.023651123046875, + -0.01739501953125, + -0.025634765625, + -0.0017385482788085938, + 0.020111083984375, + -0.01104736328125, + 0.068359375, + 0.0012054443359375, + 0.0012121200561523438, + -0.0021343231201171875, + -0.0008111000061035156, + -0.0157928466796875, + -0.00039458274841308594, + -0.01383209228515625, + -0.0103912353515625, + 0.004726409912109375, + 0.0023288726806640625, + 0.0230712890625, + -0.038177490234375, + -0.020050048828125, + 0.035888671875, + 0.00945281982421875, + 0.015960693359375, + 0.03131103515625, + -0.0269317626953125, + 0.050811767578125, + -0.0401611328125, + 0.050994873046875, + -0.0019664764404296875, + -0.0106353759765625, + 0.0121307373046875, + -0.00344085693359375, + 0.0234832763671875, + 0.0151214599609375, + 0.0130462646484375, + 0.02215576171875, + 0.03668212890625, + -0.0030689239501953125, + 0.0170745849609375, + 0.05938720703125, + 0.026519775390625, + -0.01708984375, + -0.004566192626953125, + -0.01812744140625, + -0.060455322265625, + 0.01169586181640625, + 0.007297515869140625, + -0.0230865478515625, + 0.0222930908203125, + -0.034698486328125, + 0.0111083984375, + 0.00022351741790771484, + 0.031829833984375, + 0.0301666259765625, + 0.23388671875, + 0.0027713775634765625, + 0.036865234375, + -0.054290771484375, + -0.037811279296875, + -0.0615234375, + 0.0005249977111816406, + 0.045135498046875, + -0.004512786865234375, + -0.0231170654296875, + -0.0252685546875, + -0.03704833984375, + -0.006130218505859375, + 0.005645751953125, + -0.0014390945434570312, + 0.06695556640625, + -0.01971435546875, + 0.02978515625, + 0.06158447265625, + 0.00408172607421875, + 0.0408935546875, + -0.0004830360412597656, + -0.0191497802734375, + -0.0225067138671875, + -0.040252685546875, + -0.0184783935546875, + -0.0006809234619140625, + 0.016265869140625, + -0.004306793212890625, + 0.007572174072265625, + -0.032867431640625, + -0.0241241455078125, + 0.0106658935546875, + 0.041900634765625, + -0.05035400390625, + 0.01496124267578125, + -0.046173095703125, + 0.0276947021484375, + 0.004940032958984375, + 0.03814697265625, + -0.003589630126953125, + -0.027618408203125, + -0.0271148681640625, + 0.0458984375, + -0.0009083747863769531, + -0.00495147705078125, + 0.01983642578125, + -0.0233917236328125, + -0.01409912109375, + -0.0248565673828125, + -0.030914306640625, + 0.01386260986328125, + -0.032012939453125, + 0.00881195068359375, + 0.01447296142578125, + 0.05657958984375, + 0.0014781951904296875, + -0.0175933837890625, + 0.0149993896484375, + 0.0166168212890625, + 0.005100250244140625, + 0.01157379150390625, + 0.00533294677734375, + -0.05322265625, + -0.004558563232421875, + -0.0029850006103515625, + -0.01541900634765625, + -0.0016393661499023438, + -0.033599853515625, + 0.03509521484375, + 0.01001739501953125, + -0.034454345703125, + 0.0033111572265625, + -0.0039043426513671875, + 0.071044921875, + 0.006378173828125, + 0.035308837890625, + 0.031768798828125, + 0.0173492431640625, + -0.008880615234375, + 0.04046630859375, + 0.007373809814453125, + -0.005321502685546875, + 0.052764892578125, + 0.00858306884765625, + 0.035491943359375, + 0.03851318359375, + 0.02032470703125, + 0.002002716064453125, + -0.01534271240234375, + 0.0217742919921875, + 0.019256591796875, + -0.05218505859375, + -0.0231170654296875, + -0.0212249755859375, + -0.036529541015625, + -0.025360107421875, + 0.012115478515625, + -0.0472412109375, + -0.0113372802734375, + 0.0187835693359375, + -0.031280517578125, + -0.0245513916015625, + 0.0048065185546875, + -0.0008301734924316406, + -0.0110015869140625, + 0.01238250732421875, + 0.0250701904296875, + 0.05865478515625, + 0.0081634521484375, + -0.004451751708984375, + 0.005100250244140625, + -0.030670166015625, + 0.043212890625, + 0.0261688232421875, + 0.010223388671875, + -0.00511932373046875, + -0.0125885009765625, + 0.01031494140625, + 0.00821685791015625, + -0.0026226043701171875, + -0.0290069580078125, + -0.00249481201171875, + -0.016143798828125, + -0.027618408203125, + 0.046417236328125, + -0.005157470703125, + 0.0555419921875, + -0.01776123046875, + 0.03594970703125, + 0.035552978515625, + -0.02142333984375, + -0.020660400390625, + -0.046417236328125, + 0.0169525146484375, + -0.00478363037109375, + 0.053497314453125, + 0.013427734375, + 0.0263824462890625, + 0.0295257568359375, + 0.020660400390625, + 0.0214691162109375, + -0.010711669921875, + 0.02410888671875, + -0.032928466796875, + 0.036224365234375, + -0.038299560546875, + 0.0276031494140625, + -0.0090179443359375, + -0.035369873046875, + -0.003894805908203125, + 0.01195526123046875, + 0.024749755859375, + -0.0166778564453125, + -0.039093017578125, + 0.07757568359375, + -0.0110321044921875, + 0.00045752525329589844, + -0.0217742919921875, + 0.0201873779296875, + 0.00907135009765625, + 0.036407470703125, + 0.03790283203125, + 0.06842041015625, + -0.0200347900390625, + 0.002384185791015625, + -0.05853271484375, + 0.0194244384765625, + -0.00946807861328125, + 0.0140838623046875, + 0.009185791015625, + 0.00615692138671875, + 0.0098419189453125, + -0.01319122314453125, + 0.0188140869140625, + -0.0034160614013671875, + -0.037994384765625, + 0.0274658203125, + -0.0222625732421875, + 0.0712890625, + 0.00960540771484375, + 0.006832122802734375, + 0.0286102294921875, + 0.03192138671875, + 0.054168701171875, + -0.001338958740234375, + -0.05133056640625, + -0.044921875, + -0.0212860107421875, + -0.0086212158203125, + -0.0308837890625, + 0.08050537109375, + -0.0245513916015625, + -0.043548583984375, + 0.006771087646484375, + -0.05389404296875, + 0.018218994140625, + -0.04730224609375, + 0.006412506103515625, + -0.01488494873046875, + -0.0283203125, + -0.01374053955078125, + 0.017547607421875, + -0.02117919921875, + 0.0033855438232421875, + 0.0022945404052734375, + -0.0244293212890625, + -0.00341796875, + 0.041839599609375, + -0.04351806640625, + -0.0203094482421875, + -0.051849365234375, + 0.046630859375, + 0.0452880859375, + -0.007297515869140625, + 0.042388916015625, + 0.0421142578125, + -0.012603759765625, + -0.02685546875, + -0.00768280029296875, + 0.0032444000244140625, + 0.0301361083984375, + 0.033660888671875, + -0.0672607421875, + -0.030059814453125, + 0.04052734375, + 0.03924560546875, + 0.0038585662841796875, + 0.0186004638671875, + -0.049285888671875, + -0.0098114013671875, + 0.01763916015625, + 0.01013946533203125, + 0.00899505615234375, + -0.037811279296875, + 0.0091094970703125, + 0.0163421630859375, + -0.03228759765625, + 0.02716064453125, + -0.020416259765625, + -0.0017795562744140625, + -0.037078857421875, + 0.0090484619140625, + 0.072021484375, + 0.0072784423828125, + 0.07470703125, + 0.055694580078125, + -0.024688720703125, + 0.0177459716796875, + 0.0236053466796875, + -0.041046142578125, + -0.0411376953125, + -0.01317596435546875, + 0.0076446533203125, + 0.0029048919677734375, + -0.072265625, + -0.038177490234375, + -0.003444671630859375, + -0.01763916015625, + 0.033233642578125, + -0.00048351287841796875, + 0.03466796875, + -0.014678955078125, + 0.0138092041015625, + 0.025665283203125, + -0.0150146484375, + 0.01806640625, + -0.040496826171875, + -0.007160186767578125, + -0.038665771484375, + -0.01953125, + -0.040771484375, + -0.0228118896484375, + -0.01486968994140625, + -0.015869140625, + 0.03204345703125, + 0.0019397735595703125, + -0.0125885009765625, + -0.04693603515625, + -0.0260009765625, + -0.0269012451171875, + 0.056915283203125, + 0.027313232421875, + 0.0174713134765625, + -0.001461029052734375, + 0.004486083984375, + 0.028045654296875, + 0.0276947021484375, + 0.030914306640625, + -0.027374267578125, + 0.0009226799011230469, + -0.04443359375, + -0.020233154296875, + -0.0068359375, + 0.00803375244140625, + 0.040618896484375, + -0.0335693359375, + 0.05126953125, + -0.04791259765625, + -0.02716064453125, + 0.0019311904907226562, + -0.00893402099609375, + -0.02032470703125, + -0.0615234375, + 0.01364898681640625, + -0.01351165771484375, + 0.0152130126953125, + -0.0089874267578125, + -0.00656890869140625, + 0.007251739501953125, + -0.02459716796875, + -0.0225982666015625, + 0.01849365234375, + 0.0302276611328125, + 0.010711669921875, + -0.026123046875, + 0.0021152496337890625, + 0.00525665283203125, + -0.02923583984375, + -0.01497650146484375, + 0.01180267333984375, + 0.0240478515625, + -0.0029850006103515625, + 0.004123687744140625, + 0.0182342529296875, + 0.01560211181640625, + -0.0638427734375, + -0.0007700920104980469, + 0.01015472412109375, + -0.009857177734375, + 0.032684326171875, + 0.006374359130859375, + 0.04986572265625, + -0.00617218017578125, + -0.049652099609375, + -0.01180267333984375, + 0.041046142578125, + -0.023406982421875, + -0.0214385986328125, + -0.019805908203125, + -0.046234130859375, + 0.00817108154296875, + 0.05621337890625, + -0.017730712890625, + 0.035430908203125, + -0.022369384765625, + -0.00920867919921875, + -0.0006623268127441406, + 0.01654052734375, + 0.0579833984375, + 0.055389404296875, + 0.0826416015625, + -0.0003933906555175781, + -0.0279693603515625, + 0.01129150390625, + -0.01113128662109375, + -0.057525634765625, + -0.043670654296875, + 0.053192138671875, + 0.0238037109375, + -0.046630859375, + 0.015869140625, + 0.04541015625, + 0.03216552734375, + -0.005626678466796875, + 0.030059814453125, + -0.023406982421875, + 0.002010345458984375, + 0.014495849609375, + 0.01763916015625, + 0.00788116455078125, + 0.039886474609375, + 0.0036773681640625, + 0.006076812744140625, + 0.0162811279296875, + -0.0007190704345703125, + 0.0208587646484375, + -0.02081298828125, + 0.058441162109375, + 0.0266571044921875, + -0.0256500244140625, + 0.0016736984252929688, + 0.009490966796875, + -0.056671142578125, + -0.007648468017578125, + -0.021026611328125, + -0.02447509765625, + 0.035400390625, + -0.0557861328125, + 0.0198974609375, + -0.01316070556640625, + 0.005306243896484375, + -0.03692626953125, + 0.0265655517578125, + -0.1336669921875, + 0.0718994140625, + -0.0012416839599609375, + 0.01482391357421875, + -0.0235443115234375, + 0.034332275390625, + -0.005153656005859375, + -0.0029010772705078125, + -0.04095458984375, + -0.043121337890625, + -0.0185394287109375, + 0.037872314453125, + 0.0321044921875, + -0.0281982421875, + -0.023529052734375, + 0.03814697265625, + -0.044403076171875, + 0.0203399658203125, + 0.0038700103759765625, + 0.0240325927734375, + -0.0007467269897460938, + -0.028778076171875, + 0.035064697265625, + -0.0276947021484375, + 0.0129547119140625, + 0.0020732879638671875, + 0.004978179931640625, + 0.0146026611328125, + 0.0002663135528564453, + -0.04864501953125, + -0.0222320556640625, + -0.0238800048828125, + 0.01338958740234375, + 0.042449951171875, + -0.0245513916015625, + 0.0017223358154296875, + 0.0194244384765625, + -0.034149169921875, + 0.00853729248046875, + 0.048187255859375, + -0.0036678314208984375, + 0.01123046875, + -0.0257720947265625, + 0.0012569427490234375, + -0.01245880126953125, + -0.0009374618530273438, + -0.00836944580078125, + -0.0325927734375, + -0.0762939453125, + -0.0299224853515625, + 0.0013532638549804688, + -0.0012664794921875, + 0.0168609619140625, + 0.01274871826171875, + -0.0127105712890625, + 0.00737762451171875, + -0.0367431640625, + -0.0006165504455566406, + -0.03472900390625, + 0.022796630859375, + -0.01393890380859375, + 0.006214141845703125, + -0.0223388671875, + -0.01364898681640625, + -0.018890380859375, + 0.0173187255859375, + -0.011474609375, + 0.004589080810546875, + 0.025726318359375, + -0.0125274658203125, + -0.03143310546875, + 0.051849365234375, + 0.01457977294921875, + 0.03192138671875, + 0.0037250518798828125, + 0.0158538818359375, + 0.06378173828125, + 0.00042247772216796875, + 0.0086822509765625, + -0.01316070556640625, + -0.0274810791015625, + -0.00577545166015625, + 0.027618408203125, + -0.0345458984375, + 0.004215240478515625, + -0.038055419921875, + -0.00884246826171875, + -0.019073486328125, + -0.0153350830078125, + -0.02972412109375, + -0.033905029296875, + -0.06622314453125, + 0.01419830322265625, + 0.0023365020751953125, + -0.047607421875, + 0.024017333984375, + 0.007465362548828125, + -0.0187225341796875, + -0.0015153884887695312, + -0.051422119140625, + 0.0306396484375, + -0.00547027587890625, + -0.01605224609375, + -0.04107666015625, + -0.0199432373046875, + 0.039947509765625, + -0.07403564453125, + -0.016326904296875, + -0.0174407958984375, + -0.061431884765625, + 0.00901031494140625, + -0.018218994140625, + -0.00650787353515625, + 0.01300811767578125, + 0.004695892333984375, + 0.0189208984375, + 0.021697998046875, + 0.05279541015625, + 0.03717041015625, + -0.048919677734375, + -0.0039215087890625, + 0.02386474609375, + 0.03125, + -0.03680419921875, + 0.0022983551025390625, + 0.0328369140625, + 0.054779052734375, + -0.0182952880859375, + 0.03814697265625, + -0.039947509765625, + 0.015625, + -0.0160369873046875, + -0.00555419921875, + -0.00406646728515625, + 0.037322998046875, + -0.0102081298828125, + -0.004528045654296875, + 0.0305328369140625, + 0.0008673667907714844, + -0.020782470703125, + 0.007598876953125, + 0.00879669189453125, + -0.015594482421875, + -0.00652313232421875, + -0.03424072265625, + -0.00028133392333984375, + -0.007122039794921875, + -0.0100250244140625, + 0.004276275634765625, + -0.013671875, + 0.044158935546875, + -0.0151519775390625, + 0.00989532470703125, + 0.05712890625, + -0.01132965087890625, + 0.033966064453125, + -0.050689697265625, + 0.00455474853515625, + 0.01506805419921875, + -0.005222320556640625, + -0.01171875, + -0.0213470458984375, + -0.053192138671875, + -0.0166015625, + 0.00615692138671875, + -0.0247650146484375, + -0.001438140869140625, + -0.0013341903686523438, + -0.01947021484375, + -0.042449951171875, + -0.051971435546875, + 0.057403564453125, + -0.0321044921875, + 0.0006551742553710938, + 0.043548583984375, + -0.0308685302734375, + -0.009735107421875, + 0.0223846435546875, + -0.013214111328125, + 0.033935546875, + 0.031524658203125, + 0.037506103515625, + 0.00475311279296875, + 0.061004638671875, + 0.00952911376953125, + -0.0217742919921875, + -0.045867919921875, + 0.001964569091796875, + 0.035003662109375, + -0.0245361328125, + -0.02569580078125, + -0.0618896484375, + -0.06207275390625, + 0.01103973388671875, + 0.00750732421875, + -0.0279083251953125, + 0.0029926300048828125, + 0.052459716796875, + -0.013397216796875, + 0.0362548828125, + -0.03558349609375, + -0.047393798828125, + 0.0114288330078125, + 0.0013437271118164062, + -0.03094482421875, + -0.02008056640625, + 0.043670654296875, + -0.0269012451171875, + -0.007061004638671875, + 0.004364013671875, + -0.03558349609375, + 0.02325439453125, + 0.0107879638671875, + 0.05419921875, + 0.0197601318359375, + -0.0027408599853515625, + 0.00250244140625, + -0.011138916015625, + 0.0155181884765625, + 0.05169677734375, + -0.0023479461669921875, + 0.03515625, + -0.034912109375, + 0.008026123046875, + -0.004947662353515625, + -7.152557373046875e-05, + -0.0282745361328125, + 0.0175323486328125, + -0.0018482208251953125, + -0.0196075439453125, + 0.028717041015625, + -0.0015573501586914062, + 0.0026378631591796875, + 0.019622802734375, + 0.003520965576171875, + -0.017608642578125, + -0.00998687744140625, + -0.006816864013671875, + 0.00011783838272094727, + -0.01401519775390625, + 0.033843994140625, + 8.14199447631836e-05, + 0.0200042724609375, + -0.002063751220703125 + ] + ], + "sparse": [ + { + "615": 0.173828125, + "6": 0.1475830078125, + "50306": 0.17529296875, + "36483": 0.2734375, + "5100": 0.232421875, + "43024": 0.285888671875, + "18248": 0.308837890625, + "12": 0.1373291015625, + "35292": 0.2296142578125, + "38057": 0.2073974609375, + "62434": 0.2646484375, + "4": 0.09417724609375, + "354": 0.12200927734375, + "141026": 0.2332763671875, + "96905": 0.262451171875, + "955": 0.19873046875, + "23204": 0.29443359375, + "9632": 0.19873046875, + "2719": 0.147216796875, + "10721": 0.1392822265625, + "208582": 0.10687255859375, + "13447": 0.1343994140625, + "1925": 0.02142333984375, + "10736": 0.28662109375, + "2672": 0.1080322265625, + "6251": 0.237060546875, + "2308": 0.132080078125, + "145810": 0.293701171875, + "470": 0.1390380859375, + "30": 0.13623046875 + }, + { + "787": 0.2139892578125, + "6": 0.1397705078125, + "3846": 0.20166015625, + "4741": 0.277587890625, + "12": 0.138916015625, + "35292": 0.20166015625, + "1930": 0.183837890625, + "4": 0.119384765625, + "354": 0.1151123046875, + "3221": 0.163330078125, + "12245": 0.1629638671875, + "573": 0.1563720703125, + "198172": 0.291259765625, + "9632": 0.1331787109375, + "1965": 0.12646484375, + "55613": 0.1893310546875, + "3172": 0.1624755859375, + "3924": 0.1759033203125, + "5260": 0.127197265625, + "7981": 0.1783447265625, + "176896": 0.211181640625, + "131478": 0.1607666015625, + "2476": 0.1187744140625, + "18292": 0.1356201171875, + "116": 0.1253662109375, + "3895": 0.1802978515625, + "27362": 0.2529296875, + "30": 0.1243896484375 + }, + { + "1031": 0.207275390625, + "54553": 0.1278076171875, + "192741": 0.263916015625, + "24081": 0.241455078125, + "3744": 0.1678466796875, + "77493": 0.26025390625, + "12": 0.10498046875, + "35292": 0.1690673828125, + "3893": 0.1617431640625, + "10783": 0.08331298828125, + "3908": 0.068603515625, + "57315": 0.127197265625, + "2670": 0.1341552734375, + "7800": 0.1494140625, + "4": 0.102783203125, + "1034": 0.09320068359375, + "2413": 0.1163330078125, + "6728": 0.13232421875, + "249807": 0.25390625, + "43": 0.0772705078125, + "264": 0.0904541015625, + "69913": 0.1229248046875, + "34344": 0.0623779296875, + "124530": 0.15478515625, + "1107": 0.08135986328125, + "63198": 0.1444091796875, + "1795": 0.1768798828125, + "2719": 0.0916748046875, + "4965": 0.0443115234375, + "12767": 0.07769775390625, + "3300": 0.0849609375, + "1288": 0.1346435546875, + "10970": 0.191650390625, + "216767": 0.24560546875, + "131478": 0.11358642578125, + "30": 0.127685546875 + }, + { + "1398": 0.1927490234375, + "6": 0.0872802734375, + "154576": 0.2237548828125, + "45309": 0.2156982421875, + "104351": 0.215576171875, + "6778": 0.25048828125, + "12": 0.094482421875, + "35292": 0.1607666015625, + "51401": 0.1666259765625, + "4": 0.050140380859375, + "2308": 0.06536865234375, + "4441": 0.060791015625, + "2954": 0.08721923828125, + "224770": 0.19140625, + "470": 0.0985107421875, + "11158": 0.0992431640625, + "95544": 0.1925048828125, + "354": 0.0648193359375, + "7267": 0.1068115234375, + "147415": 0.1417236328125, + "19049": 0.1912841796875, + "79245": 0.1646728515625, + "9378": 0.150390625, + "180894": 0.2210693359375, + "30": 0.1270751953125 + }, + { + "1892": 0.2413330078125, + "6": 0.129638671875, + "20153": 0.2222900390625, + "197832": 0.298583984375, + "109266": 0.31396484375, + "12": 0.12188720703125, + "35292": 0.2000732421875, + "26449": 0.1641845703125, + "6128": 0.1275634765625, + "6347": 0.1407470703125, + "3300": 0.20263671875, + "4": 0.0667724609375, + "2719": 0.08978271484375, + "22086": 0.11865234375, + "157418": 0.1639404296875, + "14258": 0.1649169921875, + "180883": 0.1766357421875, + "13138": 0.078857421875, + "138585": 0.154296875, + "37963": 0.1884765625, + "1064": 0.10198974609375, + "98568": 0.1820068359375, + "2413": 0.00917816162109375, + "52995": 0.212158203125, + "2308": 0.073486328125, + "611": 0.1600341796875, + "14226": 0.2281494140625, + "470": 0.08123779296875, + "202919": 0.26123046875, + "354": 0.07952880859375, + "3221": 0.13232421875, + "1378": 0.1588134765625, + "12245": 0.15966796875, + "573": 0.151611328125, + "198172": 0.2802734375, + "9632": 0.1385498046875, + "30": 0.11822509765625 + }, + { + "2289": 0.193115234375, + "6": 0.06561279296875, + "234078": 0.2330322265625, + "11480": 0.1802978515625, + "22185": 0.19140625, + "6105": 0.189697265625, + "12": 0.08551025390625, + "35292": 0.1361083984375, + "65865": 0.1981201171875, + "9994": 0.188720703125, + "4": 0.040252685546875, + "354": 0.055694580078125, + "387": 0.170654296875, + "42264": 0.140625, + "121601": 0.09393310546875, + "94474": 0.1773681640625, + "17892": 0.0589599609375, + "19958": 0.22802734375, + "9632": 0.07501220703125, + "1034": 0.0237274169921875, + "2413": 0.016937255859375, + "135851": 0.15966796875, + "111696": 0.19873046875, + "15065": 0.191650390625, + "52405": 0.2056884765625, + "63198": 0.06976318359375, + "1795": 0.1202392578125, + "2308": 0.08099365234375, + "6717": 0.0872802734375 + }, + { + "2861": 0.218505859375, + "6": 0.1456298828125, + "89078": 0.1964111328125, + "31170": 0.222900390625, + "39351": 0.267822265625, + "12": 0.144775390625, + "35292": 0.216064453125, + "38057": 0.1953125, + "62434": 0.2447509765625, + "4": 0.0986328125, + "354": 0.1412353515625, + "70671": 0.2008056640625, + "19049": 0.2261962890625, + "101183": 0.318359375, + "9632": 0.1824951171875, + "23950": 0.1678466796875, + "19691": 0.2081298828125, + "57910": 0.196533203125, + "5384": 0.109375, + "9186": 0.0977783203125, + "59182": 0.1728515625, + "9383": 0.1700439453125, + "43": 0.10491943359375, + "1487": 0.108154296875, + "29699": 0.10845947265625, + "40767": 0.16455078125, + "34344": 0.159423828125, + "68565": 0.205810546875, + "1588": 0.090087890625, + "264": 0.1094970703125, + "164637": 0.1854248046875, + "19563": 0.10748291015625, + "174374": 0.1920166015625, + "16623": 0.11181640625, + "15475": 0.1776123046875, + "2920": 0.1328125, + "74917": 0.136962890625 + }, + { + "3217": 0.2498779296875, + "6": 0.11370849609375, + "97556": 0.215576171875, + "3490": 0.199951171875, + "3300": 0.20654296875, + "573": 0.165283203125, + "213072": 0.321044921875, + "12": 0.09735107421875, + "35292": 0.1702880859375, + "3893": 0.1849365234375, + "264": 0.1280517578125, + "40512": 0.208251953125, + "6582": 0.1669921875, + "11888": 0.1871337890625, + "7646": 0.1263427734375, + "4": 0.08197021484375, + "2719": 0.1297607421875, + "41953": 0.196044921875, + "6545": 0.178466796875, + "57372": 0.21142578125, + "2413": 0.10400390625, + "69913": 0.126708984375, + "21884": 0.111572265625, + "43": 0.0755615234375, + "12550": 0.11712646484375, + "24082": 0.1259765625, + "21602": 0.216552734375, + "25009": 0.22802734375, + "4723": 0.06231689453125, + "141392": 0.175048828125, + "52216": 0.23291015625, + "30": 0.11279296875 + }, + { + "3569": 0.2042236328125, + "6": 0.07720947265625, + "26546": 0.1324462890625, + "20615": 0.12548828125, + "36483": 0.248291015625, + "10783": 0.1771240234375, + "573": 0.125244140625, + "112215": 0.29150390625, + "12": 0.09130859375, + "35292": 0.1453857421875, + "126006": 0.22607421875, + "16090": 0.06024169921875, + "103736": 0.176025390625, + "6786": 0.1597900390625, + "5100": 0.13525390625, + "4": 0.047454833984375, + "63925": 0.1412353515625, + "6251": 0.1650390625, + "2308": 0.0595703125, + "4441": 0.06268310546875, + "2954": 0.07073974609375, + "179973": 0.239990234375, + "470": 0.08447265625, + "8948": 0.099365234375, + "7408": 0.11883544921875, + "13012": 0.07470703125, + "3302": 0.13623046875, + "5294": 0.10888671875, + "264": 0.0892333984375, + "7318": 0.053009033203125, + "5364": 0.08282470703125, + "32567": 0.151123046875, + "5250": 0.1053466796875, + "354": 0.0675048828125, + "101183": 0.203369140625, + "30": 0.061279296875 + }, + { + "4068": 0.26025390625, + "6": 0.08233642578125, + "5958": 0.1292724609375, + "96984": 0.27294921875, + "2615": 0.1768798828125, + "12": 0.11627197265625, + "35292": 0.164794921875, + "69339": 0.1510009765625, + "36551": 0.14306640625, + "3586": 0.029449462890625, + "4635": 0.1473388671875, + "2920": 0.06671142578125, + "2272": 0.0657958984375, + "105820": 0.09808349609375, + "1395": 0.056396484375, + "3694": 0.1363525390625, + "7977": 0.1046142578125, + "7267": 0.12384033203125, + "19119": 0.1824951171875, + "3490": 0.190185546875, + "70051": 0.197509765625, + "98420": 0.2030029296875, + "4": 0.085693359375, + "354": 0.0777587890625, + "3221": 0.1512451171875, + "1378": 0.17041015625, + "12245": 0.1632080078125, + "573": 0.1484375, + "198172": 0.279296875, + "9632": 0.14306640625, + "182346": 0.28955078125, + "18292": 0.17236328125, + "149678": 0.24365234375, + "5473": 0.2061767578125 + } + ] +} \ No newline at end of file diff --git a/components/indexer/pinecone/examples/upsert_data/upsert_data.go b/components/indexer/pinecone/examples/upsert_data/upsert_data.go new file mode 100644 index 0000000..1e43b56 --- /dev/null +++ b/components/indexer/pinecone/examples/upsert_data/upsert_data.go @@ -0,0 +1,105 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package main + +import ( + "context" + "encoding/json" + "fmt" + "os" + "strings" + + "github.com/cloudwego/eino-ext/components/indexer/pinecone" + "github.com/cloudwego/eino/components/embedding" + "github.com/cloudwego/eino/schema" +) + +func main() { + ctx := context.Background() + str := `1. 埃菲尔铁塔:位于法国巴黎,是世界上最著名的地标之一,由居斯塔夫・埃菲尔设计并建于 1889 年。 +2. 长城:位于中国,是世界七大奇迹之一,从秦至明代修筑而成,全长超过 2 万公里。 +3. 大峡谷国家公园:位于美国亚利桑那州,以其深邃的峡谷和壮丽景色而闻名,峡谷由科罗拉多河切割而成。 +4. 罗马斗兽场:位于意大利罗马,于公元 70-80 年间建成,是古罗马帝国最大的圆形竞技场。 +5. 泰姬陵:位于印度阿格拉,由莫卧儿皇帝沙贾汉为纪念其妻子于 1653 年完工,是世界新七大奇迹之一。 +6. 悉尼歌剧院:位于澳大利亚悉尼港,是 20 世纪最具标志性的建筑之一,以其独特的帆船造型闻名于世。 +7. 卢浮宫:位于法国巴黎,是世界上最大的博物馆之一,馆藏丰富,包括达芬奇的《蒙娜丽莎》和希腊的《断臂维纳斯》。 +8. 尼亚加拉大瀑布:位于美国和加拿大交界处,由三个主要瀑布组成,其壮观的景象每年吸引数百万游客。 +9. 圣索菲亚大教堂:位于土耳其伊斯坦布尔,最初建于公元 537 年,曾作为东正教大教堂和清真寺,现在是博物馆。 +10. 马丘比丘:位于秘鲁安第斯山脉高原上的古印加遗址,是世界新七大奇迹之一,海拔超过 2400 米。` + loc := []string{"法国", "中国", "美国", "意大利", "印度", "澳大利亚", "法国", "美国", "土耳其", "秘鲁"} + + // dense / sparse vector by bge-m3 + b, err := os.ReadFile("./examples/upsert_data/ds.json") + if err != nil { + panic(err) + } + + var vs struct { + Dense [][]float64 `json:"dense"` + Sparse []map[int]float64 `json:"sparse"` + } + + if err := json.Unmarshal(b, &vs); err != nil { + panic(err) + } + + apiKey := os.Getenv("PINECONE_API_KEY") + indexName := "eino-index-test" // replace with your own index + indexer, err := pinecone.NewIndexer(ctx, &pinecone.IndexerConfig{ + ApiKey: apiKey, + IndexName: indexName, + Namespace: "", // default name space + Embedding: &mockEmbedding{vs.Dense}, + }) + if err != nil { + panic(err) + } + + var docs []*schema.Document + for i, content := range strings.Split(str, "\n") { + doc := &schema.Document{ + ID: fmt.Sprintf("%d", i+1), + Content: content, + MetaData: map[string]any{ + "location": loc[i], + }, + } + + // Eino Embedding interface doesn't support return of sparse vector, + // so you need to set sparse vector of document manually + doc.WithSparseVector(vs.Sparse[i]) + + docs = append(docs, doc) + } + + ids, err := indexer.Store(ctx, docs) + if err != nil { + panic(err) + } + + fmt.Println(ids) + // [1 2 3 4 5 6 7 8 9 10] +} + +// mockEmbedding returns embeddings with 1024 dimensions +type mockEmbedding struct { + dense [][]float64 +} + +func (m mockEmbedding) EmbedStrings(ctx context.Context, texts []string, opts ...embedding.Option) ([][]float64, error) { + return m.dense, nil +} diff --git a/components/indexer/pinecone/go.mod b/components/indexer/pinecone/go.mod new file mode 100644 index 0000000..127f8bf --- /dev/null +++ b/components/indexer/pinecone/go.mod @@ -0,0 +1,60 @@ +module github.com/cloudwego/eino-ext/components/indexer/pinecone + +go 1.21 + +toolchain go1.22.2 + +require ( + github.com/bytedance/mockey v1.2.13 + github.com/cloudwego/eino v0.3.6 + github.com/pinecone-io/go-pinecone v1.1.1 + github.com/smartystreets/goconvey v1.8.1 + google.golang.org/protobuf v1.34.1 +) + +require ( + github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect + github.com/bytedance/sonic v1.12.2 // indirect + github.com/bytedance/sonic/loader v0.2.0 // indirect + github.com/cloudwego/base64x v0.1.4 // indirect + github.com/cloudwego/iasm v0.2.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/getkin/kin-openapi v0.118.0 // indirect + github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/swag v0.19.5 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/goph/emperror v0.17.2 // indirect + github.com/gopherjs/gopherjs v1.17.2 // indirect + github.com/invopop/yaml v0.1.0 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/jtolds/gls v4.20.0+incompatible // indirect + github.com/klauspost/cpuid/v2 v2.2.5 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/nikolalohinski/gonja v1.5.3 // indirect + github.com/oapi-codegen/runtime v1.1.1 // indirect + github.com/pelletier/go-toml/v2 v2.0.9 // indirect + github.com/perimeterx/marshmallow v1.1.4 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect + github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f // indirect + github.com/smarty/assertions v1.15.0 // indirect + github.com/stretchr/testify v1.9.0 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/yargevad/filepathx v1.0.0 // indirect + golang.org/x/arch v0.11.0 // indirect + golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect + golang.org/x/net v0.25.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.15.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect + google.golang.org/grpc v1.65.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/components/indexer/pinecone/go.sum b/components/indexer/pinecone/go.sum new file mode 100644 index 0000000..0c41f41 --- /dev/null +++ b/components/indexer/pinecone/go.sum @@ -0,0 +1,189 @@ +github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk= +github.com/airbrake/gobrake v3.6.1+incompatible/go.mod h1:wM4gu3Cn0W0K7GUuVWnlXZU11AGBXMILnrdOU8Kn00o= +github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= +github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bugsnag/bugsnag-go v1.4.0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/panicwrap v1.2.0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/bytedance/mockey v1.2.13 h1:jokWZAm/pUEbD939Rhznz615MKUCZNuvCFQlJ2+ntoo= +github.com/bytedance/mockey v1.2.13/go.mod h1:1BPHF9sol5R1ud/+0VEHGQq/+i2lN+GTsr3O2Q9IENY= +github.com/bytedance/sonic v1.12.2 h1:oaMFuRTpMHYLpCntGca65YWt5ny+wAceDERTkT2L9lg= +github.com/bytedance/sonic v1.12.2/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKzMzT9r/rk= +github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= +github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/certifi/gocertifi v0.0.0-20190105021004-abcd57078448/go.mod h1:GJKEexRPVJrBSOjoqN5VNOIKJ5Q3RViH6eu3puDRwx4= +github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y= +github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= +github.com/cloudwego/eino v0.3.6 h1:3yfdKKxMVWefdOyGXHuqUMM5cc9iioijj2mpPsDZKIg= +github.com/cloudwego/eino v0.3.6/go.mod h1:+kmJimGEcKuSI6OKhet7kBedkm1WUZS3H1QRazxgWUo= +github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= +github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/getkin/kin-openapi v0.118.0 h1:z43njxPmJ7TaPpMSCQb7PN0dEYno4tyBPQcrFdHoLuM= +github.com/getkin/kin-openapi v0.118.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127 h1:0gkP6mzaMqkmpcJYCFOLkIBwI7xFExG03bbkOkCvUPI= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= +github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/goph/emperror v0.17.2 h1:yLapQcmEsO0ipe9p5TaN22djm3OFV/TfM/fcYP0/J18= +github.com/goph/emperror v0.17.2/go.mod h1:+ZbQ+fUNO/6FNiUo0ujtMjhgad9Xa6fQL9KhH4LNHic= +github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= +github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/invopop/yaml v0.1.0 h1:YW3WGUoJEXYfzWBjn00zIlrw7brGVD0fUKRYDPAPhrc= +github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= +github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= +github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/nikolalohinski/gonja v1.5.3 h1:GsA+EEaZDZPGJ8JtpeGN78jidhOlxeJROpqMT9fTj9c= +github.com/nikolalohinski/gonja v1.5.3/go.mod h1:RmjwxNiXAEqcq1HeK5SSMmqFJvKOfTfXhkJv6YBtPa4= +github.com/oapi-codegen/runtime v1.1.1 h1:EXLHh0DXIJnWhdRPN2w4MXAzFyE4CskzhNLUmtpMYro= +github.com/oapi-codegen/runtime v1.1.1/go.mod h1:SK9X900oXmPWilYR5/WKPzt3Kqxn/uS/+lbpREv+eCg= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0= +github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/perimeterx/marshmallow v1.1.4 h1:pZLDH9RjlLGGorbXhcaQLhfuV0pFMNfPO55FuFkxqLw= +github.com/perimeterx/marshmallow v1.1.4/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= +github.com/pinecone-io/go-pinecone v1.1.1 h1:pKoIiYcBIbrR7gaq0JXPiVnNEtevFYeq/AYL7T0NbbE= +github.com/pinecone-io/go-pinecone v1.1.1/go.mod h1:KfJhn4yThX293+fbtrZLnxe2PJYo8557Py062W4FYKk= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rollbar/rollbar-go v1.0.2/go.mod h1:AcFs5f0I+c71bpHlXNNDbOWJiKwjFDtISeXco0L5PKQ= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f h1:Z2cODYsUxQPofhpYRMQVwWz4yUVpHF+vPi+eUdruUYI= +github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f/go.mod h1:JqzWyvTuI2X4+9wOHmKSQCYxybB/8j6Ko43qVmXDuZg= +github.com/smarty/assertions v1.15.0 h1:cR//PqUBUiQRakZWqBiFFQ9wb8emQGDb0HeGdqGByCY= +github.com/smarty/assertions v1.15.0/go.mod h1:yABtdzeQs6l1brC900WlRNwj6ZR55d7B+E8C6HtKdec= +github.com/smartystreets/goconvey v1.8.1 h1:qGjIddxOk4grTu9JPOU31tVfq3cNdBlNa5sSznIX1xY= +github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60= +github.com/spkg/bom v0.0.0-20160624110644-59b7046e48ad/go.mod h1:qLr4V1qq6nMqFKkMo8ZTx3f+BZEkzsRUY10Xsm2mwU0= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= +github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= +github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= +github.com/yargevad/filepathx v1.0.0 h1:SYcT+N3tYGi+NvazubCNlvgIPbzAk7i7y2dwg3I5FYc= +github.com/yargevad/filepathx v1.0.0/go.mod h1:BprfX/gpYNJHJfc35GjRRpVcwWXS89gGulUIU5tK3tA= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= +golang.org/x/arch v0.11.0 h1:KXV8WWKCXm6tRpLirl2szsO5j/oOODwZf4hATmGVNs4= +golang.org/x/arch v0.11.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw= +golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 h1:7whR9kGa5LUwFtpLm2ArCEejtnxlGeLbAyjFY8sGNFw= +google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157/go.mod h1:99sLkeliLXfdj2J75X3Ho+rrVCaJze0uwN7zDDkjPVU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= diff --git a/components/indexer/pinecone/indexer.go b/components/indexer/pinecone/indexer.go new file mode 100644 index 0000000..b2fd3d5 --- /dev/null +++ b/components/indexer/pinecone/indexer.go @@ -0,0 +1,278 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package pinecone + +import ( + "context" + "fmt" + "net/http" + + "github.com/cloudwego/eino/callbacks" + "github.com/cloudwego/eino/components" + "github.com/cloudwego/eino/components/embedding" + "github.com/cloudwego/eino/components/indexer" + "github.com/cloudwego/eino/schema" + "github.com/pinecone-io/go-pinecone/pinecone" + "google.golang.org/protobuf/types/known/structpb" +) + +const ( + batchSize = 200 + defaultContentKey = "content" +) + +type IndexerConfig struct { + // Client parameters + ApiKey string // required + Headers map[string]string // optional + Host string // optional + RestClient *http.Client // optional + SourceTag string // optional + + // Index Connection parameters + IndexName string // required + Namespace string // optional - if not provided the default namespace of "" will be used + AdditionalMetadata map[string]string // optional + + // Store parameters + // BatchSize max size for pinecone UpsertVectors and Embedding. + // Default is 200. + BatchSize int + // DocumentToMetadata converts eino document to pinecone Metadata. + // Metadata payloads must be key-value pairs in a JSON object. + // Keys must be strings, and values can be one of the following data types: + // 1. String + // 2. Number (integer or floating point, gets converted to a 64 bit floating point) + // 3. Booleans (true, false) + // 4. List of strings + // If DocumentToMetadata is not set, will use defaultDocumentToMetadata as default. + DocumentToMetadata func(ctx context.Context, doc *schema.Document) (map[string]any, error) + // Embedding vectorization method when dense vector not provided in document extra + Embedding embedding.Embedder +} + +type Indexer struct { + conf *IndexerConfig + idxConn *pinecone.IndexConnection +} + +func NewIndexer(ctx context.Context, config *IndexerConfig) (*Indexer, error) { + clientParams := pinecone.NewClientParams{ + ApiKey: config.ApiKey, + Headers: config.Headers, + Host: config.Host, + RestClient: config.RestClient, + SourceTag: config.SourceTag, + } + + pc, err := pinecone.NewClient(clientParams) + if err != nil { + return nil, fmt.Errorf("pinecone: Failed to create Client: %w", err) + } + + idx, err := pc.DescribeIndex(ctx, config.IndexName) + if err != nil { + return nil, fmt.Errorf("pinecone: Failed to describe index %v: %w", config.IndexName, err) + } + + idxConn, err := pc.Index(pinecone.NewIndexConnParams{ + Host: idx.Host, + Namespace: config.Namespace, + AdditionalMetadata: config.AdditionalMetadata, + }) + if err != nil { + return nil, fmt.Errorf("pinecone: Failed to create IndexConnection for Host: %v: %w", idx.Host, err) + } + + if config.BatchSize == 0 { + config.BatchSize = batchSize + } + + if config.DocumentToMetadata == nil { + config.DocumentToMetadata = defaultDocumentToMetadata + } + + return &Indexer{ + conf: config, + idxConn: idxConn, + }, nil +} + +func (i *Indexer) Store(ctx context.Context, docs []*schema.Document, opts ...indexer.Option) (ids []string, err error) { + defer func() { + if err != nil { + callbacks.OnError(ctx, err) + } + }() + + options := indexer.GetCommonOptions(&indexer.Options{Embedding: i.conf.Embedding}, opts...) + + ctx = callbacks.OnStart(ctx, &indexer.CallbackInput{Docs: docs}) + + for _, batch := range chunk(docs, i.conf.BatchSize) { + in, err := i.makeBatchRequest(ctx, batch, options) + if err != nil { + return nil, err + } + + _, err = i.idxConn.UpsertVectors(ctx, in) + if err != nil { + return nil, err + } + + ids = append(ids, iter(batch, func(t *schema.Document) string { return t.ID })...) + } + + callbacks.OnEnd(ctx, &indexer.CallbackOutput{IDs: ids}) + + return ids, nil +} + +func (i *Indexer) makeBatchRequest(ctx context.Context, batch []*schema.Document, option *indexer.Options) ( + pvs []*pinecone.Vector, err error) { + + emb := option.Embedding + + var ( + indices []int + texts []string + ) + + for idx, doc := range batch { + dense := doc.DenseVector() + if dense == nil { + indices = append(indices, idx) + texts = append(texts, doc.Content) + } + + pv := &pinecone.Vector{ + Id: doc.ID, + Values: f64To32(dense), + SparseValues: toPineconeSparseVector(doc.SparseVector()), + } + + metadata, err := i.conf.DocumentToMetadata(ctx, doc) + if err != nil { + return nil, fmt.Errorf("[makeBatchRequest] DocumentToMetadata failed, %w", err) + } + + md, err := structpb.NewStruct(metadata) + if err != nil { + return nil, err + } + + pv.Metadata = md + pvs = append(pvs, pv) + } + + if len(texts) > 0 { + if emb == nil { + return nil, fmt.Errorf("[makeBatchRequest] embedding not provided from config") + } + + vectors, err := emb.EmbedStrings(i.makeEmbeddingCtx(ctx, emb), texts) + if err != nil { + return nil, fmt.Errorf("[makeBatchRequest] embed error, %w", err) + } + + if len(vectors) != len(indices) { + return nil, fmt.Errorf("[makeBatchRequest] invalid return length of vector, got=%d, expected=%d", + len(vectors), len(indices)) + } + + for j, idx := range indices { + pvs[idx].Values = f64To32(vectors[j]) + } + } + + return pvs, nil +} + +func (i *Indexer) makeEmbeddingCtx(ctx context.Context, emb embedding.Embedder) context.Context { + runInfo := &callbacks.RunInfo{ + Component: components.ComponentOfEmbedding, + } + + if embType, ok := components.GetType(emb); ok { + runInfo.Type = embType + } + + runInfo.Name = runInfo.Type + string(runInfo.Component) + + return callbacks.ReuseHandlers(ctx, runInfo) +} + +const typ = "Pinecone" + +func (i *Indexer) GetType() string { + return typ +} + +func (i *Indexer) IsCallbacksEnabled() bool { + return true +} + +func defaultDocumentToMetadata(ctx context.Context, doc *schema.Document) (map[string]any, error) { + r := make(map[string]interface{}) + + for k := range doc.MetaData { + v := doc.MetaData[k] + if isValidType(v) { + r[k] = v + } + } + + r[defaultContentKey] = doc.Content + + return r, nil +} + +func toPineconeSparseVector(sparse map[int]float64) *pinecone.SparseValues { + if sparse == nil { + return nil + } + sv := &pinecone.SparseValues{ + Indices: make([]uint32, 0, len(sparse)), + Values: make([]float32, 0, len(sparse)), + } + + for indices, vector := range sparse { + sv.Indices = append(sv.Indices, uint32(indices)) + sv.Values = append(sv.Values, float32(vector)) + } + + return sv +} + +func isValidType(value interface{}) bool { + switch value.(type) { + case string: + return true + case int, int8, int16, int32, int64: + return true + case uint, uint8, uint16, uint32, uint64: + return true + case float32, float64: + return true + case bool: + return true + case []string: + return true + default: + return false + } +} diff --git a/components/indexer/pinecone/indexer_test.go b/components/indexer/pinecone/indexer_test.go new file mode 100644 index 0000000..2853eb0 --- /dev/null +++ b/components/indexer/pinecone/indexer_test.go @@ -0,0 +1,168 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package pinecone + +import ( + "context" + "fmt" + "testing" + + . "github.com/bytedance/mockey" + "github.com/cloudwego/eino/components/embedding" + "github.com/cloudwego/eino/components/indexer" + "github.com/cloudwego/eino/schema" + "github.com/pinecone-io/go-pinecone/pinecone" + "github.com/smartystreets/goconvey/convey" +) + +func TestNewIndexer(t *testing.T) { + PatchConvey("test NewIndexer", t, func() { + ctx := context.Background() + + PatchConvey("test pinecone NewClient failed", func() { + mockErr := fmt.Errorf("mock err") + Mock(pinecone.NewClient).Return(nil, mockErr).Build() + i, err := NewIndexer(ctx, &IndexerConfig{}) + convey.So(err, convey.ShouldBeError, fmt.Errorf("pinecone: Failed to create Client: %w", mockErr)) + convey.So(i, convey.ShouldBeNil) + }) + + PatchConvey("test DescribeIndex failed", func() { + mockErr := fmt.Errorf("mock err") + pc := &pinecone.Client{} + Mock(pinecone.NewClient).Return(pc, nil).Build() + Mock(GetMethod(pc, "DescribeIndex")).Return(nil, mockErr).Build() + i, err := NewIndexer(ctx, &IndexerConfig{IndexName: "mock_index"}) + convey.So(err, convey.ShouldBeError, fmt.Errorf("pinecone: Failed to describe index mock_index: %w", mockErr)) + convey.So(i, convey.ShouldBeNil) + }) + + PatchConvey("test success", func() { + pc := &pinecone.Client{} + idx := &pinecone.Index{} + Mock(pinecone.NewClient).Return(pc, nil).Build() + Mock(GetMethod(pc, "DescribeIndex")).Return(idx, nil).Build() + Mock(GetMethod(pc, "Index")).Return(&pinecone.IndexConnection{}, nil).Build() + i, err := NewIndexer(ctx, &IndexerConfig{IndexName: "mock_index"}) + convey.So(err, convey.ShouldBeNil) + convey.So(i, convey.ShouldNotBeNil) + }) + }) +} + +func TestMakeBatchRequest(t *testing.T) { + PatchConvey("test makeBatchRequest", t, func() { + ctx := context.Background() + d1 := &schema.Document{ID: "1", Content: "asd"} + d2 := &schema.Document{ID: "2", Content: "qwe", MetaData: map[string]any{ + "mock_field_1": map[string]any{"extra_field_1": "asd"}, + "mock_field_2": int64(123), + }} + d1.WithSparseVector(map[int]float64{123: 0.1}) + d2.WithSparseVector(map[int]float64{321: 0.2}) + docs := []*schema.Document{d1, d2} + + PatchConvey("test DocumentToMetadata failed", func() { + mockErr := fmt.Errorf("mock err") + i := &Indexer{conf: &IndexerConfig{ + DocumentToMetadata: func(ctx context.Context, doc *schema.Document) (map[string]any, error) { + return nil, mockErr + }, + }} + pvs, err := i.makeBatchRequest(ctx, docs, &indexer.Options{ + Embedding: nil, + }) + convey.So(err, convey.ShouldBeError, fmt.Errorf("[makeBatchRequest] DocumentToMetadata failed, %w", mockErr)) + convey.So(pvs, convey.ShouldBeNil) + }) + + PatchConvey("test embedding not provided", func() { + i := &Indexer{conf: &IndexerConfig{ + DocumentToMetadata: defaultDocumentToMetadata, + }} + pvs, err := i.makeBatchRequest(ctx, docs, &indexer.Options{ + Embedding: nil, + }) + convey.So(err, convey.ShouldBeError, fmt.Errorf("[makeBatchRequest] embedding not provided from config")) + convey.So(pvs, convey.ShouldBeNil) + }) + + PatchConvey("test embed error", func() { + mockErr := fmt.Errorf("mock err") + i := &Indexer{conf: &IndexerConfig{ + DocumentToMetadata: defaultDocumentToMetadata, + }} + pvs, err := i.makeBatchRequest(ctx, docs, &indexer.Options{ + Embedding: &mockEmbedding{err: mockErr}, + }) + convey.So(err, convey.ShouldBeError, fmt.Errorf("[makeBatchRequest] embed error, %w", mockErr)) + convey.So(pvs, convey.ShouldBeNil) + }) + + PatchConvey("test vector size invalid", func() { + i := &Indexer{conf: &IndexerConfig{ + DocumentToMetadata: defaultDocumentToMetadata, + }} + pvs, err := i.makeBatchRequest(ctx, docs, &indexer.Options{ + Embedding: &mockEmbedding{sizeForCall: []int{1}, dims: 10}, + }) + convey.So(err, convey.ShouldBeError, fmt.Errorf("[makeBatchRequest] invalid return length of vector, got=1, expected=2")) + convey.So(pvs, convey.ShouldBeNil) + }) + + PatchConvey("test success", func() { + i := &Indexer{conf: &IndexerConfig{ + DocumentToMetadata: defaultDocumentToMetadata, + }} + pvs, err := i.makeBatchRequest(ctx, docs, &indexer.Options{ + Embedding: &mockEmbedding{sizeForCall: []int{2}, dims: 10}, + }) + convey.So(err, convey.ShouldBeNil) + convey.So(len(pvs), convey.ShouldEqual, 2) + }) + }) +} + +type mockEmbedding struct { + err error + cnt int + sizeForCall []int + dims int +} + +func (m *mockEmbedding) EmbedStrings(ctx context.Context, texts []string, opts ...embedding.Option) ([][]float64, error) { + if m.cnt > len(m.sizeForCall) { + panic("unexpected") + } + + if m.err != nil { + return nil, m.err + } + + slice := make([]float64, m.dims) + for i := range slice { + slice[i] = 1.1 + } + + r := make([][]float64, m.sizeForCall[m.cnt]) + m.cnt++ + for i := range r { + r[i] = slice + } + + return r, nil +} diff --git a/components/indexer/pinecone/utils.go b/components/indexer/pinecone/utils.go new file mode 100644 index 0000000..02fff14 --- /dev/null +++ b/components/indexer/pinecone/utils.go @@ -0,0 +1,52 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package pinecone + +func f64To32(f64 []float64) []float32 { + f32 := make([]float32, len(f64)) + for i, f := range f64 { + f32[i] = float32(f) + } + + return f32 +} + +func chunk[T any](slice []T, size int) [][]T { + if size <= 0 { + return nil + } + + var chunks [][]T + for size < len(slice) { + slice, chunks = slice[size:], append(chunks, slice[0:size:size]) + } + + if len(slice) > 0 { + chunks = append(chunks, slice) + } + + return chunks +} + +func iter[T, D any](src []T, fn func(T) D) []D { + resp := make([]D, len(src)) + for i := range src { + resp[i] = fn(src[i]) + } + + return resp +} diff --git a/components/model/claude/go.mod b/components/model/claude/go.mod index 61b7cb6..71f4115 100644 --- a/components/model/claude/go.mod +++ b/components/model/claude/go.mod @@ -1,6 +1,8 @@ module github.com/cloudwego/eino-ext/components/model/claude -go 1.18 +go 1.21 + +toolchain go1.22.2 require ( github.com/anthropics/anthropic-sdk-go v0.2.0-alpha.8 diff --git a/components/retriever/pinecone/examples/ds_query.json b/components/retriever/pinecone/examples/ds_query.json new file mode 100644 index 0000000..cd1d1a1 --- /dev/null +++ b/components/retriever/pinecone/examples/ds_query.json @@ -0,0 +1,1037 @@ +{ + "dense": [ + [ + 0.004253387451171875, + 0.009765625, + -0.048065185546875, + -0.0400390625, + -0.007686614990234375, + -0.018341064453125, + -0.00910186767578125, + 0.0011262893676757812, + -0.044647216796875, + 0.00646209716796875, + 0.0158843994140625, + 0.029571533203125, + 0.025390625, + 0.0169219970703125, + 0.007747650146484375, + 0.00959014892578125, + -0.0187530517578125, + -0.006099700927734375, + 0.0195770263671875, + -0.0033473968505859375, + -0.014678955078125, + -0.0345458984375, + -0.03857421875, + -0.0010900497436523438, + 0.006557464599609375, + -0.00597381591796875, + -0.00794219970703125, + -0.032958984375, + -0.04840087890625, + 0.01751708984375, + -0.01568603515625, + -0.07672119140625, + 0.0290985107421875, + -0.03173828125, + -0.0340576171875, + -0.11236572265625, + -0.00804901123046875, + -0.005825042724609375, + -0.0679931640625, + 0.015533447265625, + 0.044921875, + 0.002834320068359375, + 0.041107177734375, + 0.0164794921875, + -0.013031005859375, + -0.062103271484375, + -0.0227813720703125, + -0.0138702392578125, + -0.042694091796875, + -0.0304107666015625, + -1.3828277587890625e-05, + -0.005702972412109375, + 0.0011053085327148438, + -0.03729248046875, + -0.0012874603271484375, + 0.0259552001953125, + -0.0643310546875, + -6.151199340820312e-05, + -0.0158843994140625, + -0.059051513671875, + 0.0062103271484375, + 0.0174102783203125, + -0.035369873046875, + 0.00756072998046875, + -0.023681640625, + 0.00811767578125, + 0.0297088623046875, + 0.00504302978515625, + -0.037353515625, + -0.026397705078125, + 0.01019287109375, + 0.0043792724609375, + 0.00952911376953125, + -0.00548553466796875, + 0.00383758544921875, + -0.0200042724609375, + -0.0130615234375, + 0.02252197265625, + -0.0178070068359375, + -0.037078857421875, + 0.01776123046875, + -0.02691650390625, + -0.017364501953125, + 0.021759033203125, + 0.00730133056640625, + 0.054718017578125, + -0.0281982421875, + -0.0010433197021484375, + 0.01403045654296875, + -0.059600830078125, + -0.0230255126953125, + 0.0113372802734375, + 0.036712646484375, + 0.0433349609375, + -0.0389404296875, + -0.007701873779296875, + -0.042572021484375, + 0.0027561187744140625, + 0.006683349609375, + 0.007129669189453125, + 0.003856658935546875, + 0.0251312255859375, + 0.041961669921875, + 0.0128021240234375, + 0.0226898193359375, + -0.0010118484497070312, + 0.004375457763671875, + -0.027679443359375, + -0.0236663818359375, + 0.0167236328125, + 0.01934814453125, + 0.06207275390625, + -0.0117950439453125, + -0.0229034423828125, + -0.024322509765625, + -0.047149658203125, + -0.0290679931640625, + -0.0307769775390625, + -0.03460693359375, + 0.00847625732421875, + 0.014923095703125, + 0.003490447998046875, + 0.04534912109375, + -0.0389404296875, + 0.07928466796875, + 0.0267181396484375, + 0.023651123046875, + 0.01459503173828125, + -0.0175018310546875, + -0.0285186767578125, + 0.0256500244140625, + -0.0036773681640625, + -0.02374267578125, + -0.0311431884765625, + 0.00897979736328125, + 0.00914764404296875, + 0.0039215087890625, + 0.033905029296875, + -0.0135498046875, + -0.05517578125, + -0.0203857421875, + 0.020111083984375, + -0.0174407958984375, + -0.03668212890625, + 0.0278167724609375, + -0.0023555755615234375, + 0.031463623046875, + 0.03839111328125, + 0.01409912109375, + -0.042266845703125, + 0.0116119384765625, + 0.007495880126953125, + 0.0169830322265625, + -0.0187835693359375, + -0.0272674560546875, + -0.01061248779296875, + -0.057708740234375, + 0.0180511474609375, + -0.0350341796875, + -0.049407958984375, + 0.016754150390625, + 0.0178985595703125, + -0.045013427734375, + 0.0238800048828125, + 0.03118896484375, + -0.0208282470703125, + 0.03692626953125, + -0.01448822021484375, + 0.001041412353515625, + 0.0254974365234375, + 0.0138397216796875, + -0.042388916015625, + 0.00463104248046875, + 0.0172271728515625, + 0.047943115234375, + -0.0273895263671875, + 0.06170654296875, + 0.015960693359375, + -0.01482391357421875, + -0.020111083984375, + -0.055999755859375, + 0.004413604736328125, + -0.00801849365234375, + -0.0183563232421875, + 0.0003254413604736328, + 0.0207061767578125, + 0.018341064453125, + 0.0019626617431640625, + 0.00827789306640625, + 0.053619384765625, + 0.0089111328125, + -0.041748046875, + 0.0511474609375, + -0.05902099609375, + 0.0565185546875, + -0.010711669921875, + 0.0084686279296875, + -0.00571441650390625, + -0.0269927978515625, + -0.02056884765625, + -0.033111572265625, + -0.01279449462890625, + -0.027862548828125, + 0.01035308837890625, + -0.0174713134765625, + -0.00946044921875, + -0.0008068084716796875, + 0.0178985595703125, + 0.050628662109375, + -0.038848876953125, + -0.03265380859375, + -0.0101776123046875, + 0.0127716064453125, + -0.0193328857421875, + 0.01039886474609375, + -0.017120361328125, + 0.025054931640625, + 0.00037288665771484375, + 0.0164337158203125, + 0.01511383056640625, + 0.0093231201171875, + 0.0272979736328125, + -0.01363372802734375, + 0.0146026611328125, + 0.0667724609375, + 0.048309326171875, + 0.0274505615234375, + 0.0026149749755859375, + -0.032623291015625, + -0.03265380859375, + -0.037841796875, + 0.07012939453125, + -0.018768310546875, + -0.00739288330078125, + -0.037109375, + -0.0064849853515625, + -0.01311492919921875, + 0.00644683837890625, + 0.0169677734375, + -0.0186309814453125, + 0.004032135009765625, + -0.028717041015625, + 0.028656005859375, + -0.01178741455078125, + 0.017059326171875, + -0.020355224609375, + 0.03631591796875, + 0.054962158203125, + -0.0263824462890625, + 0.0035495758056640625, + 0.0175323486328125, + -0.02288818359375, + -0.00787353515625, + 0.024749755859375, + -0.005645751953125, + -0.0027618408203125, + -0.01214599609375, + 0.01558685302734375, + -0.0082550048828125, + 0.015533447265625, + -0.040191650390625, + -0.05914306640625, + -0.021331787109375, + 0.0238037109375, + 0.006290435791015625, + -0.00043320655822753906, + 0.0140838623046875, + 0.018096923828125, + 0.0003325939178466797, + -0.0005369186401367188, + -0.0533447265625, + 0.029266357421875, + 0.02239990234375, + 0.00905609130859375, + 0.0218963623046875, + -0.0048828125, + -0.037200927734375, + -0.053497314453125, + 0.02764892578125, + -0.0218048095703125, + -0.0003211498260498047, + 0.01323699951171875, + 0.01416778564453125, + -0.01291656494140625, + 0.00811767578125, + -0.0251617431640625, + -0.024322509765625, + 0.04632568359375, + 0.0002162456512451172, + 0.00989532470703125, + -0.07733154296875, + -0.054443359375, + 0.05517578125, + -0.0073699951171875, + -0.0247802734375, + 0.0072021484375, + -0.012969970703125, + -0.1363525390625, + -0.093994140625, + -0.0030059814453125, + 0.07666015625, + 0.018280029296875, + -0.046875, + -0.040740966796875, + -0.04107666015625, + 0.027801513671875, + -0.055145263671875, + -0.0897216796875, + -0.042572021484375, + -0.038116455078125, + 0.0182952880859375, + 0.03338623046875, + 0.0218505859375, + -0.009033203125, + -0.038116455078125, + -0.034210205078125, + -0.038848876953125, + -0.03875732421875, + 0.023040771484375, + 0.02874755859375, + 0.0157318115234375, + -0.038299560546875, + -0.0309906005859375, + 0.02154541015625, + 0.0168609619140625, + 0.0126495361328125, + 0.01593017578125, + 0.0567626953125, + -0.005084991455078125, + -0.0037975311279296875, + -0.0211639404296875, + 0.031341552734375, + -0.0208740234375, + 0.024322509765625, + -0.0307464599609375, + 0.01450347900390625, + 0.00780487060546875, + -0.019195556640625, + 0.048797607421875, + 0.0120086669921875, + -0.0088958740234375, + -0.005039215087890625, + -0.0357666015625, + -0.015045166015625, + -0.00933074951171875, + -0.0131988525390625, + -0.03839111328125, + -0.0304412841796875, + 0.0255584716796875, + 0.02874755859375, + -0.0177154541015625, + -0.0406494140625, + 0.01120758056640625, + -0.0131072998046875, + 0.07147216796875, + -0.000301361083984375, + -0.0030574798583984375, + -0.03289794921875, + -0.049163818359375, + 0.035003662109375, + -0.03680419921875, + -0.0160980224609375, + -0.00745391845703125, + 0.020294189453125, + -0.006526947021484375, + -0.0176849365234375, + 0.0160064697265625, + 0.00048661231994628906, + 0.064697265625, + -0.0259552001953125, + -0.0210418701171875, + 0.05352783203125, + 0.0171966552734375, + 0.0282135009765625, + 0.032012939453125, + -0.032318115234375, + -0.089599609375, + 0.009674072265625, + 0.01171875, + -0.01129150390625, + 0.002811431884765625, + -0.0261077880859375, + -0.00650787353515625, + 0.005718231201171875, + 0.01910400390625, + -0.0560302734375, + 0.23583984375, + 0.0126495361328125, + 0.01495361328125, + 0.03265380859375, + 0.0179595947265625, + -3.2067298889160156e-05, + 0.0006270408630371094, + -0.0267791748046875, + -0.00540924072265625, + -0.0305328369140625, + -0.01102447509765625, + 0.07073974609375, + -0.004413604736328125, + -0.00917816162109375, + 0.0244140625, + 0.0789794921875, + -0.0110321044921875, + 0.027862548828125, + 0.053802490234375, + -0.02423095703125, + -0.07440185546875, + -0.06201171875, + -0.004215240478515625, + 0.0020694732666015625, + -0.0091705322265625, + 0.0038318634033203125, + 0.0301971435546875, + -0.0350341796875, + 0.0086517333984375, + 0.04534912109375, + -0.0304107666015625, + 0.0063629150390625, + 0.0113372802734375, + 0.025634765625, + -0.0270843505859375, + -0.045623779296875, + -0.0078582763671875, + 0.0029468536376953125, + 0.0009860992431640625, + -0.004070281982421875, + -0.029052734375, + -0.03521728515625, + -0.034332275390625, + 0.00823974609375, + 0.006927490234375, + -0.03668212890625, + -0.004150390625, + -0.020721435546875, + -0.0076141357421875, + -0.031951904296875, + -0.006816864013671875, + 0.008087158203125, + -0.0413818359375, + 0.02703857421875, + -0.02423095703125, + -0.0270538330078125, + -0.003948211669921875, + -0.0208892822265625, + -0.01442718505859375, + 0.0211029052734375, + 0.007534027099609375, + 0.0024166107177734375, + 0.0006084442138671875, + -0.017547607421875, + 0.0187835693359375, + 0.0328369140625, + 0.0023956298828125, + 0.00814056396484375, + 0.00775909423828125, + 0.0210113525390625, + 0.03643798828125, + -0.051177978515625, + -0.0270538330078125, + 0.030181884765625, + 0.01459503173828125, + 0.0271759033203125, + -0.02166748046875, + 0.0478515625, + 0.0127105712890625, + 0.003978729248046875, + 0.018218994140625, + -0.050628662109375, + 0.01093292236328125, + 0.068115234375, + 0.0229034423828125, + -0.01654052734375, + 0.041107177734375, + 0.048309326171875, + 0.006931304931640625, + 0.0007295608520507812, + 0.013519287109375, + 0.034942626953125, + -0.0716552734375, + 0.021087646484375, + 0.0087432861328125, + -0.021697998046875, + 0.0235748291015625, + -0.004215240478515625, + -0.027313232421875, + 0.0091400146484375, + -0.006702423095703125, + -0.00148773193359375, + -0.0491943359375, + -0.01444244384765625, + 0.05426025390625, + 0.005451202392578125, + 0.00865936279296875, + 0.02880859375, + 0.01702880859375, + -0.0030727386474609375, + 0.061126708984375, + -0.026123046875, + -0.03607177734375, + 0.04833984375, + -0.02923583984375, + 0.0306549072265625, + 0.00948333740234375, + 0.020660400390625, + 0.01171875, + 0.0457763671875, + 0.01430511474609375, + -0.00669097900390625, + -0.0030498504638671875, + -0.036163330078125, + 0.00974273681640625, + 0.044342041015625, + -0.03131103515625, + 0.062744140625, + -0.0465087890625, + 0.0318603515625, + -0.0304718017578125, + -0.018280029296875, + -0.057342529296875, + 0.00327301025390625, + 0.036956787109375, + -0.05999755859375, + -0.01168060302734375, + 0.0077667236328125, + 0.0026226043701171875, + -0.055145263671875, + 0.0214080810546875, + 0.029632568359375, + -0.006092071533203125, + 0.05450439453125, + 0.0210418701171875, + -0.006122589111328125, + -0.0135955810546875, + 0.0130157470703125, + 0.00856781005859375, + -0.010223388671875, + 0.05181884765625, + 0.02197265625, + 0.015869140625, + -0.0243682861328125, + -0.01201629638671875, + 0.0304412841796875, + -0.02239990234375, + 0.01012420654296875, + 0.0222625732421875, + 0.01410675048828125, + 0.03399658203125, + 0.0036258697509765625, + 0.0229949951171875, + 0.0716552734375, + 0.0142669677734375, + 0.0231170654296875, + -0.0516357421875, + 0.0157623291015625, + -0.0193328857421875, + 0.0650634765625, + 0.006183624267578125, + 0.0204620361328125, + -0.06927490234375, + 0.042083740234375, + 0.005260467529296875, + -0.0233001708984375, + -0.027557373046875, + 0.011016845703125, + -0.0014219284057617188, + 0.03533935546875, + 0.00228118896484375, + -0.0253143310546875, + 0.0266571044921875, + 0.032470703125, + 0.01352691650390625, + 0.06329345703125, + 0.019744873046875, + -0.020538330078125, + -0.03240966796875, + 0.005889892578125, + -0.02874755859375, + 0.09515380859375, + -0.0270233154296875, + 0.0017843246459960938, + -0.00936126708984375, + -0.01445770263671875, + 0.0209503173828125, + -0.0323486328125, + 0.0010251998901367188, + -0.025299072265625, + -0.0299072265625, + -0.0284423828125, + -0.0170135498046875, + 0.033172607421875, + -0.0767822265625, + 0.020538330078125, + -0.038543701171875, + -0.00391387939453125, + -0.01617431640625, + -0.06903076171875, + -0.04095458984375, + -0.0146942138671875, + -0.006465911865234375, + 0.0158233642578125, + 0.00791168212890625, + 0.01076507568359375, + 0.0341796875, + -0.032470703125, + -0.03179931640625, + -0.005580902099609375, + 0.0301055908203125, + 0.050079345703125, + 0.04718017578125, + -0.026031494140625, + -0.0189361572265625, + -0.00508880615234375, + 0.042388916015625, + 0.0262298583984375, + 0.0150299072265625, + 0.050445556640625, + 0.00867462158203125, + 0.0172271728515625, + -0.0017518997192382812, + -0.026275634765625, + 0.004947662353515625, + 0.01175689697265625, + -0.014617919921875, + -0.01983642578125, + 0.003818511962890625, + -0.0275421142578125, + 0.01983642578125, + -0.06671142578125, + 0.0831298828125, + 0.0390625, + 0.0027484893798828125, + 0.00994873046875, + -0.0343017578125, + 0.03656005859375, + -0.005214691162109375, + 0.0160675048828125, + -0.022613525390625, + 0.03009033203125, + -0.03704833984375, + 0.0212249755859375, + -0.0297088623046875, + 0.0101165771484375, + -0.04266357421875, + -0.004329681396484375, + -0.055084228515625, + -0.03875732421875, + 0.040863037109375, + 0.048431396484375, + -0.00928497314453125, + -0.0174713134765625, + 0.0748291015625, + -0.0182647705078125, + -0.01494598388671875, + -0.00823211669921875, + -0.01494598388671875, + -0.021820068359375, + 0.01053619384765625, + -0.0138092041015625, + -0.025970458984375, + 0.038177490234375, + -0.0303497314453125, + 0.018218994140625, + -0.031982421875, + 0.00960540771484375, + -0.0687255859375, + 0.051666259765625, + -0.007694244384765625, + 0.004360198974609375, + -0.018035888671875, + -0.0116119384765625, + -0.0254974365234375, + -0.01776123046875, + 0.0136260986328125, + -0.0128173828125, + -0.0070648193359375, + 0.007488250732421875, + -0.042694091796875, + -0.0254974365234375, + -0.056915283203125, + -0.032440185546875, + 0.046966552734375, + 0.00945281982421875, + -0.0712890625, + 0.035125732421875, + -0.0106201171875, + -0.00461578369140625, + -0.01390838623046875, + -0.004436492919921875, + -0.00994873046875, + -0.01486968994140625, + 0.01361083984375, + 0.03741455078125, + -0.0177154541015625, + 0.0243988037109375, + -0.0126953125, + -0.037445068359375, + 0.0085601806640625, + 0.00623321533203125, + -0.01453399658203125, + 0.007053375244140625, + 0.00025391578674316406, + -0.0207061767578125, + 0.028350830078125, + 0.0003006458282470703, + -0.028900146484375, + -0.018798828125, + 0.019775390625, + 0.01396942138671875, + -0.0169525146484375, + 0.01511383056640625, + -0.03363037109375, + 0.027587890625, + -0.035308837890625, + 0.07989501953125, + -0.0015773773193359375, + 0.0217132568359375, + -0.03173828125, + 0.00922393798828125, + 0.00027632713317871094, + -0.028076171875, + 0.00479888916015625, + 0.059967041015625, + 0.0226593017578125, + -0.041778564453125, + 0.031982421875, + 0.06201171875, + 0.037078857421875, + 0.0279998779296875, + 0.0163116455078125, + -0.00846099853515625, + 0.02398681640625, + -0.053192138671875, + -0.01751708984375, + -0.00528717041015625, + -0.01328277587890625, + 0.045501708984375, + 0.0179290771484375, + 0.02410888671875, + -0.006603240966796875, + -0.0226593017578125, + -0.016143798828125, + 0.0250396728515625, + -0.0168609619140625, + -0.019805908203125, + 0.0307159423828125, + 0.0279083251953125, + -0.0518798828125, + 0.01071929931640625, + -0.0205230712890625, + 0.0190277099609375, + 0.0350341796875, + -0.0255126953125, + -0.0210418701171875, + -0.017852783203125, + 0.0287017822265625, + 0.002410888671875, + -0.0185699462890625, + 0.0257720947265625, + 0.01230621337890625, + -0.0089874267578125, + -0.007549285888671875, + -0.012725830078125, + -0.0006561279296875, + -0.027313232421875, + -0.0260009765625, + 0.033050537109375, + 0.01128387451171875, + 0.0229644775390625, + -0.037322998046875, + -0.006488800048828125, + 0.01409912109375, + -0.00771331787109375, + 0.036407470703125, + 0.024688720703125, + -0.03594970703125, + 0.027923583984375, + -0.041717529296875, + 0.00260162353515625, + 0.004833221435546875, + -0.0015163421630859375, + -0.146728515625, + 0.00017535686492919922, + 0.0006775856018066406, + 0.02276611328125, + -0.004039764404296875, + 0.0413818359375, + -0.054412841796875, + -0.0699462890625, + 0.055511474609375, + 0.0158538818359375, + -0.032196044921875, + 0.0301361083984375, + -0.0269927978515625, + -0.03338623046875, + -0.0219573974609375, + 0.0249176025390625, + -0.0192718505859375, + 0.01309967041015625, + 0.0093841552734375, + 0.0266876220703125, + -0.002613067626953125, + 0.020355224609375, + -0.00940704345703125, + 0.0084991455078125, + 0.01470947265625, + -0.03582763671875, + 0.0178985595703125, + 0.024322509765625, + -0.00464630126953125, + -0.0240631103515625, + -0.0016498565673828125, + -0.037322998046875, + 0.04632568359375, + 0.0455322265625, + 0.027618408203125, + -0.0008211135864257812, + 0.0118865966796875, + 0.0094146728515625, + 0.0260467529296875, + -0.03045654296875, + 0.007083892822265625, + -0.0123291015625, + -0.010040283203125, + -0.02056884765625, + -0.0174560546875, + 0.01085662841796875, + 0.0091094970703125, + -0.0226898193359375, + -0.00664520263671875, + -0.01092529296875, + -0.046539306640625, + -0.01270294189453125, + -0.00795745849609375, + 0.052398681640625, + -0.0113983154296875, + 0.05950927734375, + 0.012603759765625, + 0.026275634765625, + 0.0122833251953125, + 0.033660888671875, + -0.022064208984375, + -0.0247802734375, + -0.009918212890625, + 0.019287109375, + -0.0052642822265625, + 0.04522705078125, + -0.012786865234375, + 0.040313720703125, + 0.006984710693359375, + -0.063720703125, + 0.016845703125, + -0.0195465087890625, + -0.051666259765625, + -0.034698486328125, + 0.01399993896484375, + 0.032196044921875, + 0.06768798828125, + -0.0080108642578125, + -0.0235137939453125, + 0.021087646484375, + -0.018890380859375, + -0.00428009033203125, + 0.0241546630859375, + 0.0303497314453125, + -0.005718231201171875, + 0.0169677734375, + 0.00778961181640625, + -0.00921630859375, + -0.040679931640625, + 0.0176849365234375, + 0.010009765625, + -0.04119873046875, + 0.002933502197265625, + 0.02239990234375, + -0.0240325927734375, + 0.0218963623046875, + -0.0159149169921875, + -0.03375244140625, + 0.0254974365234375, + 0.003284454345703125, + -0.004131317138671875, + -0.00787353515625, + -0.0188140869140625, + -0.0196990966796875, + -0.07086181640625, + 0.082275390625, + -0.00732421875, + 0.00527191162109375, + 0.017547607421875, + -0.031494140625, + -0.043060302734375, + -0.023651123046875, + -0.0045623779296875, + 0.0197296142578125, + -0.037261962890625, + 0.012908935546875, + 0.037841796875, + -0.0307159423828125, + -0.0050506591796875, + 0.024658203125, + -0.045501708984375, + 0.0166473388671875, + -0.002361297607421875, + -0.04736328125, + -0.004528045654296875, + 0.032806396484375, + 0.0887451171875, + 0.0130767822265625, + 0.01261138916015625, + -0.025421142578125, + 0.042877197265625, + 0.02783203125, + -0.0018482208251953125, + -0.035675048828125, + 0.004650115966796875, + -0.026397705078125, + -0.0229644775390625, + 0.0296173095703125, + 0.04351806640625, + -0.012847900390625, + -0.00974273681640625, + 0.01763916015625, + -0.0166473388671875, + -0.028289794921875, + 0.0099334716796875, + -0.004032135009765625, + 0.00756072998046875, + -0.012725830078125, + 0.054229736328125, + -0.0268707275390625, + 0.026397705078125, + 0.00740814208984375, + -0.038330078125, + 0.0134124755859375, + -0.07171630859375, + 0.03277587890625, + -0.045379638671875, + -0.0178070068359375, + 0.04266357421875, + 0.00372314453125, + -0.033172607421875, + -0.01788330078125, + -0.0190277099609375, + 0.00616455078125, + 0.04144287109375, + -0.023773193359375, + 0.00389862060546875, + 0.006313323974609375, + 0.009033203125, + -0.037139892578125, + -0.060150146484375, + 0.004825592041015625, + -0.0143280029296875, + 0.0323486328125, + 0.01258087158203125, + 0.0005550384521484375, + -0.00482177734375, + 0.0465087890625, + 0.016448974609375, + 0.004734039306640625, + 0.01416778564453125, + 0.03564453125, + 0.01641845703125, + -0.004177093505859375, + -0.028839111328125, + 0.01275634765625, + 0.00470733642578125, + 0.07391357421875, + 0.0130462646484375, + -0.0051422119140625, + 0.0052642822265625, + -0.004878997802734375, + -0.00977325439453125, + 0.039825439453125, + -0.0128173828125, + -0.0222320556640625, + 0.0259246826171875, + 0.01708984375, + -0.038238525390625, + 0.028717041015625, + -0.0108489990234375, + -0.0242156982421875, + -0.045928955078125, + -0.0175933837890625, + 0.007137298583984375, + 0.02020263671875, + 0.05584716796875, + 0.0306549072265625, + 0.004520416259765625, + 0.02899169921875, + 0.01395416259765625, + -0.01537322998046875, + -0.004749298095703125, + 0.0186920166015625, + 0.034088134765625, + -0.004596710205078125, + -0.004772186279296875, + -0.023406982421875, + 0.01528167724609375, + 0.0258636474609375, + 0.016357421875, + 0.01422882080078125, + 0.041473388671875, + 0.0367431640625, + -0.038238525390625, + -0.0156402587890625, + -0.00447845458984375, + 0.030792236328125, + 0.023406982421875, + -0.05108642578125, + 0.04156494140625, + 0.0024776458740234375, + 0.0026607513427734375, + 0.0250701904296875, + -0.0144805908203125, + -0.025482177734375, + 0.03277587890625, + 0.0063018798828125, + -0.0161285400390625, + -0.0244140625, + 0.06744384765625, + 0.01136016845703125, + -0.03814697265625, + -0.01123046875 + ] + ], + "sparse": [ + { + "54888": 0.1500244140625, + "13614": 0.168701171875, + "176509": 0.229736328125 + } + ] +} \ No newline at end of file diff --git a/components/retriever/pinecone/examples/retrieve_detailed_query/retrieve.go b/components/retriever/pinecone/examples/retrieve_detailed_query/retrieve.go new file mode 100644 index 0000000..a874f0b --- /dev/null +++ b/components/retriever/pinecone/examples/retrieve_detailed_query/retrieve.go @@ -0,0 +1,97 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package main + +import ( + "context" + "encoding/json" + "fmt" + "os" + + "github.com/cloudwego/eino-ext/components/retriever/pinecone" + "github.com/cloudwego/eino/components/embedding" +) + +func main() { + ctx := context.Background() + b, err := os.ReadFile("./examples/ds_query.json") + if err != nil { + panic(err) + } + + var vs struct { + Dense [][]float64 `json:"dense"` + Sparse []map[int]float64 `json:"sparse"` + } + + if err := json.Unmarshal(b, &vs); err != nil { + panic(err) + } + + apiKey := os.Getenv("PINECONE_API_KEY") + indexName := "eino-index-test" + + retriever, err := pinecone.NewRetriever(ctx, &pinecone.RetrieverConfig{ + ApiKey: apiKey, + IndexName: indexName, + Namespace: "", // default name space + Embedding: mockEmbedding{nil}, + }) + if err != nil { + panic(err) + } + + /* + Pinecone sparse-dense vectors have the following limitations: + + Records with sparse vector values must also contain dense vector values. + + Sparse vector values can contain up to 1000 non-zero values and 4.2 billion dimensions. + + Only indexes using the dotproduct distance metric support querying sparse-dense vectors. + + Upserting, updating, and fetching sparse-dense vectors in indexes with a different distance metric will succeed, but querying will return an error. + + Indexes created before February 22, 2023 do not support sparse vectors. + */ + + // query is plain text, provide additional info by options + resp, err := retriever.Retrieve(ctx, "tourist attraction", + pinecone.WithQueryDenseVector(vs.Dense[0]), // (optional) dense vector here will be used preferentially and will not trigger the embedding operation. + pinecone.WithQuerySparseVector(vs.Sparse[0]), // (optional) set sparse vector for retrieve + pinecone.WithQueryMetadataFilter(map[string]interface{}{"location": "中国"}), // (optional) meta data filter + ) + if err != nil { + panic(err) + } + + for _, doc := range resp { + fmt.Printf("id=%s content=%s loc=%s, score=%v\n", doc.ID, doc.Content, doc.MetaData["location"], doc.Score()) + // fmt.Printf("dense=%v, sparse=%v\n", doc.DenseVector(), doc.SparseVector()) + } + + // id=2 content=2. 长城:位于中国,是世界七大奇迹之一,从秦至明代修筑而成,全长超过 2 万公里。 loc=中国, score=0.5461838841438293 +} + +// mockEmbedding returns embeddings with 1024 dimensions +type mockEmbedding struct { + dense [][]float64 +} + +func (m mockEmbedding) EmbedStrings(ctx context.Context, texts []string, opts ...embedding.Option) ([][]float64, error) { + return m.dense, nil +} diff --git a/components/retriever/pinecone/examples/retrieve_plain_text/retrieve.go b/components/retriever/pinecone/examples/retrieve_plain_text/retrieve.go new file mode 100644 index 0000000..01bc0b2 --- /dev/null +++ b/components/retriever/pinecone/examples/retrieve_plain_text/retrieve.go @@ -0,0 +1,82 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package main + +import ( + "context" + "encoding/json" + "fmt" + "os" + + "github.com/cloudwego/eino-ext/components/retriever/pinecone" + "github.com/cloudwego/eino/components/embedding" +) + +func main() { + ctx := context.Background() + b, err := os.ReadFile("./examples/ds_query.json") + if err != nil { + panic(err) + } + + var vs struct { + Dense [][]float64 `json:"dense"` + } + + if err := json.Unmarshal(b, &vs); err != nil { + panic(err) + } + + apiKey := os.Getenv("PINECONE_API_KEY") + indexName := "eino-index-test" + + retriever, err := pinecone.NewRetriever(ctx, &pinecone.RetrieverConfig{ + ApiKey: apiKey, + IndexName: indexName, + Namespace: "", // default name space + Embedding: mockEmbedding{vs.Dense}, + }) + if err != nil { + panic(err) + } + + // query by plain text + resp, err := retriever.Retrieve(ctx, "中国旅游景点") + if err != nil { + panic(err) + } + + for _, doc := range resp { + fmt.Printf("id=%s content=%s loc=%s, score=%v\n", doc.ID, doc.Content, doc.MetaData["location"], doc.Score()) + // fmt.Printf("dense=%v, sparse=%v\n", doc.DenseVector(), doc.SparseVector()) + } + + // id=2 content=2. 长城:位于中国,是世界七大奇迹之一,从秦至明代修筑而成,全长超过 2 万公里。 loc=中国, score=0.5455964803695679 + // id=5 content=5. 泰姬陵:位于印度阿格拉,由莫卧儿皇帝沙贾汉为纪念其妻子于 1653 年完工,是世界新七大奇迹之一。 loc=印度, score=0.46683382987976074 + // id=8 content=8. 尼亚加拉大瀑布:位于美国和加拿大交界处,由三个主要瀑布组成,其壮观的景象每年吸引数百万游客。 loc=美国, score=0.461596816778183 + // id=1 content=1. 埃菲尔铁塔:位于法国巴黎,是世界上最著名的地标之一,由居斯塔夫・埃菲尔设计并建于 1889 年。 loc=法国, score=0.4575657844543457 + // id=7 content=7. 卢浮宫:位于法国巴黎,是世界上最大的博物馆之一,馆藏丰富,包括达芬奇的《蒙娜丽莎》和希腊的《断臂维纳斯》。 loc=法国, score=0.4530628025531769 +} + +// mockEmbedding returns embeddings with 1024 dimensions +type mockEmbedding struct { + dense [][]float64 +} + +func (m mockEmbedding) EmbedStrings(ctx context.Context, texts []string, opts ...embedding.Option) ([][]float64, error) { + return m.dense, nil +} diff --git a/components/retriever/pinecone/go.mod b/components/retriever/pinecone/go.mod new file mode 100644 index 0000000..c08609b --- /dev/null +++ b/components/retriever/pinecone/go.mod @@ -0,0 +1,60 @@ +module github.com/cloudwego/eino-ext/components/retriever/pinecone + +go 1.21 + +toolchain go1.22.2 + +require ( + github.com/bytedance/mockey v1.2.13 + github.com/cloudwego/eino v0.3.6 + github.com/pinecone-io/go-pinecone v1.1.1 + github.com/smartystreets/goconvey v1.8.1 + google.golang.org/protobuf v1.34.1 +) + +require ( + github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect + github.com/bytedance/sonic v1.12.2 // indirect + github.com/bytedance/sonic/loader v0.2.0 // indirect + github.com/cloudwego/base64x v0.1.4 // indirect + github.com/cloudwego/iasm v0.2.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/getkin/kin-openapi v0.118.0 // indirect + github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/swag v0.19.5 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/goph/emperror v0.17.2 // indirect + github.com/gopherjs/gopherjs v1.17.2 // indirect + github.com/invopop/yaml v0.1.0 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/jtolds/gls v4.20.0+incompatible // indirect + github.com/klauspost/cpuid/v2 v2.2.5 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/nikolalohinski/gonja v1.5.3 // indirect + github.com/oapi-codegen/runtime v1.1.1 // indirect + github.com/pelletier/go-toml/v2 v2.0.9 // indirect + github.com/perimeterx/marshmallow v1.1.4 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect + github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f // indirect + github.com/smarty/assertions v1.15.0 // indirect + github.com/stretchr/testify v1.9.0 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/yargevad/filepathx v1.0.0 // indirect + golang.org/x/arch v0.11.0 // indirect + golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect + golang.org/x/net v0.25.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.15.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect + google.golang.org/grpc v1.65.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/components/retriever/pinecone/go.sum b/components/retriever/pinecone/go.sum new file mode 100644 index 0000000..0c41f41 --- /dev/null +++ b/components/retriever/pinecone/go.sum @@ -0,0 +1,189 @@ +github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk= +github.com/airbrake/gobrake v3.6.1+incompatible/go.mod h1:wM4gu3Cn0W0K7GUuVWnlXZU11AGBXMILnrdOU8Kn00o= +github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= +github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bugsnag/bugsnag-go v1.4.0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/panicwrap v1.2.0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/bytedance/mockey v1.2.13 h1:jokWZAm/pUEbD939Rhznz615MKUCZNuvCFQlJ2+ntoo= +github.com/bytedance/mockey v1.2.13/go.mod h1:1BPHF9sol5R1ud/+0VEHGQq/+i2lN+GTsr3O2Q9IENY= +github.com/bytedance/sonic v1.12.2 h1:oaMFuRTpMHYLpCntGca65YWt5ny+wAceDERTkT2L9lg= +github.com/bytedance/sonic v1.12.2/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKzMzT9r/rk= +github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= +github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/certifi/gocertifi v0.0.0-20190105021004-abcd57078448/go.mod h1:GJKEexRPVJrBSOjoqN5VNOIKJ5Q3RViH6eu3puDRwx4= +github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y= +github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= +github.com/cloudwego/eino v0.3.6 h1:3yfdKKxMVWefdOyGXHuqUMM5cc9iioijj2mpPsDZKIg= +github.com/cloudwego/eino v0.3.6/go.mod h1:+kmJimGEcKuSI6OKhet7kBedkm1WUZS3H1QRazxgWUo= +github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= +github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/getkin/kin-openapi v0.118.0 h1:z43njxPmJ7TaPpMSCQb7PN0dEYno4tyBPQcrFdHoLuM= +github.com/getkin/kin-openapi v0.118.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127 h1:0gkP6mzaMqkmpcJYCFOLkIBwI7xFExG03bbkOkCvUPI= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= +github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/goph/emperror v0.17.2 h1:yLapQcmEsO0ipe9p5TaN22djm3OFV/TfM/fcYP0/J18= +github.com/goph/emperror v0.17.2/go.mod h1:+ZbQ+fUNO/6FNiUo0ujtMjhgad9Xa6fQL9KhH4LNHic= +github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= +github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/invopop/yaml v0.1.0 h1:YW3WGUoJEXYfzWBjn00zIlrw7brGVD0fUKRYDPAPhrc= +github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= +github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= +github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/nikolalohinski/gonja v1.5.3 h1:GsA+EEaZDZPGJ8JtpeGN78jidhOlxeJROpqMT9fTj9c= +github.com/nikolalohinski/gonja v1.5.3/go.mod h1:RmjwxNiXAEqcq1HeK5SSMmqFJvKOfTfXhkJv6YBtPa4= +github.com/oapi-codegen/runtime v1.1.1 h1:EXLHh0DXIJnWhdRPN2w4MXAzFyE4CskzhNLUmtpMYro= +github.com/oapi-codegen/runtime v1.1.1/go.mod h1:SK9X900oXmPWilYR5/WKPzt3Kqxn/uS/+lbpREv+eCg= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0= +github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/perimeterx/marshmallow v1.1.4 h1:pZLDH9RjlLGGorbXhcaQLhfuV0pFMNfPO55FuFkxqLw= +github.com/perimeterx/marshmallow v1.1.4/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= +github.com/pinecone-io/go-pinecone v1.1.1 h1:pKoIiYcBIbrR7gaq0JXPiVnNEtevFYeq/AYL7T0NbbE= +github.com/pinecone-io/go-pinecone v1.1.1/go.mod h1:KfJhn4yThX293+fbtrZLnxe2PJYo8557Py062W4FYKk= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rollbar/rollbar-go v1.0.2/go.mod h1:AcFs5f0I+c71bpHlXNNDbOWJiKwjFDtISeXco0L5PKQ= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f h1:Z2cODYsUxQPofhpYRMQVwWz4yUVpHF+vPi+eUdruUYI= +github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f/go.mod h1:JqzWyvTuI2X4+9wOHmKSQCYxybB/8j6Ko43qVmXDuZg= +github.com/smarty/assertions v1.15.0 h1:cR//PqUBUiQRakZWqBiFFQ9wb8emQGDb0HeGdqGByCY= +github.com/smarty/assertions v1.15.0/go.mod h1:yABtdzeQs6l1brC900WlRNwj6ZR55d7B+E8C6HtKdec= +github.com/smartystreets/goconvey v1.8.1 h1:qGjIddxOk4grTu9JPOU31tVfq3cNdBlNa5sSznIX1xY= +github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60= +github.com/spkg/bom v0.0.0-20160624110644-59b7046e48ad/go.mod h1:qLr4V1qq6nMqFKkMo8ZTx3f+BZEkzsRUY10Xsm2mwU0= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= +github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= +github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= +github.com/yargevad/filepathx v1.0.0 h1:SYcT+N3tYGi+NvazubCNlvgIPbzAk7i7y2dwg3I5FYc= +github.com/yargevad/filepathx v1.0.0/go.mod h1:BprfX/gpYNJHJfc35GjRRpVcwWXS89gGulUIU5tK3tA= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= +golang.org/x/arch v0.11.0 h1:KXV8WWKCXm6tRpLirl2szsO5j/oOODwZf4hATmGVNs4= +golang.org/x/arch v0.11.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw= +golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 h1:7whR9kGa5LUwFtpLm2ArCEejtnxlGeLbAyjFY8sGNFw= +google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157/go.mod h1:99sLkeliLXfdj2J75X3Ho+rrVCaJze0uwN7zDDkjPVU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= diff --git a/components/retriever/pinecone/options.go b/components/retriever/pinecone/options.go new file mode 100644 index 0000000..9bccebf --- /dev/null +++ b/components/retriever/pinecone/options.go @@ -0,0 +1,52 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package pinecone + +import ( + "github.com/cloudwego/eino/components/retriever" +) + +// options pinecone impl specific option +type options struct { + DenseVector []float64 `json:"dense_vector"` + SparseVector map[int]float64 `json:"sparse_vector"` + MetadataFilter map[string]interface{} `json:"metadata_filter"` +} + +// WithQueryDenseVector set dense vector for retrieve query. +// Embedding method from retriever config won't be used if DenseVector here is provided. +func WithQueryDenseVector(dense []float64) retriever.Option { + return retriever.WrapImplSpecificOptFn(func(o *options) { + o.DenseVector = dense + }) +} + +// WithQuerySparseVector set sparse vector for retrieve query. +// sparse is indices -> vector. +func WithQuerySparseVector(sparse map[int]float64) retriever.Option { + return retriever.WrapImplSpecificOptFn(func(o *options) { + o.SparseVector = sparse + }) +} + +// WithQueryMetadataFilter set filter for retrieve. +// see: https://docs.pinecone.io/guides/data/understanding-metadata#metadata-query-language +func WithQueryMetadataFilter(filter map[string]interface{}) retriever.Option { + return retriever.WrapImplSpecificOptFn(func(o *options) { + o.MetadataFilter = filter + }) +} diff --git a/components/retriever/pinecone/retriever.go b/components/retriever/pinecone/retriever.go new file mode 100644 index 0000000..a990651 --- /dev/null +++ b/components/retriever/pinecone/retriever.go @@ -0,0 +1,265 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package pinecone + +import ( + "context" + "fmt" + "net/http" + + "github.com/cloudwego/eino/callbacks" + "github.com/cloudwego/eino/components" + "github.com/cloudwego/eino/components/embedding" + "github.com/cloudwego/eino/components/retriever" + "github.com/cloudwego/eino/schema" + "github.com/pinecone-io/go-pinecone/pinecone" + "google.golang.org/protobuf/types/known/structpb" +) + +const ( + topK = 5 + defaultContentKey = "content" +) + +type RetrieverConfig struct { + // Client parameters + ApiKey string // required + Headers map[string]string // optional + Host string // optional + RestClient *http.Client // optional + SourceTag string // optional + + // Index Connection parameters + IndexName string // required + Namespace string // optional - if not provided the default namespace of "" will be used + AdditionalMetadata map[string]string // optional + + // Retrieve parameters + TopK int // default 5 + // ScoredVectorToDocument converts pinecone retrieve result to eino document + // If ScoredVectorToDocument is not set, will use defaultScoredVectorToDocument as default. + ScoredVectorToDocument func(ctx context.Context, sv *pinecone.ScoredVector) (*schema.Document, error) + // Embedding vectorization method when dense vector not provided in document extra + Embedding embedding.Embedder +} + +type Retriever struct { + conf *RetrieverConfig + idxConn *pinecone.IndexConnection +} + +func NewRetriever(ctx context.Context, config *RetrieverConfig) (*Retriever, error) { + clientParams := pinecone.NewClientParams{ + ApiKey: config.ApiKey, + Headers: config.Headers, + Host: config.Host, + RestClient: config.RestClient, + SourceTag: config.SourceTag, + } + + pc, err := pinecone.NewClient(clientParams) + if err != nil { + return nil, fmt.Errorf("pinecone: Failed to create Client: %w", err) + } + + idx, err := pc.DescribeIndex(ctx, config.IndexName) + if err != nil { + return nil, fmt.Errorf("pinecone: Failed to describe index %v: %w", config.IndexName, err) + } + + idxConn, err := pc.Index(pinecone.NewIndexConnParams{ + Host: idx.Host, + Namespace: config.Namespace, + AdditionalMetadata: config.AdditionalMetadata, + }) + if err != nil { + return nil, fmt.Errorf("pinecone: Failed to create IndexConnection for Host: %v: %w", idx.Host, err) + } + + if config.TopK == 0 { + config.TopK = topK + } + + if config.ScoredVectorToDocument == nil { + config.ScoredVectorToDocument = defaultScoredVectorToDocument + } + + return &Retriever{ + conf: config, + idxConn: idxConn, + }, nil +} + +func (r *Retriever) Retrieve(ctx context.Context, query string, opts ...retriever.Option) ( + docs []*schema.Document, err error) { + + defer func() { + if err != nil { + callbacks.OnError(ctx, err) + } + }() + + co := retriever.GetCommonOptions(&retriever.Options{ + Index: &r.conf.IndexName, + TopK: &r.conf.TopK, + Embedding: r.conf.Embedding, + }, opts...) + io := retriever.GetImplSpecificOptions(&options{}, opts...) + + ctx = callbacks.OnStart(ctx, &retriever.CallbackInput{ + Query: query, + TopK: *co.TopK, + Filter: marshalStringNoErr(io.MetadataFilter), + }) + + req, err := r.makeQueryRequest(ctx, query, co, io) + if err != nil { + return nil, err + } + + resp, err := r.idxConn.QueryByVectorValues(ctx, req) + if err != nil { + return nil, err + } + + for _, match := range resp.Matches { + doc, err := r.conf.ScoredVectorToDocument(ctx, match) + if err != nil { + return nil, fmt.Errorf("[Retrieve] pinecone retriever ScoredVectorToDocument failed, %w", err) + } + + docs = append(docs, doc) + } + + callbacks.OnEnd(ctx, &retriever.CallbackOutput{Docs: docs}) + + return docs, nil +} + +func (r *Retriever) makeQueryRequest(ctx context.Context, query string, co *retriever.Options, io *options) ( + *pinecone.QueryByVectorValuesRequest, error) { + + req := &pinecone.QueryByVectorValuesRequest{ + Vector: nil, + TopK: uint32(*co.TopK), + MetadataFilter: nil, + IncludeValues: true, + IncludeMetadata: true, + SparseValues: toPineconeSparseVector(io.SparseVector), + } + + if io.DenseVector == nil { + emb := co.Embedding + if emb == nil { + return nil, fmt.Errorf("[makeQueryRequest] embedding method in config must not be nil when query not contains dense vector") + } + + vectors, err := emb.EmbedStrings(r.makeEmbeddingCtx(ctx, emb), []string{query}) + if err != nil { + return nil, fmt.Errorf("[makeQueryRequest] embed failed, %w", err) + } + + if len(vectors) != 1 { + return nil, fmt.Errorf("[makeQueryRequest] invalid return length of vector, got=%d, expected=1", len(vectors)) + } + + req.Vector = f64To32(vectors[0]) + } else { + req.Vector = f64To32(io.DenseVector) + } + + if io.MetadataFilter != nil { + filter, err := structpb.NewStruct(io.MetadataFilter) + if err != nil { + return nil, err + } + + req.MetadataFilter = filter + } + + return req, nil +} + +func (r *Retriever) makeEmbeddingCtx(ctx context.Context, emb embedding.Embedder) context.Context { + runInfo := &callbacks.RunInfo{ + Component: components.ComponentOfEmbedding, + } + + if embType, ok := components.GetType(emb); ok { + runInfo.Type = embType + } + + runInfo.Name = runInfo.Type + string(runInfo.Component) + + return callbacks.ReuseHandlers(ctx, runInfo) +} + +func defaultScoredVectorToDocument(ctx context.Context, sv *pinecone.ScoredVector) (*schema.Document, error) { + metadata := sv.Vector.Metadata.AsMap() + + content, ok := metadata[defaultContentKey].(string) + if !ok { + return nil, fmt.Errorf("[defaultScoredVectorToDocument] pinecone retrieve content not found in metadata, key=%s", defaultContentKey) + } + + doc := &schema.Document{ + ID: sv.Vector.Id, + Content: content, + MetaData: metadata, + } + + doc.WithScore(float64(sv.Score)).WithDenseVector(f32To64(sv.Vector.Values)) + + if sv.Vector.SparseValues != nil { + doc.WithSparseVector(fromPineconeSparseVector(sv.Vector.SparseValues)) + } + + return doc, nil +} + +func toPineconeSparseVector(sparse map[int]float64) *pinecone.SparseValues { + if sparse == nil { + return nil + } + sv := &pinecone.SparseValues{ + Indices: make([]uint32, 0, len(sparse)), + Values: make([]float32, 0, len(sparse)), + } + + for indices, vector := range sparse { + sv.Indices = append(sv.Indices, uint32(indices)) + sv.Values = append(sv.Values, float32(vector)) + } + + return sv +} + +func fromPineconeSparseVector(values *pinecone.SparseValues) map[int]float64 { + if values == nil { + return nil + } + + sparse := make(map[int]float64) + for i := range values.Indices { + indices := values.Indices[i] + vector := values.Values[i] + + sparse[int(indices)] = float64(vector) + } + + return sparse +} diff --git a/components/retriever/pinecone/retriever_test.go b/components/retriever/pinecone/retriever_test.go new file mode 100644 index 0000000..71d14e0 --- /dev/null +++ b/components/retriever/pinecone/retriever_test.go @@ -0,0 +1,219 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package pinecone + +import ( + "context" + "fmt" + "testing" + + . "github.com/bytedance/mockey" + "github.com/cloudwego/eino/components/embedding" + "github.com/cloudwego/eino/components/retriever" + "github.com/cloudwego/eino/schema" + "github.com/pinecone-io/go-pinecone/pinecone" + "github.com/smartystreets/goconvey/convey" + "google.golang.org/protobuf/types/known/structpb" +) + +func TestNewRetriever(t *testing.T) { + PatchConvey("test NewRetriever", t, func() { + ctx := context.Background() + + PatchConvey("test pinecone NewClient failed", func() { + mockErr := fmt.Errorf("mock err") + Mock(pinecone.NewClient).Return(nil, mockErr).Build() + r, err := NewRetriever(ctx, &RetrieverConfig{}) + convey.So(err, convey.ShouldBeError, fmt.Errorf("pinecone: Failed to create Client: %w", mockErr)) + convey.So(r, convey.ShouldBeNil) + }) + + PatchConvey("test DescribeIndex failed", func() { + mockErr := fmt.Errorf("mock err") + pc := &pinecone.Client{} + Mock(pinecone.NewClient).Return(pc, nil).Build() + Mock(GetMethod(pc, "DescribeIndex")).Return(nil, mockErr).Build() + r, err := NewRetriever(ctx, &RetrieverConfig{IndexName: "mock_index"}) + convey.So(err, convey.ShouldBeError, fmt.Errorf("pinecone: Failed to describe index mock_index: %w", mockErr)) + convey.So(r, convey.ShouldBeNil) + }) + + PatchConvey("test success", func() { + pc := &pinecone.Client{} + idx := &pinecone.Index{} + Mock(pinecone.NewClient).Return(pc, nil).Build() + Mock(GetMethod(pc, "DescribeIndex")).Return(idx, nil).Build() + Mock(GetMethod(pc, "Index")).Return(&pinecone.IndexConnection{}, nil).Build() + r, err := NewRetriever(ctx, &RetrieverConfig{IndexName: "mock_index"}) + convey.So(err, convey.ShouldBeNil) + convey.So(r, convey.ShouldNotBeNil) + }) + }) +} + +func TestMakeQueryRequest(t *testing.T) { + PatchConvey("test makeQueryRequest", t, func() { + ctx := context.Background() + query := "test_query" + r := &Retriever{ + conf: &RetrieverConfig{}, + } + + PatchConvey("test embedding is nil", func() { + req, err := r.makeQueryRequest(ctx, query, &retriever.Options{ + TopK: of(10), + Embedding: nil, + }, &options{ + DenseVector: nil, + SparseVector: map[int]float64{1: 1.2}, + MetadataFilter: nil, + }) + convey.So(err, convey.ShouldBeError, fmt.Errorf("[makeQueryRequest] embedding method in config must not be nil when query not contains dense vector")) + convey.So(req, convey.ShouldBeNil) + }) + + PatchConvey("test embed error", func() { + mockErr := fmt.Errorf("mock err") + req, err := r.makeQueryRequest(ctx, query, &retriever.Options{ + TopK: of(10), + Embedding: &mockEmbedding{err: mockErr}, + }, &options{ + DenseVector: nil, + SparseVector: map[int]float64{1: 1.2}, + MetadataFilter: nil, + }) + convey.So(err, convey.ShouldBeError, fmt.Errorf("[makeQueryRequest] embed failed, %w", mockErr)) + convey.So(req, convey.ShouldBeNil) + }) + + PatchConvey("test vector size invalid", func() { + req, err := r.makeQueryRequest(ctx, query, &retriever.Options{ + TopK: of(10), + Embedding: &mockEmbedding{sizeForCall: []int{2}}, + }, &options{ + DenseVector: nil, + SparseVector: map[int]float64{1: 1.2}, + MetadataFilter: nil, + }) + convey.So(err, convey.ShouldBeError, fmt.Errorf("[makeQueryRequest] invalid return length of vector, got=2, expected=1")) + convey.So(req, convey.ShouldBeNil) + }) + + PatchConvey("test success with embedding", func() { + req, err := r.makeQueryRequest(ctx, query, &retriever.Options{ + TopK: of(10), + Embedding: &mockEmbedding{sizeForCall: []int{1}, dims: 10}, + }, &options{ + DenseVector: nil, + SparseVector: map[int]float64{1: 1.2}, + MetadataFilter: map[string]interface{}{"asd": 123}, + }) + convey.So(err, convey.ShouldBeNil) + convey.So(req, convey.ShouldNotBeNil) + }) + + PatchConvey("test success with dense vector", func() { + req, err := r.makeQueryRequest(ctx, query, &retriever.Options{ + TopK: of(10), + }, &options{ + DenseVector: []float64{1.1, 1.2}, + SparseVector: map[int]float64{1: 1.2}, + MetadataFilter: map[string]interface{}{"asd": 123}, + }) + convey.So(err, convey.ShouldBeNil) + convey.So(req, convey.ShouldNotBeNil) + }) + }) +} + +func TestDefaultScoredVectorToDocument(t *testing.T) { + PatchConvey("test defaultScoredVectorToDocument", t, func() { + exp := &schema.Document{ + ID: "test_id", + Content: "test_content", + MetaData: map[string]any{ + defaultContentKey: "test_content", + }, + } + exp.WithScore(2.1). + WithDenseVector([]float64{1.1, 1.2}). + WithSparseVector(map[int]float64{4: 9.8, 5: 7.5}) + + sv := &pinecone.ScoredVector{ + Vector: &pinecone.Vector{ + Id: "test_id", + Values: []float32{1.1, 1.2}, + SparseValues: &pinecone.SparseValues{ + Indices: []uint32{4, 5}, + Values: []float32{9.8, 7.5}, + }, + Metadata: &structpb.Struct{Fields: map[string]*structpb.Value{ + defaultContentKey: structpb.NewStringValue("test_content"), + }}, + }, + Score: 2.1, + } + + got, err := defaultScoredVectorToDocument(context.Background(), sv) + convey.So(err, convey.ShouldBeNil) + convey.So(got.ID, convey.ShouldEqual, exp.ID) + convey.So(got.Content, convey.ShouldEqual, exp.Content) + convey.So(got.MetaData[defaultContentKey], convey.ShouldEqual, exp.MetaData[defaultContentKey]) + convey.So(got.Score(), convey.ShouldAlmostEqual, exp.Score(), 0.01) + for i, gd := range got.DenseVector() { + convey.So(gd, convey.ShouldAlmostEqual, exp.DenseVector()[i], 0.01) + } + for k, v := range got.SparseVector() { + convey.So(v, convey.ShouldAlmostEqual, exp.SparseVector()[k], 0.01) + } + }) + +} + +func of[T any](t T) *T { + return &t +} + +type mockEmbedding struct { + err error + cnt int + sizeForCall []int + dims int +} + +func (m *mockEmbedding) EmbedStrings(ctx context.Context, texts []string, opts ...embedding.Option) ([][]float64, error) { + if m.cnt > len(m.sizeForCall) { + panic("unexpected") + } + + if m.err != nil { + return nil, m.err + } + + slice := make([]float64, m.dims) + for i := range slice { + slice[i] = 1.1 + } + + r := make([][]float64, m.sizeForCall[m.cnt]) + m.cnt++ + for i := range r { + r[i] = slice + } + + return r, nil +} diff --git a/components/retriever/pinecone/utils.go b/components/retriever/pinecone/utils.go new file mode 100644 index 0000000..145a10e --- /dev/null +++ b/components/retriever/pinecone/utils.go @@ -0,0 +1,46 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package pinecone + +import "encoding/json" + +func f64To32(f64 []float64) []float32 { + f32 := make([]float32, len(f64)) + for i, f := range f64 { + f32[i] = float32(f) + } + + return f32 +} + +func f32To64(f32 []float32) []float64 { + f64 := make([]float64, len(f32)) + for i, f := range f32 { + f64[i] = float64(f) + } + + return f64 +} + +func marshalStringNoErr(in any) string { + if in == nil { + return "" + } + + b, _ := json.Marshal(in) + return string(b) +}