diff --git a/AIParkingApplication/AIParkingApplication.csproj b/AIParkingApplication/AIParkingApplication.csproj index 38944c5..3b13468 100644 --- a/AIParkingApplication/AIParkingApplication.csproj +++ b/AIParkingApplication/AIParkingApplication.csproj @@ -85,7 +85,7 @@ LaneOut.cs - + @@ -122,6 +122,14 @@ + + + PreserveNewest + + + PreserveNewest + + diff --git a/AIParkingApplication/AIParkingApplicationForm.cs b/AIParkingApplication/AIParkingApplicationForm.cs index 6c0700f..0d69da9 100644 --- a/AIParkingApplication/AIParkingApplicationForm.cs +++ b/AIParkingApplication/AIParkingApplicationForm.cs @@ -14,7 +14,7 @@ namespace AIParkingApplication InitializeComponent(); string url = @"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"; // @"C:\HS_test.mp4"; // @"rtsp://admin:admin@192.168.2.10" - camera = new Camera(CameraType.Plate, url); + camera = new Camera(url); camera.OnVideoFrameReceived += Camera_OnVideoFrameReceived; camera.Startcapture(); //Thread thread1 = new Thread(ShowFrame); diff --git a/AIParkingApplication/Camera.cs b/AIParkingApplication/Camera.cs index f1c73e9..36910fe 100644 --- a/AIParkingApplication/Camera.cs +++ b/AIParkingApplication/Camera.cs @@ -1,5 +1,4 @@ using OpenCvSharp; -using System.Collections.Generic; using System.Threading; namespace AIParkingApplication @@ -8,20 +7,19 @@ namespace AIParkingApplication public class Camera { private string streamUrl; - private CameraType cameraType; private bool isCapturing; private object lockSyncObject; - public Queue VideoFrames { get; set; } + private volatile bool isFrameRequested; public event CameraEvent OnVideoFrameReceived; + public event CameraEvent OnOneVideoFrameRequested; - public Camera(CameraType cameraType, string streamUrl) + public Camera(string streamUrl) { - this.cameraType = cameraType; this.streamUrl = streamUrl; this.isCapturing = true; + this.isFrameRequested = false; lockSyncObject = new object(); - VideoFrames = new Queue(); } public void Startcapture() @@ -31,6 +29,11 @@ namespace AIParkingApplication readVideoStreamThread.Start(); } + public void RequestCaptureOneFrame() + { + isFrameRequested = true; + } + public void ReadVideoStream() { VideoCapture videoCapture = new VideoCapture(); @@ -51,8 +54,12 @@ namespace AIParkingApplication if (videoCapture.Read(videoFrame) && videoFrame.Width > 0 && videoFrame.Height > 0) { - //VideoFrames.Enqueue(videoFrame); OnVideoFrameReceived?.Invoke(videoFrame); + if (isFrameRequested) + { + OnOneVideoFrameRequested?.Invoke(videoFrame); + isFrameRequested = false; + } } } } @@ -65,10 +72,4 @@ namespace AIParkingApplication } } } - - public enum CameraType - { - Vehicle, - Plate - } } diff --git a/AIParkingApplication/LaneIn.Designer.cs b/AIParkingApplication/LaneIn.Designer.cs index 4626d8b..d9d048a 100644 --- a/AIParkingApplication/LaneIn.Designer.cs +++ b/AIParkingApplication/LaneIn.Designer.cs @@ -40,6 +40,7 @@ this.lblCardType = new System.Windows.Forms.Label(); this.lblCardNumber = new System.Windows.Forms.Label(); this.grbCardInformation = new System.Windows.Forms.GroupBox(); + this.button1 = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlateImage)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPlateVideo)).BeginInit(); this.grbPlateCamera.SuspendLayout(); @@ -54,6 +55,7 @@ this.pictureBoxPlateImage.Location = new System.Drawing.Point(263, 23); this.pictureBoxPlateImage.Name = "pictureBoxPlateImage"; this.pictureBoxPlateImage.Size = new System.Drawing.Size(250, 250); + this.pictureBoxPlateImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBoxPlateImage.TabIndex = 0; this.pictureBoxPlateImage.TabStop = false; // @@ -62,6 +64,7 @@ this.pictureBoxPlateVideo.Location = new System.Drawing.Point(6, 23); this.pictureBoxPlateVideo.Name = "pictureBoxPlateVideo"; this.pictureBoxPlateVideo.Size = new System.Drawing.Size(250, 250); + this.pictureBoxPlateVideo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBoxPlateVideo.TabIndex = 0; this.pictureBoxPlateVideo.TabStop = false; // @@ -82,6 +85,7 @@ this.pictureBoxOverviewImage.Location = new System.Drawing.Point(263, 24); this.pictureBoxOverviewImage.Name = "pictureBoxOverviewImage"; this.pictureBoxOverviewImage.Size = new System.Drawing.Size(250, 250); + this.pictureBoxOverviewImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBoxOverviewImage.TabIndex = 0; this.pictureBoxOverviewImage.TabStop = false; // @@ -90,6 +94,7 @@ this.pictureBoxOverviewVideo.Location = new System.Drawing.Point(6, 24); this.pictureBoxOverviewVideo.Name = "pictureBoxOverviewVideo"; this.pictureBoxOverviewVideo.Size = new System.Drawing.Size(250, 250); + this.pictureBoxOverviewVideo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBoxOverviewVideo.TabIndex = 0; this.pictureBoxOverviewVideo.TabStop = false; // @@ -147,10 +152,21 @@ this.grbCardInformation.TabStop = false; this.grbCardInformation.Text = "THÔNG TIN THẺ"; // + // button1 + // + this.button1.Location = new System.Drawing.Point(421, 32); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 14; + this.button1.Text = "button1"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // // LaneIn // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.button1); this.Controls.Add(this.grbPlateCamera); this.Controls.Add(this.grbOverviewCamera); this.Controls.Add(this.lblLaneLabel); @@ -184,5 +200,6 @@ private System.Windows.Forms.Label lblCardType; private System.Windows.Forms.Label lblCardNumber; private System.Windows.Forms.GroupBox grbCardInformation; + private System.Windows.Forms.Button button1; } } diff --git a/AIParkingApplication/LaneIn.cs b/AIParkingApplication/LaneIn.cs index 4da9389..d2b27d7 100644 --- a/AIParkingApplication/LaneIn.cs +++ b/AIParkingApplication/LaneIn.cs @@ -1,20 +1,78 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; +using OpenCvSharp; +using OpenCvSharp.Extensions; namespace AIParkingApplication { public partial class LaneIn : UserControl { + private Camera overviewCamera; + private Camera plateCamera; + private PlateDetector plateDetector; + public LaneIn() { InitializeComponent(); + string overviewCameraVideo = @"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"; //@"C:\HS_test.mp4" + string plateCameraVideo = @"C:\HS_test.mp4"; + overviewCamera = new Camera(overviewCameraVideo); + plateCamera = new Camera(plateCameraVideo); + + plateCamera.OnVideoFrameReceived += PlateCameraOnVideoFrameReceived; + plateCamera.OnOneVideoFrameRequested += PlateCamera_OnOneVideoFrameRequested; ; + + overviewCamera.OnVideoFrameReceived += OverviewCameraOnVideoFrameReceived; + overviewCamera.OnOneVideoFrameRequested += OverviewCamera_OnOneVideoFrameRequested; + + overviewCamera.Startcapture(); + plateCamera.Startcapture(); + + plateDetector = new PlateDetector(PlateType.Square, PlateDetectorConstant.MIN_SIZE_DEFAULT_SQUARE_PLATE, PlateDetectorConstant.MAX_SIZE_DEFAULT_SQUARE_PLATE, PlateDetectorConstant.SCALE_FACTOR_DEFAULT_SQUARE_PLATE, PlateDetectorConstant.MIN_NEIGHBORS_DEFAULT_SQUARE_PLATE); + } + + private void OverviewCamera_OnOneVideoFrameRequested(Mat videoFrame) + { + pictureBoxOverviewImage.Invoke(new Action(() => + { + pictureBoxOverviewImage.Image?.Dispose(); + pictureBoxOverviewImage.Image = videoFrame.ToBitmap(); + })); + } + + private void PlateCamera_OnOneVideoFrameRequested(Mat videoFrame) + { + Cv2.Resize(videoFrame, videoFrame, new Size(1280, 720)); + Mat result = plateDetector.DetectPlate(videoFrame); + pictureBoxPlateImage.Invoke(new Action(() => + { + pictureBoxPlateImage.Image?.Dispose(); + pictureBoxPlateImage.Image = result.ToBitmap(); + })); + } + + private void OverviewCameraOnVideoFrameReceived(Mat videoFrame) + { + pictureBoxOverviewVideo.Invoke(new Action(() => + { + pictureBoxOverviewVideo.Image?.Dispose(); + pictureBoxOverviewVideo.Image = videoFrame.ToBitmap(); + })); + } + + private void PlateCameraOnVideoFrameReceived(Mat videoFrame) + { + pictureBoxPlateVideo.Invoke(new Action(() => + { + pictureBoxPlateVideo.Image?.Dispose(); + pictureBoxPlateVideo.Image = videoFrame.ToBitmap(); + })); + } + + private void button1_Click(object sender, EventArgs e) + { + this.plateCamera.RequestCaptureOneFrame(); + this.overviewCamera.RequestCaptureOneFrame(); } } } diff --git a/AIParkingApplication/LaneOut.Designer.cs b/AIParkingApplication/LaneOut.Designer.cs index 416e910..1d35b55 100644 --- a/AIParkingApplication/LaneOut.Designer.cs +++ b/AIParkingApplication/LaneOut.Designer.cs @@ -60,15 +60,15 @@ // this.pictureBox5.Location = new System.Drawing.Point(6, 23); this.pictureBox5.Name = "pictureBox5"; - this.pictureBox5.Size = new System.Drawing.Size(250, 250); + this.pictureBox5.Size = new System.Drawing.Size(200, 200); this.pictureBox5.TabIndex = 0; this.pictureBox5.TabStop = false; // // pictureBox6 // - this.pictureBox6.Location = new System.Drawing.Point(5, 331); + this.pictureBox6.Location = new System.Drawing.Point(6, 296); this.pictureBox6.Name = "pictureBox6"; - this.pictureBox6.Size = new System.Drawing.Size(250, 250); + this.pictureBox6.Size = new System.Drawing.Size(200, 200); this.pictureBox6.TabIndex = 0; this.pictureBox6.TabStop = false; // @@ -77,9 +77,9 @@ this.grbPlateRefernce.Controls.Add(this.pictureBox6); this.grbPlateRefernce.Controls.Add(this.pictureBox5); this.grbPlateRefernce.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.grbPlateRefernce.Location = new System.Drawing.Point(540, 166); + this.grbPlateRefernce.Location = new System.Drawing.Point(445, 171); this.grbPlateRefernce.Name = "grbPlateRefernce"; - this.grbPlateRefernce.Size = new System.Drawing.Size(261, 592); + this.grbPlateRefernce.Size = new System.Drawing.Size(212, 510); this.grbPlateRefernce.TabIndex = 9; this.grbPlateRefernce.TabStop = false; this.grbPlateRefernce.Text = "THAM CHIẾU BIỂN SỐ VÀO"; @@ -88,15 +88,15 @@ // this.pictureBox2.Location = new System.Drawing.Point(6, 23); this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(250, 250); + this.pictureBox2.Size = new System.Drawing.Size(200, 200); this.pictureBox2.TabIndex = 0; this.pictureBox2.TabStop = false; // // pictureBox1 // - this.pictureBox1.Location = new System.Drawing.Point(263, 23); + this.pictureBox1.Location = new System.Drawing.Point(212, 23); this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(250, 250); + this.pictureBox1.Size = new System.Drawing.Size(200, 200); this.pictureBox1.TabIndex = 0; this.pictureBox1.TabStop = false; // @@ -105,9 +105,9 @@ this.grbPlateCamera.Controls.Add(this.pictureBox1); this.grbPlateCamera.Controls.Add(this.pictureBox2); this.grbPlateCamera.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.grbPlateCamera.Location = new System.Drawing.Point(15, 166); + this.grbPlateCamera.Location = new System.Drawing.Point(15, 171); this.grbPlateCamera.Name = "grbPlateCamera"; - this.grbPlateCamera.Size = new System.Drawing.Size(519, 284); + this.grbPlateCamera.Size = new System.Drawing.Size(424, 238); this.grbPlateCamera.TabIndex = 7; this.grbPlateCamera.TabStop = false; this.grbPlateCamera.Text = "CAMERA BIỂN SỐ"; @@ -116,15 +116,15 @@ // this.pictureBox4.Location = new System.Drawing.Point(6, 24); this.pictureBox4.Name = "pictureBox4"; - this.pictureBox4.Size = new System.Drawing.Size(250, 250); + this.pictureBox4.Size = new System.Drawing.Size(200, 200); this.pictureBox4.TabIndex = 0; this.pictureBox4.TabStop = false; // // pictureBox3 // - this.pictureBox3.Location = new System.Drawing.Point(263, 24); + this.pictureBox3.Location = new System.Drawing.Point(212, 24); this.pictureBox3.Name = "pictureBox3"; - this.pictureBox3.Size = new System.Drawing.Size(250, 250); + this.pictureBox3.Size = new System.Drawing.Size(200, 200); this.pictureBox3.TabIndex = 0; this.pictureBox3.TabStop = false; // @@ -133,9 +133,9 @@ this.grbOverviewCamera.Controls.Add(this.pictureBox3); this.grbOverviewCamera.Controls.Add(this.pictureBox4); this.grbOverviewCamera.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.grbOverviewCamera.Location = new System.Drawing.Point(15, 474); + this.grbOverviewCamera.Location = new System.Drawing.Point(15, 443); this.grbOverviewCamera.Name = "grbOverviewCamera"; - this.grbOverviewCamera.Size = new System.Drawing.Size(519, 284); + this.grbOverviewCamera.Size = new System.Drawing.Size(424, 238); this.grbOverviewCamera.TabIndex = 6; this.grbOverviewCamera.TabStop = false; this.grbOverviewCamera.Text = "CAMERA TOÀN CẢNH"; @@ -146,7 +146,7 @@ | System.Windows.Forms.AnchorStyles.Right))); this.lblLaneLabel.AutoSize = true; this.lblLaneLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 26.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblLaneLabel.Location = new System.Drawing.Point(329, 20); + this.lblLaneLabel.Location = new System.Drawing.Point(262, 22); this.lblLaneLabel.Name = "lblLaneLabel"; this.lblLaneLabel.Size = new System.Drawing.Size(141, 39); this.lblLaneLabel.TabIndex = 5; @@ -164,7 +164,7 @@ // lblMoneyAmount // this.lblMoneyAmount.AutoSize = true; - this.lblMoneyAmount.Location = new System.Drawing.Point(266, 31); + this.lblMoneyAmount.Location = new System.Drawing.Point(209, 31); this.lblMoneyAmount.Name = "lblMoneyAmount"; this.lblMoneyAmount.Size = new System.Drawing.Size(54, 18); this.lblMoneyAmount.TabIndex = 0; @@ -187,7 +187,7 @@ this.grbCardInformation.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.grbCardInformation.Location = new System.Drawing.Point(15, 69); this.grbCardInformation.Name = "grbCardInformation"; - this.grbCardInformation.Size = new System.Drawing.Size(786, 91); + this.grbCardInformation.Size = new System.Drawing.Size(642, 91); this.grbCardInformation.TabIndex = 8; this.grbCardInformation.TabStop = false; this.grbCardInformation.Text = "THÔNG TIN THẺ"; @@ -202,7 +202,7 @@ this.Controls.Add(this.grbOverviewCamera); this.Controls.Add(this.grbPlateCamera); this.Name = "LaneOut"; - this.Size = new System.Drawing.Size(817, 768); + this.Size = new System.Drawing.Size(671, 694); ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit(); this.grbPlateRefernce.ResumeLayout(false); diff --git a/AIParkingApplication/LaneOut.resx b/AIParkingApplication/LaneOut.resx index 9d66140..7f02a8f 100644 --- a/AIParkingApplication/LaneOut.resx +++ b/AIParkingApplication/LaneOut.resx @@ -120,52 +120,7 @@ 176, 17 - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - 12, 17 - - True - - - True - - - True - - - True - - - True - - - True - \ No newline at end of file diff --git a/AIParkingApplication/PlateDetector.cs b/AIParkingApplication/PlateDetector.cs new file mode 100644 index 0000000..dbcfd40 --- /dev/null +++ b/AIParkingApplication/PlateDetector.cs @@ -0,0 +1,68 @@ +using OpenCvSharp; +using System; +using System.Linq; + +namespace AIParkingApplication +{ + public class PlateDetector + { + private PlateType plateType; + private Size minSizePlate; + private Size maxSizePlate; + private double scaleFactor; + private int minNeighbors; + private CascadeClassifier plateCascadeClassifier; + + public PlateDetector(PlateType plateType, Size minSizePlate, Size maxSizePlate, double scaleFactor, int minNeighbors) + { + this.plateType = plateType; + this.minSizePlate = minSizePlate; + this.maxSizePlate = maxSizePlate; + this.scaleFactor = scaleFactor; + this.minNeighbors = minNeighbors; + plateCascadeClassifier = new CascadeClassifier(this.plateType == PlateType.Square ? "plate.xml" : "plateLong.xml"); + } + + public Mat DetectPlate(Mat frame) + { + Rect[] plateRectsDetected = plateCascadeClassifier.DetectMultiScale(frame, scaleFactor, minNeighbors, HaarDetectionType.ScaleImage, minSizePlate, maxSizePlate); + Console.WriteLine("Plate Detected Length: " + plateRectsDetected.Length); + if (plateRectsDetected.Length > 0) + { + Mat plateImage = GetBiggestPlate(plateRectsDetected, frame); + return plateImage; + } + else + { + return frame; + } + } + + private Mat GetBiggestPlate(Rect[] plateRects, Mat frame) + { + Rect biggestPlateRect = plateRects.OrderByDescending(x => x.Width).FirstOrDefault(); + Console.WriteLine($"GetBiggestPlate - Width: {biggestPlateRect.Width}\tHeight: {biggestPlateRect.Height}"); + Mat plateImage = frame[biggestPlateRect]; + return plateImage; + } + } + + public enum PlateType + { + Square, + Long + } + + public static class PlateDetectorConstant + { + public const double SCALE_FACTOR_DEFAULT_SQUARE_PLATE = 1.03; + public static int MIN_NEIGHBORS_DEFAULT_SQUARE_PLATE = 2; + public static Size MIN_SIZE_DEFAULT_SQUARE_PLATE = new Size(80, 75); + public static Size MAX_SIZE_DEFAULT_SQUARE_PLATE = new Size(450, 400); + + public static double SCALE_FACTOR_DEFAULT_LONG_PLATE = 1.5; + public static int MIN_NEIGHBORS_DEFAULT_LONG_PLATE = 5; + public static Size MIN_SIZE_DEFAULT_LONG_PLATE = new Size(120, 40); + public static Size MAX_SIZE_DEFAULT_LONG_PLATE = new Size(660, 220); + } +} diff --git a/AIParkingApplication/Processor.cs b/AIParkingApplication/Processor.cs deleted file mode 100644 index d2bbd12..0000000 --- a/AIParkingApplication/Processor.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace AIParkingApplication -{ - public class Processor - { - private Camera camera; - public Processor() - { - camera = new Camera(CameraType.Plate, @"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"); - camera.OnVideoFrameReceived += Camera_OnVideoFrameReceived; - } - - private void Camera_OnVideoFrameReceived(OpenCvSharp.Mat videoFrame) - { - - } - } -} diff --git a/AIParkingApplication/plate.xml b/AIParkingApplication/plate.xml new file mode 100644 index 0000000..767bc4f --- /dev/null +++ b/AIParkingApplication/plate.xml @@ -0,0 +1,586 @@ + + + + BOOST + LBP + 20 + 26 + + GAB + 9.9500000476837158e-01 + 4.0000000596046448e-01 + 9.4999999999999996e-01 + 1 + 100 + + 256 + 1 + 10 + + + <_> + 3 + -1.1533834934234619e+00 + + <_> + + 0 -1 1 -286265618 -1 -1 -1 -268439569 -1 -4113 -1 + + -8.9617276191711426e-01 7.0781403779983521e-01 + <_> + + 0 -1 17 -253693700 -1 -67117057 -1 -795288321 -4456449 -1 -1 + + -8.7871271371841431e-01 7.0107048749923706e-01 + <_> + + 0 -1 53 -768 -44171515 -129 -209 -2621577 -8421601 -129 -193 + + -8.4404122829437256e-01 6.2150198221206665e-01 + + <_> + 3 + -1.0063103437423706e+00 + + <_> + + 0 -1 43 1363669915 2002778111 -2049 -1 2002778111 1969225727 + -1 -1 + + -8.2045638561248779e-01 6.9873499870300293e-01 + <_> + + 0 -1 26 -586621732 -574759684 -537010723 -537013028 + -553858818 -536883457 -262145 -12833 + + -7.9035413265228271e-01 6.3581717014312744e-01 + <_> + + 0 -1 9 -707469827 -2818049 -1 -1 268488920 -61800449 -131585 + -1 + + -7.8018671274185181e-01 6.0450017452239990e-01 + + <_> + 5 + -1.2496367692947388e+00 + + <_> + + 0 -1 29 -17827925 -1073557246 -1068304605 -800000221 + -708356793 1346852097 -134225921 -67108865 + + -8.1272137165069580e-01 5.5393642187118530e-01 + <_> + + 0 -1 36 -2 -657410 -539099137 -1025 -167903234 -168427524 + 1976958975 -134348801 + + -7.8099626302719116e-01 5.8227193355560303e-01 + <_> + + 0 -1 2 -286265362 -129 -270799138 -1 -268439569 -4097 + -268439569 -4097 + + -7.8703510761260986e-01 5.3461396694183350e-01 + <_> + + 0 -1 55 -249 -1 -16777342 -33554433 -2097403 2012739455 + -218106112 -201326593 + + -7.7377015352249146e-01 5.4071652889251709e-01 + <_> + + 0 -1 19 -5711624 -101066504 -541261827 -33950243 -1158086914 + -4474117 -1163855170 -68617745 + + -7.3124963045120239e-01 5.8329415321350098e-01 + + <_> + 5 + -1.4086114168167114e+00 + + <_> + + 0 -1 30 -1298 2147483647 1476362239 2147483647 1608515583 + 2147483647 2147483647 -1 + + -8.3827412128448486e-01 4.5363041758537292e-01 + <_> + + 0 -1 49 -8388864 -1 -1 -1 -1 -65 -1 -1 + + -8.2543706893920898e-01 4.5980849862098694e-01 + <_> + + 0 -1 10 92213759 2145375743 2147483647 -2097153 1426018559 + -41473 -1 -1 + + -7.3374873399734497e-01 4.9772876501083374e-01 + <_> + + 0 -1 47 -204737814 1363276010 1342238850 1900212778 -17 + -792035350 -34078737 -1 + + -7.4697893857955933e-01 4.8449227213859558e-01 + <_> + + 0 -1 3 -18 -3152145 1860887650 -286851486 -1 -33556481 + -134250497 -2337 + + -7.2712129354476929e-01 4.8087349534034729e-01 + + <_> + 5 + -1.0556484460830688e+00 + + <_> + + 0 -1 37 -134217777 -2098613 -134220289 -1 1967650767 + -145228849 -136841217 -1025 + + -6.6782265901565552e-01 6.0927152633666992e-01 + <_> + + 0 -1 12 -1 -241668 -1 -1 -1735853316 -1532420 737734655 -1 + + -5.8931344747543335e-01 6.1160296201705933e-01 + <_> + + 0 -1 57 -17 -268437521 -16779270 -218103809 1468004102 + 84367174 -134744510 2012739583 + + -6.8723016977310181e-01 5.0909173488616943e-01 + <_> + + 0 -1 13 -267863816 -13502288 -1092165889 -4328963 -89326854 + -4261199 -91030790 -6630152 + + -7.2379958629608154e-01 4.8905405402183533e-01 + <_> + + 0 -1 24 1072638895 -36865 -37752849 -769 -16385 -360961 + -33701889 -1 + + -7.4188953638076782e-01 4.1619545221328735e-01 + + <_> + 7 + -1.4722430706024170e+00 + + <_> + + 0 -1 42 -135790841 -1048593 -1 -3145745 -17 -1 -1 -1052689 + + -6.2450361251831055e-01 6.3627439737319946e-01 + <_> + + 0 -1 4 -4114 -1052930 -286331154 -17895682 -1 -13313 -1 -1 + + -7.7522820234298706e-01 4.0318658947944641e-01 + <_> + + 0 -1 44 -537133092 -13238275 1565873492 1968526613 -67108865 + -1025 -4194820 -1 + + -7.3075193166732788e-01 4.2476141452789307e-01 + <_> + + 0 -1 21 -67108865 -4205587 1560599965 1560613893 -1077936129 + -1073741825 33607567 131072 + + -7.4410229921340942e-01 4.1098541021347046e-01 + <_> + + 0 -1 23 -1068548093 1342686727 -1065918345 -8391425 + -2147236537 -1073291977 -800852225 -33556481 + + -6.0589480400085449e-01 4.9608632922172546e-01 + <_> + + 0 -1 54 -253 -129 -67109372 -134219905 -249 2004877183 -171 + -1 + + -6.7266684770584106e-01 4.2201626300811768e-01 + <_> + + 0 -1 8 2127363838 -11734155 -1048577 -1 -2000637956 + -662636716 -1048577 -1 + + -6.5633094310760498e-01 4.0780669450759888e-01 + + <_> + 7 + -2.1008496284484863e+00 + + <_> + + 0 -1 50 -135266305 -792657938 -201326593 -238551102 + 2013263871 1078263436 -1 -170917937 + + -6.8733102083206177e-01 4.7597673535346985e-01 + <_> + + 0 -1 40 -2 -33687553 -537097032 -2 -131076 -572729860 + -161028 -131073 + + -6.4979684352874756e-01 4.7923293709754944e-01 + <_> + + 0 -1 39 -487856446 -218630782 -421532073 -34604121 + -489691505 -822356446 -421007870 -1058013438 + + -7.0970761775970459e-01 3.9270293712615967e-01 + <_> + + 0 -1 0 -353374225 -1 -402653185 -12353 1342173167 -805311553 + -805315073 -805319185 + + -5.0839012861251831e-01 5.5656588077545166e-01 + <_> + + 0 -1 16 16449791 2147182079 536567807 2132483455 184201215 + -274946 150679547 422206907 + + -6.8923377990722656e-01 4.1731363534927368e-01 + <_> + + 0 -1 15 -3670563 -931084224 2131197951 -2097185 -754941824 + -327151520 34251003 -1052673 + + -5.9623908996582031e-01 4.0606793761253357e-01 + <_> + + 0 -1 45 -8411137 993779199 2101281572 -1413751833 1431655929 + 1024947691 1971279356 2147483647 + + -5.5248874425888062e-01 4.5133835077285767e-01 + + <_> + 7 + -1.2859066724777222e+00 + + <_> + + 0 -1 20 -1055313 -39460881 -2561 -131073 -642147911 + -101591557 469735931 -82224641 + + -7.3027801513671875e-01 3.4798878431320190e-01 + <_> + + 0 -1 27 -34021892 -467460 498605565 1564286461 -1346848326 + -1078288904 262840255 -550887971 + + -5.9538054466247559e-01 4.8435747623443604e-01 + <_> + + 0 -1 28 -2249 -802955008 -529336541 -1066340095 -45746361 + 1946505472 -35651601 -67110913 + + -5.5642986297607422e-01 5.2304297685623169e-01 + <_> + + 0 -1 35 1409532091 1442838527 2013255679 1039663103 + -645922817 1568538619 -8388865 1545535487 + + -5.8485323190689087e-01 4.4801971316337585e-01 + <_> + + 0 -1 52 -250 2004350783 -129 -4984009 -264193 -129 -1 + 2066382651 + + -6.2398934364318848e-01 4.2256209254264832e-01 + <_> + + 0 -1 46 -144182582 1900279106 1078117090 1963194351 + -212869430 -683416250 -67113253 -1 + + -6.6374325752258301e-01 3.4123694896697998e-01 + <_> + + 0 -1 5 -327954 -1050641 -297734418 -19070993 -9177089 + -534018 -12255265 -1 + + -5.9005373716354370e-01 4.3091443181037903e-01 + + <_> + 8 + -2.1614072322845459e+00 + + <_> + + 0 -1 18 -458753 -1179059208 -54788097 -8705 -4473857 + -1078263809 -1157955585 -1159009281 + + -6.6230607032775879e-01 4.1228213906288147e-01 + <_> + + 0 -1 14 293033975 -32769 -1 -8193 469759999 -4097 1073741823 + -1 + + -6.1281687021255493e-01 4.3206200003623962e-01 + <_> + + 0 -1 38 -135268465 -136857973 -134760965 -5 -145246257 + -184027185 -134219809 -1 + + -4.8115372657775879e-01 5.6391078233718872e-01 + <_> + + 0 -1 41 -1 -1261570 -67190788 -1261636 -139779 2138865597 + -393732 -1 + + -4.2420604825019836e-01 5.8454400300979614e-01 + <_> + + 0 -1 56 -135268537 1936189303 -604504193 1618466663 + -412092665 2002220887 -135272465 1650980727 + + -6.0114890336990356e-01 3.9707064628601074e-01 + <_> + + 0 -1 34 -65537 1900024832 2113928703 1427456005 -2000097796 + -1199541120 -8193 -1076373933 + + -4.8408937454223633e-01 4.7264778614044189e-01 + <_> + + 0 -1 33 -957354325 -11307149 1077987139 1364555603 + -892346641 -934259115 -786956385 -657063937 + + -4.5418861508369446e-01 5.0518149137496948e-01 + <_> + + 0 -1 6 -2 -26313730 -1074610178 -1299537238 -32865 -19140609 + -860161 -1 + + -4.9512660503387451e-01 4.5704331994056702e-01 + + <_> + 8 + -1.9876842498779297e+00 + + <_> + + 0 -1 31 -17106959 -1431666689 -268435457 -393217 -51715 + -1073801731 -131073 -32769 + + -6.8774211406707764e-01 3.7008509039878845e-01 + <_> + + 0 -1 22 -205316 -38269892 1610612221 1610423677 -1346830851 + -1078403587 1069219839 531258845 + + -6.5637201070785522e-01 3.6277371644973755e-01 + <_> + + 0 -1 25 -454572478 -180231678 -42008207 -212337801 + -990969857 -27790473 -455085125 -3147793 + + -5.7833588123321533e-01 4.1099661588668823e-01 + <_> + + 0 -1 7 -65538 -71681622 -138739714 -4531542 -1069313 + -1074090326 -1 -4576582 + + -6.7348241806030273e-01 3.3547967672348022e-01 + <_> + + 0 -1 48 -496540569 -1069190141 1616860467 -531499689 + -1066404113 -389191833 -89137409 -254806065 + + -5.4370993375778198e-01 4.3627995252609253e-01 + <_> + + 0 -1 51 -242 -1947468801 -22 1275068415 -1140850817 + -604241921 -9 -1 + + -6.5405476093292236e-01 3.4060734510421753e-01 + <_> + + 0 -1 32 -587408131 -570634756 -537010723 -536915883 + -855848708 -536962824 -4198433 -1610921844 + + -5.1407092809677124e-01 4.4894075393676758e-01 + <_> + + 0 -1 11 -34825 939523771 -8262657 2006449563 2071926263 + 216760315 -41473 2140930047 + + -6.7977309226989746e-01 3.0627605319023132e-01 + + <_> + + 0 0 2 3 + <_> + + 0 0 3 5 + <_> + + 0 2 3 3 + <_> + + 0 4 3 4 + <_> + + 0 6 3 2 + <_> + + 0 6 4 1 + <_> + + 0 8 2 4 + <_> + + 0 8 8 4 + <_> + + 1 7 7 2 + <_> + + 3 2 4 6 + <_> + + 3 2 5 4 + <_> + + 3 5 4 2 + <_> + + 3 5 4 5 + <_> + + 3 9 6 1 + <_> + + 4 1 3 3 + <_> + + 5 8 3 2 + <_> + + 6 0 6 2 + <_> + + 6 7 4 2 + <_> + + 6 9 3 1 + <_> + + 6 9 4 1 + <_> + + 7 7 4 1 + <_> + + 7 10 4 1 + <_> + + 7 16 3 1 + <_> + + 8 4 1 4 + <_> + + 9 2 3 3 + <_> + + 9 8 1 2 + <_> + + 9 9 4 1 + <_> + + 9 16 4 1 + <_> + + 10 5 1 4 + <_> + + 10 6 1 3 + <_> + + 10 6 2 2 + <_> + + 10 8 1 1 + <_> + + 10 9 4 1 + <_> + + 11 6 1 3 + <_> + + 11 8 4 2 + <_> + + 12 2 1 4 + <_> + + 12 5 2 5 + <_> + + 12 6 2 3 + <_> + + 12 7 2 2 + <_> + + 12 8 1 2 + <_> + + 12 11 2 3 + <_> + + 12 13 1 2 + <_> + + 13 1 1 3 + <_> + + 13 1 2 5 + <_> + + 14 5 4 5 + <_> + + 14 6 1 2 + <_> + + 14 6 2 3 + <_> + + 15 6 2 3 + <_> + + 15 8 1 2 + <_> + + 17 1 3 5 + <_> + + 17 6 2 3 + <_> + + 19 6 2 1 + <_> + + 20 0 2 3 + <_> + + 20 1 2 4 + <_> + + 22 6 1 1 + <_> + + 22 8 1 1 + <_> + + 23 0 1 4 + <_> + + 23 6 1 3 + diff --git a/AIParkingApplication/plateLong.xml b/AIParkingApplication/plateLong.xml new file mode 100644 index 0000000..a972a8f --- /dev/null +++ b/AIParkingApplication/plateLong.xml @@ -0,0 +1,828 @@ + + + + BOOST + LBP + 16 + 56 + + GAB + 9.9500000476837158e-01 + 4.0000000596046448e-01 + 9.4999999999999996e-01 + 1 + 100 + + 256 + 1 + 11 + + + <_> + 3 + -1.0451923608779907e+00 + + <_> + + 0 -1 36 -393219 -3 -6423041 -10787 -1416053761 -257 + -1346852097 -1081341816 + + -8.4839957952499390e-01 7.2987872362136841e-01 + <_> + + 0 -1 45 -842010930 -49 -35659809 -1 -1048593 -1 -4113 + -1053042 + + -8.3477401733398438e-01 6.3444960117340088e-01 + <_> + + 0 -1 33 922786064 -34210339 -1617846913 -42134051 + -1146421512 -67552328 -1155989574 -1147598567 + + -7.9891026020050049e-01 6.3798117637634277e-01 + + <_> + 5 + -1.2017160654067993e+00 + + <_> + + 0 -1 59 -1 -8388609 -262147 -1025 -2097155 -131075 -1188356 + -1 + + -8.0423414707183838e-01 7.1497148275375366e-01 + <_> + + 0 -1 23 823663869 -2157571 536297471 -10543107 -1883701249 + -17409 -1086813185 1069222028 + + -7.9694825410842896e-01 5.7013964653015137e-01 + <_> + + 0 -1 37 -1073495549 -1 -2097153 -9439377 -150994945 -2116609 + -301990929 -1073496061 + + -6.9870513677597046e-01 6.4994341135025024e-01 + <_> + + 0 -1 35 -13586952 -157700 -1087894051 -1073930916 + -1343833093 -4682241 -1883656193 -1346895796 + + -7.5416016578674316e-01 5.4544264078140259e-01 + <_> + + 0 -1 50 -58 -354 -1890653300 -614469684 -539033881 + -202441735 1871564686 -5244929 + + -6.8963301181793213e-01 5.5272889137268066e-01 + + <_> + 6 + -1.7692946195602417e+00 + + <_> + + 0 -1 11 -1 -65538 -73729 -65537 -132097 -2299137 -4097 -1 + + -7.9372590780258179e-01 5.7357859611511230e-01 + <_> + + 0 -1 66 -38142192 -35848195 -35668003 -33565347 -17237574 + -1124271176 -1079791701 -1078260581 + + -7.2867351770401001e-01 4.8329105973243713e-01 + <_> + + 0 -1 39 -2 1071180799 2013017084 1072973788 -537101060 + 493898748 -1107779908 -1 + + -6.8333017826080322e-01 5.2370953559875488e-01 + <_> + + 0 -1 30 -4670024 -289283 356100795 -1073935371 -1078215681 + -1077958211 -1086607361 -1078129636 + + -6.2974220514297485e-01 5.2924913167953491e-01 + <_> + + 0 -1 25 -502291709 -2097681 -137371653 -136316929 -201330897 + -1049729 -202379281 1107551011 + + -6.4298796653747559e-01 5.2137058973312378e-01 + <_> + + 0 -1 3 -1025048593 -8454153 -478153249 -2173957 -188874753 + -262597 -1049601 -520882438 + + -6.1015290021896362e-01 5.4480654001235962e-01 + + <_> + 6 + -1.6359119415283203e+00 + + <_> + + 0 -1 78 -1 -1 -538968579 -1 -67108868 -263171 -2097668 -1 + + -7.6843744516372681e-01 5.3943943977355957e-01 + <_> + + 0 -1 67 -1073495805 -234883073 -67111969 -2099217 -75507713 + -809503777 -355729409 -1038105597 + + -6.8578118085861206e-01 5.0043672323226929e-01 + <_> + + 0 -1 15 -278664217 -1050641 2147483647 -11534361 -343932945 + -49 -538968081 -285019389 + + -5.5803322792053223e-01 5.9757816791534424e-01 + <_> + + 0 -1 26 512236797 -174625 1062731775 1073551357 -1079377921 + -4194310 -1346650113 993790180 + + -7.2969949245452881e-01 4.4957882165908813e-01 + <_> + + 0 -1 76 -1039416825 -3148417 -67110913 -17 -134217745 + -71306593 -12293 -1068777469 + + -5.4335725307464600e-01 5.8002787828445435e-01 + <_> + + 0 -1 51 -262146 -67568136 -82141182 2007215580 -8520257 + 990914360 2005741838 2000680447 + + -5.9913277626037598e-01 4.9378532171249390e-01 + + <_> + 7 + -2.2062957286834717e+00 + + <_> + + 0 -1 21 -1 -197666 -1 -1 -100794369 -1076039939 -1048577 + -131073 + + -7.6847684383392334e-01 4.6340134739875793e-01 + <_> + + 0 -1 60 -237 -37 -134218753 -5 -1 -1089 -1056833 -116785407 + + -6.0895538330078125e-01 4.9938541650772095e-01 + <_> + + 0 -1 70 -1 -2318594 1069301756 1073494012 -1073841155 + 534518781 805060604 -1 + + -5.4893314838409424e-01 5.3637158870697021e-01 + <_> + + 0 -1 20 -3604484 -35791464 -541487617 -572686140 -4521987 + -17674 -1162170705 -1362163190 + + -5.7775717973709106e-01 4.9126368761062622e-01 + <_> + + 0 -1 2 -857617163 -285212689 -270802945 -268440193 + -856163329 -1140861955 -16781313 -924793788 + + -5.3668582439422607e-01 4.8434928059577942e-01 + <_> + + 0 -1 22 1618420003 -25168897 -10623585 -10487809 -134219009 + -83916809 -5243909 -532419797 + + -5.7090568542480469e-01 4.6299335360527039e-01 + <_> + + 0 -1 43 -1078395396 -1078774275 1073560829 1071454621 + -1153908801 -1344193284 800959999 792468548 + + -7.4212914705276489e-01 3.3639729022979736e-01 + + <_> + 8 + -1.7480094432830811e+00 + + <_> + + 0 -1 8 -1 -534529 -537198593 -1080885249 -16385 -1 -2097153 + -1 + + -7.0402067899703979e-01 6.5799540281295776e-01 + <_> + + 0 -1 63 -801 -603991809 1599065103 1339016447 -549468773 + -76823105 1595924235 -547365377 + + -5.0990325212478638e-01 6.3905030488967896e-01 + <_> + + 0 -1 71 -1039973885 -67109953 -513 -536870921 -138412033 + -5242913 -10489921 -1035222777 + + -5.9732669591903687e-01 4.3383660912513733e-01 + <_> + + 0 -1 12 -147324948 -183175179 -4115 -13139969 -134873089 + 1898315757 -8193 -3145729 + + -5.4496371746063232e-01 4.9755701422691345e-01 + <_> + + 0 -1 47 -67109410 -68026439 -70144214 -36194134 -269484567 + 2053192992 2013130158 2139090431 + + -5.0915426015853882e-01 4.9623697996139526e-01 + <_> + + 0 -1 42 -1089423184 -12862468 -1215089155 268189693 + 1060350877 -1355471179 993730493 973931004 + + -6.7260932922363281e-01 3.5985144972801208e-01 + <_> + + 0 -1 27 -584193330 -5377 -45942273 -33554437 -18 -8388609 + -268306 -4199934 + + -6.3769054412841797e-01 3.6881893873214722e-01 + <_> + + 0 -1 40 -278530 2108732861 -677693188 -547754822 1059967420 + 510930104 2146221050 2147483135 + + -5.8414548635482788e-01 3.8868877291679382e-01 + + <_> + 8 + -1.7377587556838989e+00 + + <_> + + 0 -1 4 -269484033 -2098177 -2097153 -1 -268436481 -3407909 + -268443649 -288882953 + + -7.2151899337768555e-01 4.3409916758537292e-01 + <_> + + 0 -1 49 1090519039 -33554945 -574619649 -536870977 + -268435457 -263233 -65 -1058013201 + + -6.0549730062484741e-01 4.4760972261428833e-01 + <_> + + 0 -1 77 -1 -1073955010 1072963508 -1073954884 -1107509252 + 1072971700 737979132 -131073 + + -5.7679480314254761e-01 4.2160665988922119e-01 + <_> + + 0 -1 24 -1626800132 -131332 -1749417985 1073551837 + -1079443522 -265731 1067499519 -1088616185 + + -5.7254594564437866e-01 4.0989327430725098e-01 + <_> + + 0 -1 80 -1086586883 1064878013 -285229315 528089087 + -1073905667 -1075879939 498884092 -1111752723 + + -4.4475182890892029e-01 4.7570961713790894e-01 + <_> + + 0 -1 34 -50397496 -571539729 -193417744 -193462273 + -184553478 -130809857 -17440853 -2841 + + -6.4574575424194336e-01 3.0541008710861206e-01 + <_> + + 0 -1 1 -33752067 2147483639 -1 -393217 -1 -129 -268500993 + -36119056 + + -3.9170506596565247e-01 5.2524656057357788e-01 + <_> + + 0 -1 52 -134283794 -237313553 -263819640 -254095478 + -88343665 2077835172 -203434230 1944967167 + + -5.9206461906433105e-01 3.4918364882469177e-01 + + <_> + 9 + -1.6959785223007202e+00 + + <_> + + 0 -1 13 -1 -589825 -327682 -1078788098 -769 -8225 2146335743 + -1 + + -7.5198322534561157e-01 3.0919909477233887e-01 + <_> + + 0 -1 64 -1861 -536879881 -551563505 -807416353 -143404637 + -8388609 1461705995 -547365377 + + -5.0563740730285645e-01 5.2403205633163452e-01 + <_> + + 0 -1 73 807932157 -182305 -1084235777 -100720641 -1084507139 + -1077959457 -1145397249 990511144 + + -7.0585018396377563e-01 3.0050498247146606e-01 + <_> + + 0 -1 5 -353907969 -67108931 -268435497 -8388635 -306192385 + -4468833 -947400705 -1066023756 + + -5.0959384441375732e-01 4.2078414559364319e-01 + <_> + + 0 -1 44 -135004932 -13385303 -2260862 2011670784 -545260115 + 1936985397 -671873842 2013255677 + + -5.5762702226638794e-01 3.7356930971145630e-01 + <_> + + 0 -1 69 -268501624 -923077129 1510622604 49204909 + -1158152271 1502704942 1557847567 1275060095 + + -6.6680961847305298e-01 2.9700765013694763e-01 + <_> + + 0 -1 38 -5251154 -9453918 797111310 2131230573 -270095185 + -1083590025 1271893455 -275777553 + + -6.2293761968612671e-01 2.9274880886077881e-01 + <_> + + 0 -1 10 2111135671 -11267 -70034433 -1 -83955777 -2103361 + -171312299 -858987148 + + -4.8028641939163208e-01 3.7846100330352783e-01 + <_> + + 0 -1 53 -8598524 -215437906 2007944206 -210203542 -472003697 + 1889017103 1739580418 2003824575 + + -6.3985937833786011e-01 3.0634939670562744e-01 + + <_> + 10 + -1.7300548553466797e+00 + + <_> + + 0 -1 82 -33554435 -1 -3 -2099201 -3 -66561 -268444163 -1 + + -6.9106096029281616e-01 4.1980198025703430e-01 + <_> + + 0 -1 16 -282136593 -13647921 -8912897 -9453753 -282072243 + -280145 -270533137 -11534513 + + -5.0940287113189697e-01 4.6177226305007935e-01 + <_> + + 0 -1 83 -93061357 -917705 -262273 -33554571 -17 -67113093 + -1074528273 -401023184 + + -4.2950353026390076e-01 4.8229336738586426e-01 + <_> + + 0 -1 29 -1 -1208158273 1610389758 1035792380 -1610776676 + 429148540 536677116 -1 + + -4.4693231582641602e-01 4.6686416864395142e-01 + <_> + + 0 -1 57 -395267 -143327236 -673841163 -4719617 -13517315 + -537588556 256115853 2102460741 + + -4.8041793704032898e-01 3.9278998970985413e-01 + <_> + + 0 -1 61 -1006113278 -46138489 -1158153545 -1296302105 + -323031121 -269488665 -24416585 -361760793 + + -4.6333816647529602e-01 4.1745829582214355e-01 + <_> + + 0 -1 68 -1476372232 -708839431 -539492417 502615125 -5572609 + -10748181 -303239169 -1180053265 + + -5.2176910638809204e-01 3.7026578187942505e-01 + <_> + + 0 -1 31 -1068120793 -67645193 -652747777 -671092737 -263253 + -87040129 -3154001 -532422397 + + -4.6057039499282837e-01 4.0219148993492126e-01 + <_> + + 0 -1 75 259817341 -805439017 -7868929 -131073 -19075267 + 1588984831 -655363 1878286196 + + -6.9318187236785889e-01 2.3830430209636688e-01 + <_> + + 0 -1 79 -17895172 -2060526125 1542280684 -509411858 + -1429346360 -358046448 1339849180 1542454651 + + -6.0459047555923462e-01 2.9107788205146790e-01 + + <_> + 11 + -1.7180263996124268e+00 + + <_> + + 0 -1 58 -769 -9089 -538976433 -538981121 -4203013 -67121665 + -548414177 -547364865 + + -6.8504858016967773e-01 3.8265970349311829e-01 + <_> + + 0 -1 9 -1643522 -327685 1342107647 -71895182 -817569033 + -536905233 1809317883 -10249 + + -5.9726876020431519e-01 3.5460519790649414e-01 + <_> + + 0 -1 41 -269484082 -280055890 -90438 -71630872 -1428216345 + -1142224929 -1069061 -2049 + + -5.7786315679550171e-01 3.0543777346611023e-01 + <_> + + 0 -1 48 534322365 2147293021 1908095995 1073466863 + -580035652 -1073800548 -2281473 -228 + + -4.1843828558921814e-01 4.1043540835380554e-01 + <_> + + 0 -1 18 -461951193 -352452769 -7734433 -304088305 -90701825 + -4208165 -286786625 -528666847 + + -4.9123781919479370e-01 3.6235439777374268e-01 + <_> + + 0 -1 46 -208603440 -179464748 2099244991 368382017 + 1811647163 -1175473669 735816175 148832265 + + -5.6988877058029175e-01 2.9373091459274292e-01 + <_> + + 0 -1 7 2146926463 2138939355 -3293353 -268568065 1879042943 + -847642691 -268439728 1819344724 + + -5.1686108112335205e-01 3.0770790576934814e-01 + <_> + + 0 -1 72 928874495 -23276801 -616562729 1474166773 -6296577 + -7472137 -8784241 2101149565 + + -5.2195620536804199e-01 2.9888916015625000e-01 + <_> + + 0 -1 32 -1073495549 -6346765 -340404258 -352872465 + -663749122 -1069133 -146806277 -1073494585 + + -4.8313328623771667e-01 3.2527777552604675e-01 + <_> + + 0 -1 14 1063103471 -136995875 -1340689921 -67128387 + -507265601 -1141788006 -219170049 -716960504 + + -4.5721590518951416e-01 3.6192828416824341e-01 + <_> + + 0 -1 56 -40317780 -167937927 -1076642036 -378286988 + 1044053918 2054736527 2037759754 2076139482 + + -5.9875541925430298e-01 2.6297777891159058e-01 + + <_> + 11 + -1.5803068876266479e+00 + + <_> + + 0 -1 62 -257 -44969 1427101527 1542938463 -5242949 -1 + 1195638575 -1 + + -6.7265135049819946e-01 3.4876033663749695e-01 + <_> + + 0 -1 28 1409282559 1939339103 1879036415 1358395359 + 1934325329 1601645797 -830481697 1610612719 + + -5.4590314626693726e-01 3.0792137980461121e-01 + <_> + + 0 -1 81 -240 -592052963 -1619528299 -538971425 -69223009 + -1180963110 -98377953 -70254829 + + -4.6597364544868469e-01 3.7983867526054382e-01 + <_> + + 0 -1 65 4146691 -14698729 -1138778249 -526985 -855650817 + -5189 -16844833 -216283265 + + -3.9402586221694946e-01 4.1330844163894653e-01 + <_> + + 0 -1 74 -15671556 -5207771 1058081657 1024664349 -1155417095 + -1611069235 521214973 1061098673 + + -5.1402300596237183e-01 3.3375990390777588e-01 + <_> + + 0 -1 6 -1048577 -4204641 -541667457 -274727973 -842532867 + -605292101 -16957612 1692991348 + + -4.4691237807273865e-01 3.4739661216735840e-01 + <_> + + 0 -1 17 -219958533 -268442577 94449135 32465443 844342139 + -1210599183 390823799 2147448155 + + -4.0495336055755615e-01 3.8254821300506592e-01 + <_> + + 0 -1 19 -134218684 1558696409 -3180796 -68165817 -168449039 + 1911606587 -17171457 1958556619 + + -5.7533365488052368e-01 2.4776358902454376e-01 + <_> + + 0 -1 55 -637534219 -33557729 -1080451409 -103292417 + -71959632 -37305927 -537966335 232723581 + + -4.9741992354393005e-01 2.8382107615470886e-01 + <_> + + 0 -1 0 2138406271 -2261025 -772834817 -6291533 -740824577 + -527473 -3417699 -839581891 + + -3.9733719825744629e-01 3.6460295319557190e-01 + <_> + + 0 -1 54 -789850304 -749814785 -1575815678 -117982473 + 348839767 130519847 -374155401 -822738985 + + -6.3854801654815674e-01 2.4949319660663605e-01 + + <_> + + 0 0 1 1 + <_> + + 0 0 1 2 + <_> + + 0 0 4 2 + <_> + + 0 0 9 4 + <_> + + 0 1 5 2 + <_> + + 0 1 8 2 + <_> + + 0 3 1 1 + <_> + + 0 4 1 1 + <_> + + 0 10 5 2 + <_> + + 0 11 7 1 + <_> + + 1 1 1 1 + <_> + + 1 7 9 3 + <_> + + 1 8 18 1 + <_> + + 1 10 5 2 + <_> + + 2 0 18 2 + <_> + + 2 1 5 3 + <_> + + 2 2 5 3 + <_> + + 3 5 5 1 + <_> + + 6 1 1 3 + <_> + + 6 4 2 3 + <_> + + 6 4 11 1 + <_> + + 6 9 7 2 + <_> + + 8 1 1 3 + <_> + + 8 2 13 1 + <_> + + 8 3 12 1 + <_> + + 9 1 1 3 + <_> + + 9 2 9 1 + <_> + + 9 2 9 3 + <_> + + 9 7 5 2 + <_> + + 9 9 1 2 + <_> + + 9 10 12 1 + <_> + + 10 0 1 3 + <_> + + 10 2 1 2 + <_> + + 10 3 14 1 + <_> + + 10 6 9 1 + <_> + + 10 11 11 1 + <_> + + 10 12 11 1 + <_> + + 11 0 1 3 + <_> + + 11 6 8 2 + <_> + + 11 7 1 3 + <_> + + 12 6 1 3 + <_> + + 12 8 8 2 + <_> + + 12 10 12 1 + <_> + + 12 11 12 1 + <_> + + 13 7 1 2 + <_> + + 14 0 6 4 + <_> + + 14 4 10 1 + <_> + + 14 5 1 3 + <_> + + 14 10 12 2 + <_> + + 15 0 3 4 + <_> + + 15 4 5 3 + <_> + + 15 5 1 3 + <_> + + 16 4 1 3 + <_> + + 17 6 1 2 + <_> + + 17 6 4 1 + <_> + + 17 9 13 1 + <_> + + 18 4 1 3 + <_> + + 18 9 9 1 + <_> + + 19 6 2 2 + <_> + + 19 7 12 3 + <_> + + 20 0 12 3 + <_> + + 20 4 2 1 + <_> + + 20 5 2 2 + <_> + + 20 6 2 2 + <_> + + 21 6 2 2 + <_> + + 23 4 1 1 + <_> + + 24 3 10 1 + <_> + + 25 2 1 2 + <_> + + 26 3 6 1 + <_> + + 26 4 1 3 + <_> + + 26 7 1 3 + <_> + + 28 0 1 3 + <_> + + 28 13 1 1 + <_> + + 29 2 5 1 + <_> + + 29 10 6 1 + <_> + + 29 13 1 1 + <_> + + 31 0 1 3 + <_> + + 35 7 1 3 + <_> + + 35 7 7 3 + <_> + + 36 4 1 3 + <_> + + 38 10 6 2 + <_> + + 39 3 5 1 + <_> + + 40 11 5 1 + <_> + + 41 0 5 2 +