[
  {
    "path": ".gitignore",
    "content": "*.iml\n.gradle\n/local.properties\n/.idea/caches\n/.idea/libraries\n/.idea/modules.xml\n/.idea/workspace.xml\n/.idea/navEditor.xml\n/.idea/assetWizardSettings.xml\n.DS_Store\n/build\n/captures\n.externalNativeBuild\n.cxx\n#GoodPoint\n"
  },
  {
    "path": ".idea/.name",
    "content": "Good Point"
  },
  {
    "path": ".idea/codeStyles/Project.xml",
    "content": "<component name=\"ProjectCodeStyleConfiguration\">\n  <code_scheme name=\"Project\" version=\"173\">\n    <JetCodeStyleSettings>\n      <option name=\"PACKAGES_TO_USE_STAR_IMPORTS\">\n        <value>\n          <package name=\"java.util\" alias=\"false\" withSubpackages=\"false\" />\n          <package name=\"kotlinx.android.synthetic\" alias=\"false\" withSubpackages=\"true\" />\n          <package name=\"io.ktor\" alias=\"false\" withSubpackages=\"true\" />\n        </value>\n      </option>\n      <option name=\"PACKAGES_IMPORT_LAYOUT\">\n        <value>\n          <package name=\"\" alias=\"false\" withSubpackages=\"true\" />\n          <package name=\"java\" alias=\"false\" withSubpackages=\"true\" />\n          <package name=\"javax\" alias=\"false\" withSubpackages=\"true\" />\n          <package name=\"kotlin\" alias=\"false\" withSubpackages=\"true\" />\n          <package name=\"\" alias=\"true\" withSubpackages=\"true\" />\n        </value>\n      </option>\n    </JetCodeStyleSettings>\n    <codeStyleSettings language=\"XML\">\n      <indentOptions>\n        <option name=\"CONTINUATION_INDENT_SIZE\" value=\"4\" />\n      </indentOptions>\n      <arrangement>\n        <rules>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>xmlns:android</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>^$</XML_NAMESPACE>\n                </AND>\n              </match>\n            </rule>\n          </section>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>xmlns:.*</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>^$</XML_NAMESPACE>\n                </AND>\n              </match>\n              <order>BY_NAME</order>\n            </rule>\n          </section>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>.*:id</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>\n                </AND>\n              </match>\n            </rule>\n          </section>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>.*:name</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>\n                </AND>\n              </match>\n            </rule>\n          </section>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>name</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>^$</XML_NAMESPACE>\n                </AND>\n              </match>\n            </rule>\n          </section>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>style</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>^$</XML_NAMESPACE>\n                </AND>\n              </match>\n            </rule>\n          </section>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>.*</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>^$</XML_NAMESPACE>\n                </AND>\n              </match>\n              <order>BY_NAME</order>\n            </rule>\n          </section>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>.*</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>\n                </AND>\n              </match>\n              <order>ANDROID_ATTRIBUTE_ORDER</order>\n            </rule>\n          </section>\n          <section>\n            <rule>\n              <match>\n                <AND>\n                  <NAME>.*</NAME>\n                  <XML_ATTRIBUTE />\n                  <XML_NAMESPACE>.*</XML_NAMESPACE>\n                </AND>\n              </match>\n              <order>BY_NAME</order>\n            </rule>\n          </section>\n        </rules>\n      </arrangement>\n    </codeStyleSettings>\n  </code_scheme>\n</component>"
  },
  {
    "path": ".idea/compiler.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"CompilerConfiguration\">\n    <bytecodeTargetLevel target=\"1.8\" />\n  </component>\n</project>"
  },
  {
    "path": ".idea/gradle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"GradleMigrationSettings\" migrationVersion=\"1\" />\n  <component name=\"GradleSettings\">\n    <option name=\"linkedExternalProjectsSettings\">\n      <GradleProjectSettings>\n        <option name=\"testRunner\" value=\"PLATFORM\" />\n        <option name=\"distributionType\" value=\"DEFAULT_WRAPPED\" />\n        <option name=\"externalProjectPath\" value=\"$PROJECT_DIR$\" />\n        <option name=\"gradleHome\" value=\"$USER_HOME$/Downloads/Compressed/gradle-6.7.1\" />\n        <option name=\"modules\">\n          <set>\n            <option value=\"$PROJECT_DIR$\" />\n            <option value=\"$PROJECT_DIR$/app\" />\n            <option value=\"$PROJECT_DIR$/lib_task_api\" />\n            <option value=\"$PROJECT_DIR$/mylibrary\" />\n          </set>\n        </option>\n        <option name=\"resolveModulePerSourceSet\" value=\"false\" />\n        <option name=\"useQualifiedModuleNames\" value=\"true\" />\n      </GradleProjectSettings>\n    </option>\n  </component>\n</project>"
  },
  {
    "path": ".idea/jarRepositories.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"RemoteRepositoriesConfiguration\">\n    <remote-repository>\n      <option name=\"id\" value=\"central\" />\n      <option name=\"name\" value=\"Maven Central repository\" />\n      <option name=\"url\" value=\"https://repo1.maven.org/maven2\" />\n    </remote-repository>\n    <remote-repository>\n      <option name=\"id\" value=\"jboss.community\" />\n      <option name=\"name\" value=\"JBoss Community repository\" />\n      <option name=\"url\" value=\"https://repository.jboss.org/nexus/content/repositories/public/\" />\n    </remote-repository>\n    <remote-repository>\n      <option name=\"id\" value=\"BintrayJCenter\" />\n      <option name=\"name\" value=\"BintrayJCenter\" />\n      <option name=\"url\" value=\"https://jcenter.bintray.com/\" />\n    </remote-repository>\n    <remote-repository>\n      <option name=\"id\" value=\"Google\" />\n      <option name=\"name\" value=\"Google\" />\n      <option name=\"url\" value=\"https://dl.google.com/dl/android/maven2/\" />\n    </remote-repository>\n    <remote-repository>\n      <option name=\"id\" value=\"maven\" />\n      <option name=\"name\" value=\"maven\" />\n      <option name=\"url\" value=\"https://jitpack.io\" />\n    </remote-repository>\n  </component>\n</project>"
  },
  {
    "path": ".idea/misc.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ProjectRootManager\" version=\"2\" languageLevel=\"JDK_1_8\" default=\"true\" project-jdk-name=\"1.8\" project-jdk-type=\"JavaSDK\">\n    <output url=\"file://$PROJECT_DIR$/build/classes\" />\n  </component>\n  <component name=\"ProjectType\">\n    <option name=\"id\" value=\"Android\" />\n  </component>\n</project>"
  },
  {
    "path": ".idea/render.experimental.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"RenderSettings\">\n    <option name=\"showDecorations\" value=\"true\" />\n  </component>\n</project>"
  },
  {
    "path": ".idea/runConfigurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"RunConfigurationProducerService\">\n    <option name=\"ignoredProducers\">\n      <set>\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer\" />\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer\" />\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer\" />\n      </set>\n    </option>\n  </component>\n</project>"
  },
  {
    "path": ".idea/shelf/Uncommitted_changes_before_Update_at_2_13_2021_11_27_PM_[Default_Changelist]/shelved.patch",
    "content": "Index: backend/.env\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/.env\t(date 1613017568849)\n+++ backend/.env\t(date 1613017568849)\n@@ -0,0 +1,1 @@\n+export JWT_SECRET_KEY = '[,]f,dkjSECRET_KEY'\n\\ No newline at end of file\n"
  },
  {
    "path": ".idea/shelf/Uncommitted_changes_before_Update_at_2_13_2021_11_27_PM__Default_Changelist_.xml",
    "content": "<changelist name=\"Uncommitted_changes_before_Update_at_2_13_2021_11_27_PM_[Default_Changelist]\" date=\"1613251665327\" recycled=\"false\" toDelete=\"true\">\n  <option name=\"PATH\" value=\"$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2_13_2021_11_27_PM_[Default_Changelist]/shelved.patch\" />\n  <option name=\"DESCRIPTION\" value=\"Uncommitted changes before Update at 2/13/2021 11:27 PM [Default Changelist]\" />\n</changelist>"
  },
  {
    "path": ".idea/shelf/Uncommitted_changes_before_Update_at_5_26_2021_1_21_AM_[Default_Changelist]/shelved.patch",
    "content": "Index: app/src/main/res/layout/fragment_profile.xml\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+><?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\r\\n<ScrollView\\r\\n    xmlns:android=\\\"http://schemas.android.com/apk/res/android\\\"\\r\\n    xmlns:app=\\\"http://schemas.android.com/apk/res-auto\\\"\\r\\n    xmlns:tools=\\\"http://schemas.android.com/tools\\\"\\r\\n    tools:context=\\\".ui.ProfileFragment\\\"\\r\\n    android:layout_width=\\\"match_parent\\\"\\r\\n    android:layout_height=\\\"match_parent\\\">\\r\\n\\r\\n    <LinearLayout\\r\\n        android:layout_width=\\\"match_parent\\\"\\r\\n        android:layout_height=\\\"match_parent\\\"\\r\\n        android:orientation=\\\"vertical\\\">\\r\\n\\r\\n        <LinearLayout\\r\\n        android:orientation=\\\"vertical\\\"\\r\\n        android:layout_width=\\\"match_parent\\\"\\r\\n        android:layout_height=\\\"wrap_content\\\"\\r\\n        android:padding=\\\"@dimen/_8sdp\\\"\\r\\n        android:background=\\\"@drawable/nav_head_color\\\"\\r\\n        android:gravity=\\\"center\\\">\\r\\n\\r\\n        <de.hdodenhof.circleimageview.CircleImageView\\r\\n            android:id=\\\"@+id/profile_pic\\\"\\r\\n            android:layout_width=\\\"wrap_content\\\"\\r\\n            android:layout_height=\\\"wrap_content\\\"\\r\\n            android:background=\\\"@drawable/ic_prof_pic\\\"\\r\\n            android:layout_gravity=\\\"center\\\" />\\r\\n\\r\\n        <TextView\\r\\n            android:id=\\\"@+id/above_name\\\"\\r\\n            android:layout_width=\\\"wrap_content\\\"\\r\\n            android:layout_height=\\\"wrap_content\\\"\\r\\n            android:layout_gravity=\\\"center\\\"\\r\\n            android:textSize=\\\"@dimen/_20ssp\\\"\\r\\n            android:text=\\\"@string/userName\\\"\\r\\n            android:textStyle=\\\"bold\\\"\\r\\n            android:textColor=\\\"@android:color/white\\\"/>\\r\\n\\r\\n        <TextView\\r\\n            android:id=\\\"@+id/above_mail\\\"\\r\\n            android:layout_width=\\\"wrap_content\\\"\\r\\n            android:layout_height=\\\"wrap_content\\\"\\r\\n            android:layout_gravity=\\\"center\\\"\\r\\n            android:textSize=\\\"@dimen/_15ssp\\\"\\r\\n            android:text=\\\"goodpoint@sci.asu.edu.eg\\\"\\r\\n            android:textColor=\\\"@android:color/white\\\" />\\r\\n        </LinearLayout>\\r\\n\\r\\n        <LinearLayout\\r\\n            android:layout_width=\\\"match_parent\\\"\\r\\n            android:layout_height=\\\"wrap_content\\\"\\r\\n            android:orientation=\\\"horizontal\\\"\\r\\n            android:paddingTop=\\\"@dimen/_10sdp\\\">\\r\\n\\r\\n            <LinearLayout\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:orientation=\\\"vertical\\\">\\r\\n\\r\\n                <TextView\\r\\n                    android:id=\\\"@+id/lost_no\\\"\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_35sdp\\\"\\r\\n                    android:text=\\\"0\\\"\\r\\n                    android:textColor=\\\"@color/black\\\"\\r\\n                    android:textSize=\\\"@dimen/_20ssp\\\"\\r\\n                    android:textStyle=\\\"bold\\\">\\r\\n                </TextView>\\r\\n                <TextView\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:text=\\\"Lost\\\"\\r\\n                    android:textSize=\\\"@dimen/_14ssp\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_25sdp\\\">\\r\\n                </TextView>\\r\\n\\r\\n\\r\\n            </LinearLayout>\\r\\n\\r\\n            <View\\r\\n                android:layout_width=\\\"@dimen/_1sdp\\\"\\r\\n                android:layout_height=\\\"@dimen/_50sdp\\\"\\r\\n                android:background=\\\"#808080\\\"\\r\\n                android:layout_marginLeft=\\\"@dimen/_35sdp\\\"/>\\r\\n\\r\\n            <LinearLayout\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:orientation=\\\"vertical\\\">\\r\\n\\r\\n                <TextView\\r\\n                    android:id=\\\"@+id/match_no\\\"\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_55sdp\\\"\\r\\n                    android:text=\\\"0\\\"\\r\\n                    android:textColor=\\\"#C4207720\\\"\\r\\n                    android:textSize=\\\"@dimen/_20ssp\\\"\\r\\n                    android:textStyle=\\\"bold\\\">\\r\\n                </TextView>\\r\\n                <TextView\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:text=\\\"Matched\\\"\\r\\n                    android:textSize=\\\"@dimen/_14ssp\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_32sdp\\\">\\r\\n                </TextView>\\r\\n\\r\\n            </LinearLayout>\\r\\n\\r\\n            <View\\r\\n                android:layout_width=\\\"@dimen/_1sdp\\\"\\r\\n                android:layout_height=\\\"@dimen/_50sdp\\\"\\r\\n                android:background=\\\"#808080\\\"\\r\\n                android:layout_marginLeft=\\\"@dimen/_30sdp\\\"/>\\r\\n\\r\\n            <LinearLayout\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:orientation=\\\"vertical\\\">\\r\\n\\r\\n                <TextView\\r\\n                    android:id=\\\"@+id/found_no\\\"\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:text=\\\"0\\\"\\r\\n                    android:textColor=\\\"@color/black\\\"\\r\\n                    android:textStyle=\\\"bold\\\"\\r\\n                    android:textSize=\\\"@dimen/_20ssp\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_45sdp\\\">\\r\\n                </TextView>\\r\\n                <TextView\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:text=\\\"Found\\\"\\r\\n                    android:textSize=\\\"@dimen/_14ssp\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_30sdp\\\">\\r\\n                </TextView>\\r\\n\\r\\n            </LinearLayout>\\r\\n\\r\\n\\r\\n        </LinearLayout>\\r\\n\\r\\n        <TextView\\r\\n            android:layout_width=\\\"wrap_content\\\"\\r\\n            android:layout_height=\\\"wrap_content\\\"\\r\\n            android:text=\\\"Account Info\\\"\\r\\n            android:textSize=\\\"@dimen/_20ssp\\\"\\r\\n            android:textColor=\\\"@color/black\\\"\\r\\n            android:textStyle=\\\"bold\\\"\\r\\n            android:paddingTop=\\\"@dimen/_10sdp\\\"\\r\\n            android:paddingLeft=\\\"@dimen/_15sdp\\\">\\r\\n        </TextView>\\r\\n\\r\\n        <LinearLayout\\r\\n            android:layout_width=\\\"match_parent\\\"\\r\\n            android:layout_height=\\\"wrap_content\\\"\\r\\n            android:orientation=\\\"vertical\\\"\\r\\n            android:layout_marginTop=\\\"@dimen/_10sdp\\\">\\r\\n            <LinearLayout\\r\\n                android:orientation=\\\"horizontal\\\"\\r\\n                android:paddingLeft=\\\"@dimen/_17sdp\\\"\\r\\n                android:layout_width=\\\"match_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\">\\r\\n                <ImageView\\r\\n                    android:layout_width=\\\"@dimen/_25sdp\\\"\\r\\n                    android:layout_height=\\\"@dimen/_25sdp\\\"\\r\\n                    android:src=\\\"@drawable/ic_baseline_person_24\\\"\\r\\n                    app:tint=\\\"#FA5F2F\\\" />\\r\\n                <TextView\\r\\n                    android:id=\\\"@+id/username_p\\\"\\r\\n                    android:textStyle=\\\"bold\\\"\\r\\n                    android:layout_gravity=\\\"center_vertical\\\"\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_8sdp\\\"\\r\\n                    android:text=\\\"@string/userName\\\"/>\\r\\n            </LinearLayout>\\r\\n\\r\\n            <LinearLayout\\r\\n                android:layout_marginTop=\\\"@dimen/_15sdp\\\"\\r\\n                android:orientation=\\\"horizontal\\\"\\r\\n                android:paddingLeft=\\\"@dimen/_17sdp\\\"\\r\\n                android:layout_width=\\\"match_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\">\\r\\n                <ImageView\\r\\n                    android:layout_width=\\\"@dimen/_25sdp\\\"\\r\\n                    android:layout_height=\\\"@dimen/_25sdp\\\"\\r\\n                    android:src=\\\"@drawable/ic_baseline_email_24\\\"\\r\\n                    app:tint=\\\"#FA5F2F\\\" />\\r\\n                <TextView\\r\\n                    android:id=\\\"@+id/e_mail\\\"\\r\\n                    android:inputType=\\\"textEmailAddress\\\"\\r\\n                    android:textStyle=\\\"bold\\\"\\r\\n                    android:layout_gravity=\\\"center_vertical\\\"\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_8sdp\\\"\\r\\n                    android:text=\\\"goodpoint@sci.asu.edu.eg\\\"/>\\r\\n            </LinearLayout>\\r\\n            <LinearLayout\\r\\n                android:layout_marginTop=\\\"@dimen/_15sdp\\\"\\r\\n                android:orientation=\\\"horizontal\\\"\\r\\n                android:paddingLeft=\\\"@dimen/_17sdp\\\"\\r\\n                android:layout_width=\\\"match_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\">\\r\\n                <ImageView\\r\\n                    android:layout_width=\\\"@dimen/_25sdp\\\"\\r\\n                    android:layout_height=\\\"@dimen/_25sdp\\\"\\r\\n                    android:src=\\\"@drawable/ic_baseline_phone_android_24\\\"\\r\\n                    app:tint=\\\"#FA5F2F\\\"/>\\r\\n                <TextView\\r\\n                    android:id=\\\"@+id/phone_p\\\"\\r\\n                    android:textStyle=\\\"bold\\\"\\r\\n                    android:layout_gravity=\\\"center_vertical\\\"\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_8sdp\\\"\\r\\n                    android:text=\\\"+01271177281\\\"/>\\r\\n            </LinearLayout>\\r\\n            <LinearLayout\\r\\n                android:layout_marginTop=\\\"@dimen/_15sdp\\\"\\r\\n                android:orientation=\\\"horizontal\\\"\\r\\n                android:paddingLeft=\\\"@dimen/_17sdp\\\"\\r\\n                android:layout_width=\\\"match_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\">\\r\\n                <ImageView\\r\\n                    android:layout_width=\\\"@dimen/_25sdp\\\"\\r\\n                    android:layout_height=\\\"@dimen/_25sdp\\\"\\r\\n                    android:src=\\\"@drawable/ic_baseline_room_24\\\"\\r\\n                    app:tint=\\\"#FA5F2F\\\"/>\\r\\n                <TextView\\r\\n                    android:id=\\\"@+id/city_p\\\"\\r\\n                    android:textStyle=\\\"bold\\\"\\r\\n                    android:layout_gravity=\\\"center_vertical\\\"\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_8sdp\\\"\\r\\n                    android:text=\\\"Cairo\\\"/>\\r\\n            </LinearLayout>\\r\\n\\r\\n            <LinearLayout\\r\\n                android:layout_marginTop=\\\"@dimen/_15sdp\\\"\\r\\n                android:orientation=\\\"horizontal\\\"\\r\\n                android:paddingLeft=\\\"@dimen/_17sdp\\\"\\r\\n                android:layout_width=\\\"match_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\">\\r\\n                <ImageView\\r\\n                    android:layout_width=\\\"@dimen/_25sdp\\\"\\r\\n                    android:layout_height=\\\"@dimen/_25sdp\\\"\\r\\n                    android:src=\\\"@drawable/ic_baseline_date_range_24\\\"\\r\\n                    app:tint=\\\"#FA5F2F\\\"/>\\r\\n                <TextView\\r\\n                    android:id=\\\"@+id/birth_date\\\"\\r\\n                    android:textStyle=\\\"bold\\\"\\r\\n                    android:layout_gravity=\\\"center_vertical\\\"\\r\\n                    android:layout_width=\\\"wrap_content\\\"\\r\\n                    android:layout_height=\\\"wrap_content\\\"\\r\\n                    android:paddingLeft=\\\"@dimen/_8sdp\\\"\\r\\n                    android:text=\\\"26/4/1999\\\"/>\\r\\n            </LinearLayout>\\r\\n        </LinearLayout>\\r\\n\\r\\n\\r\\n    </LinearLayout>\\r\\n</ScrollView>\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- app/src/main/res/layout/fragment_profile.xml\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ app/src/main/res/layout/fragment_profile.xml\t(date 1621855100318)\n@@ -22,8 +22,8 @@\n \n         <de.hdodenhof.circleimageview.CircleImageView\n             android:id=\"@+id/profile_pic\"\n-            android:layout_width=\"wrap_content\"\n-            android:layout_height=\"wrap_content\"\n+            android:layout_width=\"@dimen/_100sdp\"\n+            android:layout_height=\"@dimen/_100sdp\"\n             android:background=\"@drawable/ic_prof_pic\"\n             android:layout_gravity=\"center\" />\n \nIndex: app/src/main/java/com/helloworld/goodpoint/ui/lostFoundObject/FoundObjectActivity.java\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>package com.helloworld.goodpoint.ui.lostFoundObject;\\r\\n\\r\\nimport android.Manifest;\\r\\nimport android.annotation.SuppressLint;\\r\\nimport android.app.AlertDialog;\\r\\nimport android.app.DatePickerDialog;\\r\\nimport android.app.Fragment;\\r\\nimport android.app.FragmentManager;\\r\\nimport android.app.FragmentTransaction;\\r\\nimport android.content.Context;\\r\\nimport android.content.Intent;\\r\\nimport android.content.pm.PackageManager;\\r\\nimport android.database.Cursor;\\r\\nimport android.graphics.Bitmap;\\r\\nimport android.graphics.Color;\\r\\nimport android.graphics.drawable.ColorDrawable;\\r\\nimport android.location.Address;\\r\\nimport android.location.Geocoder;\\r\\nimport android.location.Location;\\r\\nimport android.location.LocationManager;\\r\\nimport android.net.ConnectivityManager;\\r\\nimport android.net.NetworkInfo;\\r\\nimport android.net.Uri;\\r\\nimport android.net.wifi.WifiManager;\\r\\nimport android.os.AsyncTask;\\r\\nimport android.os.Bundle;\\r\\nimport android.os.Looper;\\r\\nimport android.provider.MediaStore;\\r\\nimport android.provider.Settings;\\r\\nimport android.util.Log;\\r\\nimport android.util.SparseArray;\\r\\nimport android.view.MenuItem;\\r\\nimport android.view.View;\\r\\nimport android.widget.AutoCompleteTextView;\\r\\nimport android.widget.Button;\\r\\nimport android.widget.DatePicker;\\r\\nimport android.widget.EditText;\\r\\nimport android.widget.ProgressBar;\\r\\nimport android.widget.TextView;\\r\\nimport android.widget.Toast;\\r\\n\\r\\nimport androidx.annotation.NonNull;\\r\\nimport androidx.annotation.Nullable;\\r\\nimport androidx.appcompat.app.AppCompatActivity;\\r\\nimport androidx.appcompat.widget.PopupMenu;\\r\\nimport androidx.core.app.ActivityCompat;\\r\\nimport androidx.loader.content.CursorLoader;\\r\\n\\r\\nimport com.google.android.gms.common.GooglePlayServicesNotAvailableException;\\r\\nimport com.google.android.gms.common.GooglePlayServicesRepairableException;\\r\\nimport com.google.android.gms.location.FusedLocationProviderClient;\\r\\nimport com.google.android.gms.location.LocationCallback;\\r\\nimport com.google.android.gms.location.LocationRequest;\\r\\nimport com.google.android.gms.location.LocationResult;\\r\\nimport com.google.android.gms.location.LocationServices;\\r\\nimport com.google.android.gms.location.places.Place;\\r\\nimport com.google.android.gms.location.places.ui.PlacePicker;\\r\\nimport com.google.android.gms.tasks.OnCompleteListener;\\r\\nimport com.google.android.gms.tasks.Task;\\r\\nimport com.google.android.gms.vision.Frame;\\r\\nimport com.google.android.gms.vision.face.Face;\\r\\nimport com.google.android.gms.vision.face.FaceDetector;\\r\\nimport com.google.gson.JsonObject;\\r\\nimport com.helloworld.goodpoint.R;\\r\\nimport com.helloworld.goodpoint.pojo.FoundItem;\\r\\nimport com.helloworld.goodpoint.pojo.FoundPerson;\\r\\nimport com.helloworld.goodpoint.pojo.LostItem;\\r\\nimport com.helloworld.goodpoint.pojo.LostPerson;\\r\\nimport com.helloworld.goodpoint.pojo.User;\\r\\nimport com.helloworld.goodpoint.retrofit.ApiClient;\\r\\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\\r\\nimport com.helloworld.goodpoint.ui.Alert;\\r\\nimport com.helloworld.goodpoint.ui.GlobalVar;\\r\\nimport com.helloworld.goodpoint.ui.PrefManager;\\r\\nimport com.helloworld.goodpoint.ui.prepareList;\\r\\nimport com.shashank.sony.fancytoastlib.FancyToast;\\r\\n\\r\\nimport org.json.JSONException;\\r\\nimport org.json.JSONObject;\\r\\n\\r\\nimport java.io.ByteArrayOutputStream;\\r\\nimport java.io.File;\\r\\nimport java.io.IOException;\\r\\nimport java.util.ArrayList;\\r\\nimport java.util.Calendar;\\r\\nimport java.util.List;\\r\\nimport java.util.Locale;\\r\\n\\r\\nimport okhttp3.MediaType;\\r\\nimport okhttp3.MultipartBody;\\r\\nimport okhttp3.RequestBody;\\r\\nimport retrofit2.Call;\\r\\nimport retrofit2.Callback;\\r\\nimport retrofit2.Response;\\r\\n\\r\\n\\r\\npublic class FoundObjectActivity extends AppCompatActivity implements View.OnClickListener, objectDataType {\\r\\n    private TextView DateFound;\\r\\n    private EditText Location;\\r\\n    private DatePickerDialog.OnDateSetListener DateSet;\\r\\n    private int year, month, Day;\\r\\n    private Button Person;\\r\\n    private Button Object;\\r\\n    private Button MatchFound;\\r\\n    private prepareList List;\\r\\n    private List<String> listColor;\\r\\n    private Fragment PersonF, ObjectF;\\r\\n    private String location, City;\\r\\n    private String ObjectColor, Serial, brand, textArea_information, Type;\\r\\n    private String PName;\\r\\n    private ProgressBar progressbar;\\r\\n    private WifiManager wifiManager;\\r\\n    private final static int PLACE_PICKER_REQUEST = 999;\\r\\n    private List<Bitmap> Person_Images;\\r\\n    double Latitude;\\r\\n    double Longitude;\\r\\n    private FaceDetector faceDetector;\\r\\n    FusedLocationProviderClient fusedLocationProviderClient;\\r\\n    private boolean flagPerson, flagObject;\\r\\n\\r\\n    @Override\\r\\n    protected void onCreate(Bundle savedInstanceState) {\\r\\n        super.onCreate(savedInstanceState);\\r\\n        setContentView(R.layout.activity_found_object);\\r\\n        Calendar cal = Calendar.getInstance();//To get today's date\\r\\n        inti();\\r\\n        if (savedInstanceState != null) {\\r\\n            year = savedInstanceState.getInt(\\\"year\\\");\\r\\n            month = savedInstanceState.getInt(\\\"month\\\");\\r\\n            Day = savedInstanceState.getInt(\\\"Day\\\");\\r\\n            flagPerson = savedInstanceState.getBoolean(\\\"flagPerson\\\");\\r\\n            flagObject = savedInstanceState.getBoolean(\\\"flagObject\\\");\\r\\n            if (flagPerson == true) {\\r\\n                Person.setTextColor(0xFFF38E3A);\\r\\n                Object.setTextColor(Color.BLACK);\\r\\n            } else if (flagObject == true) {\\r\\n                Object.setTextColor(0xFFF38E3A);\\r\\n                Person.setTextColor(Color.BLACK);\\r\\n            }\\r\\n        } else {\\r\\n            year = cal.get(Calendar.YEAR);\\r\\n            month = cal.get(Calendar.MONTH);\\r\\n            Day = cal.get(Calendar.DAY_OF_MONTH);\\r\\n        }\\r\\n        //String todayDate = year + \\\"/\\\" + (month + 1) + \\\"/\\\" + Day;\\r\\n        String todayDate = year + \\\"-\\\" + (month + 1) + \\\"-\\\" + Day;\\r\\n        DateFound.setText(todayDate);\\r\\n\\r\\n        DateSet = new DatePickerDialog.OnDateSetListener() {\\r\\n            @Override\\r\\n            public void onDateSet(DatePicker datePicker, int y, int m, int d) {\\r\\n                m++;\\r\\n                if (y > year || (m - 1 > month && y >= year) || (d > Day && m - 1 >= month && y >= year)) {\\r\\n                    FancyToast.makeText(FoundObjectActivity.this, \\\"Invalid date\\\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\\r\\n                    //String todayDate = year + \\\"/\\\" + (month + 1) + \\\"/\\\" + Day;\\r\\n                    String todayDate = year + \\\"-\\\" + (month + 1) + \\\"-\\\" + Day;\\r\\n                    DateFound.setText(todayDate);\\r\\n                } else {\\r\\n                    year = y;\\r\\n                    month = m - 1;\\r\\n                    Day = d;\\r\\n                    //String Date = y + \\\"/\\\" + m + \\\"/\\\" + d;\\r\\n                    String Date = y + \\\"-\\\" + m + \\\"-\\\" + d;\\r\\n                    DateFound.setText(Date);\\r\\n                }\\r\\n            }\\r\\n        };\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    protected void onStart() {\\r\\n        super.onStart();\\r\\n        fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(FoundObjectActivity.this);\\r\\n        if (ActivityCompat.checkSelfPermission(FoundObjectActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED\\r\\n                && ActivityCompat.checkSelfPermission(FoundObjectActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {\\r\\n            ActivityCompat.requestPermissions(FoundObjectActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 12);\\r\\n        } else {\\r\\n            getCurrentLocation();\\r\\n        }\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public void onClick(View view) {\\r\\n        FragmentManager FM = getFragmentManager();\\r\\n        FragmentTransaction FT = FM.beginTransaction();\\r\\n        switch (view.getId()) {\\r\\n            case R.id.DateFound:\\r\\n                DatePickerDialog dialog = new DatePickerDialog(\\r\\n                        FoundObjectActivity.this,\\r\\n                        android.R.style.Theme_Holo_Light_Dialog_MinWidth,\\r\\n                        DateSet,\\r\\n                        year, month, Day\\r\\n                );\\r\\n                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));\\r\\n                dialog.show();\\r\\n                break;\\r\\n            case R.id.FoundLocatin:\\r\\n                PopupMenu popupMenu = new PopupMenu(this, view);\\r\\n                popupMenu.getMenuInflater().inflate(R.menu.choose_location, popupMenu.getMenu());\\r\\n                popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {\\r\\n                    @Override\\r\\n                    public boolean onMenuItemClick(MenuItem item) {\\r\\n                        if (ActivityCompat.checkSelfPermission(FoundObjectActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED\\r\\n                                && ActivityCompat.checkSelfPermission(FoundObjectActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {\\r\\n                            ActivityCompat.requestPermissions(FoundObjectActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 12);\\r\\n                        } else {\\r\\n                            switch (item.getItemId()) {\\r\\n                                case R.id.TakeCurrLocation:\\r\\n                                    isInternetAvailable Available = new isInternetAvailable();\\r\\n                                    Available.execute();\\r\\n                                    CurrentLocation Locate = new CurrentLocation();\\r\\n                                    Locate.execute();\\r\\n                                    break;\\r\\n                                case R.id.DeteLocation:\\r\\n                                    boolean flag = false;\\r\\n                                    wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);\\r\\n                                    if (wifiManager.isWifiEnabled())\\r\\n                                        wifiManager.setWifiEnabled(false);\\r\\n                                    else {\\r\\n                                        flag = true;\\r\\n                                    }\\r\\n                                    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();\\r\\n                                    try {\\r\\n                                        Intent intent = builder.build(FoundObjectActivity.this);\\r\\n                                        startActivityForResult(intent, PLACE_PICKER_REQUEST);\\r\\n                                        if (!flag) wifiManager.setWifiEnabled(true);\\r\\n                                    } catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {\\r\\n                                        e.printStackTrace();\\r\\n                                    } catch (Exception e) {\\r\\n                                        e.printStackTrace();\\r\\n                                    }\\r\\n                                    break;\\r\\n                            }\\r\\n                        }\\r\\n                        return true;\\r\\n                    }\\r\\n                });\\r\\n                popupMenu.show();\\r\\n                break;\\r\\n            case R.id.PersonFound:\\r\\n                flagPerson = true;\\r\\n                flagObject = false;\\r\\n                FT.replace(R.id.FragmentFoundID, PersonF, null);\\r\\n                Person.setTextColor(0xFFF38E3A);\\r\\n                Object.setTextColor(Color.BLACK);\\r\\n\\r\\n                FT.commit();\\r\\n                break;\\r\\n            case R.id.ObjectFound:\\r\\n                flagObject = true;\\r\\n                flagPerson = false;\\r\\n                FT.replace(R.id.FragmentFoundID, ObjectF, null);\\r\\n                Object.setTextColor(0xFFF38E3A);\\r\\n                Person.setTextColor(Color.BLACK);\\r\\n\\r\\n                FT.commit();\\r\\n                break;\\r\\n            case R.id.MatchFound:\\r\\n                GlobalVar.allFaces.clear();\\r\\n                if (!flagObject && !flagPerson) {\\r\\n                    FancyToast.makeText(this, \\\"Specify the type of the missing object\\\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\\r\\n                } else if (flagObject && CheckMatchObject()) {\\r\\n                    FoundItems();\\r\\n                    FancyToast.makeText(this, \\\"The data has been saved successfully\\\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\\r\\n                    finish();\\r\\n                } else if (flagPerson && CheckMatchPerson()) {\\r\\n                    faceDetector = new FaceDetector.Builder(this)\\r\\n                            .setTrackingEnabled(false)\\r\\n                            .setLandmarkType(FaceDetector.ALL_LANDMARKS)\\r\\n                            .setMode(FaceDetector.FAST_MODE).build();\\r\\n                    if (!faceDetector.isOperational()) {\\r\\n                        Toast.makeText(this, \\\"Face Detection can't be setup\\\", Toast.LENGTH_SHORT).show();\\r\\n                    }\\r\\n                    checkFaces N = new checkFaces(this);\\r\\n                    N.execute();\\r\\n                }\\r\\n                break;\\r\\n        }\\r\\n    }\\r\\n\\r\\n    private boolean CheckMatchPerson() {\\r\\n        EditText PersonName = PersonF.getView().findViewById(R.id.PersonName);\\r\\n        PName = PersonName.getText().toString();\\r\\n        location = Location.getText().toString();\\r\\n        if (location.isEmpty()) {\\r\\n            FancyToast.makeText(this, \\\"Specify where you found this object\\\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\\r\\n            return false;\\r\\n        } else if (Person_Images.size() == 0) {\\r\\n            FancyToast.makeText(this, \\\"You must put at least one picture!\\\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\\r\\n            return false;\\r\\n        }\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    class checkFaces extends AsyncTask<Void, Void, Void> {\\r\\n        AlertDialog.Builder builder;\\r\\n        AlertDialog dialog;\\r\\n        Context context;\\r\\n\\r\\n        private checkFaces(Context context) {\\r\\n            this.context = context.getApplicationContext();\\r\\n            builder = new AlertDialog.Builder(FoundObjectActivity.this);\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected void onPreExecute() {\\r\\n            super.onPreExecute();\\r\\n            builder.setCancelable(false);\\r\\n            View view = getLayoutInflater().inflate(R.layout.progress_bar_alert, null);\\r\\n            builder.setView(view);\\r\\n            dialog = builder.create();\\r\\n            dialog.show();\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected void onPostExecute(Void a) {\\r\\n            super.onPostExecute(a);\\r\\n            Log.e(\\\"img\\\", \\\"onPostExecute: \\\" + GlobalVar.ImgThatHaveMoreThanOneFace.size() + \\\"  \\\" + GlobalVar.FinialFacesThatWillGoToDataBase.size());\\r\\n            if (GlobalVar.allFaces.size() > 0) {\\r\\n                startActivity(new Intent(FoundObjectActivity.this, Alert.class));\\r\\n                finish();\\r\\n\\r\\n            } else {\\r\\n                FancyToast.makeText(FoundObjectActivity.this, \\\"The data has been saved successfully\\\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\\r\\n                finish();\\r\\n            }\\r\\n            dialog.dismiss();\\r\\n            FoundPerson();\\r\\n\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected Void doInBackground(Void... voids) {\\r\\n            GlobalVar.ImgThatHaveMoreThanOneFace.clear();\\r\\n            GlobalVar.FinialFacesThatWillGoToDataBase.clear();\\r\\n            GlobalVar.allFaces.clear();\\r\\n            boolean flag = false;\\r\\n            for (int i = 0; i < Person_Images.size(); i++) {\\r\\n                Bitmap My = Person_Images.get(i);\\r\\n                Bitmap faceBitmap;\\r\\n                List<Bitmap> faces = new ArrayList<>();//In one Img;\\r\\n                Frame frame = new Frame.Builder().setBitmap(My).build();\\r\\n                SparseArray<Face> sparseArray = faceDetector.detect(frame);\\r\\n                for (int j = 0; j < sparseArray.size(); j++) {\\r\\n                    flag = false;\\r\\n                    Face face = sparseArray.valueAt(j);\\r\\n                    if (((int) face.getPosition().y + (int) face.getHeight()) > My.getHeight()) {\\r\\n                        int H = My.getHeight() - (int) face.getPosition().y;\\r\\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, (int) face.getWidth(), H);\\r\\n                    } else if (((int) face.getPosition().x + (int) face.getWidth()) > My.getWidth()) {\\r\\n                        int W = My.getWidth() - (int) face.getPosition().x;\\r\\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, W, (int) face.getHeight());\\r\\n                    } else if ((((int) face.getPosition().x + (int) face.getWidth()) > My.getWidth()) && (((int) face.getPosition().y + (int) face.getHeight()) > My.getHeight())) {\\r\\n                        int H = My.getHeight() - (int) face.getPosition().y;\\r\\n                        int W = My.getWidth() - (int) face.getPosition().x;\\r\\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, W, H);\\r\\n                    } else {\\r\\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, (int) face.getWidth(), (int) face.getHeight());\\r\\n\\r\\n                    }\\r\\n                    if (sparseArray.size() == 1) {\\r\\n                        GlobalVar.FinialFacesThatWillGoToDataBase.add(faceBitmap);\\r\\n                        flag = true;\\r\\n                    } else {\\r\\n                        faces.add(faceBitmap);\\r\\n                    }\\r\\n                }\\r\\n                if (!flag) {\\r\\n                    GlobalVar.ImgThatHaveMoreThanOneFace.add(My);\\r\\n                    GlobalVar.allFaces.add(faces);\\r\\n                }\\r\\n\\r\\n            }\\r\\n            return null;\\r\\n        }\\r\\n    }\\r\\n\\r\\n    private boolean CheckMatchObject() {\\r\\n        location = Location.getText().toString();\\r\\n        AutoCompleteTextView V = ObjectF.getView().findViewById(R.id.ColorOfObject);\\r\\n        EditText serialObject = ObjectF.getView().findViewById(R.id.Serial);\\r\\n        EditText brandObject = ObjectF.getView().findViewById(R.id.brand);\\r\\n        EditText textArea_informationObject = ObjectF.getView().findViewById(R.id.textArea_information);\\r\\n        EditText TypeObject;\\r\\n\\r\\n        ObjectColor = V.getText().toString();\\r\\n        Serial = serialObject.getText().toString();\\r\\n        brand = brandObject.getText().toString();\\r\\n        textArea_information = textArea_informationObject.getText().toString();\\r\\n        if (location.isEmpty()) {\\r\\n            FancyToast.makeText(this, \\\"Specify where you found this object\\\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\\r\\n            return false;\\r\\n        } else if (Type.equals(\\\"Type\\\")) {\\r\\n            FancyToast.makeText(this, \\\"You must Choose the Type!\\\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\\r\\n            return false;\\r\\n        } else if (Type.equals(\\\"Others\\\")) {\\r\\n            TypeObject = ObjectF.getView().findViewById(R.id.Other);\\r\\n            if (TypeObject.getText().toString().isEmpty()) {\\r\\n                TypeObject.setError(\\\"Field can't be empty\\\");\\r\\n                return false;\\r\\n            } else {\\r\\n                Type = TypeObject.getText().toString();\\r\\n            }\\r\\n        } else if (brand.isEmpty()) {\\r\\n            brandObject.setError(\\\"Field can't be empty\\\");\\r\\n            return false;\\r\\n        } else if (ObjectColor.isEmpty()) {\\r\\n            V.setError(\\\"Field can't be empty\\\");\\r\\n            return false;\\r\\n        } else if (!listColor.contains(ObjectColor.trim())) {\\r\\n            V.setError(\\\"Color isn't known!\\\");\\r\\n            return false;\\r\\n        } else if (textArea_information.isEmpty()) {\\r\\n            textArea_informationObject.setError(\\\"Field can't be empty\\\");\\r\\n            return false;\\r\\n        }\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {\\r\\n        super.onActivityResult(requestCode, resultCode, data);\\r\\n        if (requestCode == PLACE_PICKER_REQUEST && resultCode == RESULT_OK) {\\r\\n            Place place = PlacePicker.getPlace(data, this);\\r\\n            StringBuilder stringBuilder = new StringBuilder();\\r\\n            Latitude = place.getLatLng().latitude;\\r\\n            Longitude = place.getLatLng().longitude;\\r\\n            isInternetAvailable Available = new isInternetAvailable();\\r\\n            Available.execute();\\r\\n            CurrentLocation Locate = new CurrentLocation();\\r\\n            Locate.execute();\\r\\n        }\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {\\r\\n        if (requestCode == 12 && (grantResults.length > 0) &&\\r\\n                grantResults[0] == PackageManager.PERMISSION_GRANTED) {\\r\\n            getCurrentLocation();\\r\\n        } else if (requestCode == 12 && (grantResults.length > 0) &&\\r\\n                grantResults[0] == PackageManager.PERMISSION_DENIED) {\\r\\n\\r\\n            FancyToast.makeText(this, \\\"Permission denied\\\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\\r\\n        } else if (requestCode == 11 && (grantResults.length > 0) &&\\r\\n                grantResults[0] == PackageManager.PERMISSION_DENIED) {\\r\\n            FancyToast.makeText(this, \\\"Permission denied\\\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\\r\\n        }\\r\\n\\r\\n    }\\r\\n\\r\\n    @SuppressLint(\\\"MissingPermission\\\")\\r\\n    private void getCurrentLocation() {\\r\\n        LocationManager locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);\\r\\n\\r\\n        if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)\\r\\n                || locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)\\r\\n        ) {\\r\\n            fusedLocationProviderClient.getLastLocation().addOnCompleteListener(new OnCompleteListener<Location>() {\\r\\n                @SuppressLint(\\\"MissingPermission\\\")\\r\\n                @Override\\r\\n                public void onComplete(@NonNull Task<Location> task) {\\r\\n                    Location location = task.getResult();\\r\\n                    if (location != null) {\\r\\n                        Longitude = location.getLongitude();\\r\\n                        Latitude = location.getLatitude();\\r\\n                    } else {\\r\\n                        @SuppressLint(\\\"RestrictedApi\\\") LocationRequest locationRequest = new LocationRequest()\\r\\n                                .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)\\r\\n                                .setInterval(10000)\\r\\n                                .setFastestInterval(1000)\\r\\n                                .setNumUpdates(1);\\r\\n                        LocationCallback locationCallback = new LocationCallback() {\\r\\n                            @Override\\r\\n                            public void onLocationResult(LocationResult locationResult) {\\r\\n                                Location location1 = locationResult.getLastLocation();\\r\\n                                Longitude = location1.getLongitude();\\r\\n                                Latitude = location1.getLatitude();\\r\\n                            }\\r\\n                        };\\r\\n                        fusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, Looper.myLooper());\\r\\n\\r\\n                    }\\r\\n                }\\r\\n            });\\r\\n        } else {\\r\\n            //when location servies is not enabled\\r\\n            //open location setting\\r\\n            startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));\\r\\n        }\\r\\n    }\\r\\n\\r\\n    class CurrentLocation extends AsyncTask<Void, Void, String> {\\r\\n\\r\\n        @Override\\r\\n        protected void onPreExecute() {\\r\\n            super.onPreExecute();\\r\\n            progressbar.setVisibility(View.VISIBLE);\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected void onPostExecute(String Locate) {\\r\\n            super.onPostExecute(Locate);\\r\\n            if (Locate.isEmpty())\\r\\n                FancyToast.makeText(FoundObjectActivity.this, \\\"An error has occurred , please try again\\\", FancyToast.LENGTH_LONG, FancyToast.WARNING, false).show();\\r\\n            Location.setText(Locate);\\r\\n            progressbar.setVisibility(View.GONE);\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected String doInBackground(Void... voids) {\\r\\n            Geocoder geocoder = new Geocoder(FoundObjectActivity.this, new Locale(\\\"en\\\"));\\r\\n            String Locate = \\\"\\\";\\r\\n            try {\\r\\n                List<Address> addresses = geocoder.getFromLocation(Latitude, Longitude, 1);\\r\\n                String Country = addresses.get(0).getCountryName();\\r\\n                String CityG = addresses.get(0).getAdminArea();\\r\\n                City = CityG.substring(0, CityG.lastIndexOf(' '));\\r\\n                String area = addresses.get(0).getLocality();\\r\\n                Locate = area + \\\",\\\" + CityG + \\\",\\\" + Country + \\\".\\\";\\r\\n            } catch (IOException e) {\\r\\n                e.printStackTrace();\\r\\n            }\\r\\n            return Locate;\\r\\n        }\\r\\n\\r\\n    }\\r\\n\\r\\n    public boolean isNetworkAvailable(Context context) {\\r\\n        ConnectivityManager cm = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);\\r\\n        NetworkInfo nInfo = cm.getActiveNetworkInfo();\\r\\n        boolean connected = nInfo != null && nInfo.isAvailable() && nInfo.isConnected();\\r\\n        return connected;\\r\\n    }\\r\\n\\r\\n    class isInternetAvailable extends AsyncTask<Void, Void, Boolean> {\\r\\n\\r\\n        @Override\\r\\n        protected void onPreExecute() {\\r\\n            super.onPreExecute();\\r\\n            progressbar.setVisibility(View.VISIBLE);\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected void onPostExecute(Boolean aBoolean) {\\r\\n            super.onPostExecute(aBoolean);\\r\\n            progressbar.setVisibility(View.GONE);\\r\\n            if (!aBoolean)\\r\\n                FancyToast.makeText(FoundObjectActivity.this, \\\"No Internet Connection\\\", FancyToast.LENGTH_LONG, FancyToast.WARNING, false).show();\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected Boolean doInBackground(Void... voids) {\\r\\n            Boolean flag;\\r\\n            try {\\r\\n                String command = \\\"ping -c 1 google.com\\\";\\r\\n                flag = (Runtime.getRuntime().exec(command).waitFor() == 0);\\r\\n            } catch (Exception e) {\\r\\n                flag = false;\\r\\n            }\\r\\n            return flag;\\r\\n        }\\r\\n    }\\r\\n\\r\\n    protected void inti() {\\r\\n\\r\\n        DateFound = findViewById(R.id.DateFound);\\r\\n        progressbar = findViewById(R.id.ProgressBar);\\r\\n        Button foundLocatin = findViewById(R.id.FoundLocatin);\\r\\n        Person = findViewById(R.id.PersonFound);\\r\\n        Object = findViewById(R.id.ObjectFound);\\r\\n        MatchFound = findViewById(R.id.MatchFound);\\r\\n        Location = findViewById(R.id.Location);\\r\\n        DateFound.setOnClickListener(this);\\r\\n        foundLocatin.setOnClickListener(this);\\r\\n        Person.setOnClickListener(this);\\r\\n        Object.setOnClickListener(this);\\r\\n        MatchFound.setOnClickListener(this);\\r\\n        PersonF = new PersonFragment();\\r\\n        ObjectF = new ObjectFragment();\\r\\n        List = new prepareList();\\r\\n        listColor = List.prepareListColor(this);\\r\\n\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public void getType(String T) {\\r\\n        Type = T;\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public void getImageCheck(Boolean check) {\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public void getBitmap_Image(Bitmap Bitmap_Image) {\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public void getBitmap_ImagePersonImages(List<Bitmap> PImages) {\\r\\n        Person_Images = PImages;\\r\\n        Log.e(\\\"img\\\", \\\"getBitmap_ImagePersonImages: Hi \\\" + Person_Images.size());\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public void onSaveInstanceState(@NonNull Bundle outState) {\\r\\n        super.onSaveInstanceState(outState);\\r\\n\\r\\n        outState.putInt(\\\"year\\\", year);\\r\\n        outState.putInt(\\\"month\\\", month);\\r\\n        outState.putInt(\\\"Day\\\", Day);\\r\\n        outState.putBoolean(\\\"flagPerson\\\", flagPerson);\\r\\n        outState.putBoolean(\\\"flagObject\\\", flagObject);\\r\\n    }\\r\\n\\r\\n/*\\r\\n    public Uri getImageUri(Bitmap bitmap_Image) {\\r\\n        ByteArrayOutputStream bytes = new ByteArrayOutputStream();\\r\\n        bitmap_Image.compress(Bitmap.CompressFormat.JPEG, 100, bytes);\\r\\n        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap_Image, \\\"LostItem\\\", null);\\r\\n        return Uri.parse(path);\\r\\n    }\\r\\n\\r\\n    private String getRealPathFromURI(Uri imageUri) {\\r\\n        String[] proj = {MediaStore.Images.Media.DATA};\\r\\n        CursorLoader loader = new CursorLoader(this, imageUri, proj, null, null, null);\\r\\n        Cursor cursor = loader.loadInBackground();\\r\\n        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);\\r\\n        cursor.moveToFirst();\\r\\n        String result = cursor.getString(column_index);\\r\\n        cursor.close();\\r\\n        return result;\\r\\n    }\\r\\n*/\\r\\n\\r\\n    public void FoundItems() {\\r\\n\\r\\n        String Datee = DateFound.getText().toString().trim();\\r\\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\\r\\n\\r\\n        Call<JsonObject> call = apiInterface.storeFoundObj(User.getUser().getId(), Datee, City, Longitude , Latitude);\\r\\n        call.enqueue(new Callback<JsonObject>() {\\r\\n            @Override\\r\\n            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\\r\\n                if (response.isSuccessful()) {\\r\\n\\r\\n                    try {\\r\\n                        JSONObject jsonObject = new JSONObject(response.body().toString());\\r\\n                        String id = jsonObject.getString(\\\"id\\\");\\r\\n                        Toast.makeText(FoundObjectActivity.this, \\\"Object is posted.\\\", Toast.LENGTH_SHORT).show();\\r\\n\\r\\n\\r\\n                        Call<FoundItem> call2 = apiInterface.storeFoundItem(id, Type, Serial, brand, ObjectColor, textArea_information);\\r\\n                        call2.enqueue(new Callback<FoundItem>() {\\r\\n                            @Override\\r\\n                            public void onResponse(Call<FoundItem> call, Response<FoundItem> response) {\\r\\n                                if (response.isSuccessful()) {\\r\\n                                    Toast.makeText(FoundObjectActivity.this, \\\"Item is posted.\\\", Toast.LENGTH_SHORT).show();\\r\\n                                } else\\r\\n                                    Toast.makeText(FoundObjectActivity.this, \\\"The item is not posted.\\\", Toast.LENGTH_SHORT).show();\\r\\n                            }\\r\\n\\r\\n                            @Override\\r\\n                            public void onFailure(Call<FoundItem> call, Throwable t) {\\r\\n                                Toast.makeText(FoundObjectActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\\r\\n                            }\\r\\n                        });\\r\\n\\r\\n\\r\\n                    } catch (JSONException e) {\\r\\n                        e.printStackTrace();\\r\\n                    }\\r\\n\\r\\n                } else\\r\\n                        Toast.makeText(FoundObjectActivity.this, \\\"Objec is not posted.\\\", Toast.LENGTH_SHORT).show();\\r\\n            }\\r\\n\\r\\n            @Override\\r\\n            public void onFailure(Call<JsonObject> call, Throwable t) {\\r\\n                Toast.makeText(FoundObjectActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\\r\\n            }\\r\\n        });\\r\\n\\r\\n    }\\r\\n\\r\\n    public Uri getImageUri(Bitmap bitmap_Image) {\\r\\n        ByteArrayOutputStream bytes = new ByteArrayOutputStream();\\r\\n        bitmap_Image.compress(Bitmap.CompressFormat.JPEG, 100, bytes);\\r\\n        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap_Image, \\\"LostItem\\\", null);\\r\\n        return Uri.parse(path);\\r\\n    }\\r\\n\\r\\n    private String getRealPathFromURI(Uri imageUri) {\\r\\n        String[] proj = {MediaStore.Images.Media.DATA};\\r\\n        CursorLoader loader = new CursorLoader(this, imageUri, proj, null, null, null);\\r\\n        Cursor cursor = loader.loadInBackground();\\r\\n        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);\\r\\n        cursor.moveToFirst();\\r\\n        String result = cursor.getString(column_index);\\r\\n        cursor.close();\\r\\n        return result;\\r\\n    }\\r\\n\\r\\n    public void FoundPerson()\\r\\n    {\\r\\n\\r\\n        String Datee = DateFound.getText().toString().trim();\\r\\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\\r\\n\\r\\n        Uri imageURI = getImageUri(Person_Images.get(0));\\r\\n        File file = new File(getRealPathFromURI(imageURI));\\r\\n        RequestBody requestBody = RequestBody.create(MediaType.parse(\\\"multipart/form-data\\\"), file);\\r\\n        MultipartBody.Part Pimage = MultipartBody.Part.createFormData(\\\"image\\\", file.getName(), requestBody);\\r\\n\\r\\n        Call<JsonObject> call = apiInterface.storeFoundPerson(User.getUser().getId(), Datee, City, Longitude , Latitude, PName, Pimage);\\r\\n        call.enqueue(new Callback<JsonObject>() {\\r\\n            @Override\\r\\n            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\\r\\n                if(response.isSuccessful()) {\\r\\n                    Toast.makeText(FoundObjectActivity.this, \\\"The object posted.\\\", Toast.LENGTH_SHORT).show();\\r\\n                }else\\r\\n                    Toast.makeText(FoundObjectActivity.this, \\\"The object is not posted.\\\", Toast.LENGTH_SHORT).show();\\r\\n\\r\\n            }\\r\\n\\r\\n            @Override\\r\\n            public void onFailure(Call<JsonObject> call, Throwable t) {\\r\\n                Toast.makeText(FoundObjectActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\\r\\n            }\\r\\n        });\\r\\n\\r\\n\\r\\n    }\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n}\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- app/src/main/java/com/helloworld/goodpoint/ui/lostFoundObject/FoundObjectActivity.java\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ app/src/main/java/com/helloworld/goodpoint/ui/lostFoundObject/FoundObjectActivity.java\t(date 1621852290573)\n@@ -514,7 +514,11 @@\n                 List<Address> addresses = geocoder.getFromLocation(Latitude, Longitude, 1);\n                 String Country = addresses.get(0).getCountryName();\n                 String CityG = addresses.get(0).getAdminArea();\n-                City = CityG.substring(0, CityG.lastIndexOf(' '));\n+                int index = CityG.lastIndexOf(' ');\n+                if(index == -1)\n+                    City = CityG;\n+                else\n+                    City = CityG.substring(0, index);\n                 String area = addresses.get(0).getLocality();\n                 Locate = area + \",\" + CityG + \",\" + Country + \".\";\n             } catch (IOException e) {\nIndex: app/src/main/java/com/helloworld/goodpoint/retrofit/ApiInterface.java\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>package com.helloworld.goodpoint.retrofit;\\r\\n\\r\\nimport com.google.gson.JsonObject;\\r\\nimport com.helloworld.goodpoint.pojo.FoundItem;\\r\\nimport com.helloworld.goodpoint.pojo.FoundPerson;\\r\\nimport com.helloworld.goodpoint.pojo.LostItem;\\r\\nimport com.helloworld.goodpoint.pojo.LostPerson;\\r\\nimport com.helloworld.goodpoint.pojo.ObjectLocation;\\r\\nimport com.helloworld.goodpoint.pojo.RegUser;\\r\\nimport com.helloworld.goodpoint.pojo.Token;\\r\\nimport com.helloworld.goodpoint.pojo.User;\\r\\nimport com.helloworld.goodpoint.pojo.UserMap;\\r\\n\\r\\nimport org.json.JSONObject;\\r\\n\\r\\nimport java.util.List;\\r\\n\\r\\nimport okhttp3.MultipartBody;\\r\\nimport okhttp3.RequestBody;\\r\\nimport okhttp3.ResponseBody;\\r\\nimport retrofit2.Call;\\r\\nimport retrofit2.http.Body;\\r\\nimport retrofit2.http.Field;\\r\\nimport retrofit2.http.FormUrlEncoded;\\r\\nimport retrofit2.http.GET;\\r\\nimport retrofit2.http.Header;\\r\\nimport retrofit2.http.Headers;\\r\\nimport retrofit2.http.Multipart;\\r\\nimport retrofit2.http.POST;\\r\\nimport retrofit2.http.Part;\\r\\nimport retrofit2.http.Path;\\r\\nimport retrofit2.http.Query;\\r\\n\\r\\npublic interface ApiInterface {\\r\\n\\r\\n    @FormUrlEncoded\\r\\n    @POST(\\\"auth/signup/\\\")\\r\\n    Call<RegUser> storePost(@Field(\\\"username\\\") String emailInput\\r\\n                            , @Field(\\\"password\\\") String passwordInput, @Field(\\\"first_name\\\") String usernameInput\\r\\n                            , @Field(\\\"phone\\\") String pInput, @Field(\\\"city\\\") String cityInput\\r\\n                            , @Field(\\\"birthdate\\\") String Datee);\\r\\n\\r\\n\\r\\n    @Multipart\\r\\n    @POST(\\\"auth/signup/\\\")\\r\\n    Call<RegUser> storePost(@Part(\\\"username\\\") String emailInput\\r\\n                            , @Part(\\\"password\\\") String passwordInput, @Part(\\\"first_name\\\") String usernameInput\\r\\n                            , @Part(\\\"phone\\\") String pInput, @Part(\\\"city\\\") String cityInput\\r\\n                            , @Part(\\\"birthdate\\\") String Datee, @Part MultipartBody.Part profile_pic);\\r\\n\\r\\n\\r\\n    @FormUrlEncoded\\r\\n    @POST(\\\"api/token/\\\")\\r\\n    Call<Token> getToken(@Field(\\\"username\\\") String emailInput, @Field(\\\"password\\\") String passwordInput);\\r\\n\\r\\n    @FormUrlEncoded\\r\\n    @POST(\\\"api/token/refresh/\\\")\\r\\n    Call<Token> refresh(@Field(\\\"refresh\\\") String refresh);\\r\\n\\r\\n\\r\\n    @POST(\\\"auth/signin/\\\")\\r\\n    Call<JsonObject> getData(@Header(\\\"Authorization\\\") String token);\\r\\n\\r\\n    //----------------------------------------------------------------------------------------------\\r\\n\\r\\n    @FormUrlEncoded\\r\\n    @POST(\\\"losts/lostobject/\\\")\\r\\n    Call<JsonObject> storeLostObj(@Field(\\\"user_id\\\") String id, @Field(\\\"date\\\") String Datee, @Field(\\\"city\\\") String cityInput);\\r\\n\\r\\n    @FormUrlEncoded\\r\\n    @POST(\\\"losts/lostitem/\\\")\\r\\n    Call<LostItem> storeLostItem(@Field(\\\"id\\\") String obj_id, @Field(\\\"type\\\") String Type, @Field(\\\"serial_number\\\") String Serial\\r\\n            , @Field(\\\"brand\\\") String brand, @Field(\\\"color\\\") String ObjectColor\\r\\n            , @Field(\\\"description\\\") String textArea_information);\\r\\n\\r\\n    @Multipart\\r\\n    @POST(\\\"losts/lostitem/\\\")\\r\\n    Call<LostItem> storeLostItem(@Part(\\\"id\\\") String obj_id, @Part(\\\"type\\\") String Type, @Part(\\\"serial_number\\\") String Serial\\r\\n                             , @Part(\\\"brand\\\") String brand, @Part(\\\"color\\\") String ObjectColor\\r\\n                             , @Part(\\\"description\\\") String textArea_information, @Part MultipartBody.Part image);\\r\\n\\r\\n    @Multipart\\r\\n    @POST(\\\"losts/lostperson/\\\")\\r\\n    Call<JsonObject> storeLostPerson(@Part(\\\"date\\\") String Date, @Part(\\\"city\\\") String city, @Part(\\\"user_id\\\") String user_id\\r\\n                                   , @Part(\\\"name\\\") String name, @Part MultipartBody.Part images);\\r\\n\\r\\n\\r\\n    @Multipart\\r\\n    @POST(\\\"losts/lostperson_image/\\\")\\r\\n    Call<LostPerson> storeLostPersonImage(@Part(\\\"id\\\") String person_id/*, @Part MultipartBody.Part image*/);\\r\\n    //----------------------------------------------------------------------------------------------\\r\\n\\r\\n    @FormUrlEncoded\\r\\n    @POST(\\\"losts/foundobject/\\\")\\r\\n    Call<JsonObject> storeFoundObj(@Field(\\\"user_id\\\") String id, @Field(\\\"date\\\") String Datee, @Field(\\\"city\\\") String cityInput\\r\\n                                 , @Field(\\\"longitude\\\") double longitude, @Field(\\\"latitude\\\") double latitude);\\r\\n\\r\\n    @FormUrlEncoded\\r\\n    @POST(\\\"losts/founditem/\\\")\\r\\n    Call<FoundItem> storeFoundItem(@Field(\\\"id\\\") String obj_id, @Field(\\\"type\\\") String Type, @Field(\\\"serial_number\\\") String Serial\\r\\n            , @Field(\\\"brand\\\") String brand, @Field(\\\"color\\\") String ObjectColor\\r\\n            , @Field(\\\"description\\\") String textArea_information);\\r\\n\\r\\n    @FormUrlEncoded\\r\\n    @POST(\\\"losts/foundperson/\\\")\\r\\n    Call<JsonObject> storeFoundPerson(@Field(\\\"user_id\\\") String id, @Field(\\\"date\\\") String Datee, @Field(\\\"city\\\") String cityInput\\r\\n            , @Field(\\\"longitude\\\") double longitude, @Field(\\\"latitude\\\") double latitude, @Field(\\\"name\\\") String name\\r\\n            , @Part MultipartBody.Part image);\\r\\n\\r\\n    @Multipart\\r\\n    @POST(\\\"losts/foundperson_image/\\\")\\r\\n    Call<FoundPerson> storeFoundPersonImage(@Part(\\\"id\\\") String person_id/*, @Part MultipartBody.Part image*/);\\r\\n\\r\\n    //----------------------------------------------------------------------------------------------\\r\\n\\r\\n    @GET(\\\"losts/map/\\\")\\r\\n    Call<List<ObjectLocation>> getPoint();\\r\\n\\r\\n    @GET(\\\"losts/founder/{id}\\\")\\r\\n    Call<UserMap> getUserMap(@Path(\\\"id\\\") int id);\\r\\n\\r\\n\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- app/src/main/java/com/helloworld/goodpoint/retrofit/ApiInterface.java\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ app/src/main/java/com/helloworld/goodpoint/retrofit/ApiInterface.java\t(date 1621853230298)\n@@ -101,10 +101,10 @@\n             , @Field(\"brand\") String brand, @Field(\"color\") String ObjectColor\n             , @Field(\"description\") String textArea_information);\n \n-    @FormUrlEncoded\n+    @Multipart\n     @POST(\"losts/foundperson/\")\n-    Call<JsonObject> storeFoundPerson(@Field(\"user_id\") String id, @Field(\"date\") String Datee, @Field(\"city\") String cityInput\n-            , @Field(\"longitude\") double longitude, @Field(\"latitude\") double latitude, @Field(\"name\") String name\n+    Call<JsonObject> storeFoundPerson(@Part(\"user_id\") String id, @Part(\"date\") String Datee, @Part(\"city\") String cityInput\n+            , @Part(\"longitude\") Double longitude, @Part(\"latitude\") Double latitude, @Part(\"name\") String name\n             , @Part MultipartBody.Part image);\n \n     @Multipart\nIndex: app/src/main/java/com/helloworld/goodpoint/ui/HomeActivity.java\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>package com.helloworld.goodpoint.ui;\\r\\nimport androidx.annotation.NonNull;\\r\\nimport androidx.appcompat.app.ActionBarDrawerToggle;\\r\\nimport androidx.appcompat.app.AlertDialog;\\r\\nimport androidx.appcompat.app.AppCompatActivity;\\r\\nimport androidx.appcompat.widget.Toolbar;\\r\\nimport androidx.core.view.GravityCompat;\\r\\nimport androidx.drawerlayout.widget.DrawerLayout;\\r\\nimport androidx.fragment.app.Fragment;\\r\\nimport android.content.DialogInterface;\\r\\nimport android.content.Intent;\\r\\nimport android.graphics.Bitmap;\\r\\nimport android.graphics.BitmapFactory;\\r\\nimport android.graphics.Color;\\r\\nimport android.graphics.PorterDuff;\\r\\nimport android.os.AsyncTask;\\r\\nimport android.os.Bundle;\\r\\nimport android.util.Log;\\r\\nimport android.view.LayoutInflater;\\r\\nimport android.view.Menu;\\r\\nimport android.view.MenuItem;\\r\\nimport android.view.View;\\r\\nimport android.widget.EditText;\\r\\nimport android.widget.LinearLayout;\\r\\nimport android.widget.TextView;\\r\\nimport android.widget.Toast;\\r\\n\\r\\nimport com.google.android.material.bottomnavigation.BottomNavigationView;\\r\\nimport com.google.android.material.bottomsheet.BottomSheetDialog;\\r\\nimport com.google.android.material.floatingactionbutton.FloatingActionButton;\\r\\nimport com.google.android.material.navigation.NavigationView;\\r\\nimport com.helloworld.goodpoint.R;\\r\\nimport com.helloworld.goodpoint.pojo.RegUser;\\r\\nimport com.helloworld.goodpoint.pojo.User;\\r\\nimport com.helloworld.goodpoint.ui.lostFoundObject.FoundObjectActivity;\\r\\nimport com.helloworld.goodpoint.ui.lostFoundObject.LostObjectDetailsActivity;\\r\\n\\r\\nimport java.io.IOException;\\r\\nimport java.io.InputStream;\\r\\nimport java.net.HttpURLConnection;\\r\\nimport java.net.MalformedURLException;\\r\\nimport java.net.URL;\\r\\n\\r\\nimport de.hdodenhof.circleimageview.CircleImageView;\\r\\n\\r\\npublic class HomeActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {\\r\\n    DrawerLayout drawerLayout;\\r\\n    NavigationView navigationView;\\r\\n    Toolbar toolbar;\\r\\n    AlertDialog.Builder dialog;\\r\\n    BottomNavigationView bottomNavigationView;\\r\\n    FloatingActionButton fab;\\r\\n    Fragment fhome, fmatch, fprofile;\\r\\n    TextView namenavigator;\\r\\n    TextView mailnavigator;\\r\\n    CircleImageView imgnavigator;\\r\\n\\r\\n    @Override\\r\\n    protected void onCreate(Bundle savedInstanceState) {\\r\\n        super.onCreate(savedInstanceState);\\r\\n        setContentView(R.layout.activity_home);\\r\\n\\r\\n        init();\\r\\n        setToolBarAndDrawer();\\r\\n        setBottomNavigator();\\r\\n\\r\\n        if(savedInstanceState == null) {\\r\\n            //To make first fragment is home when opening the app\\r\\n            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fhome).commit();\\r\\n        }\\r\\n\\r\\n    }\\r\\n\\r\\n    private void setBottomNavigator() {\\r\\n        bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomNavigationView);\\r\\n        fab = (FloatingActionButton) findViewById(R.id.fab);\\r\\n\\r\\n        //To Disable item under Fab\\r\\n        Menu menuNav=bottomNavigationView.getMenu();\\r\\n        MenuItem nav_item2 = menuNav.findItem(R.id.placeholder);\\r\\n        nav_item2.setEnabled(false);\\r\\n\\r\\n        bottomNavigationView.setBackgroundColor(0); //To hide the color of nav view\\r\\n        bottomNavigationView.setOnNavigationItemSelectedListener(navListner);\\r\\n    }\\r\\n\\r\\n    private void setToolBarAndDrawer() {\\r\\n        setSupportActionBar(toolbar);\\r\\n        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this,drawerLayout,toolbar,R.string.nav_drawer_open,R.string.nav_drawer_close);\\r\\n        toggle.getDrawerArrowDrawable().setColor(getResources().getColor(android.R.color.white));\\r\\n        drawerLayout.addDrawerListener(toggle);\\r\\n        toggle.syncState();\\r\\n        navigationView.setNavigationItemSelectedListener(this);\\r\\n    }\\r\\n\\r\\n    private void init() {\\r\\n        drawerLayout = findViewById(R.id.drawer_layout);\\r\\n        toolbar = findViewById(R.id.toolbar);\\r\\n        navigationView = findViewById(R.id.nv);\\r\\n        navigationView.bringToFront();\\r\\n        fhome = new HomeFragment();\\r\\n        fmatch = new MatchFragment();\\r\\n        fprofile = new ProfileFragment();\\r\\n        View view = navigationView.getHeaderView(0);\\r\\n        namenavigator = (TextView) view.findViewById(R.id.namenav);\\r\\n        mailnavigator = (TextView) view.findViewById(R.id.mailnav);\\r\\n        imgnavigator = view.findViewById(R.id.circuler_profile_img);\\r\\n        namenavigator.setText(User.getUser().getUsername());\\r\\n        mailnavigator.setText(User.getUser().getEmail());\\r\\n        if(!User.getUser().getProfile_pic().isEmpty() && User.getUser().getProfile_bitmap() == null) {\\r\\n            DownloadProfilePic download = new DownloadProfilePic();\\r\\n            download.execute(User.getUser().getProfile_pic());\\r\\n        }\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public boolean onCreateOptionsMenu(Menu menu) {\\r\\n        getMenuInflater().inflate(R.menu.home_menu, menu);\\r\\n        menu.getItem(0).getIcon().mutate().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public boolean onOptionsItemSelected(@NonNull MenuItem item) {\\r\\n        if(item.getItemId() == R.id.notification)\\r\\n            startActivity(new Intent(this,NotificationActivity.class));\\r\\n        return super.onOptionsItemSelected(item);\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public boolean onNavigationItemSelected(@NonNull MenuItem item) {\\r\\n        switch (item.getItemId()){\\r\\n            case R.id.drawer_share:\\r\\n\\r\\n                break;\\r\\n            case R.id.drawer_rate:\\r\\n\\r\\n                break;\\r\\n            case R.id.drawer_feedback:\\r\\n\\r\\n                break;\\r\\n            case R.id.drawer_about_us:\\r\\n\\r\\n                break;\\r\\n            case R.id.drawer_setting:\\r\\n\\r\\n                break;\\r\\n            case R.id.drawer_logout:\\r\\n                dialog = createDialog(\\\"Logout\\\",R.drawable.ic_baseline_exit_to_app_24);\\r\\n                dialog.create().show();\\r\\n                break;\\r\\n            default:\\r\\n                return false;\\r\\n        }\\r\\n        drawerLayout.closeDrawer(GravityCompat.START);\\r\\n        return false;\\r\\n    }\\r\\n\\r\\n    private AlertDialog.Builder createDialog(String title, int icon) {\\r\\n        return new AlertDialog.Builder(this)\\r\\n                .setTitle(title)\\r\\n                .setMessage(\\\"Are you sure?\\\")\\r\\n                .setIcon(icon)\\r\\n                .setNegativeButton(\\\"OK\\\", new DialogInterface.OnClickListener() {\\r\\n                    @Override\\r\\n                    public void onClick(DialogInterface dialog, int which) {\\r\\n                        PrefManager prefManager = new PrefManager(getApplicationContext());\\r\\n                        prefManager.setLogout();\\r\\n                        startActivity(new Intent(HomeActivity.this,SigninActivity.class));\\r\\n                        finish();\\r\\n                    }\\r\\n                }).setPositiveButton(\\\"Cancel\\\", new DialogInterface.OnClickListener() {\\r\\n                    @Override\\r\\n                    public void onClick(DialogInterface dialog, int which) {\\r\\n\\r\\n                    }\\r\\n                }).setCancelable(false);\\r\\n    }\\r\\n\\r\\n    @Override\\r\\n    public void onBackPressed() {\\r\\n        if(drawerLayout.isDrawerOpen(GravityCompat.START))\\r\\n            drawerLayout.closeDrawer(GravityCompat.START);\\r\\n        else\\r\\n            super.onBackPressed();\\r\\n    }\\r\\n\\r\\n    public void showPopup(View v) { //Fab Action\\r\\n\\r\\n        final BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(HomeActivity.this, R.style.BottomSheetTheme);\\r\\n        View bottomSheetView = LayoutInflater.from(getApplicationContext())\\r\\n                .inflate(R.layout.bottom_sheet_dialog, (LinearLayout)findViewById(R.id.bottom_sheet));\\r\\n\\r\\n        bottomSheetView.findViewById(R.id.hide_sheet).setOnClickListener(new View.OnClickListener() {\\r\\n            @Override\\r\\n            public void onClick(View v) {\\r\\n                bottomSheetDialog.dismiss();\\r\\n            }\\r\\n        });\\r\\n\\r\\n        bottomSheetView.findViewById(R.id.ilost).setOnClickListener(new View.OnClickListener() {\\r\\n            @Override\\r\\n            public void onClick(View v) {\\r\\n                startActivity(new Intent(HomeActivity.this, LostObjectDetailsActivity.class));\\r\\n                bottomSheetDialog.dismiss();\\r\\n            }\\r\\n        });\\r\\n\\r\\n        bottomSheetView.findViewById(R.id.ifound).setOnClickListener(new View.OnClickListener() {\\r\\n            @Override\\r\\n            public void onClick(View v) {\\r\\n                startActivity(new Intent(HomeActivity.this, FoundObjectActivity.class));\\r\\n                bottomSheetDialog.dismiss();\\r\\n            }\\r\\n        });\\r\\n\\r\\n        bottomSheetDialog.setContentView(bottomSheetView);\\r\\n        bottomSheetDialog.show();\\r\\n\\r\\n    }\\r\\n\\r\\n\\r\\n    private BottomNavigationView.OnNavigationItemSelectedListener navListner =\\r\\n            new BottomNavigationView.OnNavigationItemSelectedListener() {\\r\\n                @Override\\r\\n                public boolean onNavigationItemSelected(@NonNull MenuItem item) {\\r\\n                    Fragment selectedFragment = getSupportFragmentManager().getFragments().get(0);\\r\\n                    switch (item.getItemId()) {\\r\\n                        case R.id.miHome:\\r\\n                            if(!(selectedFragment instanceof HomeFragment))\\r\\n                                selectedFragment = fhome;\\r\\n                            break;\\r\\n                        case R.id.miMatch:\\r\\n                            if(!(selectedFragment instanceof MatchFragment))\\r\\n                                selectedFragment = fmatch;\\r\\n                            break;\\r\\n                        case R.id.miProfile:\\r\\n                            if(!(selectedFragment instanceof ProfileFragment))\\r\\n                                selectedFragment = fprofile;\\r\\n                            break;\\r\\n                        case R.id.miLocation:\\r\\n                            selectedFragment = new FoundMapFragment();\\r\\n                            break;\\r\\n                    }\\r\\n                    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();\\r\\n                    return true;\\r\\n                }\\r\\n            };\\r\\n\\r\\n    class DownloadProfilePic extends AsyncTask<String,Void, Bitmap> {\\r\\n\\r\\n        private Bitmap download(String urlLink) throws IOException {\\r\\n            Bitmap bitmap = null;\\r\\n            URL url = null;\\r\\n            HttpURLConnection httpConn;\\r\\n            InputStream is = null;\\r\\n            try {\\r\\n                url = new URL(urlLink);\\r\\n                httpConn = (HttpURLConnection) url.openConnection();\\r\\n                httpConn.connect();\\r\\n                is = httpConn.getInputStream();\\r\\n                bitmap = BitmapFactory.decodeStream(is);\\r\\n            }catch (MalformedURLException e){\\r\\n                Log.e(\\\"DownloadProfilePic\\\", \\\"download: \\\"+e.getMessage());\\r\\n            }\\r\\n            return  bitmap;\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected Bitmap doInBackground(String... urls) {\\r\\n            try {\\r\\n                return download(urls[0]);\\r\\n            } catch (IOException e) {\\r\\n                e.printStackTrace();\\r\\n            }\\r\\n            return null;\\r\\n        }\\r\\n\\r\\n        @Override\\r\\n        protected void onPostExecute(Bitmap bitmap) {\\r\\n            super.onPostExecute(bitmap);\\r\\n            if(bitmap==null)return;\\r\\n            User.getUser().setProfile_bitmap(bitmap);\\r\\n            imgnavigator.setImageBitmap(bitmap);\\r\\n        }\\r\\n    }\\r\\n}\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- app/src/main/java/com/helloworld/goodpoint/ui/HomeActivity.java\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ app/src/main/java/com/helloworld/goodpoint/ui/HomeActivity.java\t(date 1621854743164)\n@@ -107,9 +107,11 @@\n         imgnavigator = view.findViewById(R.id.circuler_profile_img);\n         namenavigator.setText(User.getUser().getUsername());\n         mailnavigator.setText(User.getUser().getEmail());\n-        if(!User.getUser().getProfile_pic().isEmpty() && User.getUser().getProfile_bitmap() == null) {\n+        if(User.getUser().getProfile_pic() != null &&!User.getUser().getProfile_pic().isEmpty() && User.getUser().getProfile_bitmap() == null) {\n+            Log.e(\"Profile Pic\", User.getUser().getProfile_pic());\n+            String dnsLink = new PrefManager(this).getNGROKLink();\n             DownloadProfilePic download = new DownloadProfilePic();\n-            download.execute(User.getUser().getProfile_pic());\n+            download.execute(dnsLink+User.getUser().getProfile_pic()+\"/\");\n         }\n     }\n \n@@ -254,6 +256,7 @@\n             URL url = null;\n             HttpURLConnection httpConn;\n             InputStream is = null;\n+            Log.e(\"ProfilePic\", urlLink);\n             try {\n                 url = new URL(urlLink);\n                 httpConn = (HttpURLConnection) url.openConnection();\nIndex: backend/find_losts/migrations/0003_auto_20210429_1627.py\n===================================================================\n--- backend/find_losts/migrations/0003_auto_20210429_1627.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0003_auto_20210429_1627.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-04-29 14:27\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0002_auto_20210216_2354'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='lostitem',\n-            name='image',\n-            field=models.ImageField(blank=True, null=True, upload_to=''),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0011_auto_20210503_0616.py\n===================================================================\n--- backend/find_losts/migrations/0011_auto_20210503_0616.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0011_auto_20210503_0616.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,19 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-03 04:16\n-\n-from django.db import migrations, models\n-import django.db.models.deletion\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0010_auto_20210503_0612'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='lostpersonimage',\n-            name='id',\n-            field=models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.lostperson'),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0008_auto_20210503_0451.py\n===================================================================\n--- backend/find_losts/migrations/0008_auto_20210503_0451.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0008_auto_20210503_0451.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-03 02:51\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0007_auto_20210503_0451'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='lostpersonimage',\n-            name='image',\n-            field=models.ImageField(unique=True, upload_to=''),\n-        ),\n-    ]\nIndex: backend/user_account/migrations/0002_auto_20210318_0955.py\n===================================================================\n--- backend/user_account/migrations/0002_auto_20210318_0955.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/user_account/migrations/0002_auto_20210318_0955.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.4 on 2021-03-18 07:55\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('user_account', '0001_initial'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='user',\n-            name='email',\n-            field=models.EmailField(blank=True, max_length=1),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0010_auto_20210503_0612.py\n===================================================================\n--- backend/find_losts/migrations/0010_auto_20210503_0612.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0010_auto_20210503_0612.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-03 04:12\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0009_auto_20210503_0456'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='foundobject',\n-            name='date',\n-            field=models.DateField(),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0014_remove_founditem_image.py\n===================================================================\n--- backend/find_losts/migrations/0014_remove_founditem_image.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0014_remove_founditem_image.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,17 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-15 13:14\n-\n-from django.db import migrations\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0013_auto_20210514_0152'),\n-    ]\n-\n-    operations = [\n-        migrations.RemoveField(\n-            model_name='founditem',\n-            name='image',\n-        ),\n-    ]\nIndex: backend/user_account/migrations/0001_initial.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/user_account/migrations/0001_initial.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/user_account/migrations/0001_initial.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,48 +0,0 @@\n-# Generated by Django 3.1.4 on 2021-02-16 21:54\n-\n-import django.contrib.auth.models\n-import django.contrib.auth.validators\n-from django.db import migrations, models\n-import django.utils.timezone\n-import user_account.models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    initial = True\n-\n-    dependencies = [\n-        ('auth', '0012_alter_user_first_name_max_length'),\n-    ]\n-\n-    operations = [\n-        migrations.CreateModel(\n-            name='User',\n-            fields=[\n-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n-                ('password', models.CharField(max_length=128, verbose_name='password')),\n-                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),\n-                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),\n-                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),\n-                ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),\n-                ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),\n-                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),\n-                ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),\n-                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),\n-                ('email', models.EmailField(max_length=65, unique=True)),\n-                ('phone', models.CharField(max_length=20, unique=True)),\n-                ('birthdate', models.DateField()),\n-                ('city', models.CharField(max_length=35)),\n-                ('profile_pic', models.ImageField(blank=True, null=True, upload_to=user_account.models.profile_pic_dir)),\n-                ('id_card_pic', models.ImageField(blank=True, null=True, upload_to=user_account.models.idcard_pic_dir)),\n-                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),\n-                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),\n-            ],\n-            options={\n-                'db_table': 'user',\n-            },\n-            managers=[\n-                ('objects', django.contrib.auth.models.UserManager()),\n-            ],\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0001_initial.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/find_losts/migrations/0001_initial.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0001_initial.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,113 +0,0 @@\n-# Generated by Django 3.1.4 on 2021-02-16 21:54\n-\n-from django.db import migrations, models\n-import django.db.models.deletion\n-\n-\n-class Migration(migrations.Migration):\n-\n-    initial = True\n-\n-    dependencies = [\n-    ]\n-\n-    operations = [\n-        migrations.CreateModel(\n-            name='Candidate',\n-            fields=[\n-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n-                ('percent', models.DecimalField(decimal_places=4, max_digits=5)),\n-                ('is_matched', models.BooleanField(default=False)),\n-            ],\n-            options={\n-                'db_table': 'candidate',\n-            },\n-        ),\n-        migrations.CreateModel(\n-            name='FoundObject',\n-            fields=[\n-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n-                ('date', models.DateTimeField()),\n-                ('longitude', models.DecimalField(decimal_places=10, default=0.0, max_digits=14)),\n-                ('latitude', models.DecimalField(decimal_places=10, default=0.0, max_digits=14)),\n-                ('city', models.CharField(max_length=35)),\n-                ('is_matched', models.BooleanField(default=False)),\n-            ],\n-            options={\n-                'db_table': 'found_object',\n-            },\n-        ),\n-        migrations.CreateModel(\n-            name='LostObject',\n-            fields=[\n-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n-                ('date', models.DateTimeField()),\n-                ('city', models.CharField(max_length=35)),\n-                ('is_matched', models.BooleanField(default=False)),\n-            ],\n-            options={\n-                'db_table': 'lost_object',\n-            },\n-        ),\n-        migrations.CreateModel(\n-            name='FoundItem',\n-            fields=[\n-                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.foundobject')),\n-                ('type', models.CharField(max_length=20)),\n-                ('color', models.CharField(max_length=20)),\n-                ('brand', models.CharField(max_length=50)),\n-                ('description', models.CharField(max_length=700)),\n-                ('serial_number', models.CharField(blank=True, max_length=100, null=True)),\n-                ('image', models.ImageField(unique=True, upload_to='')),\n-            ],\n-            options={\n-                'db_table': 'found_item',\n-            },\n-        ),\n-        migrations.CreateModel(\n-            name='FoundPerson',\n-            fields=[\n-                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.foundobject')),\n-                ('name', models.CharField(blank=True, max_length=150, null=True)),\n-            ],\n-            options={\n-                'db_table': 'found_person',\n-            },\n-        ),\n-        migrations.CreateModel(\n-            name='LostItem',\n-            fields=[\n-                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.lostobject')),\n-                ('type', models.CharField(max_length=20)),\n-                ('color', models.CharField(max_length=20)),\n-                ('brand', models.CharField(max_length=50)),\n-                ('description', models.CharField(max_length=700)),\n-                ('serial_number', models.CharField(blank=True, max_length=100, null=True)),\n-                ('image', models.ImageField(blank=True, null=True, unique=True, upload_to='')),\n-            ],\n-            options={\n-                'db_table': 'lost_item',\n-            },\n-        ),\n-        migrations.CreateModel(\n-            name='LostPerson',\n-            fields=[\n-                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.lostobject')),\n-                ('name', models.CharField(max_length=150)),\n-            ],\n-            options={\n-                'db_table': 'lost_person',\n-            },\n-        ),\n-        migrations.CreateModel(\n-            name='MatchedPerson',\n-            fields=[\n-                ('id_fp', models.OneToOneField(db_column='found_person_id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='match', serialize=False, to='find_losts.foundobject')),\n-                ('date_of_receiving', models.DateTimeField(auto_now_add=True)),\n-                ('percent', models.DecimalField(decimal_places=4, max_digits=5)),\n-            ],\n-            options={\n-                'db_table': 'matched_Person',\n-            },\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0012_auto_20210503_1505.py\n===================================================================\n--- backend/find_losts/migrations/0012_auto_20210503_1505.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0012_auto_20210503_1505.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-03 13:05\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0011_auto_20210503_0616'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='lostobject',\n-            name='date',\n-            field=models.DateField(),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0009_auto_20210503_0456.py\n===================================================================\n--- backend/find_losts/migrations/0009_auto_20210503_0456.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0009_auto_20210503_0456.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,17 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-03 02:56\n-\n-from django.db import migrations\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0008_auto_20210503_0451'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterUniqueTogether(\n-            name='lostpersonimage',\n-            unique_together={('id', 'image')},\n-        ),\n-    ]\nIndex: backend/notification/migrations/0001_initial.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/notification/migrations/0001_initial.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/notification/migrations/0001_initial.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,29 +0,0 @@\n-# Generated by Django 3.1.4 on 2021-02-16 21:54\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    initial = True\n-\n-    dependencies = [\n-    ]\n-\n-    operations = [\n-        migrations.CreateModel(\n-            name='Notification',\n-            fields=[\n-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n-                ('title', models.CharField(max_length=30)),\n-                ('description', models.CharField(max_length=100)),\n-                ('type', models.IntegerField()),\n-                ('date_time', models.DateTimeField(auto_now_add=True)),\n-                ('is_sent', models.BooleanField(default=False)),\n-                ('is_read', models.BooleanField(default=False)),\n-            ],\n-            options={\n-                'db_table': 'notification',\n-            },\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0006_auto_20210501_1627.py\n===================================================================\n--- backend/find_losts/migrations/0006_auto_20210501_1627.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0006_auto_20210501_1627.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,19 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-01 14:27\n-\n-from django.db import migrations, models\n-import django.db.models.deletion\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0005_auto_20210501_1552'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='foundpersonimage',\n-            name='id',\n-            field=models.ForeignKey(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.foundperson'),\n-        ),\n-    ]\nIndex: backend/notification/migrations/0004_auto_20210514_1846.py\n===================================================================\n--- backend/notification/migrations/0004_auto_20210514_1846.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/notification/migrations/0004_auto_20210514_1846.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-14 16:46\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('notification', '0003_auto_20210503_0612'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='notification',\n-            name='date_time',\n-            field=models.DateTimeField(auto_now_add=True),\n-        ),\n-    ]\nIndex: backend/notification/migrations/0002_notification_user_id.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/notification/migrations/0002_notification_user_id.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/notification/migrations/0002_notification_user_id.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,23 +0,0 @@\n-# Generated by Django 3.1.4 on 2021-02-16 21:54\n-\n-from django.conf import settings\n-from django.db import migrations, models\n-import django.db.models.deletion\n-\n-\n-class Migration(migrations.Migration):\n-\n-    initial = True\n-\n-    dependencies = [\n-        ('notification', '0001_initial'),\n-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),\n-    ]\n-\n-    operations = [\n-        migrations.AddField(\n-            model_name='notification',\n-            name='user_id',\n-            field=models.ForeignKey(db_column='user_id', on_delete=django.db.models.deletion.CASCADE, related_name='notify', to=settings.AUTH_USER_MODEL),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0004_auto_20210501_0251.py\n===================================================================\n--- backend/find_losts/migrations/0004_auto_20210501_0251.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0004_auto_20210501_0251.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-01 00:51\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0003_auto_20210429_1627'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='lostobject',\n-            name='date',\n-            field=models.DateField(),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0007_auto_20210503_0451.py\n===================================================================\n--- backend/find_losts/migrations/0007_auto_20210503_0451.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0007_auto_20210503_0451.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,48 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-03 02:51\n-\n-from django.db import migrations, models\n-import django.db.models.deletion\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0006_auto_20210501_1627'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='foundobject',\n-            name='date',\n-            field=models.DateTimeField(),\n-        ),\n-        migrations.AlterField(\n-            model_name='foundpersonimage',\n-            name='id',\n-            field=models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.foundperson'),\n-        ),\n-        migrations.AlterField(\n-            model_name='lostitem',\n-            name='image',\n-            field=models.ImageField(blank=True, null=True, unique=True, upload_to=''),\n-        ),\n-        migrations.AlterField(\n-            model_name='lostobject',\n-            name='date',\n-            field=models.DateTimeField(),\n-        ),\n-        migrations.AlterField(\n-            model_name='lostpersonimage',\n-            name='id',\n-            field=models.AutoField(primary_key=True, serialize=False),\n-        ),\n-        migrations.AlterField(\n-            model_name='lostpersonimage',\n-            name='image',\n-            field=models.ImageField(upload_to=''),\n-        ),\n-        migrations.AlterUniqueTogether(\n-            name='lostpersonimage',\n-            unique_together=set(),\n-        ),\n-    ]\nIndex: backend/notification/migrations/0003_auto_20210503_0612.py\n===================================================================\n--- backend/notification/migrations/0003_auto_20210503_0612.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/notification/migrations/0003_auto_20210503_0612.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-03 04:12\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('notification', '0002_notification_user_id'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='notification',\n-            name='date_time',\n-            field=models.DateField(auto_now_add=True),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0002_auto_20210216_2354.py\n===================================================================\n--- backend/find_losts/migrations/0002_auto_20210216_2354.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0002_auto_20210216_2354.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,85 +0,0 @@\n-# Generated by Django 3.1.4 on 2021-02-16 21:54\n-\n-from django.conf import settings\n-from django.db import migrations, models\n-import django.db.models.deletion\n-\n-\n-class Migration(migrations.Migration):\n-\n-    initial = True\n-\n-    dependencies = [\n-        ('find_losts', '0001_initial'),\n-        ('notification', '0001_initial'),\n-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),\n-    ]\n-\n-    operations = [\n-        migrations.AddField(\n-            model_name='lostobject',\n-            name='user_id',\n-            field=models.ForeignKey(db_column='user_id', on_delete=django.db.models.deletion.CASCADE, related_name='lost', to=settings.AUTH_USER_MODEL),\n-        ),\n-        migrations.AddField(\n-            model_name='foundobject',\n-            name='user_id',\n-            field=models.ForeignKey(db_column='user_id', on_delete=django.db.models.deletion.CASCADE, related_name='found', to=settings.AUTH_USER_MODEL),\n-        ),\n-        migrations.AddField(\n-            model_name='candidate',\n-            name='notify_id',\n-            field=models.ForeignKey(db_column='notify_id', on_delete=django.db.models.deletion.CASCADE, related_name='reach_candidates_to_who_found', to='notification.notification'),\n-        ),\n-        migrations.AddField(\n-            model_name='matchedperson',\n-            name='id_lp',\n-            field=models.OneToOneField(db_column='lost_person_id', on_delete=django.db.models.deletion.CASCADE, related_name='match', to='find_losts.lostobject'),\n-        ),\n-        migrations.AddField(\n-            model_name='matchedperson',\n-            name='notify_id_fp',\n-            field=models.ForeignKey(db_column='notify_id_fp', on_delete=django.db.models.deletion.CASCADE, related_name='reach_match_to_who_found', to='notification.notification'),\n-        ),\n-        migrations.AddField(\n-            model_name='matchedperson',\n-            name='notify_id_lp',\n-            field=models.ForeignKey(db_column='notify_id_lp', on_delete=django.db.models.deletion.CASCADE, related_name='reach_match_to_who_lost', to='notification.notification'),\n-        ),\n-        migrations.AddField(\n-            model_name='candidate',\n-            name='id_fi',\n-            field=models.ForeignKey(db_column='found_item_id', on_delete=django.db.models.deletion.CASCADE, related_name='candidate', to='find_losts.founditem'),\n-        ),\n-        migrations.AddField(\n-            model_name='candidate',\n-            name='id_li',\n-            field=models.ForeignKey(db_column='lost_item_id', on_delete=django.db.models.deletion.CASCADE, related_name='candidate', to='find_losts.lostitem'),\n-        ),\n-        migrations.CreateModel(\n-            name='LostPersonImage',\n-            fields=[\n-                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.lostperson')),\n-                ('image', models.ImageField(unique=True, upload_to='')),\n-            ],\n-            options={\n-                'db_table': 'lost_person_image',\n-                'unique_together': {('id', 'image')},\n-            },\n-        ),\n-        migrations.CreateModel(\n-            name='FoundPersonImage',\n-            fields=[\n-                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.foundperson')),\n-                ('image', models.ImageField(unique=True, upload_to='')),\n-            ],\n-            options={\n-                'db_table': 'found_person_image',\n-                'unique_together': {('id', 'image')},\n-            },\n-        ),\n-        migrations.AlterUniqueTogether(\n-            name='candidate',\n-            unique_together={('id_li', 'id_fi')},\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0013_auto_20210514_0152.py\n===================================================================\n--- backend/find_losts/migrations/0013_auto_20210514_0152.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0013_auto_20210514_0152.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-13 23:52\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0012_auto_20210503_1505'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='lostitem',\n-            name='image',\n-            field=models.ImageField(blank=True, null=True, upload_to=''),\n-        ),\n-    ]\nIndex: backend/find_losts/migrations/0005_auto_20210501_1552.py\n===================================================================\n--- backend/find_losts/migrations/0005_auto_20210501_1552.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/migrations/0005_auto_20210501_1552.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n@@ -1,18 +0,0 @@\n-# Generated by Django 3.1.7 on 2021-05-01 13:52\n-\n-from django.db import migrations, models\n-\n-\n-class Migration(migrations.Migration):\n-\n-    dependencies = [\n-        ('find_losts', '0004_auto_20210501_0251'),\n-    ]\n-\n-    operations = [\n-        migrations.AlterField(\n-            model_name='foundobject',\n-            name='date',\n-            field=models.DateField(),\n-        ),\n-    ]\nIndex: backend/find_losts/serializers.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>from rest_framework import serializers\\r\\nfrom rest_framework_simplejwt.tokens import RefreshToken, TokenError\\r\\nfrom .models import *\\r\\nfrom user_account.models import User\\r\\n\\r\\n\\r\\nclass LostObjectSerializer(serializers.ModelSerializer):\\r\\n\\r\\n    class Meta:\\r\\n        model = LostObject\\r\\n        fields = ['id', 'date', 'city', 'is_matched', 'user_id']\\r\\n\\r\\n\\r\\nclass LostItemSerializer(serializers.ModelSerializer):\\r\\n\\r\\n    class Meta:\\r\\n        model = LostItem\\r\\n        fields = ['id', 'type', 'serial_number', 'brand', 'color', 'description', 'image']\\r\\n\\r\\n    def validate(self, attrs):\\r\\n        if LostPerson.objects.filter(id=attrs.get('id', '')).exists():\\r\\n            raise serializers.ValidationError({'id': {'id already exists'}})\\r\\n        return super().validate(attrs)\\r\\n\\r\\n\\r\\nclass LostPersonSerializer(serializers.ModelSerializer):\\r\\n\\r\\n    class Meta:\\r\\n        model = LostPerson\\r\\n        fields = ['id', 'name']\\r\\n\\r\\n    def validate(self, attrs):\\r\\n        if LostItem.objects.filter(id=attrs.get('id', '')).exists():\\r\\n            raise serializers.ValidationError({'id': {'id already exists'}})\\r\\n        return super().validate(attrs)\\r\\n\\r\\n\\r\\nclass LostPersonImageSerializer(serializers.ModelSerializer):\\r\\n    class Meta:\\r\\n        model = LostPersonImage\\r\\n        fields = '__all__'\\r\\n\\r\\n\\r\\n\\r\\nclass FoundObjectSerializer(serializers.ModelSerializer):\\r\\n    class Meta:\\r\\n        model = FoundObject\\r\\n        fields = ['id', 'date', 'longitude', 'latitude', 'city', 'user_id', 'is_matched']\\r\\n\\r\\nclass FoundItemSerializer(serializers.ModelSerializer):\\r\\n    class Meta:\\r\\n        model = FoundItem\\r\\n        fields = ['id', 'type', 'color', 'brand', 'description', 'serial_number']#image_removed\\r\\n\\r\\n    def validate(self, attrs):\\r\\n        if FoundPerson.objects.filter(id=attrs.get('id', '')).exists():\\r\\n            raise serializers.ValidationError({'id': {'id already exists'}})\\r\\n        return super().validate(attrs)\\r\\n\\r\\n\\r\\nclass FoundPersonSerializer(serializers.ModelSerializer):\\r\\n    class Meta:\\r\\n        model = FoundPerson\\r\\n        fields = ['id', 'name']\\r\\n\\r\\n    def validate(self, attrs):\\r\\n        if FoundItem.objects.filter(id=attrs.get('id', '')).exists():\\r\\n            raise serializers.ValidationError({'id': {'id already exists'}})\\r\\n        return super().validate(attrs)\\r\\n\\r\\n\\r\\nclass FoundPersonImageSerializer(serializers.ModelSerializer):\\r\\n    class Meta:\\r\\n        model = FoundPersonImage\\r\\n        fields = ['id_image', 'image']\\r\\n\\r\\nclass MapSerializer(serializers.ModelSerializer):\\r\\n    longitude = serializers.DecimalField(max_digits=14, decimal_places=10, source='id.longitude')\\r\\n    latitude = serializers.DecimalField(max_digits=14, decimal_places=10, source='id.latitude')\\r\\n    user_id = serializers.IntegerField(source='id.user_id.id')\\r\\n\\r\\n    class Meta:\\r\\n        model = FoundItem\\r\\n        fields = ['longitude', 'latitude', 'user_id']\\r\\n\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/find_losts/serializers.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/serializers.py\t(date 1621860226693)\n@@ -2,13 +2,16 @@\n from rest_framework_simplejwt.tokens import RefreshToken, TokenError\n from .models import *\n from user_account.models import User\n+from django.db.models import Count\n+import face_recognition\n+import numpy as np\n \n \n class LostObjectSerializer(serializers.ModelSerializer):\n \n     class Meta:\n         model = LostObject\n-        fields = ['id', 'date', 'city', 'is_matched', 'user_id']\n+        fields = ['date', 'city','user_id']\n \n \n class LostItemSerializer(serializers.ModelSerializer):\n@@ -21,36 +24,122 @@\n         if LostPerson.objects.filter(id=attrs.get('id', '')).exists():\n             raise serializers.ValidationError({'id': {'id already exists'}})\n         return super().validate(attrs)\n-\n-\n-class LostPersonSerializer(serializers.ModelSerializer):\n-\n-    class Meta:\n-        model = LostPerson\n-        fields = ['id', 'name']\n-\n-    def validate(self, attrs):\n-        if LostItem.objects.filter(id=attrs.get('id', '')).exists():\n-            raise serializers.ValidationError({'id': {'id already exists'}})\n-        return super().validate(attrs)\n \n \n class LostPersonImageSerializer(serializers.ModelSerializer):\n     class Meta:\n         model = LostPersonImage\n-        fields = '__all__'\n+        fields = ['image']\n+\n+\n+def match_with_found_person(pk):\n+    source_img = face_recognition.load_image_file(f'media/lostperson/{pk}.jpg')\n+    source_encoding = face_recognition.face_encodings(source_img)[0]\n+    founds = list(FoundPerson.objects.values_list('id'))\n+\n+    encodings = []\n+    ids = []\n+    min_val = -1\n+    for id_f in founds:\n+        face = face_recognition.load_image_file(f'media/foundperson/{id_f[0]}.jpg')\n+        encodings.append(face_recognition.face_encodings(face)[0])\n+        ids.append(id_f[0])\n \n+    dist = face_recognition.face_distance(encodings,source_encoding)\n+    if dist.size > 0:\n+        min_val = min(dist)\n \n+    if 0 < min_val <= 0.52:\n+        return min_val, ids[dist.argmin()]\n+    else:\n+        return -1, -1\n+\n+\"\"\"\n+    mini = 1.0\n+    minid = -1\n+    for id in ids:\n+        sum_dist = 0.0\n+        for img_num in range(id.number_of_images):\n+            face = face_recognition.load_image_file(f'media/foundperson/{source_id.pk}/{img_num + 1}.jpg')\n+            encoding = face_recognition.face_encodings(face)[0]\n+            dist = list(face_recognition.face_distance(source_encodings, encoding))\n+            sum_dist = sum_dist + sum(dist)\n+\n+        avg = sum_dist/(source_id.number_of_images*id.number_of_images)\n+        if avg < mini:\n+            mini = avg\n+            minid = id\n+\n+    if 0 < mini <= 0.52:\n+        return mini, minid\n+    else:\n+        return -1, -1\n+\"\"\"\n+\n+\n+class LostPersonSerializer(serializers.ModelSerializer):\n+    date = serializers.DateField()\n+    city = serializers.CharField(max_length=35)\n+    user_id = serializers.IntegerField()\n+\n+    class Meta:\n+        model = LostPerson\n+        fields = ['date', 'city', 'user_id', 'name', 'image']\n+    \n+    def create(self, validated_data):\n+        data = validated_data.copy()\n+        #images_data = data.pop('images')\n+        #self.context.get('request').data.pop('images')\n+        user = User.objects.get(id=data.pop('user_id'))\n+        person_id = LostObject.objects.create(date=data.pop('date'), city=data.pop('city'), user_id=user)\n+        person = None\n+\n+        try:\n+            person = LostPerson.objects.create(id=person_id, **data)\n+            print(person)\n+        except TypeError:\n+            obj = LostObject.objects.get(id=person.id)\n+            obj.delete()\n+            raise TypeError('TypeError: LostPerson.objects.create()')\n+        \"\"\"\n+        try:\n+            cnt = 0\n+            for img in images_data:\n+                cnt = cnt + 1\n+                image = LostPersonImage.objects.create(id_lp=person.pk, image_number=cnt, image=img)\n+                person.person_image.add(image)\n+        except TypeError:\n+            person = LostPerson.objects.get(id=person.id)\n+            obj = LostObject.objects.get(id=person.id)\n+            person.delete()\n+            obj.delete()\n+            raise TypeError('TypeError: LostPersonImage.objects.create()')\n+        \"\"\"\n+\n+        res_match = match_with_found_person(person.pk)\n+        print(res_match)\n+        matched = False\n+        \"\"\"\n+        if res_match != -1:\n+            matched = True\n+            matched_person = FoundPerson.objects.filter(id=res_match[0])\n+            #Notification.objects.create()\n+            #Notification.objects.create()\n+            #MatchedPerson.objects.create()\n+            pass\n+        \"\"\"\n+\n+        return validated_data\n \n class FoundObjectSerializer(serializers.ModelSerializer):\n     class Meta:\n         model = FoundObject\n-        fields = ['id', 'date', 'longitude', 'latitude', 'city', 'user_id', 'is_matched']\n+        fields = ['date', 'longitude', 'latitude', 'city', 'user_id', 'is_matched']\n \n class FoundItemSerializer(serializers.ModelSerializer):\n     class Meta:\n         model = FoundItem\n-        fields = ['id', 'type', 'color', 'brand', 'description', 'serial_number']#image_removed\n+        fields = ['id', 'type', 'color', 'brand', 'description', 'serial_number', 'image']\n \n     def validate(self, attrs):\n         if FoundPerson.objects.filter(id=attrs.get('id', '')).exists():\n@@ -58,15 +147,86 @@\n         return super().validate(attrs)\n \n \n+def match_with_lost_person(pk):\n+    source_img = face_recognition.load_image_file(f'media/foundperson/{pk}.jpg')\n+    source_encoding = face_recognition.face_encodings(source_img)[0]\n+    losts = list(LostPerson.objects.values_list('id'))\n+    print(losts)\n+    encodings = []\n+    ids = []\n+    for id_l in losts:\n+        face = face_recognition.load_image_file(f'media/lostperson/{id_l[0]}.jpg')\n+        encodings.append(face_recognition.face_encodings(face)[0])\n+        ids.append(id_l[0])\n+\n+    dist = face_recognition.face_distance(encodings, source_encoding)\n+    min_val = min(dist)\n+\n+    if dist.size > 0:\n+        min_val = min(dist)\n+\n+    if 0 < min_val <= 0.52:\n+        return min_val, ids[dist.argmin()]\n+    else:\n+        return -1, -1\n+\n+\n class FoundPersonSerializer(serializers.ModelSerializer):\n+    date = serializers.DateField()\n+    longitude = serializers.DecimalField(max_digits=14, decimal_places=10, default=0.0)\n+    latitude = serializers.DecimalField(max_digits=14, decimal_places=10, default=0.0)\n+    city = serializers.CharField(max_length=35)\n+    user_id = serializers.IntegerField()\n+\n     class Meta:\n         model = FoundPerson\n-        fields = ['id', 'name']\n+        fields = ['date', 'longitude', 'latitude', 'city', 'user_id', 'name', 'image']\n+\n+    def create(self, validated_data):\n+        data = validated_data.copy()\n+        #images_data = data.pop('images')\n+        #self.context.get('request').data.pop('images')\n+        user = User.objects.get(id=data.pop('user_id'))\n+        person_id = FoundObject.objects.create(date=data.pop('date'), longitude=data.pop('longitude'),\n+                                              latitude=data.pop('latitude'), city=data.pop('city'), user_id=user)\n+        person = None\n \n-    def validate(self, attrs):\n-        if FoundItem.objects.filter(id=attrs.get('id', '')).exists():\n-            raise serializers.ValidationError({'id': {'id already exists'}})\n-        return super().validate(attrs)\n+        try:\n+            person = FoundPerson.objects.create(id=person_id, **data)\n+            print(person)\n+        except TypeError:\n+            obj = FoundObject.objects.get(id=person.id)\n+            obj.delete()\n+            raise TypeError('TypeError: FoundPerson.objects.create()')\n+        \"\"\"\n+        try:\n+            cnt = 0\n+            for img in images_data:\n+                cnt = cnt + 1\n+                image = LostPersonImage.objects.create(id_lp=person.pk, image_number=cnt, image=img)\n+                person.person_image.add(image)\n+        except TypeError:\n+            person = LostPerson.objects.get(id=person.id)\n+            obj = LostObject.objects.get(id=person.id)\n+            person.delete()\n+            obj.delete()\n+            raise TypeError('TypeError: LostPersonImage.objects.create()')\n+        \"\"\"\n+\n+        res_match = match_with_lost_person(person.pk)\n+        print(res_match)\n+        matched = False\n+        \"\"\"\n+        if res_match != -1:\n+            matched = True\n+            matched_person = LostPerson.objects.filter(id=res_match[0])\n+            #Notification.objects.create()\n+            #Notification.objects.create()\n+            #MatchedPerson.objects.create()\n+            pass\n+        \"\"\"\n+\n+        return validated_data\n \n \n class FoundPersonImageSerializer(serializers.ModelSerializer):\n@@ -74,6 +234,7 @@\n         model = FoundPersonImage\n         fields = ['id_image', 'image']\n \n+\n class MapSerializer(serializers.ModelSerializer):\n     longitude = serializers.DecimalField(max_digits=14, decimal_places=10, source='id.longitude')\n     latitude = serializers.DecimalField(max_digits=14, decimal_places=10, source='id.latitude')\nIndex: backend/user_account/serializers.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>from rest_framework import serializers\\r\\nfrom rest_framework_simplejwt.tokens import RefreshToken, TokenError\\r\\nfrom .models import User\\r\\n\\r\\n\\r\\nclass SignupSerializer(serializers.ModelSerializer):\\r\\n    username = serializers.CharField(max_length=150)\\r\\n    # email = serializers.EmailField(max_length=65, min_length=4)\\r\\n    password = serializers.CharField(max_length=65, min_length=8, write_only=True)\\r\\n    first_name = serializers.CharField(max_length=255, min_length=2)\\r\\n    phone = serializers.CharField(max_length=20, min_length=5)\\r\\n    city = serializers.CharField(max_length=35)\\r\\n    birthdate = serializers.DateField\\r\\n    profile_pic = serializers.ImageField\\r\\n\\r\\n    class Meta:\\r\\n        model = User\\r\\n        fields = ['username', 'password', 'first_name', 'phone', 'city', 'birthdate', 'profile_pic']\\r\\n\\r\\n    def validate(self, attrs):\\r\\n        exist_email = User.objects.filter(username=attrs.get('username', '')).exists()\\r\\n        exist_phone = User.objects.filter(phone=attrs.get('phone', '')).exists()\\r\\n        if exist_email and exist_phone:\\r\\n            raise serializers.ValidationError(\\r\\n                {\\r\\n                    'error': {\\r\\n                        'username': 'Email already exists',\\r\\n                        'phone': 'Phone number already exists'\\r\\n                    }\\r\\n                })\\r\\n        if exist_email:\\r\\n            raise serializers.ValidationError({'error': {'username': 'Email already exists', 'phone': ''}})\\r\\n        if exist_phone:\\r\\n            raise serializers.ValidationError({'error': {'username': '', 'phone': 'Phone number already exists'}})\\r\\n        return super().validate(attrs)\\r\\n\\r\\n    def create(self, validated_data):\\r\\n        return User.objects.create_user(**validated_data)\\r\\n\\r\\n\\r\\nclass LogoutSerializer(serializers.Serializer):\\r\\n    token = serializers.CharField()\\r\\n\\r\\n    def validate(self, attrs):\\r\\n        self.token = attrs['refresh']\\r\\n        return attrs\\r\\n\\r\\n    def save(self, **kwargs):\\r\\n        try:\\r\\n            RefreshToken(self.token).blacklist()\\r\\n        except TokenError:\\r\\n            self.fail('bad_token')\\r\\n\\r\\n    def update(self, instance, validated_data):\\r\\n        pass\\r\\n\\r\\n    def create(self, validated_data):\\r\\n        pass\\r\\n\\r\\n\\r\\nclass WhoFoundItemSerializer(serializers.ModelSerializer):\\r\\n    name = serializers.CharField(source='first_name')\\r\\n    email = serializers.CharField(source='username')\\r\\n\\r\\n    class Meta:\\r\\n        model = User\\r\\n        fields = ['name', 'email', 'phone']\\r\\n\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/user_account/serializers.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/user_account/serializers.py\t(date 1621783334231)\n@@ -4,14 +4,6 @@\n \n \n class SignupSerializer(serializers.ModelSerializer):\n-    username = serializers.CharField(max_length=150)\n-    # email = serializers.EmailField(max_length=65, min_length=4)\n-    password = serializers.CharField(max_length=65, min_length=8, write_only=True)\n-    first_name = serializers.CharField(max_length=255, min_length=2)\n-    phone = serializers.CharField(max_length=20, min_length=5)\n-    city = serializers.CharField(max_length=35)\n-    birthdate = serializers.DateField\n-    profile_pic = serializers.ImageField\n \n     class Meta:\n         model = User\nIndex: backend/find_losts/models.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>from django.db import models\\r\\nfrom user_account.models import User\\r\\nfrom notification.models import Notification\\r\\n\\r\\n\\r\\n# Create your models here.\\r\\n\\r\\nclass LostObject(models.Model):\\r\\n    date = models.DateField()\\r\\n    city = models.CharField(max_length=35)\\r\\n    user_id = models.ForeignKey(User, related_name='lost', on_delete=models.CASCADE, db_column='user_id')\\r\\n    is_matched = models.BooleanField(default=False)\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'lost_object'\\r\\n\\r\\n\\r\\nclass LostPerson(models.Model):\\r\\n    id = models.OneToOneField(LostObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\\r\\n    name = models.CharField(max_length=150)\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'lost_person'\\r\\n\\r\\n\\r\\nclass LostPersonImage(models.Model):\\r\\n    #id = models.AutoField(primary_key=True)\\r\\n    id = models.OneToOneField(LostPerson, primary_key=True, on_delete=models.CASCADE, db_column='id')\\r\\n    image = models.ImageField(unique=True)\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'lost_person_image'\\r\\n        unique_together = (('id', 'image'),)\\r\\n\\r\\ndef lost_item_image(instance,filename):\\r\\n    return f\\\"lost_item/{instance.pk}.jpg/\\\"\\r\\n\\r\\nclass LostItem(models.Model):\\r\\n    id = models.OneToOneField(LostObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\\r\\n    type = models.CharField(max_length=20)\\r\\n    color = models.CharField(max_length=20)\\r\\n    brand = models.CharField(max_length=50)\\r\\n    description = models.CharField(max_length=700)\\r\\n    serial_number = models.CharField(max_length=100, blank=True, null=True)\\r\\n    image = models.ImageField(blank=True, null=True, upload_to=lost_item_image)\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'lost_item'\\r\\n\\r\\n\\r\\n\\r\\nclass FoundObject(models.Model):\\r\\n    date = models.DateField()\\r\\n    longitude = models.DecimalField(max_digits=14, decimal_places=10, default=0.0)\\r\\n    latitude = models.DecimalField(max_digits=14, decimal_places=10, default=0.0)\\r\\n    city = models.CharField(max_length=35)\\r\\n    user_id = models.ForeignKey(User, related_name='found', on_delete=models.CASCADE, db_column='user_id')\\r\\n    is_matched = models.BooleanField(default=False)\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'found_object'\\r\\n\\r\\n\\r\\nclass FoundPerson(models.Model):\\r\\n    id = models.OneToOneField(FoundObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\\r\\n    name = models.CharField(max_length=150, blank=True, null=True)\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'found_person'\\r\\n\\r\\n\\r\\nclass FoundPersonImage(models.Model):\\r\\n    id = models.OneToOneField(FoundPerson, primary_key=True, on_delete=models.CASCADE, db_column='id')\\r\\n    image = models.ImageField(unique=True)\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'found_person_image'\\r\\n        unique_together = (('id', 'image'),)\\r\\n\\r\\n\\r\\nclass FoundItem(models.Model):\\r\\n    id = models.OneToOneField(FoundObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\\r\\n    type = models.CharField(max_length=20)\\r\\n    color = models.CharField(max_length=20)\\r\\n    brand = models.CharField(max_length=50)\\r\\n    description = models.CharField(max_length=700)\\r\\n    serial_number = models.CharField(max_length=100, blank=True, null=True)\\r\\n    #image = models.ImageField(unique=True)\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'found_item'\\r\\n\\r\\n\\r\\nclass Candidate(models.Model):\\r\\n    id_fi = models.ForeignKey(FoundItem, related_name='candidate', on_delete=models.CASCADE, db_column='found_item_id')\\r\\n    id_li = models.ForeignKey(LostItem, related_name='candidate', on_delete=models.CASCADE, db_column='lost_item_id')\\r\\n    percent = models.DecimalField(max_digits=5, decimal_places=4)\\r\\n    is_matched = models.BooleanField(default=False)\\r\\n    notify_id = models.ForeignKey(Notification, related_name='reach_candidates_to_who_found', on_delete=models.CASCADE,\\r\\n                                  db_column='notify_id')\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'candidate'\\r\\n        unique_together = (('id_li', 'id_fi'),)\\r\\n\\r\\n\\r\\nclass MatchedPerson(models.Model):\\r\\n    id_fp = models.OneToOneField(FoundObject, primary_key=True, unique=True, related_name='match',\\r\\n                                 on_delete=models.CASCADE, db_column='found_person_id')\\r\\n    id_lp = models.OneToOneField(LostObject, unique=True, related_name='match', on_delete=models.CASCADE,\\r\\n                                 db_column='lost_person_id')\\r\\n    date_of_receiving = models.DateTimeField(auto_now_add=True)\\r\\n    percent = models.DecimalField(max_digits=5, decimal_places=4)\\r\\n    notify_id_fp = models.ForeignKey(Notification, related_name='reach_match_to_who_found', on_delete=models.CASCADE,\\r\\n                                     db_column='notify_id_fp')\\r\\n    notify_id_lp = models.ForeignKey(Notification, related_name='reach_match_to_who_lost', on_delete=models.CASCADE,\\r\\n                                     db_column='notify_id_lp')\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'matched_Person'\\r\\n\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/find_losts/models.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/models.py\t(date 1621853397255)\n@@ -15,26 +15,29 @@\n         db_table = 'lost_object'\n \n \n+def lost_person_images(instance,filename):\n+    return f\"lostperson/{instance.pk}.jpg\"\n+\n+\n+class LostPersonImage(models.Model):\n+    id_lp = models.IntegerField\n+    image_number = models.IntegerField\n+    image = models.ImageField(blank=True, null=True, upload_to=lost_person_images)\n+\n+    class Meta:\n+        db_table = 'lost_person_image'\n+\n+\n class LostPerson(models.Model):\n-    id = models.OneToOneField(LostObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\n+    id = models.OneToOneField(LostObject, primary_key=True, on_delete=models.CASCADE, db_column='id', blank=True)\n     name = models.CharField(max_length=150)\n+    #person_image = models.ManyToManyField(LostPersonImage, db_column='images', related_name='images')\n+    image = models.ImageField(blank=True, null=True, upload_to=lost_person_images)\n \n     class Meta:\n         db_table = 'lost_person'\n \n \n-class LostPersonImage(models.Model):\n-    #id = models.AutoField(primary_key=True)\n-    id = models.OneToOneField(LostPerson, primary_key=True, on_delete=models.CASCADE, db_column='id')\n-    image = models.ImageField(unique=True)\n-\n-    class Meta:\n-        db_table = 'lost_person_image'\n-        unique_together = (('id', 'image'),)\n-\n-def lost_item_image(instance,filename):\n-    return f\"lost_item/{instance.pk}.jpg/\"\n-\n class LostItem(models.Model):\n     id = models.OneToOneField(LostObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\n     type = models.CharField(max_length=20)\n@@ -42,13 +45,12 @@\n     brand = models.CharField(max_length=50)\n     description = models.CharField(max_length=700)\n     serial_number = models.CharField(max_length=100, blank=True, null=True)\n-    image = models.ImageField(blank=True, null=True, upload_to=lost_item_image)\n+    image = models.ImageField(blank=True, null=True)\n \n     class Meta:\n         db_table = 'lost_item'\n \n \n-\n class FoundObject(models.Model):\n     date = models.DateField()\n     longitude = models.DecimalField(max_digits=14, decimal_places=10, default=0.0)\n@@ -61,9 +63,14 @@\n         db_table = 'found_object'\n \n \n+def found_person_images(instance,filename):\n+    return f\"foundperson/{instance.pk}.jpg\"\n+\n+\n class FoundPerson(models.Model):\n     id = models.OneToOneField(FoundObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\n     name = models.CharField(max_length=150, blank=True, null=True)\n+    image = models.ImageField(blank=True, null=True, upload_to=found_person_images)\n \n     class Meta:\n         db_table = 'found_person'\n@@ -85,7 +92,7 @@\n     brand = models.CharField(max_length=50)\n     description = models.CharField(max_length=700)\n     serial_number = models.CharField(max_length=100, blank=True, null=True)\n-    #image = models.ImageField(unique=True)\n+    image = models.ImageField(null=True, blank=True)\n \n     class Meta:\n         db_table = 'found_item'\nIndex: backend/user_account/models.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>from django.db import models\\r\\nfrom django.contrib.auth.models import AbstractUser\\r\\nfrom rest_framework_simplejwt.tokens import RefreshToken\\r\\n\\r\\n\\r\\n# Create your models here.\\r\\n\\r\\ndef profile_pic_dir(instance, filename):\\r\\n    return 'profile/{0}/'.format(filename)\\r\\n\\r\\n\\r\\ndef idcard_pic_dir(instance, filename):\\r\\n    return 'idcard/{0}/'.format(filename)\\r\\n\\r\\n\\r\\nclass User(AbstractUser):\\r\\n    email = models.EmailField(max_length=1, blank=True)\\r\\n    phone = models.CharField(max_length=20, unique=True)\\r\\n    birthdate = models.DateField()\\r\\n    city = models.CharField(max_length=35)\\r\\n    profile_pic = models.ImageField(blank=True, null=True, upload_to=profile_pic_dir)\\r\\n    id_card_pic = models.ImageField(blank=True, null=True, upload_to=idcard_pic_dir)\\r\\n\\r\\n    def __str__(self):\\r\\n        return self.username\\r\\n\\r\\n    def tokens(self):\\r\\n        refresh = RefreshToken.for_user(self)\\r\\n        return {\\r\\n            'refresh': str(refresh),\\r\\n            'access': str(refresh.access_token)\\r\\n        }\\r\\n\\r\\n    class Meta:\\r\\n        db_table = 'user'\\r\\n\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/user_account/models.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/user_account/models.py\t(date 1621784448372)\n@@ -6,11 +6,11 @@\n # Create your models here.\n \n def profile_pic_dir(instance, filename):\n-    return 'profile/{0}/'.format(filename)\n+    return f\"profile/{filename}\"\n \n \n def idcard_pic_dir(instance, filename):\n-    return 'idcard/{0}/'.format(filename)\n+    return f\"idcard/{filename}\"\n \n \n class User(AbstractUser):\nIndex: backend/find_losts/views.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>from django.shortcuts import render\\r\\nfrom rest_framework_simplejwt.tokens import RefreshToken, TokenError\\r\\nfrom rest_framework import serializers\\r\\nfrom django.http import HttpResponse\\r\\nfrom .models import LostObject, LostItem, LostPerson, LostPersonImage\\r\\nfrom rest_framework import status\\r\\nfrom .serializers import *\\r\\nfrom rest_framework import generics\\r\\nfrom rest_framework.views import APIView\\r\\nfrom rest_framework.response import Response\\r\\nfrom rest_framework.reverse import reverse\\r\\nfrom rest_framework import status\\r\\nfrom rest_framework import viewsets\\r\\nfrom rest_framework import permissions\\r\\n\\r\\n# Create your views here.\\r\\nclass LostObjectView(generics.ListCreateAPIView):\\r\\n    queryset = LostObject.objects.all()\\r\\n    serializer_class = LostObjectSerializer\\r\\n\\r\\n\\r\\nclass LostObjectDetailsView(generics.RetrieveUpdateDestroyAPIView):\\r\\n    queryset = LostObject.objects.all()\\r\\n    serializer_class = LostObjectSerializer\\r\\n\\r\\n\\r\\nclass LostItemView(generics.ListCreateAPIView):\\r\\n    queryset = LostItem.objects.all()\\r\\n    serializer_class = LostItemSerializer\\r\\n\\r\\nclass LostItemDetailsView(generics.RetrieveUpdateDestroyAPIView):\\r\\n    queryset = LostItem.objects.all()\\r\\n    serializer_class = LostItemSerializer\\r\\n\\r\\n\\r\\nclass LostPersonView(generics.ListCreateAPIView):\\r\\n    queryset = LostPerson.objects.all()\\r\\n    serializer_class = LostPersonSerializer\\r\\n    def post(self, request):\\r\\n        serializer = self.serializer_class(data=request.data)\\r\\n        if serializer.is_valid():\\r\\n            serializer.save()\\r\\n            return Response(serializer.data, status=status.HTTP_204_NO_CONTENT)\\r\\n\\r\\n        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)\\r\\n\\r\\nclass LostPersonDetailsView(generics.RetrieveUpdateDestroyAPIView):\\r\\n    queryset = LostPerson.objects.all()\\r\\n    serializer_class = LostPersonSerializer\\r\\n\\r\\n\\r\\nclass LostPersonImageView(generics.ListCreateAPIView):\\r\\n    queryset = LostPersonImage.objects.all()\\r\\n    serializer_class = LostPersonImageSerializer\\r\\n\\r\\nclass LostPersonImageDetailsView(generics.RetrieveUpdateDestroyAPIView):\\r\\n    queryset = LostPersonImage.objects.all()\\r\\n    serializer_class = LostPersonImageSerializer\\r\\n\\r\\n\\r\\nclass FoundObjectView(generics.ListCreateAPIView):\\r\\n    queryset = FoundObject.objects.all()\\r\\n    serializer_class = FoundObjectSerializer\\r\\n\\r\\nclass FoundObjectDetalisView(generics.RetrieveUpdateDestroyAPIView):\\r\\n    queryset = FoundObject.objects.all()\\r\\n    serializer_class = FoundObjectSerializer\\r\\n\\r\\n\\r\\nclass FoundItemView(generics.ListCreateAPIView):\\r\\n    queryset = FoundItem.objects.all()\\r\\n    serializer_class = FoundItemSerializer\\r\\n\\r\\nclass FoundItemDetailsView(generics.RetrieveUpdateDestroyAPIView):\\r\\n    queryset = FoundItem.objects.all()\\r\\n    serializer_class = FoundItemSerializer\\r\\n\\r\\n\\r\\nclass FoundPersonView(generics.ListCreateAPIView):\\r\\n    queryset = FoundPerson.objects.all()\\r\\n    serializer_class = FoundPersonSerializer\\r\\n\\r\\n\\r\\nclass FoundPersonImageView(generics.ListCreateAPIView):\\r\\n    queryset = FoundPersonImage.objects.all()\\r\\n    serializer_class = FoundPersonImageSerializer\\r\\n\\r\\n\\r\\nclass LostObject_cityView(generics.ListAPIView):\\r\\n    serializer_class = LostObjectSerializer\\r\\n\\r\\n    def get_queryset(self):\\r\\n        obj = self.kwargs['city']\\r\\n        return LostObject.objects.filter(city=obj)\\r\\n\\r\\n\\r\\nclass MapView(generics.ListAPIView):\\r\\n    queryset = FoundItem.objects.select_related('id')\\r\\n    serializer_class = MapSerializer\\r\\n    \\r\\n#@api_view()\\r\\n#def comp_lost_itemView(request,pk):\\r\\n\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/find_losts/views.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/find_losts/views.py\t(date 1621860000816)\n@@ -12,6 +12,7 @@\n from rest_framework import status\n from rest_framework import viewsets\n from rest_framework import permissions\n+from rest_framework.parsers import MultiPartParser, FormParser\n \n # Create your views here.\n class LostObjectView(generics.ListCreateAPIView):\n@@ -24,9 +25,20 @@\n     serializer_class = LostObjectSerializer\n \n \n-class LostItemView(generics.ListCreateAPIView):\n+class LostItemView(generics.GenericAPIView):\n     queryset = LostItem.objects.all()\n     serializer_class = LostItemSerializer\n+    parser_classes = (MultiPartParser, FormParser)\n+\n+    def create(self, request):\n+        print(request.data)\n+        serializer = self.get_serializer(data=request.data)\n+        if serializer.is_valid():\n+            serializer.save()\n+            return Response(serializer.data, status=status.HTTP_201_CREATED)\n+\n+        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)\n+\n \n class LostItemDetailsView(generics.RetrieveUpdateDestroyAPIView):\n     queryset = LostItem.objects.all()\n@@ -34,15 +46,10 @@\n \n \n class LostPersonView(generics.ListCreateAPIView):\n+    http_method_names = ['post']\n     queryset = LostPerson.objects.all()\n     serializer_class = LostPersonSerializer\n-    def post(self, request):\n-        serializer = self.serializer_class(data=request.data)\n-        if serializer.is_valid():\n-            serializer.save()\n-            return Response(serializer.data, status=status.HTTP_204_NO_CONTENT)\n \n-        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)\n \n class LostPersonDetailsView(generics.RetrieveUpdateDestroyAPIView):\n     queryset = LostPerson.objects.all()\n@@ -77,6 +84,7 @@\n \n \n class FoundPersonView(generics.ListCreateAPIView):\n+    http_method_names = ['post']\n     queryset = FoundPerson.objects.all()\n     serializer_class = FoundPersonSerializer\n \n@@ -86,17 +94,6 @@\n     serializer_class = FoundPersonImageSerializer\n \n \n-class LostObject_cityView(generics.ListAPIView):\n-    serializer_class = LostObjectSerializer\n-\n-    def get_queryset(self):\n-        obj = self.kwargs['city']\n-        return LostObject.objects.filter(city=obj)\n-\n-\n class MapView(generics.ListAPIView):\n     queryset = FoundItem.objects.select_related('id')\n     serializer_class = MapSerializer\n-    \n-#@api_view()\n-#def comp_lost_itemView(request,pk):\nIndex: backend/user_account/views.py\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+>from rest_framework import generics\\r\\nfrom rest_framework import status\\r\\nfrom rest_framework.generics import GenericAPIView\\r\\nfrom rest_framework.permissions import IsAuthenticated\\r\\nfrom rest_framework.response import Response\\r\\nfrom rest_framework.views import APIView\\r\\nfrom .serializers import SignupSerializer, LogoutSerializer, WhoFoundItemSerializer\\r\\nfrom .models import User\\r\\nfrom find_losts.models import LostObject, FoundObject\\r\\n\\r\\n# Create your views here.\\r\\n\\r\\n\\r\\nclass SignupView(generics.CreateAPIView):\\r\\n    serializer_class = SignupSerializer\\r\\n\\r\\n\\r\\nclass LoginView(APIView):\\r\\n    permission_classes = [IsAuthenticated]\\r\\n\\r\\n    def post(self, request):\\r\\n        user = request.user\\r\\n        user_pic = \\\"\\\"\\r\\n        losts = list(LostObject.objects.filter(user_id=user.pk).values('id'))\\r\\n        founds = list(FoundObject.objects.filter(user_id=user.pk).values('id'))\\r\\n        if user.profile_pic is not None:\\r\\n            user_pic = user.profile_pic.url\\r\\n        response = {\\r\\n            'id': user.pk,\\r\\n            'username': user.first_name,\\r\\n            'email': user.username,\\r\\n            'phone': user.phone,\\r\\n            'city': user.city,\\r\\n            'birthdate': user.birthdate,\\r\\n            'profile_pic': user_pic,\\r\\n            'losts': losts,\\r\\n            'founds': founds\\r\\n        }\\r\\n        return Response({'user': response}, status=status.HTTP_200_OK)\\r\\n\\r\\n\\r\\nclass LogoutView(GenericAPIView):\\r\\n    serializer_class = LogoutSerializer\\r\\n    permission_classes = {IsAuthenticated, }\\r\\n\\r\\n    def post(self, request):\\r\\n        serializer = self.serializer_class(data=request.data)\\r\\n        if serializer.is_valid():\\r\\n            serializer.save()\\r\\n            return Response(serializer.data, status=status.HTTP_204_NO_CONTENT)\\r\\n\\r\\n        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)\\r\\n\\r\\n\\r\\nclass WhoFoundItemView(generics.RetrieveAPIView):\\r\\n    queryset = User.objects.all()\\r\\n    serializer_class = WhoFoundItemSerializer\\r\\n    lookup_field = 'id'\\r\\n\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/user_account/views.py\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/user_account/views.py\t(date 1621784088894)\n@@ -12,6 +12,7 @@\n \n \n class SignupView(generics.CreateAPIView):\n+    queryset = User.objects.all()\n     serializer_class = SignupSerializer\n \n \n@@ -23,7 +24,7 @@\n         user_pic = \"\"\n         losts = list(LostObject.objects.filter(user_id=user.pk).values('id'))\n         founds = list(FoundObject.objects.filter(user_id=user.pk).values('id'))\n-        if user.profile_pic is not None:\n+        if user.profile_pic:\n             user_pic = user.profile_pic.url\n         response = {\n             'id': user.pk,\nIndex: backend/.idea/misc.xml\nIDEA additional info:\nSubsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP\n<+><?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\r\\n<project version=\\\"4\\\">\\r\\n  <component name=\\\"ProjectRootManager\\\" version=\\\"2\\\" project-jdk-name=\\\"Python 3.9 (backend)\\\" project-jdk-type=\\\"Python SDK\\\" />\\r\\n  <component name=\\\"PyCharmProfessionalAdvertiser\\\">\\r\\n    <option name=\\\"shown\\\" value=\\\"true\\\" />\\r\\n  </component>\\r\\n</project>\nSubsystem: com.intellij.openapi.diff.impl.patch.CharsetEP\n<+>UTF-8\n===================================================================\n--- backend/.idea/misc.xml\t(revision bfce80dfbed98c3cdb08a2bc51083229e26cebc2)\n+++ backend/.idea/misc.xml\t(date 1621778344681)\n@@ -1,6 +1,6 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <project version=\"4\">\n-  <component name=\"ProjectRootManager\" version=\"2\" project-jdk-name=\"Python 3.9 (backend)\" project-jdk-type=\"Python SDK\" />\n+  <component name=\"ProjectRootManager\" version=\"2\" project-jdk-name=\"Python 3.8 (backend)\" project-jdk-type=\"Python SDK\" />\n   <component name=\"PyCharmProfessionalAdvertiser\">\n     <option name=\"shown\" value=\"true\" />\n   </component>\n"
  },
  {
    "path": ".idea/vcs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"VcsDirectoryMappings\">\n    <mapping directory=\"\" vcs=\"Git\" />\n  </component>\n</project>"
  },
  {
    "path": "README.md",
    "content": "\r\n# The Team\r\n### Team Members\r\n* Team Leader : Esraa Sayed Ahmed\r\n* Team Member 1 : Dina Mishahed Mousa\r\n* Team Member 2 : Abdelrahman Mamdouh Ismail\r\n* Team Member 3 : Ahmed Mostafa Abdelaziz\r\n* Team Member 4 : Walid Mohamed El-Sayed\r\n \r\n<img src=\"https://user-images.githubusercontent.com/63111171/131846559-e5a3bbf8-69c1-4bff-b1dd-2e18ef862892.jpg \" width=\"200\" height=\"200\"><img src=\"https://user-images.githubusercontent.com/63111171/131846564-635999dc-df73-4a47-a571-76e5fdc2a082.jpg\" width=\"200\" height=\"200\"><img src=\"https://user-images.githubusercontent.com/63111171/131846565-5ea4b10e-fbec-4ecc-9fc9-cefe2ddf29d1.jpg\" width=\"200\" height=\"200\"><img src=\"https://user-images.githubusercontent.com/63111171/131846567-81d8b676-3200-4d3b-abba-351e9a5fbd8e.jpg\" width=\"200\" height=\"200\">\r\n\r\n## Problem Statement\r\nThe thought of a family member, a friend, or someone else you care about going missing can be terrifying. You don’t know where they are, if they’re hurt or if they need help. When this person lives with a mental health condition, the situation may be even more serious. Also, time required for finding lost person is may be long so, taking action quickly can make a difference.\r\n\r\n## Solution\r\n* Steps taken for solving the problem.\r\n<br>First, parents that lose their child will add his/her picture in the application\r\nthen If anyone suspects that the child has been kidnapped or lost, he will open the application and the camera and point the camera at the child.\r\nthen the application compare between the child's photo and all the lost children's photos. If a match occurs, it will appear to the user that the child has been kidnapped.</br>\r\n\r\n* Frameworks/Tools/Technologies stacks used.\r\n<br>We use Pycharm framework(<b>Django</b> framework), <b>face recognition tools</b>, <b>Android Studio</b>, <b>PostgreSQL</b> Database</br>\r\nWe used <b>Django</b>  framework :-<br>\r\nWhere a lot of libraries are available to help us detect and recongize the faces.<br>\r\nWe used <b>PostgreSQL</b> Database :-<br>\r\nWhere it is suitable for us to update the data easier than <b>MySQL</b>.<br>\r\nWe used <b>Android Studio</b> :-<br>\r\nThis project can be converted into an application that anyone can use easily.\r\n\r\n## Methodology \r\n  * Use Case:\r\n \r\n  ![Screenshot 2021-09-23 165529](https://user-images.githubusercontent.com/63111171/134538337-3451c5cb-f019-4b5e-9f38-5e9d975a4f6a.png)\r\n  * Dataset: <b>TensorFlow</b>.\r\n  * Database: <b>PostgreSQL</b> SQLite.\r\n  * <b>ML Kit</b> for Firebase (For real-time detection)\r\n  * [Face Detection and Recognition Algorithms.docx](https://github.com/abdelrhman-mamdouh/J6_Hackathon_Jefive/files/7219037/Face.Detection.and.Recognition.Algorithms.docx)\r\n\r\n\r\n## System Architecture proposal (if any)\r\nExplain the following in detail:\r\n  * Mobile Phone device to test our project by <b>Android Studio</b>.\r\n  * ![image](https://user-images.githubusercontent.com/63111171/134538831-76884e8e-fd1b-4ea3-b59b-e95fd5cc43df.png)\r\n  * Before recognizing a face, it is first essential to detect and extract the faces from the original pictures. For recognizing a face, the algorithms compare only faces. Any       other element in the picture that is not part of a face deteriorates the recognition. \r\n\r\n## Screenshots\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789100-9c32fcd6-00a8-4ad8-a47e-09eb638842b7.jpg\" width=\"170\" height=\"340\"><img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\"><img src=\"https://user-images.githubusercontent.com/63111171/134789101-c31f7cf4-4113-40b2-9c28-40ada65c0661.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789102-c685bb38-4484-4543-afbf-e169387a00fe.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789103-ac5271ed-bb24-4629-986d-f71e5a25bf87.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789105-caf3fadd-6206-40e3-80d5-66142266ad81.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789106-0854d0ff-a798-45cf-a2fe-6e1ad52062ec.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789110-a40b32a9-bd97-4c78-a9cd-88270eb9320d.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789112-6384f963-d786-49bd-87f3-699bfb7ef6ac.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789113-f19ba47e-c012-4603-9a8b-58b4b6699ab0.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789116-b66d4462-6b08-490e-b3de-0e8a91848274.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789117-d3eeb6a6-d7a7-46cb-8298-bf736bd86b25.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789120-4fc2cb98-ee91-4555-bf60-0180bc2d6cc3.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789121-c67efbd2-14f1-43c6-851b-a90fcdcfd949.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789124-22d3f7c0-b90c-4699-ab4c-2efea9416b48.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789128-9019b6a1-0307-4a95-8da8-4eab471867a6.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789130-577cef6d-2ab3-4703-878e-204ffddba3cb.jpg\" width=\"170\" height=\"340\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789278-b7cf13c5-efca-4abe-b5e8-f1ba46ad0825.png\" width=\"50\" height=\"50\">\r\n<img src=\"https://user-images.githubusercontent.com/63111171/134789131-00d6a30a-3cae-44c2-86a4-270e14a26c1b.jpg\" width=\"170\" height=\"340\">\r\n\r\n\r\n\r\n\r\n## Step to run the software\r\n* Install <b>Python</b> 3.8.3\r\n* Install <b>Django</b> Framework\r\n* Install <b>face-recognition</b> library\r\n* Install <b>Android Studio</b>\r\n* Download <b>ngrok</b> tool to help you share a app running on your local machine with the world.\r\n* Run app by <b>Android studio</b> and copy <b>ngrok</b> code to good point app.\r\n\r\n\r\n"
  },
  {
    "path": "app/.gitignore",
    "content": "/build"
  },
  {
    "path": "app/.idea/workspace.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ChangeListManager\">\n    <list default=\"true\" id=\"7b0ef566-3d9b-4a4f-923a-50683c23f896\" name=\"Default Changelist\" comment=\"\">\n      <change beforePath=\"$PROJECT_DIR$/../.idea/codeStyles/Project.xml\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/../.idea/codeStyles/Project.xml\" afterDir=\"false\" />\n      <change beforePath=\"$PROJECT_DIR$/../.idea/gradle.xml\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/../.idea/gradle.xml\" afterDir=\"false\" />\n    </list>\n    <option name=\"SHOW_DIALOG\" value=\"false\" />\n    <option name=\"HIGHLIGHT_CONFLICTS\" value=\"true\" />\n    <option name=\"HIGHLIGHT_NON_ACTIVE_CHANGELIST\" value=\"false\" />\n    <option name=\"LAST_RESOLUTION\" value=\"IGNORE\" />\n  </component>\n  <component name=\"ExternalProjectsManager\">\n    <system id=\"GRADLE\">\n      <state>\n        <projects_view />\n      </state>\n    </system>\n  </component>\n  <component name=\"Git.Settings\">\n    <option name=\"RECENT_GIT_ROOT_PATH\" value=\"$PROJECT_DIR$/..\" />\n  </component>\n  <component name=\"IgnoredFileRootStore\">\n    <option name=\"generatedRoots\">\n      <set>\n        <option value=\"C:\\Users\\dinam\\Documents\\GitHub\\Good_Point\\app\\.idea\" />\n      </set>\n    </option>\n  </component>\n  <component name=\"ProjectId\" id=\"1lEyMvHuDCZ5bndapBHpFE6CZzs\" />\n  <component name=\"ProjectLevelVcsManager\" settingsEditedManually=\"true\" />\n  <component name=\"ProjectViewState\">\n    <option name=\"foldersAlwaysOnTop\" value=\"false\" />\n    <option name=\"showLibraryContents\" value=\"true\" />\n    <option name=\"showMembers\" value=\"true\" />\n    <option name=\"sortByType\" value=\"true\" />\n  </component>\n  <component name=\"PropertiesComponent\">\n    <property name=\"RunOnceActivity.ShowReadmeOnStart\" value=\"true\" />\n    <property name=\"android.sdk.path\" value=\"$USER_HOME$/AppData/Local/Android/Sdk\" />\n    <property name=\"last_opened_file_path\" value=\"$PROJECT_DIR$/..\" />\n    <property name=\"settings.editor.selected.configurable\" value=\"AndroidSdkUpdater\" />\n    <property name=\"show.migrate.to.gradle.popup\" value=\"false\" />\n  </component>\n  <component name=\"SvnConfiguration\">\n    <configuration />\n  </component>\n  <component name=\"TaskManager\">\n    <task active=\"true\" id=\"Default\" summary=\"Default task\">\n      <changelist id=\"7b0ef566-3d9b-4a4f-923a-50683c23f896\" name=\"Default Changelist\" comment=\"\" />\n      <created>1607176500258</created>\n      <option name=\"number\" value=\"Default\" />\n      <option name=\"presentableId\" value=\"Default\" />\n      <updated>1607176500258</updated>\n    </task>\n    <servers />\n  </component>\n  <component name=\"WindowStateProjectService\">\n    <state x=\"580\" y=\"188\" key=\"FileChooserDialogImpl\" timestamp=\"1607176510399\">\n      <screen x=\"0\" y=\"0\" width=\"1600\" height=\"860\" />\n    </state>\n    <state x=\"580\" y=\"188\" key=\"FileChooserDialogImpl/0.0.1600.860@0.0.1600.860\" timestamp=\"1607176510399\" />\n  </component>\n</project>"
  },
  {
    "path": "app/build.gradle",
    "content": "apply plugin: 'com.android.application'\nandroid {\n    compileSdkVersion 31\n    buildToolsVersion \"30.0.1\"\n\n    defaultConfig {\n        applicationId \"com.helloworld.goodpoint\"\n        minSdkVersion 21\n        targetSdkVersion 30\n        versionCode 1\n        versionName \"1.0\"\n\n        testInstrumentationRunner \"androidx.test.runner.AndroidJUnitRunner\"\n        vectorDrawables.useSupportLibrary = true\n    }\n\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'\n        }\n    }\n    compileOptions {\n        sourceCompatibility JavaVersion.VERSION_1_8\n        targetCompatibility JavaVersion.VERSION_1_8\n    }\n    aaptOptions {\n        noCompress \"tflite\"\n    }\n}\napply plugin: 'com.android.application'\napply plugin: 'com.google.gms.google-services'\ndependencies {\n    implementation platform('com.google.firebase:firebase-bom:28.4.1')\n    implementation 'com.google.firebase:firebase-analytics'\n    implementation 'com.github.d-max:spots-dialog:1.1@aar'\n    implementation fileTree(dir: \"libs\", include: [\"*.jar\"])\n    implementation 'androidx.appcompat:appcompat:1.2.0'\n    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'\n    implementation 'androidx.legacy:legacy-support-v4:1.0.0'\n    implementation 'com.google.android.gms:play-services-maps:17.0.0'\n    implementation 'com.google.android.gms:play-services-places:17.0.0'\n    implementation 'com.android.support:support-v4:30.0.1'\n    implementation 'com.android.support:design:30.0.1'\n    implementation 'com.google.android.gms:play-services-location:17.1.0'\n\n    implementation project(path: ':mylibrary')\n    implementation 'com.google.firebase:firebase-ml-vision:24.1.0'\n\n    testImplementation 'junit:junit:4.13.1'\n    androidTestImplementation 'androidx.test.ext:junit:1.1.2'\n    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'\n    implementation 'com.android.support:support-annotations:28.0.0'\n    implementation 'com.google.android.material:material:1.3.0'\n    implementation 'com.chaos.view:pinview:1.4.3'\n    implementation 'androidx.fragment:fragment:1.2.5'\n    implementation 'com.github.Shashank02051997:FancyToast-Android:0.1.8'\n    //recyclerView\n    implementation \"androidx.recyclerview:recyclerview:1.1.0\"\n    // For control over item selection of both touch and mouse driven selection\n    implementation \"androidx.recyclerview:recyclerview-selection:1.1.0-rc03\"\n    implementation 'com.google.android.material:material:1.3.0'\n    implementation 'com.android.support:design:30.0.0'\n\n    //glide\n    implementation 'com.github.bumptech.glide:glide:4.4.0'\n    annotationProcessor 'com.github.bumptech.glide:compiler:4.4.0'\n\n    //sdp and ssp\n    implementation 'com.intuit.sdp:sdp-android:1.0.6'\n    implementation 'com.intuit.ssp:ssp-android:1.0.6'\n\n    //retrofit\n    implementation 'com.squareup.retrofit2:retrofit:2.9.0'\n    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'\n\n    //circular image\n    implementation 'de.hdodenhof:circleimageview:3.1.0'\n    implementation 'com.squareup.retrofit2:converter-scalars:2.1.0'\n    //\n    implementation \"com.android.support:support-core-utils\"\n    // for camerax\n    def camerax_version = '1.1.0-alpha09'\n    implementation \"androidx.camera:camera-core:${camerax_version}\"\n    implementation \"androidx.camera:camera-camera2:${camerax_version}\"\n    implementation \"androidx.camera:camera-view:1.0.0-alpha29\"\n    implementation \"androidx.camera:camera-lifecycle:${camerax_version}\"\n\n    //\n    // for google material elements\n    implementation 'com.google.android.material:material:1.1.0'\n    // added MLKit dependencies for face detector\n    implementation 'com.google.mlkit:face-detection:16.1.2'\n    implementation 'com.google.mlkit:object-detection-custom:16.3.0'\n    implementation 'org.tensorflow:tensorflow-lite:+'\n    implementation 'com.google.android.gms:play-services-vision:20.1.3'\n}"
  },
  {
    "path": "app/google-services.json",
    "content": "{\n  \"project_info\": {\n    \"project_number\": \"311132691163\",\n    \"project_id\": \"goodpoint-72323\",\n    \"storage_bucket\": \"goodpoint-72323.appspot.com\"\n  },\n  \"client\": [\n    {\n      \"client_info\": {\n        \"mobilesdk_app_id\": \"1:311132691163:android:bbb123fe5d1b460c1b0afe\",\n        \"android_client_info\": {\n          \"package_name\": \"com.helloworld.goodpoint\"\n        }\n      },\n      \"oauth_client\": [\n        {\n          \"client_id\": \"311132691163-2i2t19bnloefe5k6dd7u9i10jvvsbejg.apps.googleusercontent.com\",\n          \"client_type\": 3\n        }\n      ],\n      \"api_key\": [\n        {\n          \"current_key\": \"AIzaSyCVfw7eY2thtJlQHAwMLIXKW6BcpMFOqps\"\n        }\n      ],\n      \"services\": {\n        \"appinvite_service\": {\n          \"other_platform_oauth_client\": [\n            {\n              \"client_id\": \"311132691163-2i2t19bnloefe5k6dd7u9i10jvvsbejg.apps.googleusercontent.com\",\n              \"client_type\": 3\n            }\n          ]\n        }\n      }\n    }\n  ],\n  \"configuration_version\": \"1\"\n}"
  },
  {
    "path": "app/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguardFiles setting in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n\n# Uncomment this to preserve the line number information for\n# debugging stack traces.\n#-keepattributes SourceFile,LineNumberTable\n\n# If you keep the line number information, uncomment this to\n# hide the original source file name.\n#-renamesourcefileattribute SourceFile"
  },
  {
    "path": "app/src/androidTest/java/com/helloworld/goodpoint/ExampleInstrumentedTest.java",
    "content": "package com.helloworld.goodpoint;\n\nimport android.content.Context;\n\nimport androidx.test.platform.app.InstrumentationRegistry;\nimport androidx.test.ext.junit.runners.AndroidJUnit4;\n\nimport org.junit.Test;\nimport org.junit.runner.RunWith;\n\nimport static org.junit.Assert.*;\n\n/**\n * Instrumented test, which will execute on an Android device.\n *\n * @see <a href=\"http://d.android.com/tools/testing\">Testing documentation</a>\n */\n@RunWith(AndroidJUnit4.class)\npublic class ExampleInstrumentedTest {\n    @Test\n    public void useAppContext() {\n        // Context of the app under test.\n        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();\n        assertEquals(\"com.helloworld.goodpoint\", appContext.getPackageName());\n    }\n}"
  },
  {
    "path": "app/src/debug/res/values/google_maps_api.xml",
    "content": "<resources>\n    <!--\n    TODO: Before you run your application, you need a Google Maps API key.\n\n    To get one, follow this link, follow the directions and press \"Create\" at the end:\n\n    https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=E1:38:50:EF:7F:4B:1D:9E:89:10:E7:1C:BA:D2:B6:F8:F5:C6:08:39%3Bcom.helloworld.goodpoint.ui\n\n    You can also add your credentials to an existing key, using these values:\n\n    Package name:\n    com.helloworld.goodpoint.ui\n\n    SHA-1 certificate fingerprint:\n    E1:38:50:EF:7F:4B:1D:9E:89:10:E7:1C:BA:D2:B6:F8:F5:C6:08:39\n\n    Alternatively, follow the directions here:\n    https://developers.google.com/maps/documentation/android/start#get-key\n\n    Once you have your key (it starts with \"AIza\"), replace the \"google_maps_key\"\n    string in this file.\n    -->\n    <!--<string name=\"google_maps_key\" templateMergeStrategy=\"preserve\" translatable=\"false\">AIzaSyB_qsP8AOP_P0MdlPz-48TDaJYjTP3vbjo</string>-->\n    <string name=\"google_maps_key\" templateMergeStrategy=\"preserve\" translatable=\"false\">AIzaSyDSlxIGBsvMZkpSZTMLnQ8MVKup40YFR6g</string>\n</resources>"
  },
  {
    "path": "app/src/main/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    package=\"com.helloworld.goodpoint\">\n\n    <uses-feature android:name=\"android.hardware.camera\" />\n    <uses-feature android:name=\"android.hardware.camera.autofocus\" />\n\n    <meta-data\n        android:name=\"com.google.android.gms.vision.DEPENDENCIES\"\n        android:value=\"face\" />\n    <meta-data\n        android:name=\"com.google.firebase:firebase-ml-vision.DEPENDENCIES\"\n        android:value=\"face\" />\n\n    <uses-permission android:name=\"android.permission.CAMERA\" />\n    <uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />\n    <uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />\n    <uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" />\n    <uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\" />\n    <uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\" />\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.CALL_PHONE\" />\n    <uses-permission android:name=\"android.permission.WAKE_LOCK\" />\n    <uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\" />\n    <uses-permission android:name=\"android.permission.FOREGROUND_SERVICE\" />\n    <uses-permission\n        android:name=\"android.permission.INSTANT_APP_FOREGROUND_SERVICE\"\n        tools:ignore=\"ProtectedPermissions\" />\n\n    <application\n        android:name=\".App\"\n        android:allowBackup=\"true\"\n        android:icon=\"@drawable/application_icon2\"\n        android:label=\"@string/app_name\"\n        android:requestLegacyExternalStorage=\"true\"\n        android:roundIcon=\"@drawable/application_icon2\"\n        android:supportsRtl=\"false\"\n        android:theme=\"@style/AppTheme\"\n        tools:replace=\"android:supportsRtl\">\n        <activity android:name=\".ui.ID_cardDetection\"\n            android:theme=\"@style/NoActionBar\"></activity>\n\n        <receiver\n            android:name=\".ui.myService.NotificationBroadcast\"\n            android:directBootAware=\"true\"\n            android:enabled=\"true\"\n            android:exported=\"true\"\n            android:stopWithTask=\"false\"\n            tools:targetApi=\"n\">\n            <intent-filter>\n                <action android:name=\"android.intent.action.BOOT_COMPLETED\" />\n                <action android:name=\"android.intent.action.LOCKED_BOOT_COMPLETED\" />\n                <action android:name=\"android.intent.action.QUICKBOOT_POWERON\" />\n                <action android:name=\"android.intent.action.MY_PACKAGE_REPLACED\" />\n                <action android:name=\"com.helloworld.goodpoint.ui.myService.NotificationBroadcast\" />\n\n                <category android:name=\"android.intent.category.DEFAULT\" />\n            </intent-filter>\n        </receiver>\n\n        <service\n            android:name=\".ui.myService.MyService\"\n            android:enabled=\"true\"\n            android:exported=\"true\" />\n\n        <activity\n            android:name=\".ui.check_registration\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.NotificationActivity\"\n            android:screenOrientation=\"portrait\" />\n        <activity\n            android:name=\".ui.forgetPasswordScreens.ForgetPasswordWithPhone\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.forgetPasswordScreens.VerifiyCode\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.forgetPasswordScreens.ForgetPassSuccessMessage\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.forgetPasswordScreens.SetNewPassword\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.forgetPasswordScreens.MakeSelection\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity android:name=\".ui.DetailsActivity\" />\n        <activity\n            android:name=\".ui.forgetPasswordScreens.ForgetPasswordWithEmail\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.candidate.CandidatePage\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.select_multiple_faces.Selection\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.test\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.Alert\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.WelcomeActivity\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/Theme.AppCompat.NoActionBar\" />\n\n        <meta-data\n            android:name=\"com.google.android.geo.API_KEY\"\n            android:value=\"@string/google_maps_key\" />\n        <meta-data\n            android:name=\"com.google.android.gms.version\"\n            android:value=\"@integer/google_play_services_version\" />\n        <meta-data\n            android:name=\"preloaded_fonts\"\n            android:resource=\"@array/preloaded_fonts\" />\n\n        <activity\n            android:name=\".ui.lostFoundObject.FoundObjectActivity\"\n            android:label=\"@string/FoundItemDetails\"\n            android:parentActivityName=\".ui.HomeActivity\"\n            android:screenOrientation=\"portrait\">\n            <meta-data\n                android:name=\"com.google.android.geo.API_KEY\"\n                android:value=\"@string/google_maps_key\" />\n        </activity>\n        <activity\n            android:name=\".ui.lostFoundObject.LostObjectDetailsActivity\"\n            android:label=\"@string/LostItemDetails\"\n            android:parentActivityName=\".ui.HomeActivity\"\n            android:screenOrientation=\"portrait\" />\n        <activity android:name=\".ui.ActionActivity\" />\n        <activity\n            android:name=\".ui.HomeActivity\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\">\n            <meta-data\n                android:name=\"com.google.android.geo.API_KEY\"\n                android:value=\"@string/google_maps_key\" />\n        </activity>\n        <activity\n            android:name=\".ui.SignupActivity\"\n            android:label=\"@string/Signup\"\n            android:screenOrientation=\"portrait\" />\n        <activity\n            android:name=\".ui.SigninActivity\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\" />\n        <activity\n            android:name=\".ui.MainActivity\"\n            android:screenOrientation=\"portrait\"\n            android:taskAffinity=\"com.helloworld.ui.MainActivity\"\n            android:theme=\"@style/NoActionBar\">\n            <intent-filter>\n                <action android:name=\".ui.MainActivity\" />\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n        <activity\n            android:name=\".ui.ExternalActivity\"\n            android:icon=\"@drawable/androidicon\"\n            android:roundIcon=\"@drawable/androidicon\"\n            android:taskAffinity=\"com.helloworld.ui.ExternalActivity\">\n            <intent-filter>\n                <action android:name=\".ui.ExternalActivity\" />\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n        <activity\n            android:name=\".detection.DetectorActivity\"\n            android:screenOrientation=\"portrait\"\n            android:theme=\"@style/NoActionBar\" />\n    </application>\n\n</manifest>"
  },
  {
    "path": "app/src/main/assets/labelmap.txt",
    "content": "person\nbicycle\ncar\nmotorcycle\nairplane\nbus\ntrain\ntruck\nboat\ntraffic light\nfire hydrant\n???\nstop sign\nparking meter\nbench\nbird\ncat\ndog\nhorse\nsheep\ncow\nelephant\nbear\nzebra\ngiraffe\n???\nbackpack\numbrella\n???\n???\nhandbag\ntie\nsuitcase\nfrisbee\nskis\nsnowboard\nsports ball\nkite\nbaseball bat\nbaseball glove\nskateboard\nsurfboard\ntennis racket\nbottle\n???\nwine glass\ncup\nfork\nknife\nspoon\nbowl\nbanana\napple\nsandwich\norange\nbroccoli\ncarrot\nhot dog\npizza\ndonut\ncake\nchair\ncouch\npotted plant\nbed\n???\ndining table\n???\n???\ntoilet\n???\ntv\nlaptop\nmouse\nremote\nkeyboard\ncell phone\nmicrowave\noven\ntoaster\nsink\nrefrigerator\n???\nbook\nclock\nvase\nscissors\nteddy bear\nhair drier\ntoothbrush\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/App.java",
    "content": "package com.helloworld.goodpoint;\n\nimport android.app.Application;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.content.res.Resources;\nimport android.os.Build;\n\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.ui.myService.NotificationBroadcast;\n\npublic class App extends Application {\n    private static App mInstance;\n    private static Resources res;\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        mInstance = this;\n        res = getResources();\n        IntentFilter filter = new IntentFilter();\n        filter.addAction(\"android.intent.action.BOOT_COMPLETED\");\n        filter.addAction(\"android.intent.action.LOCKED_BOOT_COMPLETED\");\n        filter.addAction(\"android.intent.action.QUICKBOOT_POWERON\");\n        filter.addAction(\"android.intent.action.MY_PACKAGE_REPLACED\");\n        filter.addAction(\"com.helloworld.goodpoint.ui.myService.NotificationBroadcast\");\n        filter.addCategory(\"android.intent.category.DEFAULT\");\n        registerReceiver(new NotificationBroadcast(), filter);\n    }\n\n    public static App getInstance() {\n        return mInstance;\n    }\n\n    public static Resources getResourses() {\n        return res;\n    }\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/adapter/MyExpandableListAdapter.java",
    "content": "package com.helloworld.goodpoint.adapter;\n\nimport android.content.Context;\nimport android.graphics.Typeface;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.BaseExpandableListAdapter;\nimport android.widget.TextView;\n\nimport com.helloworld.goodpoint.R;\n\nimport java.util.List;\nimport java.util.Map;\n\npublic class MyExpandableListAdapter extends BaseExpandableListAdapter {\n\n    private Context context;\n    private Map<String, List<String>> objects;\n    private List<String> groupList;\n\n    public MyExpandableListAdapter(Context context, List<String> groupList, Map<String, List<String>> objects) {\n        this.context = context;\n        this.objects = objects;\n        this.groupList = groupList;\n    }\n\n\n    @Override\n    public int getGroupCount() {\n        return objects.size();\n    }\n\n    @Override\n    public int getChildrenCount(int i) {\n        return objects.get(groupList.get(i)).size();\n    }\n\n    @Override\n    public Object getGroup(int i) {\n        return groupList.get(i);\n    }\n\n    @Override\n    public Object getChild(int i, int i1) {\n        return objects.get(groupList.get(i)).get(i1);\n    }\n\n    @Override\n    public long getGroupId(int i) {\n        return i;\n    }\n\n    @Override\n    public long getChildId(int i, int i1) {\n        return i1;\n    }\n\n    @Override\n    public boolean hasStableIds() {\n        return true;\n    }\n\n    @Override\n    public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) {\n        String group = getGroup(i).toString();\n        if(view == null){\n            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\n            view = inflater.inflate(R.layout.group_item, null);\n        }\n        TextView item = view.findViewById(R.id.group);\n        item.setTypeface(null, Typeface.BOLD);\n        item.setText(group);\n        return view;\n    }\n\n    @Override\n    public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) {\n        String model = getChild(i,i1).toString();\n        if (view == null){\n            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\n            view = inflater.inflate(R.layout.child_item, null);\n        }\n        TextView item = view.findViewById(R.id.model);\n        item.setText(model);\n        return view;\n    }\n\n    @Override\n    public boolean isChildSelectable(int i, int i1) {\n        return true;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/adapter/NotificationListAdapter.java",
    "content": "package com.helloworld.goodpoint.adapter;\n\nimport android.content.Context;\nimport android.graphics.Color;\nimport android.util.Log;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ArrayAdapter;\nimport android.widget.Button;\nimport android.widget.LinearLayout;\nimport android.widget.TextView;\n\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\n\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.NotificationItem;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.ui.PrefManager;\n\nimport org.jetbrains.annotations.NotNull;\n\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\nimport java.util.List;\nimport java.util.Locale;\n\nimport de.hdodenhof.circleimageview.CircleImageView;\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class NotificationListAdapter extends ArrayAdapter<NotificationItem> {\n\n    Context context;\n    List<NotificationItem> list;\n    Locale locale = new Locale(\"en\");\n\n    public NotificationListAdapter(@NonNull Context context, int resource, @NonNull List<NotificationItem> list) {\n        super(context, resource, list);\n        this.context = context;\n        this.list = list;\n    }\n\n    @NonNull\n    @Override\n    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {\n        View notificationItem = convertView;\n        ViewHolder viewHolder;\n        final int revposition = list.size()-position-1;\n\n        if(notificationItem == null){\n            notificationItem = createItem(parent);\n            viewHolder = new ViewHolder(notificationItem);\n            notificationItem.setTag(viewHolder);\n        }else\n            viewHolder = (ViewHolder) notificationItem.getTag();\n\n        if(list.get(revposition).isRead())\n            viewHolder.getLayout().setBackgroundColor(Color.WHITE);\n        else\n            viewHolder.getLayout().setBackgroundColor(context.getResources().getColor(R.color.table_detail));\n\n        setItemDetails(viewHolder,revposition);\n\n        return notificationItem;\n    }\n\n    private void setItemDetails(@NotNull ViewHolder viewHolder, int revposition) {\n        viewHolder.getTitle().setText(list.get(revposition).getTitle());\n        Date date = list.get(revposition).getDate();\n        SimpleDateFormat dateFormat = new SimpleDateFormat(\"dd/MM/yyyy HH:mm\",locale);\n        String date_time = dateFormat.format(date);\n        viewHolder.getDate().setText(date_time);\n        viewHolder.getDescription().setText(list.get(revposition).getDescription());\n        switch (list.get(revposition).getType()){\n            case 1:\n            case 2:\n                viewHolder.getImageView().setImageResource(R.drawable.ic_account_circle);\n                break;\n            case 3:\n                viewHolder.getImageView().setImageResource(R.drawable.ic_baseline_fact_check_24);\n                break;\n            case 4:\n            case 5:\n                viewHolder.getImageView().setImageResource(R.drawable.ic_baseline_assignment_turned_in_24);\n                break;\n        }\n\n        if(!list.get(revposition).isSent()){\n            ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(context).getNGROKLink()).create(ApiInterface.class);\n            Call<JsonObject> call = apiInterface.updateSent(list.get(revposition).getId(),true);\n            call.enqueue(new Callback<JsonObject>() {\n                @Override\n                public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                    Log.e(\"TAG\", \"onResponse: \"+response.body());\n                }\n\n                @Override\n                public void onFailure(Call<JsonObject> call, Throwable t) {\n                    Log.e(\"TAG\", \"onFailure: \"+t.getMessage());\n                }\n            });\n        }\n    }\n\n    private View createItem(ViewGroup parent) {\n        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\n        return inflater.inflate(R.layout.notification_item, parent, false);\n    }\n\n    private class ViewHolder{\n        private View convertView;\n        private TextView title, date, description;\n        private CircleImageView imageView;\n        private LinearLayout layout;\n\n        public ViewHolder(View view) {\n            this.convertView = view;\n        }\n\n        public TextView getTitle() {\n            if(title == null)\n                title = convertView.findViewById(R.id.notification_title);\n            return title;\n        }\n\n        public TextView getDate() {\n            if(date == null)\n                date = convertView.findViewById(R.id.notification_date);\n            return date;\n        }\n\n        public TextView getDescription() {\n            if(description == null)\n                description = convertView.findViewById(R.id.notification_description);\n            return description;\n        }\n\n        public CircleImageView getImageView() {\n            if(imageView == null)\n                imageView = convertView.findViewById(R.id.notification_image);\n            return imageView;\n        }\n\n        public LinearLayout getLayout() {\n            if(layout == null)\n                layout = convertView.findViewById(R.id.notification_layout);\n            return layout;\n        }\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/CameraActivity.java",
    "content": "/*\n * Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *       http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage com.helloworld.goodpoint.detection;\n\nimport android.Manifest;\nimport android.app.Fragment;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.hardware.Camera;\nimport android.hardware.camera2.CameraAccessException;\nimport android.hardware.camera2.CameraCharacteristics;\nimport android.hardware.camera2.CameraManager;\nimport android.hardware.camera2.params.StreamConfigurationMap;\nimport android.media.Image;\nimport android.media.Image.Plane;\nimport android.media.ImageReader;\nimport android.media.ImageReader.OnImageAvailableListener;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.os.Trace;\nimport android.util.Size;\nimport android.view.Surface;\nimport android.view.View;\n\nimport android.view.WindowManager;\nimport android.widget.CompoundButton;\nimport android.widget.ImageButton;\n\nimport android.widget.LinearLayout;\n\nimport android.widget.Toast;\n\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.appcompat.widget.SwitchCompat;\nimport androidx.appcompat.widget.Toolbar;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.detection.env.ImageUtils;\nimport com.helloworld.goodpoint.detection.env.Logger;\n\n\nimport java.nio.ByteBuffer;\n\npublic abstract class CameraActivity extends AppCompatActivity\n    implements OnImageAvailableListener,\n        Camera.PreviewCallback,\n        CompoundButton.OnCheckedChangeListener\n       {\n  private static final Logger LOGGER = new Logger();\n\n  private static final int PERMISSIONS_REQUEST = 1;\n\n  private static final String PERMISSION_CAMERA = Manifest.permission.CAMERA;\n  protected int previewWidth = 0;\n  protected int previewHeight = 0;\n  private boolean debug = false;\n  private Handler handler;\n  private HandlerThread handlerThread;\n  private boolean useCamera2API;\n  private boolean isProcessingFrame = false;\n  private byte[][] yuvBytes = new byte[3][];\n  private int[] rgbBytes = null;\n  private int yRowStride;\n  private Runnable postInferenceCallback;\n  private Runnable imageConverter;\n\n  private LinearLayout bottomSheetLayout;\n  private LinearLayout gestureLayout;\n  //private BottomSheetBehavior<LinearLayout> sheetBehavior;\n  protected ImageButton Crop;\n  private SwitchCompat apiSwitchCompat;\n  @Override\n  protected void onCreate(final Bundle savedInstanceState) {\n    LOGGER.d(\"onCreate \" + this);\n    super.onCreate(null);\n    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);\n\n    setContentView(R.layout.tfe_od_activity_camera);\n    Toolbar toolbar = findViewById(R.id.toolbar);\n  //  setSupportActionBar(toolbar);\n//    getSupportActionBar().setDisplayShowTitleEnabled(false);\n\n    if (hasPermission()) {\n      setFragment();\n    } else {\n      requestPermission();\n    }\n    Crop = findViewById(R.id.Crop);\n    Crop.setOnClickListener(new View.OnClickListener() {\n      @Override\n      public void onClick(View v) {\n        Intent My = new Intent();\n        setResult(RESULT_OK,My);\n        finish();\n      }\n    });\n  }\n\n  protected int[] getRgbBytes() {\n    imageConverter.run();\n    return rgbBytes;\n  }\n  /** Callback for android.hardware.Camera API */\n  @Override\n  public void onPreviewFrame(final byte[] bytes, final Camera camera) {\n    if (isProcessingFrame) {\n      LOGGER.w(\"Dropping frame!\");\n      return;\n    }\n\n    try {\n      // Initialize the storage bitmaps once when the resolution is known.\n      if (rgbBytes == null) {\n        Camera.Size previewSize = camera.getParameters().getPreviewSize();\n        previewHeight = previewSize.height;\n        previewWidth = previewSize.width;\n        rgbBytes = new int[previewWidth * previewHeight];\n        onPreviewSizeChosen(new Size(previewSize.width, previewSize.height), 90);\n      }\n    } catch (final Exception e) {\n      LOGGER.e(e, \"Exception!\");\n      return;\n    }\n\n    isProcessingFrame = true;\n    yuvBytes[0] = bytes;\n    yRowStride = previewWidth;\n\n    imageConverter =\n        new Runnable() {\n          @Override\n          public void run() {\n            ImageUtils.convertYUV420SPToARGB8888(bytes, previewWidth, previewHeight, rgbBytes);\n          }\n        };\n\n    postInferenceCallback =\n        new Runnable() {\n          @Override\n          public void run() {\n            camera.addCallbackBuffer(bytes);\n            isProcessingFrame = false;\n          }\n        };\n    processImage();\n  }\n\n  /** Callback for Camera2 API */\n  @Override\n  public void onImageAvailable(final ImageReader reader) {\n    // We need wait until we have some size from onPreviewSizeChosen\n    if (previewWidth == 0 || previewHeight == 0) {\n      return;\n    }\n    if (rgbBytes == null) {\n      rgbBytes = new int[previewWidth * previewHeight];\n    }\n    try {\n      final Image image = reader.acquireLatestImage();\n      if (image == null) {\n        return;\n      }\n\n      if (isProcessingFrame) {\n        image.close();\n        return;\n      }\n      isProcessingFrame = true;\n      Trace.beginSection(\"imageAvailable\");\n      final Plane[] planes = image.getPlanes();\n      fillBytes(planes, yuvBytes);\n      yRowStride = planes[0].getRowStride();\n      final int uvRowStride = planes[1].getRowStride();\n      final int uvPixelStride = planes[1].getPixelStride();\n\n      imageConverter =\n          new Runnable() {\n            @Override\n            public void run() {\n              ImageUtils.convertYUV420ToARGB8888(\n                  yuvBytes[0],\n                  yuvBytes[1],\n                  yuvBytes[2],\n                  previewWidth,\n                  previewHeight,\n                  yRowStride,\n                  uvRowStride,\n                  uvPixelStride,\n                  rgbBytes);\n            }\n          };\n\n      postInferenceCallback =\n          new Runnable() {\n            @Override\n            public void run() {\n              image.close();\n              isProcessingFrame = false;\n            }\n          };\n\n      processImage();\n    } catch (final Exception e) {\n      LOGGER.e(e, \"Exception!\");\n      Trace.endSection();\n      return;\n    }\n    Trace.endSection();\n  }\n\n  @Override\n  public synchronized void onStart() {\n    LOGGER.d(\"onStart \" + this);\n    super.onStart();\n  }\n\n  @Override\n  public synchronized void onResume() {\n    LOGGER.d(\"onResume \" + this);\n    super.onResume();\n\n    handlerThread = new HandlerThread(\"inference\");\n    handlerThread.start();\n    handler = new Handler(handlerThread.getLooper());\n  }\n\n  @Override\n  public synchronized void onPause() {\n    LOGGER.d(\"onPause \" + this);\n\n    handlerThread.quitSafely();\n    try {\n      handlerThread.join();\n      handlerThread = null;\n      handler = null;\n    } catch (final InterruptedException e) {\n      LOGGER.e(e, \"Exception!\");\n    }\n\n    super.onPause();\n  }\n\n  @Override\n  public synchronized void onStop() {\n    LOGGER.d(\"onStop \" + this);\n    super.onStop();\n  }\n\n  @Override\n  public synchronized void onDestroy() {\n    LOGGER.d(\"onDestroy \" + this);\n    super.onDestroy();\n  }\n\n  protected synchronized void runInBackground(final Runnable r) {\n    if (handler != null) {\n      handler.post(r);\n    }\n  }\n\n  @Override\n  public void onRequestPermissionsResult(\n          final int requestCode, final String[] permissions, final int[] grantResults) {\n    super.onRequestPermissionsResult(requestCode, permissions, grantResults);\n    if (requestCode == PERMISSIONS_REQUEST) {\n      if (allPermissionsGranted(grantResults)) {\n        setFragment();\n      } else {\n        requestPermission();\n      }\n    }\n  }\n\n  private static boolean allPermissionsGranted(final int[] grantResults) {\n    for (int result : grantResults) {\n      if (result != PackageManager.PERMISSION_GRANTED) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  private boolean hasPermission() {\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {\n      return checkSelfPermission(PERMISSION_CAMERA) == PackageManager.PERMISSION_GRANTED;\n    } else {\n      return true;\n    }\n  }\n\n  private void requestPermission() {\n    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {\n      if (shouldShowRequestPermissionRationale(PERMISSION_CAMERA)) {\n        Toast.makeText(\n                CameraActivity.this,\n                \"Camera permission is required for this demo\",\n                Toast.LENGTH_LONG)\n            .show();\n      }\n      requestPermissions(new String[] {PERMISSION_CAMERA}, PERMISSIONS_REQUEST);\n    }\n  }\n\n  // Returns true if the device supports the required hardware level, or better.\n  private boolean isHardwareLevelSupported(\n          CameraCharacteristics characteristics, int requiredLevel) {\n    int deviceLevel = characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);\n    if (deviceLevel == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) {\n      return requiredLevel == deviceLevel;\n    }\n    // deviceLevel is not LEGACY, can use numerical sort\n    return requiredLevel <= deviceLevel;\n  }\n\n  private String chooseCamera() {\n    final CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);\n    try {\n      for (final String cameraId : manager.getCameraIdList()) {\n        final CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);\n\n        // We don't use a front facing camera in this sample.\n        final Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING);\n        if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) {\n          continue;\n        }\n\n        final StreamConfigurationMap map =\n            characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);\n\n        if (map == null) {\n          continue;\n        }\n\n        // Fallback to camera1 API for internal cameras that don't have full support.\n        // This should help with legacy situations where using the camera2 API causes\n        // distorted or otherwise broken previews.\n        useCamera2API =\n            (facing == CameraCharacteristics.LENS_FACING_EXTERNAL)\n                || isHardwareLevelSupported(\n                    characteristics, CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL);\n        LOGGER.i(\"Camera API lv2?: %s\", useCamera2API);\n        return cameraId;\n      }\n    } catch (CameraAccessException e) {\n      LOGGER.e(e, \"Not allowed to access camera\");\n    }\n\n    return null;\n  }\n\n  protected void setFragment() {\n    String cameraId = chooseCamera();\n\n    Fragment fragment;\n    if (useCamera2API) {\n      CameraConnectionFragment camera2Fragment =\n          CameraConnectionFragment.newInstance(\n              new CameraConnectionFragment.ConnectionCallback() {\n                @Override\n                public void onPreviewSizeChosen(final Size size, final int rotation) {\n                  previewHeight = size.getHeight();\n                  previewWidth = size.getWidth();\n                  CameraActivity.this.onPreviewSizeChosen(size, rotation);\n                }\n              },\n              this,\n              getLayoutId(),\n              getDesiredPreviewFrameSize());\n\n      camera2Fragment.setCamera(cameraId);\n      fragment = camera2Fragment;\n    } else {\n      fragment =\n          new LegacyCameraConnectionFragment(this, getLayoutId(), getDesiredPreviewFrameSize());\n    }\n\n    getFragmentManager().beginTransaction().replace(R.id.container, fragment).commit();\n  }\n\n  protected void fillBytes(final Plane[] planes, final byte[][] yuvBytes) {\n    // Because of the variable row stride it's not possible to know in\n    // advance the actual necessary dimensions of the yuv planes.\n    for (int i = 0; i < planes.length; ++i) {\n      final ByteBuffer buffer = planes[i].getBuffer();\n      if (yuvBytes[i] == null) {\n        LOGGER.d(\"Initializing buffer %d at size %d\", i, buffer.capacity());\n        yuvBytes[i] = new byte[buffer.capacity()];\n      }\n      buffer.get(yuvBytes[i]);\n    }\n  }\n\n  public boolean isDebug() {\n    return debug;\n  }\n\n  protected void readyForNextImage() {\n    if (postInferenceCallback != null) {\n      postInferenceCallback.run();\n    }\n  }\n\n  protected int getScreenOrientation() {\n    switch (getWindowManager().getDefaultDisplay().getRotation()) {\n      case Surface.ROTATION_270:\n        return 270;\n      case Surface.ROTATION_180:\n        return 180;\n      case Surface.ROTATION_90:\n        return 90;\n      default:\n        return 0;\n    }\n  }\n\n  @Override\n  public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {\n    setUseNNAPI(isChecked);\n    if (isChecked) apiSwitchCompat.setText(\"NNAPI\");\n    else apiSwitchCompat.setText(\"TFLITE\");\n  }\n  protected abstract void processImage();\n\n  protected abstract void onPreviewSizeChosen(final Size size, final int rotation);\n\n  protected abstract int getLayoutId();\n\n  protected abstract Size getDesiredPreviewFrameSize();\n\n  protected abstract void setNumThreads(int numThreads);\n\n  protected abstract void setUseNNAPI(boolean isChecked);\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/CameraConnectionFragment.java",
    "content": "/*\n * Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *       http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage com.helloworld.goodpoint.detection;\n\nimport android.annotation.SuppressLint;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.Dialog;\nimport android.app.DialogFragment;\nimport android.app.Fragment;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.res.Configuration;\nimport android.graphics.ImageFormat;\nimport android.graphics.Matrix;\nimport android.graphics.RectF;\nimport android.graphics.SurfaceTexture;\nimport android.hardware.camera2.CameraAccessException;\nimport android.hardware.camera2.CameraCaptureSession;\nimport android.hardware.camera2.CameraCharacteristics;\nimport android.hardware.camera2.CameraDevice;\nimport android.hardware.camera2.CameraManager;\nimport android.hardware.camera2.CaptureRequest;\nimport android.hardware.camera2.CaptureResult;\nimport android.hardware.camera2.TotalCaptureResult;\nimport android.hardware.camera2.params.StreamConfigurationMap;\nimport android.media.ImageReader;\nimport android.media.ImageReader.OnImageAvailableListener;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.text.TextUtils;\nimport android.util.Size;\nimport android.util.SparseIntArray;\nimport android.view.LayoutInflater;\nimport android.view.Surface;\nimport android.view.TextureView;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.Toast;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.detection.customview.AutoFitTextureView;\nimport com.helloworld.goodpoint.detection.env.Logger;\n\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Collections;\nimport java.util.Comparator;\nimport java.util.List;\nimport java.util.concurrent.Semaphore;\nimport java.util.concurrent.TimeUnit;\n\n@SuppressLint(\"ValidFragment\")\npublic class CameraConnectionFragment extends Fragment {\n  private static final Logger LOGGER = new Logger();\n\n  /**\n   * The camera preview size will be chosen to be the smallest frame by pixel size capable of\n   * containing a DESIRED_SIZE x DESIRED_SIZE square.\n   */\n  private static final int MINIMUM_PREVIEW_SIZE = 320;\n\n  /** Conversion from screen rotation to JPEG orientation. */\n  private static final SparseIntArray ORIENTATIONS = new SparseIntArray();\n\n  private static final String FRAGMENT_DIALOG = \"dialog\";\n\n  static {\n    ORIENTATIONS.append(Surface.ROTATION_0, 90);\n    ORIENTATIONS.append(Surface.ROTATION_90, 0);\n    ORIENTATIONS.append(Surface.ROTATION_180, 270);\n    ORIENTATIONS.append(Surface.ROTATION_270, 180);\n  }\n\n  /** A {@link Semaphore} to prevent the app from exiting before closing the camera. */\n  private final Semaphore cameraOpenCloseLock = new Semaphore(1);\n  /** A {@link OnImageAvailableListener} to receive frames as they are available. */\n  private final OnImageAvailableListener imageListener;\n  /** The input size in pixels desired by TensorFlow (width and height of a square bitmap). */\n  private final Size inputSize;\n  /** The layout identifier to inflate for this Fragment. */\n  private final int layout;\n\n  private final ConnectionCallback cameraConnectionCallback;\n  private final CameraCaptureSession.CaptureCallback captureCallback =\n      new CameraCaptureSession.CaptureCallback() {\n        @Override\n        public void onCaptureProgressed(\n            final CameraCaptureSession session,\n            final CaptureRequest request,\n            final CaptureResult partialResult) {}\n\n        @Override\n        public void onCaptureCompleted(\n            final CameraCaptureSession session,\n            final CaptureRequest request,\n            final TotalCaptureResult result) {}\n      };\n  /** ID of the current {@link CameraDevice}. */\n  private String cameraId;\n  /** An {@link AutoFitTextureView} for camera preview. */\n  private AutoFitTextureView textureView;\n  /** A {@link CameraCaptureSession } for camera preview. */\n  private CameraCaptureSession captureSession;\n  /** A reference to the opened {@link CameraDevice}. */\n  private CameraDevice cameraDevice;\n  /** The rotation in degrees of the camera sensor from the display. */\n  private Integer sensorOrientation;\n  /** The {@link Size} of camera preview. */\n  private Size previewSize;\n  /** An additional thread for running tasks that shouldn't block the UI. */\n  private HandlerThread backgroundThread;\n  /** A {@link Handler} for running tasks in the background. */\n  private Handler backgroundHandler;\n  /** An {@link ImageReader} that handles preview frame capture. */\n  private ImageReader previewReader;\n  /** {@link CaptureRequest.Builder} for the camera preview */\n  private CaptureRequest.Builder previewRequestBuilder;\n  /** {@link CaptureRequest} generated by {@link #previewRequestBuilder} */\n  private CaptureRequest previewRequest;\n  /** {@link CameraDevice.StateCallback} is called when {@link CameraDevice} changes its state. */\n  private final CameraDevice.StateCallback stateCallback =\n      new CameraDevice.StateCallback() {\n        @Override\n        public void onOpened(final CameraDevice cd) {\n          // This method is called when the camera is opened.  We start camera preview here.\n          cameraOpenCloseLock.release();\n          cameraDevice = cd;\n          createCameraPreviewSession();\n        }\n\n        @Override\n        public void onDisconnected(final CameraDevice cd) {\n          cameraOpenCloseLock.release();\n          cd.close();\n          cameraDevice = null;\n        }\n\n        @Override\n        public void onError(final CameraDevice cd, final int error) {\n          cameraOpenCloseLock.release();\n          cd.close();\n          cameraDevice = null;\n          final Activity activity = getActivity();\n          if (null != activity) {\n            activity.finish();\n          }\n        }\n      };\n  /**\n   * {@link TextureView.SurfaceTextureListener} handles several lifecycle events on a {@link\n   * TextureView}.\n   */\n  private final TextureView.SurfaceTextureListener surfaceTextureListener =\n      new TextureView.SurfaceTextureListener() {\n        @Override\n        public void onSurfaceTextureAvailable(\n                final SurfaceTexture texture, final int width, final int height) {\n          openCamera(width, height);\n        }\n\n        @Override\n        public void onSurfaceTextureSizeChanged(\n                final SurfaceTexture texture, final int width, final int height) {\n          configureTransform(width, height);\n        }\n\n        @Override\n        public boolean onSurfaceTextureDestroyed(final SurfaceTexture texture) {\n          return true;\n        }\n\n        @Override\n        public void onSurfaceTextureUpdated(final SurfaceTexture texture) {}\n      };\n\n  private CameraConnectionFragment(\n      final ConnectionCallback connectionCallback,\n      final OnImageAvailableListener imageListener,\n      final int layout,\n      final Size inputSize) {\n    this.cameraConnectionCallback = connectionCallback;\n    this.imageListener = imageListener;\n    this.layout = layout;\n    this.inputSize = inputSize;\n  }\n\n  /**\n   * Given {@code choices} of {@code Size}s supported by a camera, chooses the smallest one whose\n   * width and height are at least as large as the minimum of both, or an exact match if possible.\n   *\n   * @param choices The list of sizes that the camera supports for the intended output class\n   * @param width The minimum desired width\n   * @param height The minimum desired height\n   * @return The optimal {@code Size}, or an arbitrary one if none were big enough\n   */\n  protected static Size chooseOptimalSize(final Size[] choices, final int width, final int height) {\n    final int minSize = Math.max(Math.min(width, height), MINIMUM_PREVIEW_SIZE);\n    final Size desiredSize = new Size(width, height);\n\n    // Collect the supported resolutions that are at least as big as the preview Surface\n    boolean exactSizeFound = false;\n    final List<Size> bigEnough = new ArrayList<Size>();\n    final List<Size> tooSmall = new ArrayList<Size>();\n    for (final Size option : choices) {\n      if (option.equals(desiredSize)) {\n        // Set the size but don't return yet so that remaining sizes will still be logged.\n        exactSizeFound = true;\n      }\n\n      if (option.getHeight() >= minSize && option.getWidth() >= minSize) {\n        bigEnough.add(option);\n      } else {\n        tooSmall.add(option);\n      }\n    }\n\n    LOGGER.i(\"Desired size: \" + desiredSize + \", min size: \" + minSize + \"x\" + minSize);\n    LOGGER.i(\"Valid preview sizes: [\" + TextUtils.join(\", \", bigEnough) + \"]\");\n    LOGGER.i(\"Rejected preview sizes: [\" + TextUtils.join(\", \", tooSmall) + \"]\");\n\n    if (exactSizeFound) {\n      LOGGER.i(\"Exact size match found.\");\n      return desiredSize;\n    }\n\n    // Pick the smallest of those, assuming we found any\n    if (bigEnough.size() > 0) {\n      final Size chosenSize = Collections.min(bigEnough, new CompareSizesByArea());\n      LOGGER.i(\"Chosen size: \" + chosenSize.getWidth() + \"x\" + chosenSize.getHeight());\n      return chosenSize;\n    } else {\n      LOGGER.e(\"Couldn't find any suitable preview size\");\n      return choices[0];\n    }\n  }\n\n  public static CameraConnectionFragment newInstance(\n      final ConnectionCallback callback,\n      final OnImageAvailableListener imageListener,\n      final int layout,\n      final Size inputSize) {\n    return new CameraConnectionFragment(callback, imageListener, layout, inputSize);\n  }\n\n  /**\n   * Shows a {@link Toast} on the UI thread.\n   *\n   * @param text The message to show\n   */\n  private void showToast(final String text) {\n    final Activity activity = getActivity();\n    if (activity != null) {\n      activity.runOnUiThread(\n          new Runnable() {\n            @Override\n            public void run() {\n              Toast.makeText(activity, text, Toast.LENGTH_SHORT).show();\n            }\n          });\n    }\n  }\n\n  @Override\n  public View onCreateView(\n          final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {\n    return inflater.inflate(layout, container, false);\n  }\n\n  @Override\n  public void onViewCreated(final View view, final Bundle savedInstanceState) {\n    textureView = (AutoFitTextureView) view.findViewById(R.id.texture);\n  }\n\n  @Override\n  public void onActivityCreated(final Bundle savedInstanceState) {\n    super.onActivityCreated(savedInstanceState);\n  }\n\n  @Override\n  public void onResume() {\n    super.onResume();\n    startBackgroundThread();\n\n    // When the screen is turned off and turned back on, the SurfaceTexture is already\n    // available, and \"onSurfaceTextureAvailable\" will not be called. In that case, we can open\n    // a camera and start preview from here (otherwise, we wait until the surface is ready in\n    // the SurfaceTextureListener).\n    if (textureView.isAvailable()) {\n      openCamera(textureView.getWidth(), textureView.getHeight());\n    } else {\n      textureView.setSurfaceTextureListener(surfaceTextureListener);\n    }\n  }\n\n  @Override\n  public void onPause() {\n    closeCamera();\n    stopBackgroundThread();\n    super.onPause();\n  }\n\n  public void setCamera(String cameraId) {\n    this.cameraId = cameraId;\n  }\n\n  /** Sets up member variables related to camera. */\n  private void setUpCameraOutputs() {\n    final Activity activity = getActivity();\n    final CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);\n    try {\n      final CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);\n\n      final StreamConfigurationMap map =\n          characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);\n\n      sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);\n\n      // Danger, W.R.! Attempting to use too large a preview size could  exceed the camera\n      // bus' bandwidth limitation, resulting in gorgeous previews but the storage of\n      // garbage capture data.\n      previewSize =\n          chooseOptimalSize(\n              map.getOutputSizes(SurfaceTexture.class),\n              inputSize.getWidth(),\n              inputSize.getHeight());\n\n      // We fit the aspect ratio of TextureView to the size of preview we picked.\n      final int orientation = getResources().getConfiguration().orientation;\n      if (orientation == Configuration.ORIENTATION_LANDSCAPE) {\n        textureView.setAspectRatio(previewSize.getWidth(), previewSize.getHeight());\n      } else {\n        textureView.setAspectRatio(previewSize.getHeight(), previewSize.getWidth());\n      }\n    } catch (final CameraAccessException e) {\n      LOGGER.e(e, \"Exception!\");\n    } catch (final NullPointerException e) {\n      // Currently an NPE is thrown when the Camera2API is used but not supported on the\n      // device this code runs.\n      ErrorDialog.newInstance(getString(R.string.tfe_od_camera_error))\n          .show(getChildFragmentManager(), FRAGMENT_DIALOG);\n      throw new IllegalStateException(getString(R.string.tfe_od_camera_error));\n    }\n\n    cameraConnectionCallback.onPreviewSizeChosen(previewSize, sensorOrientation);\n  }\n\n  /** Opens the camera specified by {@link CameraConnectionFragment#cameraId}. */\n  private void openCamera(final int width, final int height) {\n    setUpCameraOutputs();\n    configureTransform(width, height);\n    final Activity activity = getActivity();\n    final CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);\n    try {\n      if (!cameraOpenCloseLock.tryAcquire(2500, TimeUnit.MILLISECONDS)) {\n        throw new RuntimeException(\"Time out waiting to lock camera opening.\");\n      }\n      manager.openCamera(cameraId, stateCallback, backgroundHandler);\n    } catch (final CameraAccessException e) {\n      LOGGER.e(e, \"Exception!\");\n    } catch (final InterruptedException e) {\n      throw new RuntimeException(\"Interrupted while trying to lock camera opening.\", e);\n    }\n  }\n\n  /** Closes the current {@link CameraDevice}. */\n  private void closeCamera() {\n    try {\n      cameraOpenCloseLock.acquire();\n      if (null != captureSession) {\n        captureSession.close();\n        captureSession = null;\n      }\n      if (null != cameraDevice) {\n        cameraDevice.close();\n        cameraDevice = null;\n      }\n      if (null != previewReader) {\n        previewReader.close();\n        previewReader = null;\n      }\n    } catch (final InterruptedException e) {\n      throw new RuntimeException(\"Interrupted while trying to lock camera closing.\", e);\n    } finally {\n      cameraOpenCloseLock.release();\n    }\n  }\n\n  /** Starts a background thread and its {@link Handler}. */\n  private void startBackgroundThread() {\n    backgroundThread = new HandlerThread(\"ImageListener\");\n    backgroundThread.start();\n    backgroundHandler = new Handler(backgroundThread.getLooper());\n  }\n\n  /** Stops the background thread and its {@link Handler}. */\n  private void stopBackgroundThread() {\n    backgroundThread.quitSafely();\n    try {\n      backgroundThread.join();\n      backgroundThread = null;\n      backgroundHandler = null;\n    } catch (final InterruptedException e) {\n      LOGGER.e(e, \"Exception!\");\n    }\n  }\n\n  /** Creates a new {@link CameraCaptureSession} for camera preview. */\n  private void createCameraPreviewSession() {\n    try {\n      final SurfaceTexture texture = textureView.getSurfaceTexture();\n      assert texture != null;\n\n      // We configure the size of default buffer to be the size of camera preview we want.\n      texture.setDefaultBufferSize(previewSize.getWidth(), previewSize.getHeight());\n\n      // This is the output Surface we need to start preview.\n      final Surface surface = new Surface(texture);\n\n      // We set up a CaptureRequest.Builder with the output Surface.\n      previewRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);\n      previewRequestBuilder.addTarget(surface);\n\n      LOGGER.i(\"Opening camera preview: \" + previewSize.getWidth() + \"x\" + previewSize.getHeight());\n\n      // Create the reader for the preview frames.\n      previewReader =\n          ImageReader.newInstance(\n              previewSize.getWidth(), previewSize.getHeight(), ImageFormat.YUV_420_888, 2);\n\n      previewReader.setOnImageAvailableListener(imageListener, backgroundHandler);\n      previewRequestBuilder.addTarget(previewReader.getSurface());\n\n      // Here, we create a CameraCaptureSession for camera preview.\n      cameraDevice.createCaptureSession(\n          Arrays.asList(surface, previewReader.getSurface()),\n          new CameraCaptureSession.StateCallback() {\n\n            @Override\n            public void onConfigured(final CameraCaptureSession cameraCaptureSession) {\n              // The camera is already closed\n              if (null == cameraDevice) {\n                return;\n              }\n\n              // When the session is ready, we start displaying the preview.\n              captureSession = cameraCaptureSession;\n              try {\n                // Auto focus should be continuous for camera preview.\n                previewRequestBuilder.set(\n                    CaptureRequest.CONTROL_AF_MODE,\n                    CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);\n                // Flash is automatically enabled when necessary.\n                previewRequestBuilder.set(\n                    CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH);\n\n                // Finally, we start displaying the camera preview.\n                previewRequest = previewRequestBuilder.build();\n                captureSession.setRepeatingRequest(\n                    previewRequest, captureCallback, backgroundHandler);\n              } catch (final CameraAccessException e) {\n                LOGGER.e(e, \"Exception!\");\n              }\n            }\n\n            @Override\n            public void onConfigureFailed(final CameraCaptureSession cameraCaptureSession) {\n              showToast(\"Failed\");\n            }\n          },\n          null);\n    } catch (final CameraAccessException e) {\n      LOGGER.e(e, \"Exception!\");\n    }\n  }\n\n  /**\n   * Configures the necessary {@link Matrix} transformation to `mTextureView`. This method should be\n   * called after the camera preview size is determined in setUpCameraOutputs and also the size of\n   * `mTextureView` is fixed.\n   *\n   * @param viewWidth The width of `mTextureView`\n   * @param viewHeight The height of `mTextureView`\n   */\n  private void configureTransform(final int viewWidth, final int viewHeight) {\n    final Activity activity = getActivity();\n    if (null == textureView || null == previewSize || null == activity) {\n      return;\n    }\n    final int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();\n    final Matrix matrix = new Matrix();\n    final RectF viewRect = new RectF(0, 0, viewWidth, viewHeight);\n    final RectF bufferRect = new RectF(0, 0, previewSize.getHeight(), previewSize.getWidth());\n    final float centerX = viewRect.centerX();\n    final float centerY = viewRect.centerY();\n    if (Surface.ROTATION_90 == rotation || Surface.ROTATION_270 == rotation) {\n      bufferRect.offset(centerX - bufferRect.centerX(), centerY - bufferRect.centerY());\n      matrix.setRectToRect(viewRect, bufferRect, Matrix.ScaleToFit.FILL);\n      final float scale =\n          Math.max(\n              (float) viewHeight / previewSize.getHeight(),\n              (float) viewWidth / previewSize.getWidth());\n      matrix.postScale(scale, scale, centerX, centerY);\n      matrix.postRotate(90 * (rotation - 2), centerX, centerY);\n    } else if (Surface.ROTATION_180 == rotation) {\n      matrix.postRotate(180, centerX, centerY);\n    }\n    textureView.setTransform(matrix);\n  }\n\n  /**\n   * Callback for Activities to use to initialize their data once the selected preview size is\n   * known.\n   */\n  public interface ConnectionCallback {\n    void onPreviewSizeChosen(Size size, int cameraRotation);\n  }\n\n  /** Compares two {@code Size}s based on their areas. */\n  static class CompareSizesByArea implements Comparator<Size> {\n    @Override\n    public int compare(final Size lhs, final Size rhs) {\n      // We cast here to ensure the multiplications won't overflow\n      return Long.signum(\n          (long) lhs.getWidth() * lhs.getHeight() - (long) rhs.getWidth() * rhs.getHeight());\n    }\n  }\n\n  /** Shows an error message dialog. */\n  public static class ErrorDialog extends DialogFragment {\n    private static final String ARG_MESSAGE = \"message\";\n\n    public static ErrorDialog newInstance(final String message) {\n      final ErrorDialog dialog = new ErrorDialog();\n      final Bundle args = new Bundle();\n      args.putString(ARG_MESSAGE, message);\n      dialog.setArguments(args);\n      return dialog;\n    }\n\n    @Override\n    public Dialog onCreateDialog(final Bundle savedInstanceState) {\n      final Activity activity = getActivity();\n      return new AlertDialog.Builder(activity)\n          .setMessage(getArguments().getString(ARG_MESSAGE))\n          .setPositiveButton(\n              android.R.string.ok,\n              new DialogInterface.OnClickListener() {\n                @Override\n                public void onClick(final DialogInterface dialogInterface, final int i) {\n                  activity.finish();\n                }\n              })\n          .create();\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/DetectorActivity.java",
    "content": "/*\n * Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *       http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage com.helloworld.goodpoint.detection;\n\nimport android.graphics.Bitmap;\nimport android.graphics.Bitmap.Config;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Matrix;\nimport android.graphics.Paint;\nimport android.graphics.Paint.Style;\nimport android.graphics.RectF;\nimport android.graphics.Typeface;\nimport android.media.ImageReader.OnImageAvailableListener;\nimport android.os.Bundle;\nimport android.os.SystemClock;\nimport android.util.Size;\nimport android.util.TypedValue;\nimport android.widget.Toast;\n\nimport androidx.camera.core.ImageAnalysis;\nimport androidx.camera.core.ImageProxy;\n\nimport com.example.lib_task_api.Detector;\nimport com.google.android.gms.tasks.OnSuccessListener;\nimport com.google.firebase.ml.vision.common.FirebaseVisionImage;\nimport com.google.firebase.ml.vision.common.FirebaseVisionImageMetadata;\nimport com.google.mlkit.vision.common.InputImage;\nimport com.google.mlkit.vision.face.Face;\nimport com.google.mlkit.vision.face.FaceDetection;\nimport com.google.mlkit.vision.face.FaceDetector;\nimport com.google.mlkit.vision.face.FaceDetectorOptions;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.detection.customview.OverlayView;\nimport com.helloworld.goodpoint.detection.customview.OverlayView.DrawCallback;\nimport com.helloworld.goodpoint.detection.env.BorderedText;\nimport com.helloworld.goodpoint.detection.env.ImageUtils;\nimport com.helloworld.goodpoint.detection.env.Logger;\n\nimport com.example.lib_task_api.TFLiteObjectDetectionAPIModel;\nimport com.helloworld.goodpoint.detection.tracking.MultiBoxTracker;\nimport com.helloworld.goodpoint.ui.GlobalVar;\n\nimport java.io.IOException;\nimport java.util.LinkedList;\nimport java.util.List;\n\n/**\n * An activity that uses a TensorFlowMultiBoxDetector and ObjectTracker to detect and then track\n * objects.\n */\npublic class DetectorActivity extends CameraActivity implements OnImageAvailableListener {\n  private static final Logger LOGGER = new Logger();\n\n  // Configuration values for the prepackaged SSD model.\n  // AgeGenModel\n  private static final int TF_OD_API_INPUT_SIZE = 80;\n  private static final boolean TF_OD_API_IS_QUANTIZED = false;\n  private static final String TF_OD_API_MODEL_FILE = \"face_model_v5.tflite\";\n  private static final String TF_OD_API_LABELS_FILE = \"labelmap.txt\";\n\n  private static final DetectorMode MODE = DetectorMode.TF_OD_API;\n  // Minimum detection confidence to track a detection.\n  private static final float MINIMUM_CONFIDENCE_TF_OD_API = 0.5f;\n  private static final boolean MAINTAIN_ASPECT = false;\n  private static final Size DESIRED_PREVIEW_SIZE = new Size(640, 480);\n  private static final boolean SAVE_PREVIEW_BITMAP = false;\n  private static final float TEXT_SIZE_DIP = 10;\n  OverlayView trackingOverlay;\n  private Integer sensorOrientation;\n\n  private Detector detector;\n\n  private long lastProcessingTimeMs;\n  private Bitmap rgbFrameBitmap = null;\n  private Bitmap portraitBmp = null;\n  private Bitmap faceBmp = null;\n\n  private Bitmap croppedBitmap = null;\n  private Bitmap cropCopyBitmap = null;\n\n  private boolean computingDetection = false;\n\n  private long timestamp = 0;\n\n  private Matrix frameToCropTransform;\n  private Matrix cropToFrameTransform;\n\n  private MultiBoxTracker tracker;\n\n  private BorderedText borderedText;\n\n  // Face detector\n  FaceDetector faceDetector;\n\n  @Override\n  protected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n\n\n    // Real-time contour detection of multiple faces\n    FaceDetectorOptions options =\n            new FaceDetectorOptions.Builder()\n                    .setPerformanceMode(FaceDetectorOptions.PERFORMANCE_MODE_FAST)\n                    .setContourMode(FaceDetectorOptions.LANDMARK_MODE_NONE)\n                    .setClassificationMode(FaceDetectorOptions.CLASSIFICATION_MODE_NONE)\n                    .build();\n\n\n    FaceDetector detector = FaceDetection.getClient(options);\n\n    faceDetector = detector;\n\n\n  }\n\n  @Override\n  public void onPreviewSizeChosen(final Size size, final int rotation) {\n    final float textSizePx =\n            TypedValue.applyDimension(\n                    TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DIP, getResources().getDisplayMetrics());\n    borderedText = new BorderedText(textSizePx);\n    borderedText.setTypeface(Typeface.MONOSPACE);\n\n    tracker = new MultiBoxTracker(this);\n\n\n    try {\n      detector =\n              TFLiteObjectDetectionAPIModel.create(\n                      this,\n                      TF_OD_API_MODEL_FILE,\n                      TF_OD_API_LABELS_FILE,\n                      TF_OD_API_INPUT_SIZE,\n                      TF_OD_API_IS_QUANTIZED);\n      //cropSize = TF_OD_API_INPUT_SIZE;\n    } catch (final IOException e) {\n      e.printStackTrace();\n      LOGGER.e(e, \"Exception initializing classifier!\");\n      Toast toast =\n              Toast.makeText(\n                      getApplicationContext(), \"Classifier could not be initialized\", Toast.LENGTH_SHORT);\n      toast.show();\n      finish();\n    }\n\n    previewWidth = size.getWidth();\n    previewHeight = size.getHeight();\n\n\n\n    sensorOrientation = rotation - getScreenOrientation();\n    LOGGER.i(\"Camera orientation relative to screen canvas: %d\", sensorOrientation);\n\n    LOGGER.i(\"Initializing at size %dx%d\", previewWidth, previewHeight);\n    rgbFrameBitmap = Bitmap.createBitmap(previewWidth, previewHeight, Config.ARGB_8888);\n\n    int targetW, targetH;\n    if (sensorOrientation == 90 || sensorOrientation == 270) {\n      targetH = previewWidth;\n      targetW = previewHeight;\n    }\n    else {\n      targetW = previewWidth;\n      targetH = previewHeight;\n    }\n    int cropW = (int) (targetW / 2.0);\n    int cropH = (int) (targetH / 2.0);\n\n    LOGGER.i(\"CropW, cropH\"+cropW+\" \"+cropH);\n\n    croppedBitmap = Bitmap.createBitmap(cropW, cropH, Config.ARGB_8888);\n    GlobalVar.realcameraImage = croppedBitmap;\n    portraitBmp = Bitmap.createBitmap(targetW, targetH, Config.ARGB_8888);\n    faceBmp = Bitmap.createBitmap(TF_OD_API_INPUT_SIZE, TF_OD_API_INPUT_SIZE, Config.ARGB_8888);\n    frameToCropTransform =\n            ImageUtils.getTransformationMatrix(\n                    previewWidth, previewHeight,\n                    cropW, cropH,\n                    sensorOrientation, MAINTAIN_ASPECT);\n\n\n    cropToFrameTransform = new Matrix();\n    frameToCropTransform.invert(cropToFrameTransform);\n\n\n    Matrix frameToPortraitTransform =\n            ImageUtils.getTransformationMatrix(\n                    previewWidth, previewHeight,\n                    targetW, targetH,\n                    sensorOrientation, MAINTAIN_ASPECT);\n\n\n\n    trackingOverlay = (OverlayView) findViewById(R.id.tracking_overlay);\n    trackingOverlay.addCallback(\n            new DrawCallback() {\n              @Override\n              public void drawCallback(final Canvas canvas) {\n                tracker.draw(canvas);\n                if (isDebug()) {\n                  tracker.drawDebug(canvas);\n                }\n              }\n            });\n\n    tracker.setFrameConfiguration(previewWidth, previewHeight, sensorOrientation);\n  }\n\n  @Override\n  protected void processImage() {\n    ++timestamp;\n    final long currTimestamp = timestamp;\n    trackingOverlay.postInvalidate();\n\n    // No mutex needed as this method is not reentrant.\n    if (computingDetection) {\n      readyForNextImage();\n      return;\n    }\n    computingDetection = true;\n\n    LOGGER.i(\"Preparing image \" + currTimestamp + \" for detection in bg thread.\");\n\n\n    //CODE that gets the pixels from the camera\n    rgbFrameBitmap.setPixels(getRgbBytes(), 0, previewWidth, 0, 0, previewWidth, previewHeight);\n    readyForNextImage();\n\n    final Canvas canvas = new Canvas(croppedBitmap);\n    canvas.drawBitmap(rgbFrameBitmap, frameToCropTransform, null);\n    // For examining the actual TF input.\n    if (SAVE_PREVIEW_BITMAP) {\n      ImageUtils.saveBitmap(croppedBitmap);\n    }\n\n\n    InputImage image = InputImage.fromBitmap(croppedBitmap, 0);\n    faceDetector\n            .process(image)\n            .addOnSuccessListener(new OnSuccessListener<List<Face>>() {\n              @Override\n              public void onSuccess(List<Face> faces) {\n                if (faces.size() == 0) {\n                  updateResults(currTimestamp, new LinkedList<>());\n                  return;\n                }\n                runInBackground(\n                        new Runnable() {\n                          @Override\n                          public void run() {\n                            onFacesDetected(currTimestamp, faces);\n\n                          }\n                        });\n              }\n\n            });\n\n\n  }\n\n  // Face Processing\n  private Matrix createTransform(\n          final int srcWidth,\n          final int srcHeight,\n          final int dstWidth,\n          final int dstHeight,\n          final int applyRotation) {\n\n    Matrix matrix = new Matrix();\n    if (applyRotation != 0) {\n      if (applyRotation % 90 != 0) {\n        LOGGER.w(\"Rotation of %d % 90 != 0\", applyRotation);\n      }\n\n      // Translate so center of image is at origin.\n      matrix.postTranslate(-srcWidth / 2.0f, -srcHeight / 2.0f);\n\n      // Rotate around origin.\n      matrix.postRotate(applyRotation);\n    }\n\n    if (applyRotation != 0) {\n\n      // Translate back from origin centered reference to destination frame.\n      matrix.postTranslate(dstWidth / 2.0f, dstHeight / 2.0f);\n    }\n\n    return matrix;\n\n  }\n\n\n  private void onFacesDetected(long currTimestamp, List<Face> faces) {\n\n    cropCopyBitmap = Bitmap.createBitmap(croppedBitmap);\n    final Paint paint = new Paint();\n    paint.setColor(Color.RED);\n    paint.setStyle(Style.STROKE);\n    paint.setStrokeWidth(2.0f);\n    final List<Detector.Recognition> mappedRecognitions = new LinkedList<Detector.Recognition>();\n\n\n    //final List<Classifier.Recognition> results = new ArrayList<>();\n\n    // Note this can be done only once\n    int sourceW = rgbFrameBitmap.getWidth();\n    int sourceH = rgbFrameBitmap.getHeight();\n    int targetW = portraitBmp.getWidth();\n    int targetH = portraitBmp.getHeight();\n    Matrix transform = createTransform(\n            sourceW,\n            sourceH,\n            targetW,\n            targetH,\n            sensorOrientation);\n    final Canvas cv = new Canvas(portraitBmp);\n\n    // draws the original image in portrait mode.\n    cv.drawBitmap(rgbFrameBitmap, transform, null);\n\n    final Canvas cvFace = new Canvas(faceBmp);\n\n    for (Face face : faces) {\n\n      LOGGER.i(\"FACE\" + face.toString());\n      LOGGER.i(\"Running detection on face \" + currTimestamp);\n      //results = detector.recognizeImage(croppedBitmap);\n      final RectF boundingBox = new RectF(face.getBoundingBox());\n\n      //final boolean goodConfidence = result.getConfidence() >= minimumConfidence;\n      final boolean goodConfidence = true; //face.get;\n      if (boundingBox != null && goodConfidence) {\n\n\n        // maps crop coordinates to original\n        cropToFrameTransform.mapRect(boundingBox);\n\n        // maps original coordinates to portrait coordinates\n        RectF faceBB = new RectF(boundingBox);\n        transform.mapRect(faceBB);\n\n        // translates portrait to origin and scales to fit input inference size\n        //cv.drawRect(faceBB, paint);\n        float sx = ((float) TF_OD_API_INPUT_SIZE) / faceBB.width();\n        float sy = ((float) TF_OD_API_INPUT_SIZE) / faceBB.height();\n        Matrix matrix = new Matrix();\n        matrix.postTranslate(-faceBB.left, -faceBB.top);\n        matrix.postScale(sx, sy);\n\n        cvFace.drawBitmap(portraitBmp, matrix, null);\n\n        float confidence = -1f;\n\n        Bitmap crop = null;\n\n        if ((int)faceBB.left > 0 && (int)faceBB.top > 0 && ((int)faceBB.left + (int)faceBB.width()) < portraitBmp.getWidth()\n                && ((int)faceBB.top + (int)faceBB.height()) < portraitBmp.getHeight() ) {\n\n          crop = Bitmap.createBitmap(portraitBmp, //prev portraitBmp\n                  (int) faceBB.left,\n                  (int) faceBB.top,\n                  (int) faceBB.width(),\n                  (int) faceBB.height());\n          //}\n\n          crop = Bitmap.createScaledBitmap(crop, TF_OD_API_INPUT_SIZE, TF_OD_API_INPUT_SIZE, true);\n\n          final long startTime = SystemClock.uptimeMillis();\n\n          // Passing the bitmap image into the TensorFlow Lite Object Detection API recognize image function\n          final String resultLabel = detector.recognizeImage(crop); //prev faceBmp\n\n\n          lastProcessingTimeMs = SystemClock.uptimeMillis() - startTime;\n\n\n\n          final Detector.Recognition result = new Detector.Recognition(\n                  \"0\", resultLabel, confidence, boundingBox);\n          result.setLocation(boundingBox);\n          mappedRecognitions.add(result);\n\n        }\n\n      }\n\n\n    }\n    updateResults(currTimestamp, mappedRecognitions);\n\n  }\n\n  private void updateResults(long currTimestamp, final List<Detector.Recognition> mappedRecognitions) {\n\n    tracker.trackResults(mappedRecognitions, currTimestamp);\n    trackingOverlay.postInvalidate();\n    computingDetection = false;\n\n  }\n\n\n  @Override\n  protected int getLayoutId() {\n    return R.layout.tfe_od_camera_connection_fragment_tracking;\n  }\n\n  @Override\n  protected Size getDesiredPreviewFrameSize() {\n    return DESIRED_PREVIEW_SIZE;\n  }\n  // Which detection model to use: by default uses Tensorflow Object Detection API frozen\n  // checkpoints.\n  private enum DetectorMode {\n    TF_OD_API;\n  }\n\n  @Override\n  protected void setUseNNAPI(final boolean isChecked) {\n    runInBackground(\n        () -> {\n          try {\n            detector.setUseNNAPI(isChecked);\n          } catch (UnsupportedOperationException e) {\n            LOGGER.e(e, \"Failed to set \\\"Use NNAPI\\\".\");\n            runOnUiThread(\n                () -> {\n                  Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();\n                });\n          }\n        });\n  }\n\n  @Override\n  protected void setNumThreads(final int numThreads) {\n    runInBackground(() -> detector.setNumThreads(numThreads));\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/LegacyCameraConnectionFragment.java",
    "content": "package com.helloworld.goodpoint.detection;\n\n/*\n * Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *       http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport android.annotation.SuppressLint;\nimport android.app.Fragment;\nimport android.graphics.SurfaceTexture;\nimport android.hardware.Camera;\nimport android.hardware.Camera.CameraInfo;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.HandlerThread;\nimport android.util.Size;\nimport android.util.SparseIntArray;\nimport android.view.LayoutInflater;\nimport android.view.Surface;\nimport android.view.TextureView;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.detection.customview.AutoFitTextureView;\nimport com.helloworld.goodpoint.detection.env.ImageUtils;\nimport com.helloworld.goodpoint.detection.env.Logger;\n\nimport java.io.IOException;\nimport java.util.List;\n\n@SuppressLint(\"ValidFragment\")\npublic class LegacyCameraConnectionFragment extends Fragment {\n  private static final Logger LOGGER = new Logger();\n  /** Conversion from screen rotation to JPEG orientation. */\n  private static final SparseIntArray ORIENTATIONS = new SparseIntArray();\n\n  static {\n    ORIENTATIONS.append(Surface.ROTATION_0, 90);\n    ORIENTATIONS.append(Surface.ROTATION_90, 0);\n    ORIENTATIONS.append(Surface.ROTATION_180, 270);\n    ORIENTATIONS.append(Surface.ROTATION_270, 180);\n  }\n\n  private Camera camera;\n  private Camera.PreviewCallback imageListener;\n  private Size desiredSize;\n  /** The layout identifier to inflate for this Fragment. */\n  private int layout;\n  /** An {@link AutoFitTextureView} for camera preview. */\n  private AutoFitTextureView textureView;\n  private SurfaceTexture availableSurfaceTexture = null;\n\n  /**\n   * {@link TextureView.SurfaceTextureListener} handles several lifecycle events on a {@link\n   * TextureView}.\n   */\n  private final TextureView.SurfaceTextureListener surfaceTextureListener =\n      new TextureView.SurfaceTextureListener() {\n        @Override\n        public void onSurfaceTextureAvailable(\n                final SurfaceTexture texture, final int width, final int height) {\n          availableSurfaceTexture = texture;\n          startCamera();\n        }\n\n        @Override\n        public void onSurfaceTextureSizeChanged(\n                final SurfaceTexture texture, final int width, final int height) {}\n\n        @Override\n        public boolean onSurfaceTextureDestroyed(final SurfaceTexture texture) {\n          return true;\n        }\n\n        @Override\n        public void onSurfaceTextureUpdated(final SurfaceTexture texture) {}\n      };\n  /** An additional thread for running tasks that shouldn't block the UI. */\n  private HandlerThread backgroundThread;\n\n  public LegacyCameraConnectionFragment(\n          final Camera.PreviewCallback imageListener, final int layout, final Size desiredSize) {\n    this.imageListener = imageListener;\n    this.layout = layout;\n    this.desiredSize = desiredSize;\n  }\n\n  @Override\n  public View onCreateView(\n          final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {\n    return inflater.inflate(layout, container, false);\n  }\n\n  @Override\n  public void onViewCreated(final View view, final Bundle savedInstanceState) {\n    textureView = (AutoFitTextureView) view.findViewById(R.id.texture);\n  }\n\n  @Override\n  public void onActivityCreated(final Bundle savedInstanceState) {\n    super.onActivityCreated(savedInstanceState);\n  }\n\n  @Override\n  public void onResume() {\n    super.onResume();\n    startBackgroundThread();\n    // When the screen is turned off and turned back on, the SurfaceTexture is already\n    // available, and \"onSurfaceTextureAvailable\" will not be called. In that case, we can open\n    // a camera and start preview from here (otherwise, we wait until the surface is ready in\n    // the SurfaceTextureListener).\n\n    if (textureView.isAvailable()) {\n      startCamera();\n    } else {\n      textureView.setSurfaceTextureListener(surfaceTextureListener);\n    }\n  }\n\n  @Override\n  public void onPause() {\n    stopCamera();\n    stopBackgroundThread();\n    super.onPause();\n  }\n\n  /** Starts a background thread and its {@link Handler}. */\n  private void startBackgroundThread() {\n    backgroundThread = new HandlerThread(\"CameraBackground\");\n    backgroundThread.start();\n  }\n\n  /** Stops the background thread and its {@link Handler}. */\n  private void stopBackgroundThread() {\n    backgroundThread.quitSafely();\n    try {\n      backgroundThread.join();\n      backgroundThread = null;\n    } catch (final InterruptedException e) {\n      LOGGER.e(e, \"Exception!\");\n    }\n  }\n\n  private void startCamera() {\n    int index = getCameraId();\n    camera = Camera.open(index);\n\n    try {\n      Camera.Parameters parameters = camera.getParameters();\n      List<String> focusModes = parameters.getSupportedFocusModes();\n      if (focusModes != null\n              && focusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {\n        parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);\n      }\n      List<Camera.Size> cameraSizes = parameters.getSupportedPreviewSizes();\n      Size[] sizes = new Size[cameraSizes.size()];\n      int i = 0;\n      for (Camera.Size size : cameraSizes) {\n        sizes[i++] = new Size(size.width, size.height);\n      }\n      Size previewSize =\n              CameraConnectionFragment.chooseOptimalSize(\n                      sizes, desiredSize.getWidth(), desiredSize.getHeight());\n      parameters.setPreviewSize(previewSize.getWidth(), previewSize.getHeight());\n      camera.setDisplayOrientation(90);\n      camera.setParameters(parameters);\n      camera.setPreviewTexture(availableSurfaceTexture);\n    } catch (IOException exception) {\n      camera.release();\n    }\n\n    camera.setPreviewCallbackWithBuffer(imageListener);\n    Camera.Size s = camera.getParameters().getPreviewSize();\n    camera.addCallbackBuffer(new byte[ImageUtils.getYUVByteSize(s.height, s.width)]);\n\n    textureView.setAspectRatio(s.height, s.width);\n\n    camera.startPreview();\n  }\n\n  protected void stopCamera() {\n    if (camera != null) {\n      camera.stopPreview();\n      camera.setPreviewCallback(null);\n      camera.release();\n      camera = null;\n    }\n  }\n\n  private int getCameraId() {\n    CameraInfo ci = new CameraInfo();\n    for (int i = 0; i < Camera.getNumberOfCameras(); i++) {\n      Camera.getCameraInfo(i, ci);\n      if (ci.facing == CameraInfo.CAMERA_FACING_BACK) return i;\n    }\n    return -1; // No camera found\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/customview/AutoFitTextureView.java",
    "content": "/*\n * Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *       http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage com.helloworld.goodpoint.detection.customview;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.view.TextureView;\n\n/** A {@link TextureView} that can be adjusted to a specified aspect ratio. */\npublic class AutoFitTextureView extends TextureView {\n  private int ratioWidth = 0;\n  private int ratioHeight = 0;\n\n  public AutoFitTextureView(final Context context) {\n    this(context, null);\n  }\n\n  public AutoFitTextureView(final Context context, final AttributeSet attrs) {\n    this(context, attrs, 0);\n  }\n\n  public AutoFitTextureView(final Context context, final AttributeSet attrs, final int defStyle) {\n    super(context, attrs, defStyle);\n  }\n\n  /**\n   * Sets the aspect ratio for this view. The size of the view will be measured based on the ratio\n   * calculated from the parameters. Note that the actual sizes of parameters don't matter, that is,\n   * calling setAspectRatio(2, 3) and setAspectRatio(4, 6) make the same result.\n   *\n   * @param width Relative horizontal size\n   * @param height Relative vertical size\n   */\n  public void setAspectRatio(final int width, final int height) {\n    if (width < 0 || height < 0) {\n      throw new IllegalArgumentException(\"Size cannot be negative.\");\n    }\n    ratioWidth = width;\n    ratioHeight = height;\n    requestLayout();\n  }\n\n  @Override\n  protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {\n    super.onMeasure(widthMeasureSpec, heightMeasureSpec);\n    final int width = MeasureSpec.getSize(widthMeasureSpec);\n    final int height = MeasureSpec.getSize(heightMeasureSpec);\n    if (0 == ratioWidth || 0 == ratioHeight) {\n      setMeasuredDimension(width, height);\n    } else {\n      if (width < height * ratioWidth / ratioHeight) {\n        setMeasuredDimension(width, width * ratioHeight / ratioWidth);\n      } else {\n        setMeasuredDimension(height * ratioWidth / ratioHeight, height);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/customview/OverlayView.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.helloworld.goodpoint.detection.customview;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.util.AttributeSet;\nimport android.view.View;\n\nimport java.util.LinkedList;\nimport java.util.List;\n\n/** A simple View providing a render callback to other classes. */\npublic class OverlayView extends View {\n  private final List<DrawCallback> callbacks = new LinkedList<DrawCallback>();\n\n  public OverlayView(final Context context, final AttributeSet attrs) {\n    super(context, attrs);\n  }\n\n  public void addCallback(final DrawCallback callback) {\n    callbacks.add(callback);\n  }\n\n  @Override\n  public synchronized void draw(final Canvas canvas) {\n    super.draw(canvas);\n    for (final DrawCallback callback : callbacks) {\n      callback.drawCallback(canvas);\n    }\n  }\n\n  /** Interface defining the callback for client classes. */\n  public interface DrawCallback {\n    public void drawCallback(final Canvas canvas);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/customview/RecognitionScoreView.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.helloworld.goodpoint.detection.customview;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Paint;\nimport android.util.AttributeSet;\nimport android.util.TypedValue;\nimport android.view.View;\nimport java.util.List;\nimport com.example.lib_task_api.Detector.Recognition;\n\npublic class RecognitionScoreView extends View implements ResultsView {\n  private static final float TEXT_SIZE_DIP = 5;\n  private final float textSizePx;\n  private final Paint fgPaint;\n  private final Paint bgPaint;\n  private List<Recognition> results;\n\n  public RecognitionScoreView(final Context context, final AttributeSet set) {\n    super(context, set);\n\n    textSizePx =\n            TypedValue.applyDimension(\n                    TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DIP, getResources().getDisplayMetrics());\n    fgPaint = new Paint();\n    fgPaint.setTextSize(textSizePx);\n\n    bgPaint = new Paint();\n    bgPaint.setColor(0xcc4285f4);\n  }\n\n  @Override\n  public void setResults(final List<Recognition> results) {\n    this.results = results;\n    postInvalidate();\n  }\n\n  @Override\n  public void onDraw(final Canvas canvas) {\n    final int x = 10;\n    int y = (int) (fgPaint.getTextSize() * 1.5f);\n\n    canvas.drawPaint(bgPaint);\n\n    if (results != null) {\n      for (final Recognition recog : results) {\n        canvas.drawText(recog.getTitle() + \":\" + recog.getConfidence(), x, y, fgPaint);\n        y += (int) (fgPaint.getTextSize() * 1.5f);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/customview/ResultsView.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.helloworld.goodpoint.detection.customview;\n\nimport com.example.lib_task_api.Detector.Recognition;\n\nimport java.util.List;\n\npublic interface ResultsView {\n  public void setResults(final List<Recognition> results);\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/env/BorderedText.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.helloworld.goodpoint.detection.env;\n\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Paint.Align;\nimport android.graphics.Paint.Style;\nimport android.graphics.Rect;\nimport android.graphics.Typeface;\n\nimport java.util.Vector;\n\n/** A class that encapsulates the tedious bits of rendering legible, bordered text onto a canvas. */\npublic class BorderedText {\n  private final Paint interiorPaint;\n  private final Paint exteriorPaint;\n\n  private final float textSize;\n\n  /**\n   * Creates a left-aligned bordered text object with a white interior, and a black exterior with\n   * the specified text size.\n   *\n   * @param textSize text size in pixels\n   */\n  public BorderedText(final float textSize) {\n    this(Color.WHITE, Color.BLACK, textSize);\n  }\n\n  /**\n   * Create a bordered text object with the specified interior and exterior colors, text size and\n   * alignment.\n   *\n   */\n  public BorderedText(final int interiorColor, final int exteriorColor, final float textSize) {\n    interiorPaint = new Paint();\n    interiorPaint.setTextSize(textSize);\n    interiorPaint.setColor(interiorColor);\n    interiorPaint.setStyle(Style.FILL);\n    interiorPaint.setAntiAlias(false);\n    interiorPaint.setAlpha(255);\n\n    exteriorPaint = new Paint();\n    exteriorPaint.setTextSize(textSize);\n    exteriorPaint.setColor(exteriorColor);\n    exteriorPaint.setStyle(Style.FILL_AND_STROKE);\n    exteriorPaint.setStrokeWidth(textSize / 8);\n    exteriorPaint.setAntiAlias(false);\n    exteriorPaint.setAlpha(255);\n\n    this.textSize = textSize;\n  }\n\n  public void setTypeface(Typeface typeface) {\n    interiorPaint.setTypeface(typeface);\n    exteriorPaint.setTypeface(typeface);\n  }\n\n  public void drawText(final Canvas canvas, final float posX, final float posY, final String text) {\n    canvas.drawText(text, posX, posY, exteriorPaint);\n    canvas.drawText(text, posX, posY, interiorPaint);\n  }\n\n  public void drawText(\n          final Canvas canvas, final float posX, final float posY, final String text, Paint bgPaint) {\n\n    float width = exteriorPaint.measureText(text);\n    float textSize = exteriorPaint.getTextSize();\n    Paint paint = new Paint(bgPaint);\n    paint.setStyle(Style.FILL);\n    paint.setAlpha(160);\n    canvas.drawRect(posX, (posY + (int) (textSize)), (posX + (int) (width)), posY, paint);\n\n    canvas.drawText(text, posX, (posY + textSize), interiorPaint);\n  }\n\n  public float getTextSize() {\n    return textSize;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/env/ImageUtils.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.helloworld.goodpoint.detection.env;\n\nimport android.graphics.Bitmap;\nimport android.graphics.Matrix;\nimport android.os.Environment;\n\nimport java.io.File;\nimport java.io.FileOutputStream;\n\n/** Utility class for manipulating images. */\npublic class ImageUtils {\n  // This value is 2 ^ 18 - 1, and is used to clamp the RGB values before their ranges\n  // are normalized to eight bits.\n  static final int kMaxChannelValue = 262143;\n\n  @SuppressWarnings(\"unused\")\n  private static final Logger LOGGER = new Logger();\n\n  /**\n   * Utility method to compute the allocated size in bytes of a YUV420SP image of the given\n   * dimensions.\n   */\n  public static int getYUVByteSize(final int width, final int height) {\n    // The luminance plane requires 1 byte per pixel.\n    final int ySize = width * height;\n\n    // The UV plane works on 2x2 blocks, so dimensions with odd size must be rounded up.\n    // Each 2x2 block takes 2 bytes to encode, one each for U and V.\n    final int uvSize = ((width + 1) / 2) * ((height + 1) / 2) * 2;\n\n    return ySize + uvSize;\n  }\n\n  /**\n   * Saves a Bitmap object to disk for analysis.\n   *\n   * @param bitmap The bitmap to save.\n   */\n  public static void saveBitmap(final Bitmap bitmap) {\n    saveBitmap(bitmap, \"preview.png\");\n  }\n\n  /**\n   * Saves a Bitmap object to disk for analysis.\n   *\n   * @param bitmap The bitmap to save.\n   * @param filename The location to save the bitmap to.\n   */\n  public static void saveBitmap(final Bitmap bitmap, final String filename) {\n    final String root =\n        Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + \"tensorflow\";\n    LOGGER.i(\"Saving %dx%d bitmap to %s.\", bitmap.getWidth(), bitmap.getHeight(), root);\n    final File myDir = new File(root);\n\n    if (!myDir.mkdirs()) {\n      LOGGER.i(\"Make dir failed\");\n    }\n\n    final String fname = filename;\n    final File file = new File(myDir, fname);\n    if (file.exists()) {\n      file.delete();\n    }\n    try {\n      final FileOutputStream out = new FileOutputStream(file);\n      bitmap.compress(Bitmap.CompressFormat.PNG, 99, out);\n      out.flush();\n      out.close();\n    } catch (final Exception e) {\n      LOGGER.e(e, \"Exception!\");\n    }\n  }\n\n  public static void convertYUV420SPToARGB8888(byte[] input, int width, int height, int[] output) {\n    final int frameSize = width * height;\n    for (int j = 0, yp = 0; j < height; j++) {\n      int uvp = frameSize + (j >> 1) * width;\n      int u = 0;\n      int v = 0;\n\n      for (int i = 0; i < width; i++, yp++) {\n        int y = 0xff & input[yp];\n        if ((i & 1) == 0) {\n          v = 0xff & input[uvp++];\n          u = 0xff & input[uvp++];\n        }\n\n        output[yp] = YUV2RGB(y, u, v);\n      }\n    }\n  }\n\n  private static int YUV2RGB(int y, int u, int v) {\n    // Adjust and check YUV values\n    y = (y - 16) < 0 ? 0 : (y - 16);\n    u -= 128;\n    v -= 128;\n\n    // This is the floating point equivalent. We do the conversion in integer\n    // because some Android devices do not have floating point in hardware.\n    // nR = (int)(1.164 * nY + 2.018 * nU);\n    // nG = (int)(1.164 * nY - 0.813 * nV - 0.391 * nU);\n    // nB = (int)(1.164 * nY + 1.596 * nV);\n    int y1192 = 1192 * y;\n    int r = (y1192 + 1634 * v);\n    int g = (y1192 - 833 * v - 400 * u);\n    int b = (y1192 + 2066 * u);\n\n    // Clipping RGB values to be inside boundaries [ 0 , kMaxChannelValue ]\n    r = r > kMaxChannelValue ? kMaxChannelValue : (r < 0 ? 0 : r);\n    g = g > kMaxChannelValue ? kMaxChannelValue : (g < 0 ? 0 : g);\n    b = b > kMaxChannelValue ? kMaxChannelValue : (b < 0 ? 0 : b);\n\n    return 0xff000000 | ((r << 6) & 0xff0000) | ((g >> 2) & 0xff00) | ((b >> 10) & 0xff);\n  }\n\n  public static void convertYUV420ToARGB8888(\n      byte[] yData,\n      byte[] uData,\n      byte[] vData,\n      int width,\n      int height,\n      int yRowStride,\n      int uvRowStride,\n      int uvPixelStride,\n      int[] out) {\n    int yp = 0;\n    for (int j = 0; j < height; j++) {\n      int pY = yRowStride * j;\n      int pUV = uvRowStride * (j >> 1);\n\n      for (int i = 0; i < width; i++) {\n        int uv_offset = pUV + (i >> 1) * uvPixelStride;\n\n        out[yp++] = YUV2RGB(0xff & yData[pY + i], 0xff & uData[uv_offset], 0xff & vData[uv_offset]);\n      }\n    }\n  }\n\n  /**\n   * Returns a transformation matrix from one reference frame into another. Handles cropping (if\n   * maintaining aspect ratio is desired) and rotation.\n   *\n   * @param srcWidth Width of source frame.\n   * @param srcHeight Height of source frame.\n   * @param dstWidth Width of destination frame.\n   * @param dstHeight Height of destination frame.\n   * @param applyRotation Amount of rotation to apply from one frame to another. Must be a multiple\n   *     of 90.\n   * @param maintainAspectRatio If true, will ensure that scaling in x and y remains constant,\n   *     cropping the image if necessary.\n   * @return The transformation fulfilling the desired requirements.\n   */\n  public static Matrix getTransformationMatrix(\n      final int srcWidth,\n      final int srcHeight,\n      final int dstWidth,\n      final int dstHeight,\n      final int applyRotation,\n      final boolean maintainAspectRatio) {\n    final Matrix matrix = new Matrix();\n\n    if (applyRotation != 0) {\n      if (applyRotation % 90 != 0) {\n        LOGGER.w(\"Rotation of %d % 90 != 0\", applyRotation);\n      }\n\n      // Translate so center of image is at origin.\n      matrix.postTranslate(-srcWidth / 2.0f, -srcHeight / 2.0f);\n\n      // Rotate around origin.\n      matrix.postRotate(applyRotation);\n    }\n\n    // Account for the already applied rotation, if any, and then determine how\n    // much scaling is needed for each axis.\n    final boolean transpose = (Math.abs(applyRotation) + 90) % 180 == 0;\n\n    final int inWidth = transpose ? srcHeight : srcWidth;\n    final int inHeight = transpose ? srcWidth : srcHeight;\n\n    // Apply scaling if necessary.\n    if (inWidth != dstWidth || inHeight != dstHeight) {\n      final float scaleFactorX = dstWidth / (float) inWidth;\n      final float scaleFactorY = dstHeight / (float) inHeight;\n\n      if (maintainAspectRatio) {\n        // Scale by minimum factor so that dst is filled completely while\n        // maintaining the aspect ratio. Some image may fall off the edge.\n        final float scaleFactor = Math.max(scaleFactorX, scaleFactorY);\n        matrix.postScale(scaleFactor, scaleFactor);\n      } else {\n        // Scale exactly to fill dst from src.\n        matrix.postScale(scaleFactorX, scaleFactorY);\n      }\n    }\n\n    if (applyRotation != 0) {\n      // Translate back from origin centered reference to destination frame.\n      matrix.postTranslate(dstWidth / 2.0f, dstHeight / 2.0f);\n    }\n\n    return matrix;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/env/Logger.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.helloworld.goodpoint.detection.env;\n\nimport android.util.Log;\n\nimport java.util.HashSet;\nimport java.util.Set;\n\n/** Wrapper for the platform log function, allows convenient message prefixing and log disabling. */\npublic final class Logger {\n  private static final String DEFAULT_TAG = \"tensorflow\";\n  private static final int DEFAULT_MIN_LOG_LEVEL = Log.DEBUG;\n\n  // Classes to be ignored when examining the stack trace\n  private static final Set<String> IGNORED_CLASS_NAMES;\n\n  static {\n    IGNORED_CLASS_NAMES = new HashSet<String>(3);\n    IGNORED_CLASS_NAMES.add(\"dalvik.system.VMStack\");\n    IGNORED_CLASS_NAMES.add(\"java.lang.Thread\");\n    IGNORED_CLASS_NAMES.add(Logger.class.getCanonicalName());\n  }\n\n  private final String tag;\n  private final String messagePrefix;\n  private int minLogLevel = DEFAULT_MIN_LOG_LEVEL;\n\n  /**\n   * Creates a Logger using the class name as the message prefix.\n   *\n   * @param clazz the simple name of this class is used as the message prefix.\n   */\n  public Logger(final Class<?> clazz) {\n    this(clazz.getSimpleName());\n  }\n\n  /**\n   * Creates a Logger using the specified message prefix.\n   *\n   * @param messagePrefix is prepended to the text of every message.\n   */\n  public Logger(final String messagePrefix) {\n    this(DEFAULT_TAG, messagePrefix);\n  }\n\n  /**\n   * Creates a Logger with a custom tag and a custom message prefix. If the message prefix is set to\n   *\n   * <pre>null</pre>\n   *\n   * , the caller's class name is used as the prefix.\n   *\n   * @param tag identifies the source of a log message.\n   * @param messagePrefix prepended to every message if non-null. If null, the name of the caller is\n   *     being used\n   */\n  public Logger(final String tag, final String messagePrefix) {\n    this.tag = tag;\n    final String prefix = messagePrefix == null ? getCallerSimpleName() : messagePrefix;\n    this.messagePrefix = (prefix.length() > 0) ? prefix + \": \" : prefix;\n  }\n\n  /** Creates a Logger using the caller's class name as the message prefix. */\n  public Logger() {\n    this(DEFAULT_TAG, null);\n  }\n\n  /** Creates a Logger using the caller's class name as the message prefix. */\n  public Logger(final int minLogLevel) {\n    this(DEFAULT_TAG, null);\n    this.minLogLevel = minLogLevel;\n  }\n\n  /**\n   * Return caller's simple name.\n   *\n   * <p>Android getStackTrace() returns an array that looks like this: stackTrace[0]:\n   * dalvik.system.VMStack stackTrace[1]: java.lang.Thread stackTrace[2]:\n   * com.google.android.apps.unveil.env.UnveilLogger stackTrace[3]:\n   * com.google.android.apps.unveil.BaseApplication\n   *\n   * <p>This function returns the simple version of the first non-filtered name.\n   *\n   * @return caller's simple name\n   */\n  private static String getCallerSimpleName() {\n    // Get the current callstack so we can pull the class of the caller off of it.\n    final StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();\n\n    for (final StackTraceElement elem : stackTrace) {\n      final String className = elem.getClassName();\n      if (!IGNORED_CLASS_NAMES.contains(className)) {\n        // We're only interested in the simple name of the class, not the complete package.\n        final String[] classParts = className.split(\"\\\\.\");\n        return classParts[classParts.length - 1];\n      }\n    }\n\n    return Logger.class.getSimpleName();\n  }\n\n  public void setMinLogLevel(final int minLogLevel) {\n    this.minLogLevel = minLogLevel;\n  }\n\n  public boolean isLoggable(final int logLevel) {\n    return logLevel >= minLogLevel || Log.isLoggable(tag, logLevel);\n  }\n\n  private String toMessage(final String format, final Object... args) {\n    return messagePrefix + (args.length > 0 ? String.format(format, args) : format);\n  }\n\n  public void v(final String format, final Object... args) {\n    if (isLoggable(Log.VERBOSE)) {\n      Log.v(tag, toMessage(format, args));\n    }\n  }\n\n  public void v(final Throwable t, final String format, final Object... args) {\n    if (isLoggable(Log.VERBOSE)) {\n      Log.v(tag, toMessage(format, args), t);\n    }\n  }\n\n  public void d(final String format, final Object... args) {\n    if (isLoggable(Log.DEBUG)) {\n      Log.d(tag, toMessage(format, args));\n    }\n  }\n\n  public void d(final Throwable t, final String format, final Object... args) {\n    if (isLoggable(Log.DEBUG)) {\n      Log.d(tag, toMessage(format, args), t);\n    }\n  }\n\n  public void i(final String format, final Object... args) {\n    if (isLoggable(Log.INFO)) {\n      Log.i(tag, toMessage(format, args));\n    }\n  }\n\n  public void i(final Throwable t, final String format, final Object... args) {\n    if (isLoggable(Log.INFO)) {\n      Log.i(tag, toMessage(format, args), t);\n    }\n  }\n\n  public void w(final String format, final Object... args) {\n    if (isLoggable(Log.WARN)) {\n      Log.w(tag, toMessage(format, args));\n    }\n  }\n\n  public void w(final Throwable t, final String format, final Object... args) {\n    if (isLoggable(Log.WARN)) {\n      Log.w(tag, toMessage(format, args), t);\n    }\n  }\n\n  public void e(final String format, final Object... args) {\n    if (isLoggable(Log.ERROR)) {\n      Log.e(tag, toMessage(format, args));\n    }\n  }\n\n  public void e(final Throwable t, final String format, final Object... args) {\n    if (isLoggable(Log.ERROR)) {\n      Log.e(tag, toMessage(format, args), t);\n    }\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/env/Size.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.helloworld.goodpoint.detection.env;\n\nimport android.graphics.Bitmap;\nimport android.text.TextUtils;\n\nimport java.io.Serializable;\nimport java.util.ArrayList;\nimport java.util.List;\n\n/** Size class independent of a Camera object. */\npublic class Size implements Comparable<Size>, Serializable {\n\n  // 1.4 went out with this UID so we'll need to maintain it to preserve pending queries when\n  // upgrading.\n  public static final long serialVersionUID = 7689808733290872361L;\n\n  public final int width;\n  public final int height;\n\n  public Size(final int width, final int height) {\n    this.width = width;\n    this.height = height;\n  }\n\n  public Size(final Bitmap bmp) {\n    this.width = bmp.getWidth();\n    this.height = bmp.getHeight();\n  }\n\n  /**\n   * Rotate a size by the given number of degrees.\n   *\n   * @param size Size to rotate.\n   * @param rotation Degrees {0, 90, 180, 270} to rotate the size.\n   * @return Rotated size.\n   */\n  public static Size getRotatedSize(final Size size, final int rotation) {\n    if (rotation % 180 != 0) {\n      // The phone is portrait, therefore the camera is sideways and frame should be rotated.\n      return new Size(size.height, size.width);\n    }\n    return size;\n  }\n\n  public static Size parseFromString(String sizeString) {\n    if (TextUtils.isEmpty(sizeString)) {\n      return null;\n    }\n\n    sizeString = sizeString.trim();\n\n    // The expected format is \"<width>x<height>\".\n    final String[] components = sizeString.split(\"x\");\n    if (components.length == 2) {\n      try {\n        final int width = Integer.parseInt(components[0]);\n        final int height = Integer.parseInt(components[1]);\n        return new Size(width, height);\n      } catch (final NumberFormatException e) {\n        return null;\n      }\n    } else {\n      return null;\n    }\n  }\n\n  public static List<Size> sizeStringToList(final String sizes) {\n    final List<Size> sizeList = new ArrayList<Size>();\n    if (sizes != null) {\n      final String[] pairs = sizes.split(\",\");\n      for (final String pair : pairs) {\n        final Size size = Size.parseFromString(pair);\n        if (size != null) {\n          sizeList.add(size);\n        }\n      }\n    }\n    return sizeList;\n  }\n\n  public static String sizeListToString(final List<Size> sizes) {\n    String sizesString = \"\";\n    if (sizes != null && sizes.size() > 0) {\n      sizesString = sizes.get(0).toString();\n      for (int i = 1; i < sizes.size(); i++) {\n        sizesString += \",\" + sizes.get(i).toString();\n      }\n    }\n    return sizesString;\n  }\n\n  public static final String dimensionsAsString(final int width, final int height) {\n    return width + \"x\" + height;\n  }\n\n  public final float aspectRatio() {\n    return (float) width / (float) height;\n  }\n\n  @Override\n  public int compareTo(final Size other) {\n    return width * height - other.width * other.height;\n  }\n\n  @Override\n  public boolean equals(final Object other) {\n    if (other == null) {\n      return false;\n    }\n\n    if (!(other instanceof Size)) {\n      return false;\n    }\n\n    final Size otherSize = (Size) other;\n    return (width == otherSize.width && height == otherSize.height);\n  }\n\n  @Override\n  public int hashCode() {\n    return width * 32713 + height;\n  }\n\n  @Override\n  public String toString() {\n    return dimensionsAsString(width, height);\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/detection/tracking/MultiBoxTracker.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.helloworld.goodpoint.detection.tracking;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Matrix;\nimport android.graphics.Paint;\nimport android.graphics.Paint.Cap;\nimport android.graphics.Paint.Join;\nimport android.graphics.Paint.Style;\nimport android.graphics.RectF;\nimport android.text.TextUtils;\nimport android.util.Pair;\nimport android.util.TypedValue;\n\nimport com.example.lib_task_api.Detector.Recognition;\nimport com.helloworld.goodpoint.detection.env.BorderedText;\nimport com.helloworld.goodpoint.detection.env.ImageUtils;\nimport com.helloworld.goodpoint.detection.env.Logger;\n\n\nimport java.util.LinkedList;\nimport java.util.List;\nimport java.util.Queue;\n\n/** A tracker that handles non-max suppression and matches existing objects to new detections. */\npublic class MultiBoxTracker {\n  private static final float TEXT_SIZE_DIP = 10;\n  private static final float MIN_SIZE = 16.0f;\n  private static final int[] COLORS = {\n    Color.BLUE,\n    Color.RED,\n    Color.GREEN,\n    Color.YELLOW,\n    Color.CYAN,\n    Color.MAGENTA,\n    Color.WHITE,\n    Color.parseColor(\"#55FF55\"),\n    Color.parseColor(\"#FFA500\"),\n    Color.parseColor(\"#FF8888\"),\n    Color.parseColor(\"#AAAAFF\"),\n    Color.parseColor(\"#FFFFAA\"),\n    Color.parseColor(\"#55AAAA\"),\n    Color.parseColor(\"#AA33AA\"),\n    Color.parseColor(\"#0D0068\")\n  };\n  final List<Pair<Float, RectF>> screenRects = new LinkedList<Pair<Float, RectF>>();\n  private final Logger logger = new Logger();\n  private final Queue<Integer> availableColors = new LinkedList<Integer>();\n  private final List<TrackedRecognition> trackedObjects = new LinkedList<TrackedRecognition>();\n  private final Paint boxPaint = new Paint();\n  private final float textSizePx;\n  private final BorderedText borderedText;\n  private Matrix frameToCanvasMatrix;\n  private int frameWidth;\n  private int frameHeight;\n  private int sensorOrientation;\n\n  public MultiBoxTracker(final Context context) {\n    for (final int color : COLORS) {\n      availableColors.add(color);\n    }\n\n    boxPaint.setColor(Color.RED);\n    boxPaint.setStyle(Style.STROKE);\n    boxPaint.setStrokeWidth(10.0f);\n    boxPaint.setStrokeCap(Cap.ROUND);\n    boxPaint.setStrokeJoin(Join.ROUND);\n    boxPaint.setStrokeMiter(100);\n\n    textSizePx =\n        TypedValue.applyDimension(\n            TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DIP, context.getResources().getDisplayMetrics());\n    borderedText = new BorderedText(textSizePx);\n  }\n\n  public synchronized void setFrameConfiguration(\n      final int width, final int height, final int sensorOrientation) {\n    frameWidth = width;\n    frameHeight = height;\n    this.sensorOrientation = sensorOrientation;\n  }\n\n  public synchronized void drawDebug(final Canvas canvas) {\n    final Paint textPaint = new Paint();\n    textPaint.setColor(Color.WHITE);\n    textPaint.setTextSize(60.0f);\n\n    final Paint boxPaint = new Paint();\n    boxPaint.setColor(Color.RED);\n    boxPaint.setAlpha(200);\n    boxPaint.setStyle(Style.STROKE);\n\n    for (final Pair<Float, RectF> detection : screenRects) {\n      final RectF rect = detection.second;\n      canvas.drawRect(rect, boxPaint);\n      canvas.drawText(\"\" + detection.first, rect.left, rect.top, textPaint);\n      borderedText.drawText(canvas, rect.centerX(), rect.centerY(), \"\" + detection.first);\n    }\n  }\n\n  public synchronized void trackResults(final List<Recognition> results, final long timestamp) {\n    logger.i(\"Processing %d results from %d\", results.size(), timestamp);\n    processResults(results);\n  }\n\n  private Matrix getFrameToCanvasMatrix() {\n    return frameToCanvasMatrix;\n  }\n\n  public synchronized void draw(final Canvas canvas) {\n    final boolean rotated = sensorOrientation % 180 == 90;\n    final float multiplier =\n        Math.min(\n            canvas.getHeight() / (float) (rotated ? frameWidth : frameHeight),\n            canvas.getWidth() / (float) (rotated ? frameHeight : frameWidth));\n    frameToCanvasMatrix =\n        ImageUtils.getTransformationMatrix(\n            frameWidth,\n            frameHeight,\n            (int) (multiplier * (rotated ? frameHeight : frameWidth)),\n            (int) (multiplier * (rotated ? frameWidth : frameHeight)),\n            sensorOrientation,\n            false);\n    for (final TrackedRecognition recognition : trackedObjects) {\n      final RectF trackedPos = new RectF(recognition.location);\n\n      getFrameToCanvasMatrix().mapRect(trackedPos);\n      boxPaint.setColor(recognition.color);\n\n      float cornerSize = Math.min(trackedPos.width(), trackedPos.height()) / 8.0f;\n      canvas.drawRoundRect(trackedPos, cornerSize, cornerSize, boxPaint);\n\n//      final String labelString =\n//          !TextUtils.isEmpty(recognition.title)\n//              ? String.format(\"%s %.2f\", recognition.title, (100 * recognition.detectionConfidence))\n//              : String.format(\"%.2f\", (100 * recognition.detectionConfidence));\n\n      final String labelString =\n              !TextUtils.isEmpty(recognition.title)\n                      ? String.format(\"%s %s\", recognition.title,\"\" )\n                      : \"\";\n      //            borderedText.drawText(canvas, trackedPos.left + cornerSize, trackedPos.top,\n      // labelString);\n      borderedText.drawText(\n          canvas, trackedPos.left + cornerSize, trackedPos.top, labelString, boxPaint);\n    }\n  }\n\n  private void processResults(final List<Recognition> results) {\n    final List<Pair<Float, Recognition>> rectsToTrack = new LinkedList<Pair<Float, Recognition>>();\n\n    screenRects.clear();\n    final Matrix rgbFrameToScreen = new Matrix(getFrameToCanvasMatrix());\n\n    for (final Recognition result : results) {\n      if (result.getLocation() == null) {\n        continue;\n      }\n      final RectF detectionFrameRect = new RectF(result.getLocation());\n\n      final RectF detectionScreenRect = new RectF();\n      rgbFrameToScreen.mapRect(detectionScreenRect, detectionFrameRect);\n\n      logger.v(\n          \"Result! Frame: \" + result.getLocation() + \" mapped to screen:\" + detectionScreenRect);\n\n      screenRects.add(new Pair<Float, RectF>(result.getConfidence(), detectionScreenRect));\n\n      if (detectionFrameRect.width() < MIN_SIZE || detectionFrameRect.height() < MIN_SIZE) {\n        logger.w(\"Degenerate rectangle! \" + detectionFrameRect);\n        continue;\n      }\n\n      rectsToTrack.add(new Pair<Float, Recognition>(result.getConfidence(), result));\n    }\n\n    trackedObjects.clear();\n    if (rectsToTrack.isEmpty()) {\n      logger.v(\"Nothing to track, aborting.\");\n      return;\n    }\n\n    for (final Pair<Float, Recognition> potential : rectsToTrack) {\n      final TrackedRecognition trackedRecognition = new TrackedRecognition();\n      trackedRecognition.detectionConfidence = potential.first;\n      trackedRecognition.location = new RectF(potential.second.getLocation());\n      trackedRecognition.title = potential.second.getTitle();\n      trackedRecognition.color = COLORS[trackedObjects.size()];\n      trackedObjects.add(trackedRecognition);\n\n      if (trackedObjects.size() >= COLORS.length) {\n        break;\n      }\n    }\n  }\n\n  private static class TrackedRecognition {\n    RectF location;\n    float detectionConfidence;\n    int color;\n    String title;\n  }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/FoundItem.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class FoundItem {\n    public FoundItem(String type, String serial_number, String brand, String color) {\n        this.type = type;\n        this.serial_number = serial_number;\n        this.brand = brand;\n        this.color = color;\n    }\n\n    @SerializedName(\"user_id\")\n    @Expose\n    private String user_id;\n    @SerializedName(\"id\")\n    @Expose\n    private String id;\n    @SerializedName(\"date\")\n    @Expose\n    private String date;\n    @SerializedName(\"city\")\n    @Expose\n    private String city;\n    @SerializedName(\"type\")\n    @Expose\n    private String type;\n    @SerializedName(\"serial_number\")\n    @Expose\n    private String serial_number;\n    @Expose\n    @SerializedName(\"brand\")\n    private String brand;\n    @SerializedName(\"color\")\n    @Expose\n    private String color;\n    @SerializedName(\"description\")\n    @Expose\n    private String description;\n\n\n   /* public FoundItem(int user_id, int id, String date, String city, String type, String serial_number, String brand, String color, String description) {\n        this.id = id;\n        this.user_id = user_id;\n        this.date = date;\n        this.city = city;\n        this.type = type;\n        this.serial_number = serial_number;\n        this.brand = brand;\n        this.color = color;\n        this.description = description;\n    }*/\n\n\n    private static FoundItem FoundItem;\n    public static FoundItem getFoundItem()\n    {\n        if (FoundItem == null) {\n            FoundItem = new FoundItem();\n\n        }\n        return FoundItem;\n    }\n    private FoundItem()\n    {\n\n    }\n\n    public String getUser_id() {\n        return user_id;\n    }\n\n    public void setUser_id(String user_id) {\n        this.user_id = user_id;\n    }\n\n    public String getId() { return id; }\n\n    public void setId(String id) { this.id = id; }\n\n    public void setDate(String date) {\n        this.date = date;\n    }\n\n    public String getDate() { return date; }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    public String getType() {\n        return type;\n    }\n\n    public void setType(String type) {\n        this.type = type;\n    }\n\n    public String getSerial_number() {\n        return serial_number;\n    }\n\n    public void setSerial_number(String serial_number) {\n        this.serial_number = serial_number;\n    }\n\n    public String getBrand() {\n        return brand;\n    }\n\n    public void setBrand(String brand) {\n        this.brand = brand;\n    }\n\n    public String getColor() {\n        return color;\n    }\n\n    public void setColor(String color) {\n        this.color = color;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/FoundPerson.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class FoundPerson {\n    @SerializedName(\"id\")\n    @Expose\n    private String id;\n    @SerializedName(\"name\")\n    @Expose\n    private String name;\n\n    private double longitude;\n    private double latitude;\n    private String date;\n    private String city;\n\n    public double getLongitude() {\n        return longitude;\n    }\n\n    public void setLongitude(double longitude) {\n        this.longitude = longitude;\n    }\n\n    public double getLatitude() {\n        return latitude;\n    }\n\n    public void setLatitude(double latitude) {\n        this.latitude = latitude;\n    }\n\n    public String getDate() {\n        return date;\n    }\n\n    public void setDate(String date) {\n        this.date = date;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n\n    private static FoundPerson FoundPerson;\n    public static FoundPerson getFoundPerson()\n    {\n        if (FoundPerson == null) {\n            FoundPerson = new FoundPerson();\n\n        }\n        return FoundPerson;\n    }\n    private FoundPerson()\n    {\n\n    }\n\n    public String getId() {\n        return id;\n    }\n\n    public void setId(String id) {\n        this.id = id;\n    }\n\n    public String getName() { return name; }\n\n    public void setName(String name) { this.name = name; }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/LostItem.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class LostItem {\n    public LostItem(String type, String serial_number, String brand, String color, String description) {\n        this.type = type;\n        this.serial_number = serial_number;\n        this.brand = brand;\n        this.color = color;\n        this.description = description;\n    }\n\n    public LostItem(String type, String serial_number, String brand, String color) {\n        this.type = type;\n        this.serial_number = serial_number;\n        this.brand = brand;\n        this.color = color;\n    }\n    @SerializedName(\"user_id\")\n    @Expose\n    private String user_id;\n    @SerializedName(\"id\")\n    @Expose\n    private String id;\n    @SerializedName(\"date\")\n    @Expose\n    private String date;\n    @SerializedName(\"city\")\n    @Expose\n    private String city;\n    @SerializedName(\"type\")\n    @Expose\n    private String type;\n    @SerializedName(\"serial_number\")\n    @Expose\n    private String serial_number;\n    @Expose\n    @SerializedName(\"brand\")\n    private String brand;\n    @SerializedName(\"color\")\n    @Expose\n    private String color;\n    @SerializedName(\"description\")\n    @Expose\n    private String description;\n\n\n   /* public LostItem(int user_id, int id, String date, String city, String type, String serial_number, String brand, String color, String description) {\n        this.id = id;\n        this.user_id = user_id;\n        this.date = date;\n        this.city = city;\n        this.type = type;\n        this.serial_number = serial_number;\n        this.brand = brand;\n        this.color = color;\n        this.description = description;\n    }*/\n\n\n    private static LostItem lostItem;\n    public static LostItem getLostItem()\n    {\n        if (lostItem == null) {\n            lostItem = new LostItem();\n\n        }\n        return lostItem;\n    }\n    private LostItem()\n    {\n\n    }\n\n    public String getUser_id() {\n        return user_id;\n    }\n\n    public void setUser_id(String user_id) {\n        this.user_id = user_id;\n    }\n\n    public String getId() { return id; }\n\n    public void setId(String id) { this.id = id; }\n\n    public void setDate(String date) {\n        this.date = date;\n    }\n\n    public String getDate() { return date; }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    public String getType() {\n        return type;\n    }\n\n    public void setType(String type) {\n        this.type = type;\n    }\n\n    public String getSerial_number() {\n        return serial_number;\n    }\n\n    public void setSerial_number(String serial_number) {\n        this.serial_number = serial_number;\n    }\n\n    public String getBrand() {\n        return brand;\n    }\n\n    public void setBrand(String brand) {\n        this.brand = brand;\n    }\n\n    public String getColor() {\n        return color;\n    }\n\n    public void setColor(String color) {\n        this.color = color;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/LostObject.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class LostObject {\n\n    @SerializedName(\"id\")\n    @Expose\n    private int id;\n\n    @SerializedName(\"user_id\")\n    @Expose\n    private String user_id;\n\n    public int getId() {\n        return id;\n    }\n\n    public void setId(int id) {\n        this.id = id;\n    }\n\n    @SerializedName(\"date\")\n    @Expose\n    private String date;\n    @SerializedName(\"city\")\n    @Expose\n    private String city;\n\n    public LostObject(String user_id, String date, String city) {\n        this.user_id = user_id;\n        this.date = date;\n        this.city = city;\n    }\n\n    public String getUser_id() {\n        return user_id;\n    }\n\n    public void setUser_id(String user_id) {\n        this.user_id = user_id;\n    }\n\n    public String getDate() {\n        return date;\n    }\n\n    public void setDate(String date) {\n        this.date = date;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/LostPerson.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class LostPerson {\n    @SerializedName(\"id\")\n    @Expose\n    private String id;\n    @SerializedName(\"name\")\n    @Expose\n    private String name;\n\n    private String date;\n    private String city;\n\n    public String getDate() {\n        return date;\n    }\n\n    public void setDate(String date) {\n        this.date = date;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    private static LostPerson lostPerson;\n    public static LostPerson getLostPerson()\n    {\n        if (lostPerson == null) {\n            lostPerson = new LostPerson();\n\n        }\n        return lostPerson;\n    }\n    private LostPerson()\n    {\n\n    }\n\n    public String getId() {\n        return id;\n    }\n\n    public void setId(String id) {\n        this.id = id;\n    }\n\n    public String getName() { return name; }\n\n    public void setName(String name) { this.name = name; }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/NotificationItem.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport android.content.Intent;\nimport android.graphics.Bitmap;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\nimport java.util.Date;\n\npublic class NotificationItem {\n\n    @SerializedName(\"id\")\n    @Expose\n    String id;\n    @SerializedName(\"title\")\n    @Expose\n    String title;\n    @SerializedName(\"description\")\n    @Expose\n    String description;\n    @SerializedName(\"type\")\n    @Expose\n    int type;\n    @SerializedName(\"date_time\")\n    @Expose\n    Date date;\n    @SerializedName(\"is_sent\")\n    @Expose\n    boolean sent;\n    @SerializedName(\"is_read\")\n    @Expose\n    boolean read;\n    @SerializedName(\"user_id\")\n    @Expose\n    int userId;\n\n    public String getId() {\n        return id;\n    }\n\n    public void setId(String id) {\n        this.id = id;\n    }\n\n    public String getTitle() {\n        return title;\n    }\n\n    public void setTitle(String title) {\n        this.title = title;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    public int getType() {\n        return type;\n    }\n\n    public void setType(int type) {\n        this.type = type;\n    }\n\n    public Date getDate() {\n        return date;\n    }\n\n    public void setDate(Date date) {\n        this.date = date;\n    }\n\n    public boolean isRead() {\n        return read;\n    }\n\n    public void setRead(boolean read) {\n        this.read = read;\n    }\n\n    public int getUserId() {\n        return userId;\n    }\n\n    public void setUserId(int userId) {\n        this.userId = userId;\n    }\n\n    public boolean isSent() {\n        return sent;\n    }\n\n    public void setSent(boolean sent) {\n        this.sent = sent;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/ObjectLocation.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.android.gms.maps.model.LatLng;\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class ObjectLocation {\n    @SerializedName(\"longitude\")\n    @Expose\n    double longitude;\n    @SerializedName(\"latitude\")\n    @Expose\n    double latitude;\n    @SerializedName(\"user_id\")\n    @Expose\n    int userId;\n\n\n    public ObjectLocation(double longitude, double latitude, int userId) {\n        this.userId = userId;\n        this.longitude = longitude;\n        this.latitude = latitude;\n    }\n    public int getUserId() {\n        return userId;\n    }\n\n    public double getLongitude() {\n        return longitude;\n    }\n\n    public void setLongitude(double longitude) {\n        this.longitude = longitude;\n    }\n\n    public double getLatitude() {\n        return latitude;\n    }\n\n    public void setLatitude(double latitude) {\n        this.latitude = latitude;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/RegUser.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class RegUser {\n\n    @SerializedName(\"username\")\n    @Expose\n    private String username;\n    @SerializedName(\"password\")\n    @Expose\n    private String password;\n    @SerializedName(\"first_name\")\n    @Expose\n    private String first_name;\n    @SerializedName(\"phone\")\n    @Expose\n    private String phone;\n    @SerializedName(\"city\")\n    @Expose\n    private String city;\n    @SerializedName(\"birthdate\")\n    @Expose\n    private String birthdate;\n    @SerializedName(\"profile_pic\")\n    @Expose\n    private String profile_pic;\n\n\n    public RegUser(String username, String password, String first_name, String phone, String city, String birthdate, String profile_pic) {\n        this.username = username;\n        this.password = password;\n        this.first_name = first_name;\n        this.phone = phone;\n        this.city = city;\n        this.birthdate = birthdate;\n        this.profile_pic = profile_pic;\n    }\n\n    public String getUsername() {\n        return username;\n    }\n\n    public void setUsername(String username) {\n        this.username = username;\n    }\n\n    public String getPassword() {\n        return password;\n    }\n\n    public void setPassword(String password) {\n        this.password = password;\n    }\n\n    public String getFirst_name() {\n        return first_name;\n    }\n\n    public void setFirst_name(String first_name) {\n        this.first_name = first_name;\n    }\n\n    public String getPhone() {\n        return phone;\n    }\n\n    public void setPhone(String phone) {\n        this.phone = phone;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    public String getBirthdate() {\n        return birthdate;\n    }\n\n    public void setBirthdate(String birthdate) {\n        this.birthdate = birthdate;\n    }\n\n    /*public String getProfile_pic() { return profile_pic; }\n\n    public void setProfile_pic(String profile_pic) { this.profile_pic = profile_pic; }*/\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/Token.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class Token {\n\n    @SerializedName(\"refresh\")\n    @Expose\n    private String refresh;\n    @SerializedName(\"access\")\n    @Expose\n    private String access;\n\n    private static Token token;\n    public static Token getToken(){\n        if(token == null){\n            token = new Token();\n        }\n        return token;\n    }\n\n    public Token( String refresh, String access) {\n        this.refresh = refresh;\n        this.access = access;\n    }\n\n    public Token() {\n    }\n\n    public String getRefresh() {\n        return refresh;\n    }\n\n    public void setRefresh(String refresh) {\n        this.refresh = refresh;\n    }\n\n    public String getAccess() {\n        return access;\n    }\n\n    public void setAccess(String access) {\n        this.access = access;\n    }\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/User.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport android.graphics.Bitmap;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class User {\n\n    @SerializedName(\"id\")\n    @Expose\n    private String id;\n    @SerializedName(\"username\")\n    @Expose\n    private String username;\n    @SerializedName(\"email\")\n    @Expose\n    private String email;\n    @SerializedName(\"phone\")\n    @Expose\n    private String phone;\n    @SerializedName(\"city\")\n    @Expose\n    private String city;\n    @SerializedName(\"birthdate\")\n    @Expose\n    private String birthdate;\n    @SerializedName(\"profile_pic\")\n    @Expose\n    private String profile_pic;\n    @SerializedName(\"id_card_pic\")\n    @Expose\n    private String id_card_pic;\n    @SerializedName(\"losts\")\n    @Expose\n    List<Integer>losts;\n    @SerializedName(\"founds\")\n    @Expose\n    List<Integer>founds;\n    private Bitmap profile_bitmap;\n\n    List<FoundItem> foundItem;\n    private static User user;\n    public static User getUser()\n    {\n        if (user == null) {\n            user = new User();\n            user.losts = new ArrayList<>();\n            user.founds = new ArrayList<>();\n            user.foundItem = new ArrayList<>();\n        }\n        return user;\n    }\n\n    public static void userLogout(){\n        user = null;\n    }\n\n    public List<Integer> getLosts() {\n        return losts;\n    }\n\n    public List<Integer> getFounds() {\n        return founds;\n    }\n\n    public String getId() {\n        return id;\n    }\n\n    public void setId(String id) {\n        this.id = id;\n    }\n\n    public String getUsername() {\n        return username;\n    }\n\n    public void setUsername(String username) {\n        this.username = username;\n    }\n\n    public String getEmail() {\n        return email;\n    }\n\n    public void setEmail(String email) {\n        this.email = email;\n    }\n\n    public String getPhone() {\n        return phone;\n    }\n\n    public void setPhone(String phone) {\n        this.phone = phone;\n    }\n\n    public String getCity() {\n        return city;\n    }\n\n    public void setCity(String city) {\n        this.city = city;\n    }\n\n    public String getBirthdate() {\n        return birthdate;\n    }\n\n    public void setBirthdate(String birthdate) { this.birthdate = birthdate; }\n\n    public String getProfile_pic() { return profile_pic; }\n\n    public void setProfile_pic(String profile_pic) { this.profile_pic = profile_pic; }\n\n    public Bitmap getProfile_bitmap() {\n        return profile_bitmap;\n    }\n\n    public void setProfile_bitmap(Bitmap profile_bitmap) {\n        this.profile_bitmap = profile_bitmap;\n    }\n\n    public String getId_card_pic() {\n        return id_card_pic;\n    }\n\n    public void setId_card_pic(String id_card_pic) {\n        this.id_card_pic = id_card_pic;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/pojo/UserMap.java",
    "content": "package com.helloworld.goodpoint.pojo;\n\nimport com.google.gson.annotations.Expose;\nimport com.google.gson.annotations.SerializedName;\n\npublic class UserMap {\n\n    @SerializedName(\"name\")\n    @Expose\n    private String name;\n    @SerializedName(\"email\")\n    @Expose\n    private String email;\n    @SerializedName(\"phone\")\n    @Expose\n    private String phone;\n\n    public UserMap(String name, String email, String phone) {\n        this.name = name;\n        this.email = email;\n        this.phone = phone;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getEmail() {\n        return email;\n    }\n\n    public void setEmail(String email) {\n        this.email = email;\n    }\n\n    public String getPhone() {\n        return phone;\n    }\n\n    public void setPhone(String phone) {\n        this.phone = phone;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/retrofit/ApiClient.java",
    "content": "package com.helloworld.goodpoint.retrofit;\n\nimport android.util.Log;\n\nimport retrofit2.Retrofit;\nimport retrofit2.converter.gson.GsonConverterFactory;\nimport retrofit2.converter.scalars.ScalarsConverterFactory;\n\npublic class ApiClient {\n    //base url\n    private static String BASE_URL ;\n    private static Retrofit retrofit = null;\n\n\n    //Create Builder ...\n    public static Retrofit getApiClient(String link) {\n        BASE_URL = link;\n        if (retrofit == null) {\n            retrofit = new Retrofit.Builder()\n                    .baseUrl(BASE_URL)\n                    .addConverterFactory(ScalarsConverterFactory.create())\n                    .addConverterFactory(GsonConverterFactory.create())\n                    .build();\n        }\n        return retrofit;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/retrofit/ApiInterface.java",
    "content": "package com.helloworld.goodpoint.retrofit;\n\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.pojo.FoundItem;\nimport com.helloworld.goodpoint.pojo.FoundPerson;\nimport com.helloworld.goodpoint.pojo.LostItem;\nimport com.helloworld.goodpoint.pojo.LostObject;\nimport com.helloworld.goodpoint.pojo.LostPerson;\nimport com.helloworld.goodpoint.pojo.NotificationItem;\nimport com.helloworld.goodpoint.pojo.ObjectLocation;\nimport com.helloworld.goodpoint.pojo.RegUser;\nimport com.helloworld.goodpoint.pojo.Token;\nimport com.helloworld.goodpoint.pojo.UserMap;\n\nimport java.util.List;\n\nimport okhttp3.MultipartBody;\nimport retrofit2.Call;\nimport retrofit2.http.Field;\nimport retrofit2.http.FormUrlEncoded;\nimport retrofit2.http.GET;\nimport retrofit2.http.Header;\nimport retrofit2.http.Multipart;\nimport retrofit2.http.PATCH;\nimport retrofit2.http.POST;\nimport retrofit2.http.Part;\nimport retrofit2.http.Path;\nimport retrofit2.http.Query;\n\npublic interface ApiInterface {\n\n    @FormUrlEncoded\n    @POST(\"auth/signup/\")\n    Call<RegUser> storePost(@Field(\"username\") String emailInput\n            , @Field(\"password\") String passwordInput, @Field(\"first_name\") String usernameInput\n            , @Field(\"phone\") String pInput, @Field(\"city\") String cityInput\n            , @Field(\"birthdate\") String Datee);\n\n\n    @Multipart\n    @POST(\"auth/signup/\")\n    Call<RegUser> storePost(@Part(\"username\") String emailInput\n            , @Part(\"password\") String passwordInput, @Part(\"first_name\") String usernameInput\n            , @Part(\"phone\") String pInput, @Part(\"city\") String cityInput\n            , @Part(\"birthdate\") String Datee, @Part MultipartBody.Part profile_pic);\n\n\n    @FormUrlEncoded\n    @POST(\"api/token/\")\n    Call<Token> getToken(@Field(\"username\") String emailInput, @Field(\"password\") String passwordInput);\n\n    @FormUrlEncoded\n    @POST(\"api/token/refresh/\")\n    Call<Token> refresh(@Field(\"refresh\") String refresh);\n\n\n    @POST(\"auth/signin/\")\n    Call<JsonObject> getData(@Header(\"Authorization\") String token);\n\n    @Multipart\n    @PATCH(\"auth/setidcard/\")\n    Call<JsonObject> setIdCard(@Header(\"Authorization\") String token, @Part MultipartBody.Part image);\n\n    //----------------------------------------------------------------------------------------------\n\n    @FormUrlEncoded\n    @POST(\"losts/lostobject/\")\n    Call<JsonObject> storeLostObj(@Field(\"user_id\") String id, @Field(\"date\") String Datee, @Field(\"city\") String cityInput);\n\n    @FormUrlEncoded\n    @POST(\"losts/lostitem/\")\n    Call<LostItem> storeLostItem(@Field(\"id\") String obj_id, @Field(\"type\") String Type, @Field(\"serial_number\") String Serial\n            , @Field(\"brand\") String brand, @Field(\"color\") String ObjectColor\n            , @Field(\"description\") String textArea_information);\n\n    @Multipart\n    @POST(\"losts/lostitem/\")\n    Call<LostItem> storeLostItem(@Part(\"id\") String obj_id, @Part(\"type\") String Type, @Part(\"serial_number\") String Serial\n            , @Part(\"brand\") String brand, @Part(\"color\") String ObjectColor\n            , @Part(\"description\") String textArea_information, @Part MultipartBody.Part image);\n\n    @Multipart\n    @POST(\"losts/lostperson/\")\n    Call<JsonObject> storeLostPerson(@Part(\"date\") String Date, @Part(\"city\") String city, @Part(\"user_id\") String user_id\n            , @Part(\"name\") String name, @Part MultipartBody.Part images);\n\n    //----------------------------------------------------------------------------------------------\n\n    @FormUrlEncoded\n    @POST(\"losts/foundobject/\")\n    Call<JsonObject> storeFoundObj(@Field(\"user_id\") String id, @Field(\"date\") String Datee, @Field(\"city\") String cityInput\n            , @Field(\"longitude\") double longitude, @Field(\"latitude\") double latitude);\n\n    @FormUrlEncoded\n    @POST(\"losts/founditem/\")\n    Call<FoundItem> storeFoundItem(@Field(\"id\") String obj_id, @Field(\"type\") String Type, @Field(\"serial_number\") String Serial\n            , @Field(\"brand\") String brand, @Field(\"color\") String ObjectColor\n            , @Field(\"description\") String textArea_information);\n\n    @Multipart\n    @POST(\"losts/foundperson/\")\n    Call<JsonObject> storeFoundPerson(@Part(\"user_id\") String user_id, @Part(\"date\") String Date, @Part(\"city\") String city\n            , @Part(\"longitude\") double longitude, @Part(\"latitude\") double latitude, @Part(\"name\") String name, @Part MultipartBody.Part pimage);\n\n    //----------------------------------------------------------------------------------------------\n\n    @GET(\"losts/map/\")\n    Call<List<ObjectLocation>> getPoint();\n\n    @GET(\"losts/founder/{id}\")\n    Call<UserMap> getUserMap(@Path(\"id\") int id);\n    //---------------------------------------------------------------------------------------------\n    @GET(\"losts/lostobject/{id}\")\n    Call <LostObject> getObject(@Path(\"id\") String id);\n\n    @GET(\"losts/LostItemFilter/\")\n    Call<List<LostItem>> getLItem(@Query(\"type\")String type);\n\n    @GET(\"losts/LostItemFilter/\")\n    Call<List<LostItem>> getLostItem(@Query(\"id\") int id);\n\n    @GET(\"losts/lost_person/id={id}/\")\n    Call<LostPerson> getLostPerson(@Path(\"id\") int id);\n\n    @GET(\"losts/found_person/id={id}/\")\n    Call<FoundPerson> getFoundPerson(@Path(\"id\") int id);\n\n    @GET(\"losts/FoundItemFilter/\")\n    Call<List<FoundItem>> getFoundItem(@Query(\"id\") int id);\n\n//------------------------------------------------------------------------------------\n\n    @FormUrlEncoded\n    @POST(\"notification/\")\n    Call<NotificationItem> storeNotification(@Field(\"user_id\") String id, @Field(\"title\") String title\n            , @Field(\"description\") String description\n            , @Field(\"type\") int type);\n\n    @GET(\"notification/user_id={id}/\")\n    Call<List<NotificationItem>> getNotification(@Path(\"id\") String user_id);\n\n    @FormUrlEncoded\n    @PATCH(\"notification/read/{id}/\")\n    Call<JsonObject> updateRead(@Path(\"id\") String id, @Field(\"is_read\") Boolean read);\n\n    @FormUrlEncoded\n    @PATCH(\"notification/sent/{id}/\")\n    Call<JsonObject> updateSent(@Path(\"id\") String id, @Field(\"is_sent\") Boolean sent);\n\n    @GET(\"notification/new/{user_id}/\")\n    Call<List<NotificationItem>> getNewNotification(@Path(\"user_id\") String user_id);\n\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/retrofit/Decode.java",
    "content": "package com.helloworld.goodpoint.retrofit;\n\nimport android.util.Base64;\nimport android.util.Log;\n\nimport java.io.UnsupportedEncodingException;\n\npublic class Decode {\n    private static String[] split;\n\n    public static String decoded(String JWTEncoded) throws Exception {\n\n            split = JWTEncoded.split(\"\\\\.\");\n            Log.d(\"JWT_DECODED\", \"Header: \" + getJson(split[0]));\n            Log.d(\"JWT_DECODED\", \"Body: \" + getJson(split[1]));\n            Log.d(\"JWT_DECODED\", \"Signiture: \" + getJson(split[2]));\n\n        return getJson(split[1]);\n    }\n\n    private static String getJson(String strEncoded) throws UnsupportedEncodingException {\n        byte[] decodedBytes = Base64.decode(strEncoded, Base64.URL_SAFE);\n        return new String(decodedBytes, \"UTF-8\");\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/ActionActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.Toast;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.ui.lostFoundObject.LostObjectDetailsActivity;\n\npublic class ActionActivity extends AppCompatActivity {\n    Button lost;\n    Button found;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        lost = (Button) findViewById(R.id.button_lost);\n        found = (Button) findViewById(R.id.button_found);\n\n    }\n    public void lost_btn(View v){\n\n        startActivity(new Intent(ActionActivity.this, LostObjectDetailsActivity.class));\n    }\n    public void found_btn(View v){\n        startActivity(new Intent(ActionActivity.this, LostObjectDetailsActivity.class));\n    }\n\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/AdapterOfMatchFragment.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.app.Activity;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ArrayAdapter;\nimport android.widget.ImageView;\nimport android.widget.ListView;\nimport android.widget.TextView;\n\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\n\nimport com.helloworld.goodpoint.R;\n\npublic class AdapterOfMatchFragment  extends ArrayAdapter<String> {\n\n    private Context context;\n    private String Rtitle[];\n    private String Rstatus[];\n    private int Rimg[];\n\n    //String ObjStat[] ={},ObjDetails;\n    String status[]={\"Has found\" ,\"Its owner has been found\",\"Has found\" ,\"Its owner has been found\",\n            \"Has found\" ,\"Its owner has been found\",\"Has found\" ,\"Its owner has been found\" }  ;\n\n    public AdapterOfMatchFragment(@NonNull Context context, String[] Rstatus) {\n        super(context, R.layout.row,Rstatus);\n        this.context = context;\n        //this.Rtitle = Rtitle;\n        this.Rstatus = Rstatus;\n        // this.Rimg = Rimg;\n    }\n\n    @NonNull\n    @Override\n    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {\n        View r = convertView;\n        viewHolder viewholder =null;\n\n        if(r == null){\n            LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);\n            r = layoutInflater.inflate(R.layout.row,null,true);\n            viewholder = new viewHolder(r);\n            r.setTag(viewholder);\n        }\n        else{\n\n            viewholder = (viewHolder) r.getTag();\n        }\n        viewholder.imageView.setImageResource(R.drawable.ic_baseline_gallery_24);\n        viewholder.stat.setText(status[position]);\n        viewholder.details.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View view) {\n                context.startActivity(new Intent(context, DetailsActivity.class));\n            }\n        });\n\n        return r;\n    }\n    class viewHolder{\n        private ImageView imageView;\n        private TextView stat, details;\n        viewHolder(View v){\n            imageView =  v.findViewById(R.id.obj);\n            stat =  v.findViewById(R.id.status);\n            details = v.findViewById(R.id.details);\n        }\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/Alert.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.TextView;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.ui.select_multiple_faces.Selection;\n\npublic class Alert extends AppCompatActivity {\n    private Button next_btn;\n    private TextView text;\n    int i;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.alert);\n        next_btn = (Button) findViewById(R.id.login_btn);\n        text=(TextView)findViewById(R.id.text);\n        i=GlobalVar.ImgThatHaveMoreThanOneFace.size();\n        text.setText(\"There are (\"+ i+ \") images that have multiple faces so press next to select only face \");\n\n        next_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                startActivity(new Intent(Alert.this, Selection.class));\n                finish();\n\n            }\n        });\n\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/DetailsActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.Manifest;\nimport android.content.ActivityNotFoundException;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.content.res.Configuration;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.util.TypedValue;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.LinearLayout;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.annotation.NonNull;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.core.app.ActivityCompat;\n\nimport com.helloworld.goodpoint.R;\n\npublic class DetailsActivity extends AppCompatActivity implements View.OnClickListener {\n\n    private static final int CALL_CODE = 1;\n    TextView main,sub,name,brand,color,addr,dlost,dfound,mname,mail,phone;\n    LinearLayout subLayout,nameLayout,brandLayout,colorLayout,addrLayout,matchLayout;\n    ImageView img;\n    Button call,sendMail;\n    private int id;\n    private int type;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_details);\n        marginOrientation();\n        init();\n       // updateTable();\n        sendMail.setOnClickListener(this);\n        subLayout.setVisibility(View.GONE);\n        colorLayout.setVisibility(View.GONE);\n        brandLayout.setVisibility(View.GONE);\n\n        call.setOnClickListener(this);\n    }\n\n    private void updateTable() {\n        switch (type){\n            case 1:\n                subLayout.setVisibility(View.GONE);\n                brandLayout.setVisibility(View.GONE);\n                colorLayout.setVisibility(View.GONE);\n                \n                break;\n            case 2:\n\n                break;\n            case 3:\n\n                break;\n            case 4:\n\n                break;\n            default:\n\n        }\n    }\n\n    private void init() {\n        main = findViewById(R.id.main_cat);\n        sub = findViewById(R.id.item_cat);\n        name = findViewById(R.id.lost_name);\n        brand = findViewById(R.id.brand_name);\n        color = findViewById(R.id.color_item);\n        addr = findViewById(R.id.address);\n        dlost = findViewById(R.id.date_of_lost);\n        dfound = findViewById(R.id.date_of_found);\n        mname = findViewById(R.id.name_of_matching);\n        mail = findViewById(R.id.mail_of_matching);\n        phone = findViewById(R.id.phone_of_matching);\n\n        subLayout = findViewById(R.id.sub_cat);\n        nameLayout = findViewById(R.id.person_name);\n        brandLayout = findViewById(R.id.brand_detail);\n        colorLayout = findViewById(R.id.color_detail);\n        addrLayout = findViewById(R.id.addr_loc);\n        matchLayout = findViewById(R.id.matched_detail);\n\n        img = findViewById(R.id.img_detail);\n        call = findViewById(R.id.call_btn);\n        sendMail = findViewById(R.id.mail_btn);\n\n       // id = getIntent().getIntExtra(\"id\",0);\n       // type = getIntent().getIntExtra(\"type\",0);\n    }\n\n    private void marginOrientation() {\n        int orientation = getResources().getConfiguration().orientation;\n        if(orientation == Configuration.ORIENTATION_LANDSCAPE){\n            LinearLayout layout = findViewById(R.id.parent_table_details);\n            LinearLayout.MarginLayoutParams layoutParams = (LinearLayout.MarginLayoutParams) layout.getLayoutParams();\n            float ver = getResources().getDimension(R.dimen._5sdp);\n            float hor = getResources().getDimension(R.dimen._15sdp);\n            int marginVer = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,ver,getResources().getDisplayMetrics());\n            int marginHor = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,hor,getResources().getDisplayMetrics());\n            layoutParams.setMargins(marginHor,marginVer,marginHor,marginVer);\n            layout.requestLayout();\n        }\n    }\n\n    @Override\n    public void onClick(View view) {\n        switch(view.getId()){\n            case R.id.call_btn:\n                callHim();\n                break;\n            case R.id.mail_btn:\n                sendEmail();\n                break;\n        }\n    }\n\n    private void callHim() {\n        Intent callIntent = new Intent(Intent.ACTION_CALL);\n        callIntent.setData(Uri.parse(\"tel:\"+phone.getText().toString()));\n        if(ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED){\n            ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CALL_PHONE},CALL_CODE);\n            return;\n        }\n        startActivity(callIntent);\n    }\n\n    private void sendEmail() {\n        Intent emailIntent = new Intent(Intent.ACTION_SENDTO);\n        emailIntent.setData(Uri.parse(\"mailto:?subject=Matching item&to=\"+mail.getText().toString()));\n        try {\n            startActivity(Intent.createChooser(emailIntent,\"Send mail...\"));\n        }catch (ActivityNotFoundException e){\n            Log.e(\"MY_TAG\",e.getMessage());\n        }\n    }\n\n    @Override\n    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {\n        switch (requestCode){\n            case CALL_CODE:\n                if(grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)\n                    callHim();\n                else\n                    Toast.makeText(this, \"You should allow to access call\", Toast.LENGTH_SHORT).show();\n                break;\n        }\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/ExternalActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\n\nimport com.helloworld.goodpoint.R;\n\npublic class ExternalActivity extends AppCompatActivity {\n\n    EditText et;\n    Button btn;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_external);\n        et = findViewById(R.id.ngrok_link);\n        btn = findViewById(R.id.submit_btn);\n        btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View view) {\n                PrefManager p = new PrefManager(ExternalActivity.this);\n                p.setNGROKLink(\"https://\"+et.getText().toString()+\".ngrok.io\");\n            }\n        });\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/FoundMapFragment.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.Manifest;\nimport android.annotation.SuppressLint;\nimport android.content.ActivityNotFoundException;\nimport android.content.DialogInterface;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.location.Location;\nimport android.location.LocationManager;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.os.Looper;\nimport android.provider.Settings;\nimport android.util.Log;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.Button;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.core.app.ActivityCompat;\nimport androidx.fragment.app.Fragment;\n\nimport com.google.android.gms.location.FusedLocationProviderClient;\nimport com.google.android.gms.location.LocationCallback;\nimport com.google.android.gms.location.LocationRequest;\nimport com.google.android.gms.location.LocationResult;\nimport com.google.android.gms.location.LocationServices;\nimport com.google.android.gms.maps.CameraUpdateFactory;\nimport com.google.android.gms.maps.GoogleMap;\nimport com.google.android.gms.maps.OnMapReadyCallback;\nimport com.google.android.gms.maps.SupportMapFragment;\nimport com.google.android.gms.maps.model.BitmapDescriptorFactory;\nimport com.google.android.gms.maps.model.LatLng;\nimport com.google.android.gms.maps.model.Marker;\nimport com.google.android.gms.maps.model.MarkerOptions;\nimport com.google.android.gms.tasks.OnCompleteListener;\nimport com.google.android.gms.tasks.OnFailureListener;\nimport com.google.android.gms.tasks.OnSuccessListener;\nimport com.google.android.gms.tasks.Task;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.ObjectLocation;\nimport com.helloworld.goodpoint.pojo.RegUser;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.pojo.UserMap;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\n\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Random;\n\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\nimport static android.graphics.Color.BLUE;\n\npublic class FoundMapFragment extends Fragment implements GoogleMap.OnMarkerClickListener, View.OnClickListener {\n\n    private static final int MAP_CODE = 1;\n    private static final int CALL_CODE = 2;\n    private static final int CHECK_LOCATION_ENABLED_CODE = 3;\n    SupportMapFragment mapFragment;\n    FusedLocationProviderClient client;\n    Location curLocation;\n    String[] permissions = {Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION};\n    List<ObjectLocation> list;\n    Map<Marker,Integer>marker_id;\n    AlertDialog.Builder dialog;\n    TextView name,email,phone;\n    Button call,mail;\n    String emailAddress;\n\n    private OnMapReadyCallback callback = new OnMapReadyCallback() {\n\n        @SuppressLint(\"MissingPermission\")\n        @Override\n        public void onMapReady(GoogleMap googleMap) {\n            LatLng curLatLng = new LatLng(curLocation.getLatitude(), curLocation.getLongitude());\n\n            googleMap.setMyLocationEnabled(true);\n            googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(curLatLng, 15));\n\n            //list = getLocations();\n\n            for(ObjectLocation object: list) {\n                Marker marker = googleMap.addMarker(new MarkerOptions().position(new LatLng(object.getLatitude(), object.getLongitude())));\n                marker.setIcon(BitmapDescriptorFactory.defaultMarker(30));\n                marker_id.put(marker,object.getUserId());\n            }\n\n            googleMap.setOnMarkerClickListener(FoundMapFragment.this);\n\n        }\n    };\n\n    /*\n    private List<ObjectLocation> getLocations() {\n        List<ObjectLocation>ret = new ArrayList<>();\n        Random random = new Random();\n        for(int i=0;i<100;i++)\n            ret.add(new ObjectLocation(25+random.nextDouble()*10,22+random.nextDouble()*10,i));\n        return ret;\n    }\n    */\n    @Nullable\n    @Override\n    public View onCreateView(@NonNull LayoutInflater inflater,\n                             @Nullable ViewGroup container,\n                             @Nullable Bundle savedInstanceState) {\n        return inflater.inflate(R.layout.fragment_map, container, false);\n\n    }\n\n    @Override\n    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {\n        super.onViewCreated(view, savedInstanceState);\n        getPoints();\n\n    }\n\n    public boolean locationEnable() {\n        final LocationManager manager = (LocationManager) getContext().getSystemService(getContext().LOCATION_SERVICE);\n\n        return manager.isProviderEnabled(LocationManager.GPS_PROVIDER) || manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);\n    }\n\n    private void buildAlertMessageNoGps() {\n        final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());\n        builder.setMessage(\"Your GPS seems to be disabled, do you want to enable it?\")\n                .setCancelable(false)\n                .setPositiveButton(\"Yes\", new DialogInterface.OnClickListener() {\n                    public void onClick(final DialogInterface dialog, final int id) {\n                        startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS),CHECK_LOCATION_ENABLED_CODE);\n                        //startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));\n                    }\n                })\n                .setNegativeButton(\"No\", new DialogInterface.OnClickListener() {\n                    public void onClick(final DialogInterface dialog, final int id) {\n                        dialog.cancel();\n                    }\n                });\n        final AlertDialog alert = builder.create();\n        alert.show();\n    }\n\n    private void runGoogleMap() {\n        if (ActivityCompat.checkSelfPermission(getContext(), permissions[0]) != PackageManager.PERMISSION_GRANTED &&\n                ActivityCompat.checkSelfPermission(getContext(), permissions[1]) != PackageManager.PERMISSION_GRANTED) {\n            requestPermissions(permissions, MAP_CODE);\n        }else if(!locationEnable()){\n            buildAlertMessageNoGps();\n        }else {\n            init();\n            client.getLastLocation()/*.addOnSuccessListener(new OnSuccessListener<Location>() {\n                @Override\n                public void onSuccess(@NonNull Location location) {\n                    curLocation = location;\n                    if (mapFragment != null) {\n                        mapFragment.getMapAsync(callback);\n                    }\n                }\n            }).addOnFailureListener(new OnFailureListener() {\n                @Override\n                public void onFailure(@NonNull Exception e) {\n                    Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_SHORT).show();\n                }\n            })*/.addOnCompleteListener(new OnCompleteListener<Location>() {\n                @SuppressLint(\"MissingPermission\")\n                @Override\n                public void onComplete(@NonNull Task<Location> task) {\n                    Location location = task.getResult();\n                    if(location != null) {\n                        curLocation = location;\n                        if (mapFragment != null) {\n                            mapFragment.getMapAsync(callback);\n                        }\n                    }else{\n                        LocationRequest locationRequest = new LocationRequest()\n                                .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)\n                                .setInterval(10000)\n                                .setFastestInterval(1000)\n                                .setNumUpdates(1);\n                        LocationCallback locationCallback = new LocationCallback(){\n                            @Override\n                            public void onLocationResult(LocationResult locationResult) {\n                                Location location = locationResult.getLastLocation();\n                                curLocation = location;\n                                if (mapFragment != null) {\n                                    mapFragment.getMapAsync(callback);\n                                }\n                            }\n                        };\n                        client.requestLocationUpdates(locationRequest,locationCallback, Looper.myLooper());\n                    }\n                }\n            });\n        }\n    }\n\n    private void init() {\n        mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);\n        client = LocationServices.getFusedLocationProviderClient(getContext());\n        marker_id = new HashMap<>();\n        dialog = new AlertDialog.Builder(getContext());\n    }\n\n    @Override\n    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {\n        switch(requestCode){\n            case MAP_CODE:\n                if (grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){\n                    runGoogleMap();\n                }else {\n                    Toast.makeText(getContext(), \"You should allow to access location\", Toast.LENGTH_SHORT).show();\n                }\n                break;\n            case CALL_CODE:\n                if (grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){\n                    callHim();\n                }else {\n                    Toast.makeText(getContext(), \"You should allow to access call\", Toast.LENGTH_SHORT).show();\n                }\n                break;\n        }\n    }\n\n    @Override\n    public boolean onMarkerClick(Marker marker) {\n        int id = marker_id.get(marker);\n        getUserMap(id);\n        Log.e(\"MYTAG\",id+\"\");\n        return false;\n    }\n\n    @Override\n    public void onClick(View view) {\n        switch (view.getId()){\n            case R.id.call_button:\n                callHim();\n                break;\n            case R.id.mail_button:\n                sendEmail();\n                break;\n        }\n    }\n\n    private void callHim() {\n        Intent callIntent = new Intent(Intent.ACTION_CALL);\n        callIntent.setData(Uri.parse(\"tel:\"+phone.getText().toString()));\n        if(ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED){\n            requestPermissions(new String[]{Manifest.permission.CALL_PHONE}, CALL_CODE);\n            return;\n        }\n        startActivity(callIntent);\n    }\n\n    private void sendEmail() {\n        Intent emailIntent = new Intent(Intent.ACTION_SENDTO);\n        emailIntent.setData(Uri.parse(\"mailto:?subject=Lost object&to=\"+emailAddress));\n        try {\n            startActivity(Intent.createChooser(emailIntent,\"Send mail...\"));\n        }catch (ActivityNotFoundException e){\n            Log.e(\"MY_TAG\",e.getMessage());\n        }\n    }\n\n    @Override\n    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {\n        super.onActivityResult(requestCode, resultCode, data);\n        switch(requestCode) {\n            case CHECK_LOCATION_ENABLED_CODE:\n                runGoogleMap();\n                break;\n        }\n    }\n\n    public void getPoints()\n    {\n\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getContext()).getNGROKLink()).create(ApiInterface.class);\n        Call<List<ObjectLocation>> call = apiInterface.getPoint();\n        call.enqueue(new Callback<List<ObjectLocation>>() {\n            @Override\n            public void onResponse(Call<List<ObjectLocation>> call, Response<List<ObjectLocation>> response) {\n                list = response.body();\n                runGoogleMap();\n//                Toast.makeText(getContext(), \"\"+response.body().get(0).getLatitude(), Toast.LENGTH_SHORT).show();\n            }\n\n            @Override\n            public void onFailure(Call<List<ObjectLocation>> call, Throwable t) {\n\n            }\n        });\n    }\n\n    public  void getUserMap(int id)\n    {\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getContext()).getNGROKLink()).create(ApiInterface.class);\n        Call<UserMap> call2 = apiInterface.getUserMap(id);\n        call2.enqueue(new Callback<UserMap>() {\n            @Override\n            public void onResponse(Call<UserMap> call2, Response<UserMap> response) {\n\n                LayoutInflater inflater = LayoutInflater.from(getContext());\n                View v = inflater.inflate(R.layout.custom_map_dialog,null);\n                name = v.findViewById(R.id.name_of_founder);\n                name.setText(response.body().getName());\n                email = v.findViewById(R.id.mail_of_founder);\n                email.setText(response.body().getEmail());\n                emailAddress = email.getText().toString();\n                phone = v.findViewById(R.id.phone_of_founder);\n                phone.setText(response.body().getPhone());\n                call = v.findViewById(R.id.call_button);\n                call.setOnClickListener(FoundMapFragment.this);\n                mail = v.findViewById(R.id.mail_button);\n                mail.setOnClickListener(FoundMapFragment.this);\n                dialog.setView(v);\n                dialog.setCancelable(true);\n                dialog.create().show();\n\n\n//                Toast.makeText(getContext(), response.body().getName(), Toast.LENGTH_SHORT).show();\n            }\n\n            @Override\n            public void onFailure(Call<UserMap> call, Throwable t) {\n\n            }\n        });\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/GlobalVar.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.graphics.Bitmap;\n\nimport com.helloworld.goodpoint.pojo.LostItem;\nimport com.helloworld.goodpoint.ui.candidate.SubItem;\nimport com.helloworld.goodpoint.ui.select_multiple_faces.SubItemList;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class GlobalVar {\n    public static  List<List<Bitmap>> allFaces = new ArrayList<>();\n    public static  Bitmap realcameraImage ;\n    public static  Bitmap realcameraIdCard ;\n    public static  List<Bitmap> ImgThatHaveMoreThanOneFace = new ArrayList<>();\n    public static  List<Bitmap> FinialFacesThatWillGoToDataBase = new ArrayList<>();\n    public static  int flag;\n    public static  List<SubItemList> slist;\n    public static  List<SubItem> sublist;\n    public static  int position;\n    public static  int p;\n    public static  List<String> losts;\n    public static  List<String> founds;\n    public static  List<LostItem> lostList;\n    public static  List<String> percentList;\n    public static  String type;\n\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/HomeActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.content.DialogInterface;\nimport android.content.Intent;\nimport android.graphics.Color;\nimport android.graphics.PorterDuff;\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.view.LayoutInflater;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.widget.LinearLayout;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.annotation.NonNull;\nimport androidx.appcompat.app.ActionBarDrawerToggle;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.appcompat.widget.Toolbar;\nimport androidx.core.view.GravityCompat;\nimport androidx.drawerlayout.widget.DrawerLayout;\nimport androidx.fragment.app.Fragment;\nimport androidx.swiperefreshlayout.widget.SwipeRefreshLayout;\n\nimport com.google.android.material.bottomnavigation.BottomNavigationView;\nimport com.google.android.material.bottomsheet.BottomSheetDialog;\nimport com.google.android.material.floatingactionbutton.FloatingActionButton;\nimport com.google.android.material.navigation.NavigationView;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.FoundItem;\nimport com.helloworld.goodpoint.pojo.FoundPerson;\nimport com.helloworld.goodpoint.pojo.LostItem;\nimport com.helloworld.goodpoint.pojo.LostObject;\nimport com.helloworld.goodpoint.pojo.LostPerson;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.ui.lostFoundObject.FoundObjectActivity;\nimport com.helloworld.goodpoint.ui.lostFoundObject.LostObjectDetailsActivity;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport de.hdodenhof.circleimageview.CircleImageView;\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class HomeActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {\n    DrawerLayout drawerLayout;\n    NavigationView navigationView;\n    Toolbar toolbar;\n    AlertDialog.Builder dialog;\n    BottomNavigationView bottomNavigationView;\n    FloatingActionButton fab;\n    TextView namenavigator;\n    TextView mailnavigator;\n    CircleImageView imgnavigator;\n    Fragment selectedFragment;\n    List<LostObject> listObj;\n    List<LostItem> list1;\n    FoundPerson list3;\n    LostPerson list2;\n    List<FoundItem> list;\n    boolean isGetLostItems=false, isGetFoundItems=false, isGetLostPersons=false, isGetFoundPersons=false;\n\n    SwipeRefreshLayout refreshLayout;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        getHomeLosts();\n        getHomeFounds();\n        setContentView(R.layout.activity_home);\n        /*refreshLayout = findViewById(R.id.swipe);\n\n        refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {\n            @Override\n            public void onRefresh() {\n                selectedFragment = new HomeFragment();\n                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();\n                refreshLayout.setRefreshing(false);\n            }\n        });*/\n        init();\n        setToolBarAndDrawer();\n        setBottomNavigator();\n\n        /*if (savedInstanceState == null) {\n            //To make first fragment is home when opening the app\n            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fhome).commit();\n\n        }*/\n        selectedFragment = new HomeFragment();\n        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();\n\n    }\n\n    private void setBottomNavigator() {\n        bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomNavigationView);\n        fab = (FloatingActionButton) findViewById(R.id.fab);\n\n        //To Disable item under Fab\n        Menu menuNav = bottomNavigationView.getMenu();\n        MenuItem nav_item2 = menuNav.findItem(R.id.placeholder);\n        nav_item2.setEnabled(false);\n\n        bottomNavigationView.setBackgroundColor(0); //To hide the color of nav view\n        bottomNavigationView.setOnNavigationItemSelectedListener(navListner);\n    }\n\n    private void setToolBarAndDrawer() {\n        setSupportActionBar(toolbar);\n        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.nav_drawer_open, R.string.nav_drawer_close);\n        toggle.getDrawerArrowDrawable().setColor(getResources().getColor(android.R.color.white));\n        drawerLayout.addDrawerListener(toggle);\n        toggle.syncState();\n        navigationView.setNavigationItemSelectedListener(this);\n    }\n\n    private void init() {\n        drawerLayout = findViewById(R.id.drawer_layout);\n        toolbar = findViewById(R.id.toolbar);\n        navigationView = findViewById(R.id.nv);\n        navigationView.bringToFront();\n        View view = navigationView.getHeaderView(0);\n        namenavigator = (TextView) view.findViewById(R.id.namenav);\n        mailnavigator = (TextView) view.findViewById(R.id.mailnav);\n        imgnavigator = view.findViewById(R.id.circuler_profile_img);\n        namenavigator.setText(User.getUser().getUsername());\n        mailnavigator.setText(User.getUser().getEmail());\n        if (User.getUser().getProfile_bitmap() != null)\n            imgnavigator.setImageBitmap(User.getUser().getProfile_bitmap());\n    }\n\n    @Override\n    protected void onRestart() {\n        super.onRestart();\n        getHomeLosts();\n        getHomeFounds();\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(Menu menu) {\n        getMenuInflater().inflate(R.menu.home_menu, menu);\n        menu.getItem(0).getIcon().mutate().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);\n        return true;\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(@NonNull MenuItem item) {\n        if (item.getItemId() == R.id.notification){\n            Intent intent = new Intent(this, NotificationActivity.class);\n            intent.putExtra(\"ID\",User.getUser().getId());\n            startActivity(intent);\n        }\n        return super.onOptionsItemSelected(item);\n    }\n\n    @Override\n    public boolean onNavigationItemSelected(@NonNull MenuItem item) {\n        switch (item.getItemId()) {\n            case R.id.drawer_share:\n\n                break;\n            case R.id.drawer_rate:\n\n                break;\n            case R.id.drawer_feedback:\n\n                break;\n            case R.id.drawer_about_us:\n\n                break;\n            case R.id.drawer_setting:\n\n                break;\n            case R.id.drawer_logout:\n                dialog = createDialog(\"Logout\", R.drawable.ic_baseline_exit_to_app_24);\n                dialog.create().show();\n                break;\n            default:\n                return false;\n        }\n        drawerLayout.closeDrawer(GravityCompat.START);\n        return false;\n    }\n\n    private AlertDialog.Builder createDialog(String title, int icon) {\n        return new AlertDialog.Builder(this)\n                .setTitle(title)\n                .setMessage(\"Are you sure?\")\n                .setIcon(icon)\n                .setNegativeButton(\"OK\", new DialogInterface.OnClickListener() {\n                    @Override\n                    public void onClick(DialogInterface dialog, int which) {\n                        PrefManager prefManager = new PrefManager(getApplicationContext());\n                        prefManager.setLogout();\n                        User.userLogout();\n                        startActivity(new Intent(HomeActivity.this, SigninActivity.class));\n                        finish();\n                    }\n                }).setPositiveButton(\"Cancel\", new DialogInterface.OnClickListener() {\n                    @Override\n                    public void onClick(DialogInterface dialog, int which) {\n\n                    }\n                }).setCancelable(false);\n    }\n\n    @Override\n    public void onBackPressed() {\n        if (drawerLayout.isDrawerOpen(GravityCompat.START))\n            drawerLayout.closeDrawer(GravityCompat.START);\n        else\n            super.onBackPressed();\n    }\n\n    public void showPopup(View v) { //Fab Action\n\n        final BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(HomeActivity.this, R.style.BottomSheetTheme);\n        View bottomSheetView = LayoutInflater.from(getApplicationContext())\n                .inflate(R.layout.bottom_sheet_dialog, (LinearLayout) findViewById(R.id.bottom_sheet));\n\n        bottomSheetView.findViewById(R.id.hide_sheet).setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                bottomSheetDialog.dismiss();\n            }\n        });\n\n        bottomSheetView.findViewById(R.id.ilost).setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                startActivity(new Intent(HomeActivity.this, LostObjectDetailsActivity.class));\n                bottomSheetDialog.dismiss();\n            }\n        });\n\n        bottomSheetView.findViewById(R.id.ifound).setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                startActivity(new Intent(HomeActivity.this, FoundObjectActivity.class));\n                bottomSheetDialog.dismiss();\n            }\n        });\n\n        bottomSheetDialog.setContentView(bottomSheetView);\n        bottomSheetDialog.show();\n\n    }\n\n\n    private BottomNavigationView.OnNavigationItemSelectedListener navListner =\n            new BottomNavigationView.OnNavigationItemSelectedListener() {\n                @Override\n                public boolean onNavigationItemSelected(@NonNull MenuItem item) {\n                    selectedFragment = getSupportFragmentManager().getFragments().get(0);\n                    switch (item.getItemId()) {\n                        case R.id.miHome:\n                            selectedFragment = new HomeFragment();\n                            break;\n                        case R.id.miMatch:\n                            selectedFragment = new MatchFragment();\n                            break;\n                        case R.id.miProfile:\n                            selectedFragment = new ProfileFragment();\n                            break;\n                        case R.id.miLocation:\n                            selectedFragment = new FoundMapFragment();\n                            break;\n                    }\n                    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();\n                    return true;\n                }\n            };\n\n    public void getHomeLosts() {\n        List<Integer> losts = new ArrayList<>();\n        losts = User.getUser().getLosts();\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n\n        GlobalVar.losts = new ArrayList<String>();\n        if (losts != null) {\n            for (int i = 0; i < losts.size(); i++) {\n                Call<List<LostItem>> call2 = apiInterface.getLostItem(losts.get(i));\n                call2.enqueue(new Callback<List<LostItem>>() {\n                    @Override\n                    public void onResponse(Call<List<LostItem>> call, Response<List<LostItem>> response) {\n                        list1 = response.body();\n                          if (response.body()!=null&&list1.size()!=0) {\n                            String t = list1.get(0).getType() + \" \" + list1.get(0).getBrand() + \"\";\n                            GlobalVar.losts.add(t);\n                        }\n                        isGetLostItems=true;\n                          dataIsReady();\n                    }\n\n                    @Override\n                    public void onFailure(Call<List<LostItem>> call, Throwable t) {\n                        Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show();\n                        isGetLostItems=true;\n                        dataIsReady();\n                    }\n                });\n\n                Call<LostPerson> call3 = apiInterface.getLostPerson(losts.get(i));\n                call3.enqueue(new Callback<LostPerson>() {\n                    @Override\n                    public void onResponse(Call<LostPerson> call, Response<LostPerson> response) {\n                        list2 = response.body();\n                        Log.e(\"TAG\", \"onResponse: \"+response.body());\n                        if (response.body()!=null) {\n                            String t = list2.getName() + \" is Missing\";\n                            GlobalVar.losts.add(t);\n                        }\n                        isGetLostPersons=true;\n                        dataIsReady();\n                    }\n\n                    @Override\n                    public void onFailure(Call<LostPerson> call, Throwable t) {\n                        Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show();\n                        isGetLostPersons=true;\n                        dataIsReady();\n                    }\n                });\n            }\n\n        } else\n            Log.e(\"lost\", \"There is no objects of Losses.\");\n            //Toast.makeText(getApplicationContext(), \"There is no objects of Losses\", Toast.LENGTH_LONG).show();\n\n    }\n\n    private void dataIsReady() {\n        if(isGetFoundItems && isGetFoundPersons && isGetLostItems && isGetLostPersons)\n            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();\n    }\n\n    public void getHomeFounds() {\n        List<Integer> founds = new ArrayList<>();\n        founds = User.getUser().getFounds();\n        GlobalVar.founds = new ArrayList<String>();\n        if (!founds.isEmpty()) {\n            for (int i = 0; i < founds.size(); i++) {\n                ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n                    Call<List<FoundItem>> call2 = apiInterface.getFoundItem(founds.get(i));\n                    call2.enqueue(new Callback<List<FoundItem>>() {\n                        @Override\n                        public void onResponse(Call<List<FoundItem>> call, Response<List<FoundItem>> response) {\n                            list = response.body();\n                            if (response.body()!=null&& list.size() !=0) {\n                                String t = list.get(0).getType() + \" \" + list.get(0).getBrand() + \"\";\n                                GlobalVar.founds.add(t);\n                            }\n                            isGetFoundItems=true;\n                            dataIsReady();\n                        }\n                        @Override\n                        public void onFailure(Call<List<FoundItem>> call, Throwable t) {\n                            Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show();\n                            isGetFoundItems=true;\n                            dataIsReady();\n                        }\n                    });\n                    Call<FoundPerson> call3 = apiInterface.getFoundPerson(founds.get(i));\n                    call3.enqueue(new Callback<FoundPerson>() {\n                        @Override\n                        public void onResponse(Call<FoundPerson> call, Response<FoundPerson> response) {\n                            list3 = response.body();\n                            Log.e(\"TAG\", \"onResponse: \"+response.body());\n                            if (response.body() != null) {\n                               String t = list3.getName() + \" is Founds\";\n                                GlobalVar.founds.add(t);\n                            }\n                            isGetFoundPersons=true;\n                            dataIsReady();\n                        }\n\n                        @Override\n                        public void onFailure(Call<FoundPerson> call, Throwable t) {\n                            Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show();\n                            isGetFoundPersons=true;\n                            dataIsReady();\n                        }\n                    });\n\n            }\n        } else\n            Log.e(\"found\", \"There is no objects of Founds.\");\n            //Toast.makeText(getApplicationContext(), \"There is no objects of Founds.\", Toast.LENGTH_LONG).show();\n    }\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/HomeFragment.java",
    "content": "package com.helloworld.goodpoint.ui;\n\n\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ExpandableListAdapter;\nimport android.widget.ExpandableListView;\nimport android.widget.TextView;\n\nimport androidx.fragment.app.Fragment;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.adapter.MyExpandableListAdapter;\nimport com.helloworld.goodpoint.pojo.LostItem;\nimport com.helloworld.goodpoint.pojo.LostObject;\nimport com.helloworld.goodpoint.pojo.User;\n\nimport java.util.ArrayList;\nimport java.util.Calendar;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\n\npublic class    HomeFragment extends Fragment {\n\n    List<String> groupList;\n    List<String> childList;\n    Map<String, List<String>> objects; //To link group list with child list\n    ExpandableListView expandableListView;\n    ExpandableListAdapter expandableListAdapter;\n    TextView Daily_msg;\n    TextView Hi_msg;\n    List<LostObject> listObj;\n    LostItem list1;\n    String LossesObjects[];\n    //   String FindingsItems[];\n\n    @Override\n    public View onCreateView(LayoutInflater inflater, ViewGroup container,\n                             Bundle savedInstanceState) {\n        View v = inflater.inflate(R.layout.fragment_home, container, false);\n\n        Daily_msg = v.findViewById(R.id.daily_message);\n        Calendar c = Calendar.getInstance();\n        int timeOfDay = c.get(Calendar.HOUR_OF_DAY);\n\n        if (timeOfDay >= 0 && timeOfDay < 12) {\n            Daily_msg.setText(\"Good Morning\");\n        } else if (timeOfDay >= 12 && timeOfDay < 16) {\n            Daily_msg.setText(\"Good Afternoon\");\n        } else if (timeOfDay >= 16 && timeOfDay < 21) {\n            Daily_msg.setText(\"Good Evening\");\n        } else if (timeOfDay >= 21 && timeOfDay < 24) {\n            Daily_msg.setText(\"Good Night\");\n        }\n\n        Hi_msg = v.findViewById(R.id.hi_message);\n        Hi_msg.setText(\"Hi, \" + User.getUser().getUsername());\n\n        // Inflate the layout for this fragment\n\n        createGroupList();\n        createObjects(GlobalVar.losts,GlobalVar.founds);\n\n        expandableListView = v.findViewById(R.id.expanded_menu);\n        expandableListAdapter = new MyExpandableListAdapter(getActivity(), groupList, objects); //getActivity\n        expandableListView.setAdapter(expandableListAdapter);\n        expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {\n            @Override\n            public boolean onChildClick(ExpandableListView parent, View v, int i, int i1, long l) {\n                String selected = expandableListAdapter.getChild(i, i1).toString();\n                return true;\n            }\n        });\n\n        return v;\n    }\n\n\n    private void createObjects(List<String> itemsL,List<String> itemsF) {\n\n        objects = new HashMap<String, List<String>>();\n        for (String group : groupList) {\n            if (group.equals(getString(R.string.Losses))) {\n                loadChild(itemsL);\n            } else if (group.equals(getString(R.string.Founds)))\n                loadChild(itemsF);\n            objects.put(group, childList);\n        }\n    }\n\n    private void loadChild(List<String> AllObjects) {\n        childList = new ArrayList<>();\n        if (AllObjects != null) {\n            for (int i = 0; i < AllObjects.size(); i++)\n                childList.add(AllObjects.get(i));\n        } else\n            childList.add(\"b\");\n    }\n\n\n    private void createGroupList() {\n        groupList = new ArrayList<>();\n        groupList.add(getString(R.string.Losses));\n        groupList.add(getString(R.string.Founds));\n    }\n\n    /*  public String[] getHomeFounds() {\n\n          ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getContext()).getNGROKLink()).create(ApiInterface.class);\n          Call<List<FoundItem>> call = apiInterface.getHomeFounds_i(User.getUser().getId());\n          call.enqueue(new Callback<List<FoundItem>>() {\n              @Override\n              public void onResponse(Call<List<FoundItem>> call, Response<List<FoundItem>> response) {\n                  try {\n                      JSONObject jsonObject = new JSONObject(response.body().toString());\n                      String id = jsonObject.getString(\"id\");\n\n                      Call<List<FoundItem>> call2 = apiInterface.getFItem(id);\n                      call2.enqueue(new Callback<List<FoundItem>>() {\n                          @Override\n                          public void onResponse(Call<List<FoundItem>> call, Response<List<FoundItem>> response) {\n\n                          }\n\n                          @Override\n                          public void onFailure(Call<List<FoundItem>> call, Throwable t) {\n                              Toast.makeText(getContext(), t.getMessage(), Toast.LENGTH_LONG).show();\n                          }\n                      });\n\n                  } catch (JSONException e) {\n                      Toast.makeText(getContext(), \"\"+e.getMessage(), Toast.LENGTH_SHORT).show();\n                  }\n              }\n\n\n              @Override\n              public void onFailure(Call<List<FoundItem>> call, Throwable t) {\n                  Toast.makeText(getContext(), t.getMessage(), Toast.LENGTH_LONG).show();\n\n              }\n          });\n          Log.d(\"e\", \"message=\" + FindingsItems);\n          return FindingsItems;\n      }\n  */\n\n\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/ID_cardDetection.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport androidx.annotation.NonNull;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.camera.core.CameraSelector;\nimport androidx.camera.core.ImageAnalysis;\nimport androidx.camera.core.ImageProxy;\nimport androidx.camera.core.Preview;\nimport androidx.camera.lifecycle.ProcessCameraProvider;\nimport androidx.core.app.ActivityCompat;\nimport androidx.core.content.ContextCompat;\nimport androidx.lifecycle.LifecycleOwner;\n\nimport android.Manifest;\nimport android.annotation.SuppressLint;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.graphics.ImageFormat;\nimport android.graphics.Rect;\nimport android.graphics.YuvImage;\nimport android.media.Image;\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.util.Size;\nimport android.view.TextureView;\nimport android.view.View;\nimport android.widget.ImageButton;\nimport android.widget.ImageView;\nimport android.widget.RelativeLayout;\nimport android.widget.Toast;\n\nimport com.google.android.gms.tasks.OnFailureListener;\nimport com.google.android.gms.tasks.OnSuccessListener;\nimport com.google.common.util.concurrent.ListenableFuture;\nimport com.google.mlkit.common.MlKitException;\nimport com.google.mlkit.common.model.LocalModel;\nimport com.google.mlkit.vision.common.InputImage;\nimport com.google.mlkit.vision.common.internal.ImageConvertUtils;\nimport com.google.mlkit.vision.objects.DetectedObject;\nimport com.google.mlkit.vision.objects.ObjectDetection;\nimport com.google.mlkit.vision.objects.ObjectDetector;\nimport com.google.mlkit.vision.objects.custom.CustomObjectDetectorOptions;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.utils.Draw;\n\nimport java.io.ByteArrayOutputStream;\nimport java.nio.ByteBuffer;\nimport java.util.List;\nimport java.util.concurrent.ExecutionException;\n\npublic class ID_cardDetection extends AppCompatActivity {\nprivate ObjectDetector objectDetector;\nprivate ListenableFuture<ProcessCameraProvider> cameraProviderFuture;\nprivate androidx.camera.view.PreviewView previewView;\nprivate RelativeLayout relativeLayout;\nprivate ImageButton IDCard;\nprivate boolean flag = false;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_i_d_card_detection);\n        if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)\n                == PackageManager.PERMISSION_DENIED)\n        {\n            ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.CAMERA},20);\n        }\n        previewView = findViewById(R.id.PV);\n        relativeLayout = findViewById(R.id.ParentLayout);\n        IDCard = findViewById(R.id.IDCard);\n        cameraProviderFuture = ProcessCameraProvider.getInstance(this);\n        cameraProviderFuture.addListener(() -> {\n            try {\n                ProcessCameraProvider cameraProvider = cameraProviderFuture.get();\n                bindPreview(cameraProvider);\n            } catch (ExecutionException | InterruptedException e) {\n                Log.e(\"ESRAA\", \"ExecutionException: \"+e.getMessage());\n            }\n        }, ContextCompat.getMainExecutor(this));\n        LocalModel localModel = new LocalModel.Builder()\n                .setAssetFilePath(\"objectDetection.tflite\").build();\n        CustomObjectDetectorOptions customObjectDetectorOptions = new CustomObjectDetectorOptions.Builder(localModel)\n                .setDetectorMode(CustomObjectDetectorOptions.STREAM_MODE)\n                .enableClassification()\n                .setClassificationConfidenceThreshold(0.5f)\n                .setMaxPerObjectLabelCount(1)\n                .build();\n        objectDetector = ObjectDetection.getClient(customObjectDetectorOptions);\n\n    }\n    private void bindPreview(@NonNull ProcessCameraProvider cameraProvider) {\n        Log.e(\"ESRAA\", \"IamHERE\");\n        Preview preview = new Preview.Builder().build();\n        TextureView mTextureView = new TextureView(this);\n        CameraSelector cameraSelector = new CameraSelector.Builder()\n                .requireLensFacing(CameraSelector.LENS_FACING_BACK)\n                .build();\n        preview.setSurfaceProvider(previewView.getSurfaceProvider());\n        ImageAnalysis imageAnalysis = new ImageAnalysis.Builder()\n                .setTargetResolution(new Size(480,480))\n                .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST).build();\n        imageAnalysis.setAnalyzer(ContextCompat.getMainExecutor(this),\n                image -> {\n                    int rotationDegrees = image.getImageInfo().getRotationDegrees();\n\n                    @SuppressLint(\"UnsafeOptInUsageError\") Image im= image.getImage();\n                    if(im != null)\n                    {\n                        InputImage processImage= InputImage.fromMediaImage(im,rotationDegrees);\n                        InputImage i = InputImage.fromMediaImage(im, image.getImageInfo().getRotationDegrees());\n                        try {\n                            GlobalVar.realcameraIdCard = ImageConvertUtils.getInstance().getUpRightBitmap(i);\n                        } catch (MlKitException e) {\n                            e.printStackTrace();\n                        }\n                        objectDetector.process(processImage)\n                                .addOnSuccessListener(detectedObjects -> {\n                                    if(detectedObjects.size() == 0)\n                                    {\n                                        if (relativeLayout.getChildCount() > 1)\n                                            relativeLayout.removeViewAt(1);\n                                        String text =\"There's no card found\";\n                                        Draw D = new Draw(ID_cardDetection.this,text);\n                                        D.init(2);\n                                        relativeLayout.addView(D);\n                                        IDCard.setImageResource(R.drawable.ic_baseline_photo_camera_24);\n                                        flag = false;\n                                    }\n                                    else {\n                                        for (DetectedObject detectedObject : detectedObjects) {\n                                            String text;\n                                            detectedObject.getLabels().contains(\"Driver's license\");\n                                            for (DetectedObject.Label label : detectedObject.getLabels()) {\n                                                if (relativeLayout.getChildCount() > 1)\n                                                    relativeLayout.removeViewAt(1);\n                                                if (label.getText().equals(\"Driver's license\")) {\n                                                    text = \"There's card found\";\n                                                    Draw D = new Draw(ID_cardDetection.this, text);\n                                                    D.init(1);\n                                                    relativeLayout.addView(D);\n                                                    Log.e(\"ESRAA\", \"Object detected: \" + text + \"; \");\n                                                    IDCard.setImageResource(R.drawable.ic_realcam);\n                                                    flag = true;\n                                                } else {\n                                                    text = \"There's no card found\";\n                                                    Draw D = new Draw(ID_cardDetection.this, text);\n                                                    D.init(2);\n                                                    relativeLayout.addView(D);\n                                                    IDCard.setImageResource(R.drawable.ic_baseline_photo_camera_24);\n                                                    flag = false;\n                                                }\n                                            }\n                                        }\n                                    }\n                                    image.close();\n                                })\n                                .addOnFailureListener(new OnFailureListener() {\n                                    @Override\n                                    public void onFailure(@NonNull Exception e) {\n                                        Log.e(\"ESRAA\", \"onFailure: \"+e.getMessage());\n                                        image.close();\n                                    }\n                                });\n                    }\n                }\n        );\n        cameraProvider.bindToLifecycle((LifecycleOwner)this, cameraSelector,imageAnalysis, preview);\n    }\n\n    public void check_there(View view) {\n           if(flag)\n           {\n               Intent My = new Intent();\n               setResult(RESULT_OK,My);\n               finish();\n           }\n           else {\n               Toast.makeText(this,\"There's no card found\",Toast.LENGTH_SHORT).show();\n           }\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/IdCard.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.os.Bundle;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.helloworld.goodpoint.R;\n\npublic class IdCard extends AppCompatActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.alert_id_card);\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/MainActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.content.Intent;\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.view.animation.Animation;\nimport android.view.animation.AnimationUtils;\nimport android.widget.ImageView;\nimport android.widget.Toast;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.Token;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\n\nimport org.json.JSONArray;\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.net.HttpURLConnection;\nimport java.net.MalformedURLException;\nimport java.net.URL;\n\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class MainActivity extends AppCompatActivity {\n\n    PrefManager prefManager;\n    ImageView splash;\n    Thread t;\n\n\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        init();\n        if (prefManager.isFirstTimeLaunch()) {\n            prefManager.setFirstTimeLaunch(true);\n            startActivity(new Intent(MainActivity.this, WelcomeActivity.class));\n            finish();\n        }else if(!prefManager.isLoginned().isEmpty()) {\n            rotateSplash();\n            t = startApp();\n        }else {\n\n            startActivity(new Intent(this,SigninActivity.class));\n            finish();\n        }\n    }\n\n    @Override\n    protected void onResume() {\n        super.onResume();\n        t.start();\n    }\n\n    @Override\n    protected void onPause() {\n        t.interrupt();\n        super.onPause();\n    }\n\n    private void init() {\n        prefManager = new PrefManager(getApplicationContext());\n        splash = findViewById(R.id.splash_icon);\n    }\n\n    private void rotateSplash() {\n        Animation animation = AnimationUtils.loadAnimation(this,R.anim.rotate_splash);\n        splash.startAnimation(animation);\n    }\n\n    private Thread startApp() {\n        return new Thread(new Runnable() {\n            @Override\n            public void run() {\n                //try {\n                    //Thread.sleep(3000);\n                    ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n                    Call<Token> call = apiInterface.refresh(new PrefManager(getApplicationContext()).isLoginned());\n                    Token.getToken().setRefresh(new PrefManager(getApplicationContext()).isLoginned());\n                    call.enqueue(new Callback<Token>() {\n                        @Override\n                        public void onResponse(Call<Token> call, Response<Token> response) {\n                            if(response.isSuccessful()) {\n                                String token = response.body().getAccess();\n\n                                Call<JsonObject> call2 = apiInterface.getData(\"Bearer \" + token);\n                                call2.enqueue(new Callback<JsonObject>() {\n                                    @Override\n                                    public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n\n                                        try {\n                                            Log.d(\"e\",\"res=\"+response.body().toString());\n                                            JSONObject jsonObject = new JSONObject(response.body().toString()).getJSONObject(\"user\");\n                                            String id = jsonObject.getString(\"id\");\n                                            String name = jsonObject.getString(\"username\");\n                                            String email = jsonObject.getString(\"email\");\n                                            String phone = jsonObject.getString(\"phone\");\n                                            String city = jsonObject.getString(\"city\");\n                                            String birthdate = jsonObject.getString(\"birthdate\");\n                                            String Userimage = jsonObject.getString(\"profile_pic\");\n                                            String idcardimage = jsonObject.getString(\"id_card_pic\");\n                                            JSONArray jsonArray = jsonObject.getJSONArray(\"losts\");\n                                            Log.e(\"blabla\", jsonArray.length() + \"\");\n                                            for(int i=0;i<jsonArray.length();i++)\n                                                User.getUser().getLosts().add(jsonArray.getJSONObject(i).getInt(\"id\"));\n                                            jsonArray = jsonObject.getJSONArray(\"founds\");\n                                            for(int i=0;i<jsonArray.length();i++)\n                                                User.getUser().getFounds().add(jsonArray.getJSONObject(i).getInt(\"id\"));\n\n                                            User.getUser().setId(id);\n                                            User.getUser().setUsername(name);\n                                            User.getUser().setEmail(email);\n                                            User.getUser().setPhone(phone);\n                                            User.getUser().setCity(city);\n                                            User.getUser().setBirthdate(birthdate);\n                                            User.getUser().setProfile_pic(Userimage);\n                                            User.getUser().setId_card_pic(idcardimage);\n                                            if(User.getUser().getProfile_pic() != null &&!User.getUser().getProfile_pic().isEmpty() && User.getUser().getProfile_bitmap() == null) {\n                                                String dnsLink = new PrefManager(MainActivity.this).getNGROKLink();\n                                                DownloadProfilePic download = new DownloadProfilePic();\n                                                download.execute(dnsLink+User.getUser().getProfile_pic()+\"/\");\n                                            }else{\n                                                Intent intent = new Intent(MainActivity.this, HomeActivity.class);\n                                                startActivity(intent);\n                                                finish();\n                                            }\n\n\n                                        } catch (Exception e) {\n                                            Log.e(\"Error: \", e.getMessage());\n                                        }\n                                    }\n\n                                @Override\n                                public void onFailure(Call<JsonObject> call, Throwable t) {\n                                    Toast.makeText(MainActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n                                    startActivity(new Intent(MainActivity.this, SigninActivity.class));\n                                    finish();\n                                }\n                            });\n                        }else{\n                            startActivity(new Intent(MainActivity.this, SigninActivity.class));\n                            finish();\n                        }\n                    }\n\n                        @Override\n                        public void onFailure(Call<Token> call, Throwable t) {\n                            Toast.makeText(MainActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n                            startActivity(new Intent(MainActivity.this, SigninActivity.class));\n                            finish();\n                        }\n                    });\n\n                //} catch (InterruptedException e) {\n                  //  Log.e(\"InterruptedException: \", e.getMessage());\n                //}\n            }\n        });\n    }\n\n    class DownloadProfilePic extends AsyncTask<String,Void, Bitmap> {\n\n        private Bitmap download(String urlLink) throws IOException {\n            Bitmap bitmap = null;\n            URL url = null;\n            HttpURLConnection httpConn;\n            InputStream is = null;\n            Log.e(\"ProfilePic\", urlLink);\n            try {\n                url = new URL(urlLink);\n                httpConn = (HttpURLConnection) url.openConnection();\n                httpConn.connect();\n                is = httpConn.getInputStream();\n                bitmap = BitmapFactory.decodeStream(is);\n            }catch (MalformedURLException e){\n                Log.e(\"DownloadProfilePic\", \"download: \"+e.getMessage());\n            }\n            return  bitmap;\n        }\n\n        @Override\n        protected Bitmap doInBackground(String... urls) {\n            try {\n\n                return download(urls[0]);\n            } catch (IOException e) {\n                Log.e(\"TAG\", \"doInBackground: \"+e.getMessage());\n            }\n            return null;\n        }\n\n        @Override\n        protected void onPostExecute(Bitmap bitmap) {\n            super.onPostExecute(bitmap);\n            if(bitmap!=null)\n                User.getUser().setProfile_bitmap(bitmap);\n            Intent intent = new Intent(MainActivity.this, HomeActivity.class);\n            startActivity(intent);\n            finish();\n        }\n    }\n\n\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/MatchFragment.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.os.Bundle;\n\nimport androidx.fragment.app.Fragment;\n\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ListView;\nimport android.widget.TextView;\n\nimport com.helloworld.goodpoint.R;\n\n/**\n * A simple {@link Fragment} subclass.\n * Use the {@link MatchFragment#newInstance} factory method to\n * create an instance of this fragment.\n */\npublic class MatchFragment extends Fragment {\n\n    ListView listView;\n    TextView details;\n    //String ObjStat[] ={},ObjDetails;\n    String status[]={\"Has found\" ,\"Its owner has been found\",\"Has found\" ,\"Its owner has been found\",\n            \"Has found\" ,\"Its owner has been found\",\"Has found\" ,\"Its owner has been found\" }  ;\n\n    // TODO: Rename parameter arguments, choose names that match\n    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER\n    private static final String ARG_PARAM1 = \"param1\";\n    private static final String ARG_PARAM2 = \"param2\";\n\n    // TODO: Rename and change types of parameters\n    private String mParam1;\n    private String mParam2;\n\n    public MatchFragment() {\n        // Required empty public constructor\n    }\n\n    /**\n     * Use this factory method to create a new instance of\n     * this fragment using the provided parameters.\n     *\n     * @param param1 Parameter 1.\n     * @param param2 Parameter 2.\n     * @return A new instance of fragment MatchFragment.\n     */\n    // TODO: Rename and change types and number of parameters\n    public static MatchFragment newInstance(String param1, String param2) {\n        MatchFragment fragment = new MatchFragment();\n        Bundle args = new Bundle();\n        args.putString(ARG_PARAM1, param1);\n        args.putString(ARG_PARAM2, param2);\n        fragment.setArguments(args);\n        return fragment;\n    }\n\n    @Override\n    public void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        if (getArguments() != null) {\n            mParam1 = getArguments().getString(ARG_PARAM1);\n            mParam2 = getArguments().getString(ARG_PARAM2);\n        }\n\n\n    }\n\n    @Override\n    public View onCreateView(LayoutInflater inflater, ViewGroup container,\n                             Bundle savedInstanceState) {\n        // Inflate the layout for this fragment\n        View view = inflater.inflate(R.layout.fragment_match, container, false);\n        listView = (ListView) view.findViewById(R.id.lisView);\n       AdapterOfMatchFragment myAdapter  = new AdapterOfMatchFragment(getActivity(),status);\n        listView.setAdapter(myAdapter);\n\n        return view;\n    }\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/NotificationActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.Manifest;\nimport android.app.AlertDialog;\nimport android.content.DialogInterface;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.provider.MediaStore;\nimport android.util.Log;\nimport android.util.SparseArray;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.widget.AdapterView;\nimport android.widget.Button;\nimport android.widget.ListView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.appcompat.widget.PopupMenu;\nimport androidx.core.app.ActivityCompat;\nimport androidx.loader.content.CursorLoader;\n\nimport com.google.android.gms.vision.Frame;\nimport com.google.android.gms.vision.face.Face;\nimport com.google.android.gms.vision.face.FaceDetector;\nimport com.google.android.gms.vision.text.TextBlock;\nimport com.google.android.gms.vision.text.TextRecognizer;\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.adapter.NotificationListAdapter;\nimport com.helloworld.goodpoint.pojo.NotificationItem;\nimport com.helloworld.goodpoint.pojo.Token;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.ui.candidate.CandidatePage;\nimport com.shashank.sony.fancytoastlib.FancyToast;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport okhttp3.MediaType;\nimport okhttp3.MultipartBody;\nimport okhttp3.RequestBody;\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class NotificationActivity extends AppCompatActivity {\n\n    List<NotificationItem> list;\n    ListView listView;\n    TextView noNotification;\n    Bitmap img;\n    AlertDialog dialog;\n    AlertDialog.Builder builder;\n    View view;\n    Uri photoFromGallery;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_notification);\n\n        init();\n        createList();\n    }\n\n    private void createList() {\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n        Call<List<NotificationItem>>call = apiInterface.getNotification(User.getUser().getId());\n        call.enqueue(new Callback<List<NotificationItem>>() {\n            @Override\n            public void onResponse(Call<List<NotificationItem>> call, Response<List<NotificationItem>> response) {\n                list = response.body();\n                if(list == null)\n                    list = new ArrayList<>();\n                showView();\n            }\n\n            @Override\n            public void onFailure(Call<List<NotificationItem>> call, Throwable t) {\n                Log.e(\"TAG\", \"onFailure: \"+t.getMessage());\n            }\n        });\n    }\n\n    private void showView() {\n        if(list.isEmpty()){\n            noNotification.setVisibility(View.VISIBLE);\n            listView.setVisibility(View.GONE);\n        }else {\n            listView.setAdapter(new NotificationListAdapter(this, 0, list));\n            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {\n                @Override\n                public void onItemClick(AdapterView<?> adapterView, View v, int i, long l) {\n                    int pos = list.size()-i-1;\n                    NotificationListAdapter adapter = (NotificationListAdapter)listView.getAdapter();\n                    adapter.getItem(pos).setRead(true);\n                    adapter.notifyDataSetChanged();\n                    ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n                    Call<JsonObject>call = apiInterface.updateRead(list.get(pos).getId(), true);\n                    call.enqueue(new Callback<JsonObject>() {\n                        @Override\n                        public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                            if(response.isSuccessful())\n                            {\n                                Log.e(\"TAG\", \"onResponse: \"+response.body().toString());\n                            }\n                           else {\n                                try {\n                                    Log.e(\"TAG\", \"onFailure2: \"+response.errorBody().string());\n                                } catch (IOException e) {\n                                    e.printStackTrace();\n                                }\n                            }\n                        }\n\n                        @Override\n                        public void onFailure(Call<JsonObject> call, Throwable t) {\n                            Log.e(\"TAG\", \"onFailure: \"+t.getMessage());\n                        }\n                    });\n                    if(list.get(pos).getType()==3){\n                        //intent to candidate\n                        startActivity(new Intent(NotificationActivity.this, CandidatePage.class));\n                        return;\n                    }\n                    else if(list.get(pos).getType() == 1 || list.get(pos).getType() == 4){\n                        //lost person and lost item\n                        if(User.getUser().getId_card_pic().isEmpty()){\n                            view = getLayoutInflater().inflate(R.layout.alert_id_card, null);\n                            Button Choose = view.findViewById(R.id.Id_card);\n                            Choose.setOnClickListener(new View.OnClickListener() {\n                                @Override\n                                public void onClick(View v) {\n                                    if (ActivityCompat.checkSelfPermission(getApplicationContext(),  Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED\n                                            && ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {\n                                        ActivityCompat.requestPermissions(NotificationActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 11);\n                                    }\n                                    else{\n                                        Intent I = new Intent(NotificationActivity.this,ID_cardDetection.class);\n                                        startActivityForResult(I, 10);\n                                       /* PopupMenu popupMenu = new PopupMenu(NotificationActivity.this, view);\n                                        popupMenu.getMenuInflater().inflate(R.menu.choose_photo, popupMenu.getMenu());\n                                        popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {\n\n                                            @Override\n                                            public boolean onMenuItemClick(MenuItem item) {\n                                                switch (item.getItemId()) {\n                                                    case R.id.TakePhoto:\n                                                       Intent I = new Intent(NotificationActivity.this,ID_cardDetection.class);\n                                                        startActivityForResult(I, 10);\n                                                        break;\n                                                    case R.id.Gallery:\n                                                        Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);\n                                                        startActivityForResult(gallery, 11);\n                                                        break;\n                                                }\n                                                return true;\n                                            }\n                                        });\n                                        popupMenu.show();*/\n                                    }\n                                }\n                            });\n\n                            builder = new AlertDialog.Builder(NotificationActivity.this);\n                            builder.setMessage(\"Please , Upload an image of your id_card\");\n                            builder.setView(view);\n                            dialog = builder.create();\n                            dialog.show();\n                            return;\n                        }\n                    }\n                    Intent intent = new Intent(NotificationActivity.this,DetailsActivity.class);\n                    intent.putExtra(\"id\",list.get(pos).getId());\n                    intent.putExtra(\"type\",list.get(pos).getType());\n                    startActivity(intent);\n                }\n            });\n\n        }\n    }\n\n    public Uri getImageUri(Bitmap bitmap_Image) {\n        ByteArrayOutputStream bytes = new ByteArrayOutputStream();\n        bitmap_Image.compress(Bitmap.CompressFormat.JPEG, 100, bytes);\n        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap_Image, \"id card\", null);\n        return Uri.parse(path);\n    }\n\n    private String getRealPathFromURI(Uri imageUri) {\n        String[] proj = {MediaStore.Images.Media.DATA};\n        CursorLoader loader = new CursorLoader(this, imageUri, proj, null, null, null);\n        Cursor cursor = loader.loadInBackground();\n        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);\n        cursor.moveToFirst();\n        String result = cursor.getString(column_index);\n        cursor.close();\n        return result;\n    }\n\n    @Override\n    public void onActivityResult(int requestCode, int resultCode, Intent data) {\n        super.onActivityResult(requestCode, resultCode, data);\n        if(resultCode==RESULT_OK&&data!=null)\n        {\n            switch(requestCode) {\n                case 10: {\n                    img =(Bitmap) GlobalVar.realcameraIdCard;\n                    photoFromGallery = getImageUri(img);\n                }\n                break;\n                /*case 11:\n                    photoFromGallery = data.getData();\n                    try {\n                        img = MediaStore.Images.Media.getBitmap(this.getContentResolver(), photoFromGallery);\n                    } catch (IOException e) {\n                        e.printStackTrace();\n                    }\n                    break;*/\n            }\n            checkVaildIdcard();\n        }\n    }\n    private void checkVaildIdcard() {\n        TextView messageforuser = view.findViewById(R.id.messageforuser);\n        boolean flag_not_idCard = false;\n        FaceDetector faceDetector = new FaceDetector.Builder(this)\n                .setTrackingEnabled(false)\n                .setLandmarkType(FaceDetector.ALL_LANDMARKS)\n                .setMode(FaceDetector.FAST_MODE).build();\n        if (!faceDetector.isOperational()) {\n            Toast.makeText(this, \"Face Detection can't be setup\", Toast.LENGTH_SHORT).show();\n        }\n        else {\n            Frame frame = new Frame.Builder().setBitmap(img).build();\n            SparseArray<Face> sparseArray = faceDetector.detect(frame);\n            if(sparseArray.size() != 1)\n            {\n                flag_not_idCard = true;\n\n            }\n            TextRecognizer textRecognizer  = new TextRecognizer.Builder(this).build();\n            if(!textRecognizer.isOperational())\n                Toast.makeText(this, \"textRecognizer can't be setup\", Toast.LENGTH_SHORT).show();\n            else\n            {\n                Frame frametext = new Frame.Builder().setBitmap(img).build();\n                SparseArray<TextBlock> sparseArraytext = textRecognizer.detect(frame);\n                TextBlock item;\n                if(sparseArraytext.size()>4 || sparseArraytext.size()<1)\n                {\n                    flag_not_idCard = true;\n                }\n                else if(sparseArraytext.size()>=1) {\n                    item = sparseArraytext.valueAt(sparseArraytext.size() - 1);\n                    if(item.getValue().length() != 9)\n                        flag_not_idCard = true;\n                }\n\n                Log.e(\"img\", \"num of img : \"+sparseArray.size()+\"  num of text \" +sparseArraytext.size());\n            }\n            if(flag_not_idCard)\n            {\n                messageforuser.setTextColor(0xFFB80D0D);\n                messageforuser.setText(\"Error, The card picture cannot be recognized\\nplease upload your id card\");\n            }\n            else{\n                dialog.dismiss();\n                builder = new AlertDialog.Builder(NotificationActivity.this);\n                builder.setMessage(\"Your id_card has been successfully taken\").setNegativeButton(\"Ok\", new DialogInterface.OnClickListener() {\n                    @Override\n                    public void onClick(DialogInterface dialog, int which) {\n                        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n                        Call<Token> call = apiInterface.refresh(Token.getToken().getRefresh());\n                        call.enqueue(new Callback<Token>() {\n                            @Override\n                            public void onResponse(Call<Token> call, Response<Token> response) {\n                                File file = new File(getRealPathFromURI(photoFromGallery));\n                                RequestBody requestBody = RequestBody.create(MediaType.parse(\"multipart/form-data\"), file);\n                                MultipartBody.Part Pimage = MultipartBody.Part.createFormData(\"id_card_pic\", file.getName(), requestBody);\n                                Call<JsonObject>idcardCall = apiInterface.setIdCard(response.body().getAccess(), Pimage);\n                                idcardCall.enqueue(new Callback<JsonObject>() {\n                                    @Override\n                                    public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                                        Log.d(\"TAG\", \"onResponse: Success\");\n                                    }\n\n                                    @Override\n                                    public void onFailure(Call<JsonObject> call, Throwable t) {\n                                        Log.e(\"TAG\", \"onFailure: \"+t.getMessage());\n                                    }\n                                });\n                            }\n\n                            @Override\n                            public void onFailure(Call<Token> call, Throwable t) {\n                                Log.e(\"TAG\", \"onFailure: \"+t.getMessage());\n                            }\n                        });\n                    }});\n                dialog = builder.create();\n                dialog.show();\n            }\n\n        }\n    }\n    private void init() {\n        list = new ArrayList<>();\n        listView = findViewById(R.id.notification_listview);\n        noNotification = findViewById(R.id.no_notification);\n        if(User.getUser().getId() == null || User.getUser().getId().isEmpty())\n            User.getUser().setId(getIntent().getExtras().getString(\"ID\"));\n        if(Token.getToken().getRefresh() == null || Token.getToken().getRefresh().isEmpty())\n            Token.getToken().setRefresh(new PrefManager(this).isLoginned());\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/PrefManager.java",
    "content": "package com.helloworld.goodpoint.ui;\n\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\n\n\npublic class PrefManager {\n    SharedPreferences pref;\n    SharedPreferences.Editor editor;\n    Context _context;\n\n    // shared pref mode\n    int PRIVATE_MODE = 0;\n\n    // Shared preferences file name\n    private static final String PREF_NAME = \"androidhive-welcome\";\n\n    private static final String IS_FIRST_TIME_LAUNCH = \"IsFirstTimeLaunch\";\n\n    private static final String IS_LOGINNED = \"Token\";\n\n    private static final String LINK = \"ngrok\";\n\n    public PrefManager(Context context) {\n        this._context = context;\n        pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);\n        editor = pref.edit();\n    }\n\n    public void setFirstTimeLaunch(boolean isFirstTime) {\n        editor.putBoolean(IS_FIRST_TIME_LAUNCH, isFirstTime);\n        editor.commit();\n    }\n\n    public boolean isFirstTimeLaunch() {\n        return pref.getBoolean(IS_FIRST_TIME_LAUNCH,true);\n    }\n\n    public void setLogin(String token){\n        editor.putString(IS_LOGINNED, token);\n        editor.commit();\n    }\n\n    public void setLogout(){\n        editor.putString(IS_LOGINNED, \"\");\n        editor.commit();\n    }\n\n    public String isLoginned() {\n        return pref.getString(IS_LOGINNED,\"\");\n    }\n\n    public void setNGROKLink(String link){\n        editor.putString(LINK, link);\n        editor.commit();\n    }\n\n    public String getNGROKLink() {\n        return pref.getString(LINK,\"http://127.0.0.1:8000/\");\n    }\n\n}\n\n\n\n\n\n\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/ProfileFragment.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.os.Bundle;\n\nimport androidx.fragment.app.Fragment;\n\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.LostItem;\nimport com.helloworld.goodpoint.pojo.Token;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\n\nimport de.hdodenhof.circleimageview.CircleImageView;\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class ProfileFragment extends Fragment {\n    TextView name_above,email_above,name,email,phone,city,date,losts,founds;\n    CircleImageView pic;\n    @Override\n    public View onCreateView(LayoutInflater inflater, ViewGroup container,\n                             Bundle savedInstanceState) {\n        // Inflate the layout for this fragment\n        View v = inflater.inflate(R.layout.fragment_profile, container, false);\n\n        name_above = v.findViewById(R.id.above_name);\n        email_above = v.findViewById(R.id.above_mail);\n        name = v.findViewById(R.id.username_p);\n        email = v.findViewById(R.id.e_mail);\n        phone = v.findViewById(R.id.phone_p);\n        city = v.findViewById(R.id.city_p);\n        date = v.findViewById(R.id.birth_date);\n        pic = v.findViewById(R.id.profile_pic);\n        losts = v.findViewById(R.id.lost_no);\n        founds = v.findViewById(R.id.found_no);\n\n\n        name_above.setText(User.getUser().getUsername());\n        email_above.setText(User.getUser().getEmail());\n        losts.setText(User.getUser().getLosts().size() + \"\");\n        founds.setText(User.getUser().getFounds().size() + \"\");\n        name.setText(User.getUser().getUsername());\n        email.setText(User.getUser().getEmail());\n        phone.setText(User.getUser().getPhone());\n        city.setText(User.getUser().getCity());\n        date.setText(User.getUser().getBirthdate());\n        if(User.getUser().getProfile_bitmap() != null)\n            pic.setImageBitmap(User.getUser().getProfile_bitmap());\n\n\n        return v;\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/SigninActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.app.AlertDialog;\nimport android.content.Intent;\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.util.Patterns;\nimport android.view.View;\nimport android.view.Window;\nimport android.widget.Button;\nimport android.widget.CheckBox;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.google.android.material.textfield.TextInputLayout;\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.Token;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.ui.forgetPasswordScreens.MakeSelection;\n\nimport org.json.JSONArray;\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.net.HttpURLConnection;\nimport java.net.MalformedURLException;\nimport java.net.URL;\nimport java.util.regex.Pattern;\n\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class SigninActivity extends AppCompatActivity implements View.OnClickListener {\n    private EditText Email, Pass;\n    private TextInputLayout tilUserName, tilEmail, tilPassword, tilCity, tilPhone;\n    private TextView ForgetPass;\n    private CheckBox RememberMe;\n    private Button Sigin, CreateNewAccount;\n    private static final Pattern PASSWORD_PATTERN =\n            Pattern.compile(\"^\" +\n                    \"(?=.*[0-9])\" +         //at least 1 digit\n                    \"(?=.*[a-z])\" +         //at least 1 lower case letter\n                    \"(?=.*[A-Z])\" +         //at least 1 upper case letter\n                    // \"(?=.*[a-zA-Z])\" +      //any letter\n                    // \"(?=.*[@#$%^&+=])\" +    //at least 1 special character\n                    // \"(?=\\\\S+$)\" +           //no white spaces\n                    \".{8,}\" +               //at least 8 characters\n                    \"$\");\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        getWindow().requestFeature(Window.FEATURE_ACTION_BAR);\n        //getActionBar().hide();\n        setContentView(R.layout.activity_signin);\n        inti();\n        String f;\n\n    }\n\n    protected void inti() {\n        Email = findViewById(R.id.email);\n        Pass = findViewById(R.id.pass);\n        tilPassword = findViewById(R.id.tilPass);\n        ForgetPass = findViewById(R.id.forgetPass);\n        Sigin = findViewById(R.id.signin);\n        CreateNewAccount = findViewById(R.id.NewAccount);\n        RememberMe = findViewById(R.id.checkbox);\n        Sigin.setOnClickListener(this);\n        CreateNewAccount.setOnClickListener(this);\n        ForgetPass.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View view) {\n                Intent myIntent = new Intent(view.getContext(), MakeSelection.class);\n                startActivityForResult(myIntent, 0);\n            }\n        });\n    }\n    @Override\n    public void onClick(View view) {\n        switch (view.getId()) {\n            case R.id.signin:\n                if (validAccount() && validatePassword()) {\n                        loginUser(RememberMe.isChecked());\n                        //startActivity(new Intent(SigninActivity.this, HomeActivity.class));\n                } else\n                    Toast.makeText(this, \"Invalid account\", Toast.LENGTH_SHORT).show();\n                    //startActivity(new Intent(SigninActivity.this, HomeActivity.class));\n                break;\n            case R.id.NewAccount:\n                startActivity(new Intent(this, SignupActivity.class));\n                break;\n        }\n    }\n\n    private boolean validatePassword() {\n        String passwordInput = Pass.getText().toString().trim();\n        if (passwordInput.isEmpty()) {\n            tilPassword.setError(\"Field can't be empty\");\n            return false;\n        } else if (!PASSWORD_PATTERN.matcher(passwordInput).matches()) {\n            tilPassword.setError(\"Must contains digits, lower&upper case letters and length > 8\");\n            /*if(!passwordInput.matches(\"[0-9]+\"))\n                Pass.setError(\"must contain at least 1 digit\");\n            else if(!passwordInput.matches(\"[a-z]+\"))\n                Pass.setError(\"must contain at least 1 lower case letter\");\n            else if(!passwordInput.matches(\"[A-Z]+\"))\n                Pass.setError(\"must contain at least 1 upper case letter\");\n            else\n                Pass.setError(\"must contain at least 8 characters\");*/\n            return false;\n        } else {\n            tilPassword.setError(null);\n            return true;\n        }\n    }\n\n    private boolean validateEmail() {\n        String emailInput = Email.getText().toString().trim();\n        if (emailInput.isEmpty()) {\n            Email.setError(\"Field can't be empty\");\n            return false;\n        } else if (!Patterns.EMAIL_ADDRESS.matcher(emailInput).matches()) {\n            Email.setError(\"Please enter a valid email address\");\n            return false;\n        } else {\n            Email.setError(null);\n            return true;\n        }\n    }\n\n    private boolean validAccount() {\n        //check validation\n        if (validateEmail()) return true;\n        else return false;\n    }\n\n\n    public void loginUser(boolean Remember) {\n        String emailInput = Email.getText().toString().trim();\n        String passwordInput = Pass.getText().toString().trim();\n\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n        Call<Token> call = apiInterface.getToken(emailInput, passwordInput);\n\n        call.enqueue(new Callback<Token>() {\n            @Override\n            public void onResponse(Call<Token> call, Response<Token> response) {\n                if (response.isSuccessful()) {\n                    String token = response.body().getAccess();\n                    Token.getToken().setAccess(response.body().getAccess());\n                    Token.getToken().setRefresh(response.body().getRefresh());\n                    if (Remember) {\n                        new PrefManager(getApplicationContext()).setLogin(response.body().getRefresh());\n                    }\n\n                Call<JsonObject> call2 = apiInterface.getData(\"Bearer \" + token);\n                call2.enqueue(new Callback<JsonObject>() {\n                    @Override\n                    public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n\n                        try {\n                            Log.d(\"e\",\"res=\"+response.body().toString());\n                            JSONObject jsonObject = new JSONObject(response.body().toString()).getJSONObject(\"user\");\n                            String id = jsonObject.getString(\"id\");\n                            String name = jsonObject.getString(\"username\");\n                            String email = jsonObject.getString(\"email\");\n                            String phone = jsonObject.getString(\"phone\");\n                            String city = jsonObject.getString(\"city\");\n                            String birthdate = jsonObject.getString(\"birthdate\");\n                            String Userimage = jsonObject.getString(\"profile_pic\");\n                            String idcardimage = jsonObject.getString(\"id_card_pic\");\n                            JSONArray jsonArray = jsonObject.getJSONArray(\"losts\");\n                            Log.e(\"blabla\", jsonArray.length() + \"\");\n                            for(int i=0;i<jsonArray.length();i++)\n                                User.getUser().getLosts().add(jsonArray.getJSONObject(i).getInt(\"id\"));\n                            jsonArray = jsonObject.getJSONArray(\"founds\");\n                            for(int i=0;i<jsonArray.length();i++)\n                                User.getUser().getFounds().add(jsonArray.getJSONObject(i).getInt(\"id\"));\n\n                            User.getUser().setId(id);\n                            User.getUser().setUsername(name);\n                            User.getUser().setEmail(email);\n                            User.getUser().setPhone(phone);\n                            User.getUser().setCity(city);\n                            User.getUser().setBirthdate(birthdate);\n                            User.getUser().setProfile_pic(Userimage);\n                            User.getUser().setId_card_pic(idcardimage);\n                            if(User.getUser().getProfile_pic() != null && !User.getUser().getProfile_pic().isEmpty()) {\n                                String dnsLink = new PrefManager(SigninActivity.this).getNGROKLink();\n                                DownloadProfilePic download = new DownloadProfilePic();\n                                download.execute(dnsLink+User.getUser().getProfile_pic()+\"/\");\n                            }else{\n                                Intent intent = new Intent(SigninActivity.this, HomeActivity.class);\n                                startActivity(intent);\n                                finish();\n                            }\n                        } catch (Exception e) {\n                            Log.e(\"TAG\", \"onResponse: \"+e.getMessage());\n                            Toast.makeText(SigninActivity.this, \"Error in entering\", Toast.LENGTH_SHORT).show();\n                        }\n                    }\n\n                    @Override\n                    public void onFailure(Call<JsonObject> call, Throwable t) {\n                        Toast.makeText(SigninActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n                    }\n                });\n            }\n                else\n                    Toast.makeText(SigninActivity.this, \"Invalid account.\", Toast.LENGTH_SHORT).show();\n            }\n\n                @Override\n            public void onFailure(Call<Token> call, Throwable t) {\n                    Toast.makeText(SigninActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n\n            }\n        });\n    }\n\n    class DownloadProfilePic extends AsyncTask<String,Void, Bitmap> {\n        AlertDialog.Builder builder;\n        AlertDialog dialog;\n\n        @Override\n        protected void onPreExecute() {\n            super.onPreExecute();\n            builder = new AlertDialog.Builder(SigninActivity.this);\n            builder.setCancelable(false);\n            View view = getLayoutInflater().inflate(R.layout.progress_bar_alert, null);\n            builder.setView(view);\n            dialog = builder.create();\n            dialog.show();\n        }\n\n        private Bitmap download(String urlLink) throws IOException {\n            Bitmap bitmap = null;\n            URL url = null;\n            HttpURLConnection httpConn;\n            InputStream is = null;\n            Log.e(\"ProfilePic\", urlLink);\n            try {\n                url = new URL(urlLink);\n                httpConn = (HttpURLConnection) url.openConnection();\n                httpConn.connect();\n                is = httpConn.getInputStream();\n                bitmap = BitmapFactory.decodeStream(is);\n            }catch (MalformedURLException e){\n                Log.e(\"DownloadProfilePic\", \"download: \"+e.getMessage());\n            }\n            return  bitmap;\n        }\n\n        @Override\n        protected Bitmap doInBackground(String... urls) {\n            try {\n                return download(urls[0]);\n            } catch (IOException e) {\n                Log.e(\"TAG\", \"doInBackground: \"+e.getMessage());\n            }\n            return null;\n        }\n\n        @Override\n        protected void onPostExecute(Bitmap bitmap) {\n            super.onPostExecute(bitmap);\n            dialog.dismiss();\n            if(bitmap!=null)\n                User.getUser().setProfile_bitmap(bitmap);\n            Intent intent = new Intent(SigninActivity.this, HomeActivity.class);\n            startActivity(intent);\n            finish();\n        }\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/SignupActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.Manifest;\nimport android.app.DatePickerDialog;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.Color;\nimport android.graphics.drawable.ColorDrawable;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.provider.MediaStore;\nimport android.util.Log;\nimport android.util.Patterns;\nimport android.view.ContextMenu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.widget.ArrayAdapter;\nimport android.widget.AutoCompleteTextView;\nimport android.widget.Button;\nimport android.widget.DatePicker;\nimport android.widget.EditText;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.core.app.ActivityCompat;\nimport androidx.loader.content.CursorLoader;\n\nimport com.google.android.material.textfield.TextInputLayout;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.RegUser;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.shashank.sony.fancytoastlib.FancyToast;\n\nimport org.json.JSONException;\nimport org.json.JSONObject;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.Calendar;\nimport java.util.List;\nimport java.util.regex.Pattern;\n\nimport okhttp3.MediaType;\nimport okhttp3.MultipartBody;\nimport okhttp3.RequestBody;\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class SignupActivity extends AppCompatActivity {\n    private TextView DateT;\n    private TextInputLayout tilUserName, tilEmail, tilPassword, tilCity, tilPhone;\n    private EditText UserName, Email, Password, Phone;\n    AutoCompleteTextView city;\n    private DatePickerDialog.OnDateSetListener DateSet;\n    private int year, month, Day;\n    private ImageView image;\n    Button CreateAccount;\n    List<String> list;\n    Bitmap Bitmap_Image ; Uri imageUri;\n    private static final Pattern PASSWORD_PATTERN =\n            Pattern.compile(\"^\" +\n                    \"(?=.*[0-9])\" +         //at least 1 digit\n                    \"(?=.*[a-z])\" +         //at least 1 lower case letter\n                    \"(?=.*[A-Z])\" +         //at least 1 upper case letter\n                    //\"(?=.*[a-zA-Z])\" +      //any letter\n                    //\"(?=.*[@#$%^&+=])\" +    //at least 1 special character\n                    //\"(?=\\\\S+$)\" +           //no white spaces\n                    \".{8,}\" +               //at least 4 characters\n                    \"$\");\n\n    public SignupActivity() {\n    }\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_signup);\n        //getSupportActionBar().setTitle(\"Sing up\");\n        inti();\n        if(savedInstanceState != null )\n        {\n            Bitmap_Image = savedInstanceState.getParcelable(\"BitmapImage\");\n            if(Bitmap_Image != null){\n                image.setImageBitmap(Bitmap_Image);\n            }\n        }\n        DateT.setOnClickListener(new View.OnClickListener() {\n            // @RequiresApi(api = Build.VERSION_CODES.N)\n            @Override\n            public void onClick(View view) {\n                DatePickerDialog dialog = new DatePickerDialog(\n                        SignupActivity.this,\n                        android.R.style.Theme_Holo_Light_Dialog_MinWidth,\n                        DateSet,\n                        year, month, Day\n                );\n                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));\n                dialog.show();\n            }\n\n        });\n        DateSet = new DatePickerDialog.OnDateSetListener() {\n            @Override\n            public void onDateSet(DatePicker datePicker, int y, int m, int d) {\n                m++;\n                if (y > year || (y == year && m - 1 > month)|| (y == year && m - 1 == month && d > Day) ) {\n                    String Date = y + \"-\" + m + \"-\" + d;\n                    //String Date = d + \"/\" + m + \"/\" + y;\n                    String todayDate = year + \"-\" + (month + 1) + \"-\" + Day;\n                    //String todayDate = Day + \"/\" + (month + 1) + \"/\" + year;\n                    DateT.setText(todayDate);\n                    FancyToast.makeText(SignupActivity.this,\"Invalid date\",FancyToast.LENGTH_LONG, FancyToast.ERROR,false).show();\n                }\n                else {\n                    String Date = y + \"-\" + m + \"-\" + d;\n                    //String Date = d + \"/\" + m + \"/\" + y;\n                    DateT.setText(Date);\n                }\n            }\n        };\n    CreateAccount.setOnClickListener(new View.OnClickListener() {\n        @Override\n        public void onClick(View view) {\n            if(!confirmInput(view) ){\n                registerUser();\n                //startActivity(new Intent(SignupActivity.this,check_registration.class));\n            }\n        }\n    });\n\n    }\n    protected void inti() {\n        UserName = findViewById(R.id.edName);\n        Email = findViewById(R.id.edEmail);\n        Password = findViewById(R.id.edPass);\n        city = findViewById(R.id.edCity);\n        Phone =findViewById(R.id.edPhone);\n\n        tilUserName = findViewById(R.id.tilName);\n        tilEmail = findViewById(R.id.tilEmail);\n        tilPassword = findViewById(R.id.tilPass);\n        tilCity = findViewById(R.id.tilcity);\n        tilPhone =findViewById(R.id.tilPhone);\n\n        DateT = findViewById(R.id.Date);\n        image = findViewById(R.id.im);\n        registerForContextMenu(image);\n        CreateAccount = findViewById(R.id.createAccount);\n        Calendar cal = Calendar.getInstance();//To get today's date\n        year = cal.get(Calendar.YEAR);\n        month = cal.get(Calendar.MONTH);\n        Day = cal.get(Calendar.DAY_OF_MONTH);\n        String TodayDate = year + \"-\" + (month + 1) + \"-\" + Day;\n        //String TodayDate = Day + \"/\" + (month + 1) + \"/\" + year;\n        DateT.setText(TodayDate);/**/\n        prepareList List = new prepareList();\n        list = List.prepareList(this);\n        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list);\n        city.setThreshold(1);\n        city.setAdapter(adapter);\n\n    }\n    @Override\n    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {\n        super.onCreateContextMenu(menu, v, menuInfo);\n        getMenuInflater().inflate(R.menu.menu_main, menu);\n        Toast.makeText(this, \"onCreateContextMenu\", Toast.LENGTH_SHORT);\n        //menu.getItem(2).setEnabled(false);\n        menu.findItem(R.id.Delete).setVisible(false);\n    }\n\n    @Override\n    public boolean onContextItemSelected(@NonNull MenuItem item) {\n        if (ActivityCompat.checkSelfPermission(this,\n                Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)\n        {\n            ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},11);\n\n        }\n        else {\n            switch (item.getItemId()) {\n                case R.id.action_capture:\n                    Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);\n                    if (cameraIntent.resolveActivity(getPackageManager()) != null) {\n                        startActivityForResult(cameraIntent, 10);\n                    }\n                    break;\n                case R.id.action_choose:\n                    //Toast.makeText(this,\"Hello\",Toast.LENGTH_SHORT).show();\n                    Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);\n                    startActivityForResult(gallery, 11);\n                    break;\n            }\n        }\n        return super.onContextItemSelected(item);\n    }\n\n    @Override\n    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {\n        super.onActivityResult(requestCode, resultCode, data);\n        if (requestCode == 10 && resultCode == RESULT_OK) {\n            Bitmap_Image = (Bitmap) data.getExtras().get(\"data\");\n            imageUri = getImageUri(Bitmap_Image);\n            image.setImageBitmap(Bitmap_Image);\n        }\n        if (requestCode == 11 && resultCode == RESULT_OK) {\n            imageUri = data.getData();\n            try {\n                Bitmap_Image = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);\n            } catch (IOException e) {\n                Toast.makeText(this,\"Dina\",Toast.LENGTH_SHORT).show();\n                e.printStackTrace();\n            }\n            image.setImageURI(imageUri);\n        }\n    }\n    private boolean validateEmail() {\n        String emailInput = Email.getText().toString().trim();\n        if (emailInput.isEmpty()) {\n            Email.setError(\"Field can't be empty\");\n            return false;\n        } else if (!Patterns.EMAIL_ADDRESS.matcher(emailInput).matches()) {\n            Email.setError(\"Please enter a valid email address\");\n            return false;\n        } else {\n            Email.setError(null);\n            return true;\n        }\n    }\n    public boolean isAlpha(String name) {\n        char[] chars = name.toCharArray();\n\n        for (char c : chars) {\n            if(!Character.isLetter(c) | c !=' ' ) {\n                return false;\n            }\n        }\n\n        return true;\n    }/**/\n    private boolean validateUsername() {\n        String usernameInput = UserName.getText().toString().trim();\n        if (usernameInput.isEmpty()) {\n            UserName.setError(\"Field can't be empty\");\n            return false;\n        } else if (usernameInput.length() > 15) {\n            UserName.setError(\"Username too long\");\n            return false;\n        }\n        else if (usernameInput.length() < 2) {\n            UserName.setError(\"Username too short\");\n            return false;\n        }else if (isAlpha(usernameInput)) {\n            UserName.setError(\"Using only Letters\");\n            return false;\n        } else {\n            UserName.setError(null);\n            return true;\n        }\n    }\n    private boolean find_Digit(String s){\n        String n ;\n\n        for(int i = 1; i < s.length(); i++){\n            n = s.substring(i-1,i);\n            if(n.matches(\"[0-9]\"))\n                return true;\n        }\n\n        return false;\n    }\n    private boolean validatePassword() {\n        String passwordInput = Password.getText().toString().trim();\n        if (passwordInput.isEmpty()) {\n            tilPassword.setError(\"Field can't be empty\");\n            return false;\n        } else if (!PASSWORD_PATTERN.matcher(passwordInput).matches()) {\n            /*if(!find_Digit(passwordInput) )\n                tilPassword.setError(\"must contain at least 1 digit\");\n            else if(!passwordInput.matches(\"[a-z]\"))\n                tilPassword.setError(\"must contain at least 1 lower case letter\");\n            else if(!passwordInput.matches(\"[A-Z]\"))\n                tilPassword.setError(\"must contain at least 1 upper case letter\");\n            else*/\n            tilPassword.setError(\"Must contains digits, lower&upper case letters and length > 8\");\n            return false;\n        } else {\n            tilPassword.setError(null);\n            return true;\n        }\n    }\n    private boolean validateCity() {\n        String cityInput = city.getText().toString().trim();\n        if (cityInput.isEmpty()) {\n            city.setError(\"Field can't be empty\");\n            return false;\n        } else if (!list.contains(cityInput)) {\n            city.setError(\"Please Enter valid city!\");\n            return false;\n        } else {\n            city.setError(null);\n            return true;\n        }\n    }//\n    private boolean validatePhone() {\n        String pInput = Phone.getText().toString().trim();\n        if (pInput.isEmpty()) {\n            Phone.setError(\"Field can't be empty\");\n            return false;\n        } else if (pInput.length() != 11) {\n            Phone.setError(\"Please enter a valid phone number\");\n            return false;\n        } else {\n            /*try{\n                int i = Integer.parseInt(pInput);\n                tilPhone.setError(\"Please enter a valid phone number\");\n            }\n            catch (Exception e){\n                tilPhone.setError(null);\n            }*/\n            Phone.setError(null);\n            return true;\n        }\n    }//| !validatePhone()\n    public boolean confirmInput(View v) {\n        if (!validateEmail() | !validateUsername() | !validatePassword() | !validatePhone() |!validateCity()) {\n            return true;\n        }\n        /*String input = \"Email: \" + Email.getText().toString();\n        input += \"\\n\";\n        input += \"Username: \" + UserName.getText().toString();\n        input += \"\\n\";\n        input += \"Password: \" + Password.getText().toString();\n        Toast.makeText(this, input, Toast.LENGTH_SHORT).show();*/\n        return false;\n    }/**/\n\n    protected void prepareList() {\n        list = new ArrayList<>();\n        list.add(getString(R.string.Cairo));\n        list.add(getString(R.string.Alexandria));\n        list.add(getString(R.string.ShubraElKheima));\n        list.add(getString(R.string.Giza));\n        list.add(getString(R.string.PortSaid));\n        list.add(getString(R.string.Suez));\n        list.add(getString(R.string.ElMahallaElKubra));\n        list.add(getString(R.string.Luxor));\n        list.add(getString(R.string.Mansoura));\n        list.add(getString(R.string.Tanta));\n        list.add(getString(R.string.Asyut));\n        list.add(getString(R.string.Ismailia));\n        list.add(getString(R.string.Faiyum));\n        list.add(getString(R.string.Zagazig));\n        list.add(getString(R.string.Damietta));\n        list.add(getString(R.string.Aswan));\n        list.add(getString(R.string.Minya));\n        list.add(getString(R.string.BeniSuef));\n        list.add(getString(R.string.Hurghada));\n        list.add(getString(R.string.Qena));\n        list.add(getString(R.string.Sohag));\n        list.add(getString(R.string.ShibinElKom));\n        list.add(getString(R.string.Banha));\n        list.add(getString(R.string.Arish));\n\n    }\n\n    public void onSaveInstanceState(@NonNull Bundle outState)\n    {\n        super.onSaveInstanceState(outState);\n        outState.putParcelable(\"BitmapImage\",Bitmap_Image);\n    }\n\n    public Uri getImageUri(Bitmap bitmap_Image) {\n        ByteArrayOutputStream bytes = new ByteArrayOutputStream();\n        bitmap_Image.compress(Bitmap.CompressFormat.JPEG, 100, bytes);\n        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap_Image, \"Profile\", null);\n        return Uri.parse(path);\n    }\n\n\n    private String getRealPathFromURI(Uri imageUri) {\n        String[] proj = {MediaStore.Images.Media.DATA};\n        CursorLoader loader = new CursorLoader(this, imageUri, proj, null, null, null);\n        Cursor cursor = loader.loadInBackground();\n        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);\n        cursor.moveToFirst();\n        String result = cursor.getString(column_index);\n        cursor.close();\n        return result;\n    }\n\n    public void registerUser()  {\n    String emailInput = Email.getText().toString().trim();\n    String passwordInput = Password.getText().toString().trim();\n    String usernameInput = UserName.getText().toString().trim();\n    String pInput = Phone.getText().toString().trim();\n    String cityInput = city.getText().toString().trim();\n    String Datee = DateT.getText().toString().trim();\n\n    ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n    Call<RegUser> call;\n    if(imageUri != null) {\n        File file = new File(getRealPathFromURI(imageUri));\n        RequestBody requestBody = RequestBody.create(MediaType.parse(\"multipart/form-data\"), file);\n        MultipartBody.Part image = MultipartBody.Part.createFormData(\"profile_pic\", file.getName(), requestBody);\n        call = apiInterface.storePost(emailInput,passwordInput,usernameInput,pInput,cityInput,Datee,image);\n    }\n\n    else\n        call = apiInterface.storePost(emailInput,passwordInput,usernameInput,pInput,cityInput,Datee);\n        call.enqueue(new Callback<RegUser>() {\n        @Override\n        public void onResponse(Call<RegUser> call, Response<RegUser> response) {\n            if(response.isSuccessful())\n            {\n                startActivity(new Intent(SignupActivity.this,check_registration.class));\n                finish();\n\n            }\n            else {\n\n                try {\n                    //Log.e(\"TAG\", \"onResponse: \"+ response.errorBody().string());\n                     JSONObject jsonObject = new JSONObject(response.errorBody().string()).getJSONObject(\"error\");\n                        String mail = jsonObject.getString(\"username\");\n                        String phone = jsonObject.getString(\"phone\");\n\n                    if(!mail.isEmpty() && !phone.isEmpty()) {\n                        Email.setError(mail);\n                        Phone.setError(phone);\n                    }\n                    else if(!mail.isEmpty())\n                        Email.setError(mail);\n                    else\n                        Phone.setError(phone);\n\n                } catch (IOException | JSONException e) {\n                    Toast.makeText(SignupActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();\n                }\n\n            }\n        }\n        @Override\n        public void onFailure(Call<RegUser> call, Throwable t) {\n            Toast.makeText(SignupActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n        }\n    });\n\n    }\n\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/SlideAdapter.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.view.FrameStats;\n\nimport androidx.annotation.NonNull;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentManager;\nimport androidx.fragment.app.FragmentStatePagerAdapter;\n\nimport java.util.List;\n\npublic class SlideAdapter extends FragmentStatePagerAdapter {\nprivate List<Fragment> fragmentList;\n\n    public SlideAdapter(FragmentManager fm ,List<Fragment> fragmentList){\n        super(fm);\n        this.fragmentList= fragmentList;\n    }\n\n    @Override\n    public Fragment getItem(int position) {\n        return fragmentList.get(position);\n    }\n\n    @Override\n    public int getCount() {\n        return fragmentList.size();\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/WelcomeActivity.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.core.content.ContextCompat;\nimport androidx.fragment.app.Fragment;\nimport androidx.viewpager.widget.ViewPager;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ImageView;\nimport android.widget.LinearLayout;\nimport android.widget.TextView;\n\nimport com.helloworld.goodpoint.R;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport fragments.PageFragment1;\nimport fragments.PageFragment2;\nimport fragments.PageFragment3;\n\npublic class WelcomeActivity extends AppCompatActivity {\n    private ViewPager pager;\n    private SlideAdapter slideAdapter;\n    private LinearLayout Dots_layout;\n    private ImageView[] dots;\n    private int[] layouts = {R.layout.slider_page1, R.layout.slider_page2, R.layout.slider_page3};\n    private TextView Next, Skip, Start;\n    private ImageView arrow;\n    private PrefManager prefManager;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        prefManager = new PrefManager(this);\n        if (!prefManager.isFirstTimeLaunch()) {\n            launchHomeScreen();\n            finish();\n        }\n        setContentView(R.layout.activity_welcome);\n        List<Fragment> list = new ArrayList<>();\n        list.add(new PageFragment1());\n        list.add(new PageFragment2());\n        list.add(new PageFragment3());\n\n        pager = findViewById(R.id.viewpager);\n        slideAdapter = new SlideAdapter(getSupportFragmentManager(), list);\n        pager.setAdapter(slideAdapter);\n\n        Dots_layout = (LinearLayout) findViewById(R.id.dotsLayout);\n        Skip = (TextView) findViewById(R.id.Skip);\n        Next = (TextView) findViewById(R.id.Nextt);\n        createDots(0);\n        pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {\n            @Override\n            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {\n\n            }\n\n            @Override\n            public void onPageSelected(int position) {\n                createDots(position);\n                    // changing the next button text 'NEXT' / 'START '\n                    if (position == layouts.length - 1) {\n                        // last page. make button text to START\n                        Next.setText(getString(R.string.start));\n                        Skip.setVisibility(View.GONE);\n                    } else {\n                        // still pages are left\n                        Next.setText(getString(R.string.next));\n                        Skip.setVisibility(View.VISIBLE);\n                    }\n                }\n\n            @Override\n            public void onPageScrollStateChanged(int state) {\n\n            }\n        });\n        Skip.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                launchHomeScreen();\n            }\n        });\n\n        Next.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                // checking for last page\n                // if last page home screen will be launched\n                int current = getItem(+1);\n                if (current < layouts.length) {\n                    // move to next screen\n                    pager.setCurrentItem(current);\n                } else {\n                    launchHomeScreen();\n                }\n            }\n        });\n        Skip.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                launchHomeScreen();\n            }\n        });\n    }\n    private void launchHomeScreen (){\n        prefManager.setFirstTimeLaunch(false);\n        startActivity(new Intent(WelcomeActivity.this, MainActivity.class));\n        finish();\n    }\n\n    private int getItem(int i) {\n        return pager.getCurrentItem() + i;\n    }\n    private void createDots(int current_position) {\n        if (Dots_layout != null)\n            Dots_layout.removeAllViews();\n        dots = new ImageView[layouts.length];\n        for (int i = 0; i < layouts.length; i++) {\n            dots[i] = new ImageView(this);\n            if (i == current_position) {\n                dots[i].setImageDrawable(ContextCompat.getDrawable(this, R.drawable.active_dot));\n            } else {\n                dots[i].setImageDrawable(ContextCompat.getDrawable(this, R.drawable.default_dot));\n            }\n            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT\n                    , ViewGroup.LayoutParams.WRAP_CONTENT);\n            params.setMargins(4, 0, 4, 0);\n            Dots_layout.addView(dots[i], params);\n\n        }\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/candidate/CandidatePage.java",
    "content": "package com.helloworld.goodpoint.ui.candidate;\n\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.AdapterView;\nimport android.widget.Button;\nimport android.widget.RadioButton;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.LostItem;\nimport com.helloworld.goodpoint.pojo.LostObject;\nimport com.helloworld.goodpoint.pojo.NotificationItem;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.ui.GlobalVar;\nimport com.helloworld.goodpoint.ui.PrefManager;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class CandidatePage extends AppCompatActivity implements AdapterView.OnItemClickListener {\n\n    private static final String TAG = \"CandidatePage\";\n    //vars\n    private ArrayList<String> mNames = new ArrayList<>();\n    private ArrayList<String> mImageUrls = new ArrayList<>();\n    RadioButton rb;\n    Button Done_btn;\n    SubItemAdapter recyclerViewAdapter;\n    TextView type;\n    List<LostItem> items;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_candidate_page);\n        type = findViewById(R.id.tv_item_title1);\n        Done_btn = findViewById(R.id.d_btn);\n        RecyclerView rvItem = findViewById(R.id.rv_sub_item1);\n\n\n        LostItem item = new LostItem(\"Phone\", \"123456788\", \"Lenovo\", \"White\", \"details\");\n\n        if (GlobalVar.lostList == null && GlobalVar.percentList == null) {\n            GlobalVar.lostList = new ArrayList<>();\n            GlobalVar.percentList = new ArrayList<>();\n            GlobalVar.lostList.add(item);\n            GlobalVar.lostList.add(item);\n            GlobalVar.lostList.add(item);\n            GlobalVar.percentList.add(\"60%\");\n            GlobalVar.percentList.add(\"50%\");\n            GlobalVar.percentList.add(\"40%\");\n            GlobalVar.type=\"Phone\";\n        }\n        type.setText(GlobalVar.type);\n        LinearLayoutManager layoutManager = new LinearLayoutManager(\n                rvItem.getContext(),\n                LinearLayoutManager.VERTICAL,\n                false\n        );\n        recyclerViewAdapter = new SubItemAdapter(buildSubItemList(GlobalVar.lostList), this);\n        recyclerViewAdapter.setOnItemClickListener(this);\n        rvItem.setAdapter(recyclerViewAdapter);\n        rvItem.setLayoutManager(layoutManager);\n        Done_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                SubItem list = GlobalVar.sublist.get(GlobalVar.p);\n                storeCandidatesNotifictation(list);\n                finish();\n            }\n        });\n\n    }\n\n    private List<com.helloworld.goodpoint.ui.candidate.SubItem> buildSubItemList(List<LostItem> items) {\n        List<com.helloworld.goodpoint.ui.candidate.SubItem> subItemList = new ArrayList<>();\n        for (int i = 0; i < items.size(); i++) {\n            com.helloworld.goodpoint.ui.candidate.SubItem subItem = new com.helloworld.goodpoint.ui.candidate.SubItem(items.get(i).getType(), items.get(i).getDescription(), GlobalVar.percentList.get(i), i, items.get(i).getId());\n            subItemList.add(subItem);\n        }\n        GlobalVar.sublist = subItemList;\n        return subItemList;\n    }\n\n\n    @Override\n    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {\n        SubItem list = GlobalVar.sublist.get(position);\n        int i = list.getPos();\n        i += 1;\n        GlobalVar.p = position;\n        Toast.makeText(this, \"Item (\" + i\n                + \") is selected\", Toast.LENGTH_SHORT).show();\n\n\n    }\n\n    public void storeCandidatesNotifictation(SubItem item) {\n\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n        Call<LostObject> call = apiInterface.getObject(item.getId());\n        call.enqueue(new Callback<LostObject>() {\n\n            @Override\n            public void onResponse(Call<LostObject> call, Response<LostObject> response) {\n                LostObject obj = response.body();\n                if(response.body()!=null) {\n                    Call<NotificationItem> call2 = apiInterface.storeNotification(obj.getUser_id(), \"Item matched\", \"Your \" + item.getSubItemTitle() + \" is Found \", 4);\n                    call2.enqueue(new Callback<NotificationItem>() {\n                        @Override\n                        public void onResponse(Call<NotificationItem> call, Response<NotificationItem> response) {\n                            if (response.isSuccessful()) {\n                                Toast.makeText(CandidatePage.this, \"Notification is posted.\", Toast.LENGTH_SHORT).show();\n                            } else {\n                                Toast.makeText(CandidatePage.this, \"The Notification is not posted.\", Toast.LENGTH_SHORT).show();\n                            }\n                        }\n\n                        @Override\n                        public void onFailure(Call<NotificationItem> call, Throwable t) {\n                            Toast.makeText(CandidatePage.this, t.getMessage(), Toast.LENGTH_LONG).show();\n\n                        }\n                    });\n                }\n            }\n\n            @Override\n            public void onFailure(Call<LostObject> call, Throwable t) {\n                Toast.makeText(CandidatePage.this, t.getMessage(), Toast.LENGTH_LONG).show();\n            }\n        });\n\n    }\n}\n\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/candidate/Item.java",
    "content": "package com.helloworld.goodpoint.ui.candidate;\n\n\nimport java.util.List;\n\npublic class Item {\n\n    private String itemTitle;\n    private List<SubItem> subItem;\n\n    public String getItemTitle() {\n        return itemTitle;\n    }\n\n    public void setItemTitle(String itemTitle) {\n        this.itemTitle = itemTitle;\n    }\n\n    public List<SubItem> getSubItem() {\n        return subItem;\n    }\n\n    public void setSubItem(List<SubItem> subItem) {\n        this.subItem = subItem;\n    }\n\n    public Item(String itemTitle, List<SubItem> subItem) {\n        this.itemTitle = itemTitle;\n        this.subItem = subItem;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/candidate/ItemAdapter.java",
    "content": "package com.helloworld.goodpoint.ui.candidate;\n\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\n\nimport androidx.annotation.NonNull;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\n\nimport com.helloworld.goodpoint.R;\n\nimport java.util.List;\n\npublic class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.ItemViewHolder> {\n\n    private RecyclerView.RecycledViewPool viewPool = new RecyclerView.RecycledViewPool();\n    private List<Item> itemlist;\n    private Context cxt;\n    ItemAdapter(List<com.helloworld.goodpoint.ui.candidate.Item> item,Context cxt) {\n        this.itemlist= item;\n        this.cxt=cxt;\n    }\n\n    @NonNull\n    @Override\n    public ItemAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {\n        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.activity_candidate_page, viewGroup, false);\n        return new ItemAdapter.ItemViewHolder(view);\n    }\n\n    @Override\n    public void onBindViewHolder(@NonNull ItemAdapter.ItemViewHolder itemViewHolder, int i) {\n        com.helloworld.goodpoint.ui.candidate.Item item = itemlist.get(i);\n        itemViewHolder.tvItem.setText(item.getItemTitle());\n\n        // Create layout manager with initial prefetch item count\n        LinearLayoutManager layoutManager = new LinearLayoutManager(\n                itemViewHolder.rvSubItem.getContext(),\n                LinearLayoutManager.HORIZONTAL,\n                false\n        );\n        layoutManager.setInitialPrefetchItemCount(item.getSubItem().size());\n\n        // Create sub item view adapter\n        com.helloworld.goodpoint.ui.candidate.SubItemAdapter subItemAdapter = new com.helloworld.goodpoint.ui.candidate.SubItemAdapter(item.getSubItem(),cxt);\n\n\n        itemViewHolder.rvSubItem.setLayoutManager(layoutManager);\n        itemViewHolder.rvSubItem.setAdapter(subItemAdapter);\n        itemViewHolder.rvSubItem.setRecycledViewPool(viewPool);\n\n\n    }\n\n    @Override\n    public int getItemCount() {\n        return itemlist.size();\n    }\n\n    class ItemViewHolder extends RecyclerView.ViewHolder {\n\n        private TextView tvItem;\n        private RecyclerView rvSubItem;\n\n        ItemViewHolder(View itemView) {\n            super(itemView);\n            tvItem = itemView.findViewById(R.id.tv_item_title1);\n            rvSubItem = itemView.findViewById(R.id.rv_sub_item1);\n\n        }\n    }\n}\n\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/candidate/SubItem.java",
    "content": "package com.helloworld.goodpoint.ui.candidate;\n\npublic class SubItem {\n    private String subItemTitle;\n    private String subItemDes;\n    private String persent;\n    private int pos;\n    private String id;\n\n    public SubItem(String subItemTitle, String subItemDes, String persent, int pos, String id) {\n        this.subItemTitle = subItemTitle;\n        this.subItemDes = subItemDes;\n        this.persent = persent;\n        this.pos = pos;\n        this.id = id;\n    }\n\n    public String getSubItemTitle() {\n        return subItemTitle;\n    }\n\n    public void setSubItemTitle(String subItemTitle) {\n        this.subItemTitle = subItemTitle;\n    }\n\n    public String getSubItemDes() {\n        return subItemDes;\n    }\n\n    public void setSubItemDes(String subItemDes) {\n        this.subItemDes = subItemDes;\n    }\n\n    public String getPersent() {\n        return persent;\n    }\n\n    public void setPersent(String persent) {\n        this.persent = persent;\n    }\n\n    public int getPos() {\n        return pos;\n    }\n\n    public void setPos(int pos) {\n        this.pos = pos;\n    }\n\n    public String getId() {\n        return id;\n    }\n\n    public void setId(String id) {\n        this.id = id;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/candidate/SubItemAdapter.java",
    "content": "package com.helloworld.goodpoint.ui.candidate;\n\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.AdapterView;\nimport android.widget.RadioButton;\nimport android.widget.TextView;\n\nimport androidx.annotation.NonNull;\nimport androidx.recyclerview.widget.RecyclerView;\n\nimport com.helloworld.goodpoint.R;\n\nimport java.util.List;\n\npublic class SubItemAdapter extends RecyclerView.Adapter<SubItemAdapter.SubItemViewHolder> {\n\n\n    private List<SubItem> subItemList;\n    private int lastSelectedPosition = -1;\n    private Context context;\n    private AdapterView.OnItemClickListener onItemClickListener;\n\n    SubItemAdapter(List<SubItem> subItem, Context ctx) {\n        this.subItemList = subItem;\n        context = ctx;\n    }\n\n    @NonNull\n    @Override\n    public SubItemAdapter.SubItemViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {\n        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.layout_sub_item, viewGroup, false);\n\n        return new SubItemAdapter.SubItemViewHolder(view,this);\n    }\n\n    @Override\n    public void onBindViewHolder(@NonNull SubItemAdapter.SubItemViewHolder subItemViewHolder, int i) {\n        com.helloworld.goodpoint.ui.candidate.SubItem subItem = subItemList.get(i);\n        subItemViewHolder.tvItemType.setText(subItem.getSubItemTitle());\n        subItemViewHolder.tvItemDes.setText(subItem.getSubItemDes());\n        subItemViewHolder.tvItemPercent.setText(subItem.getPersent());\n\n        try {\n            subItemViewHolder.bindData(subItem, i);\n            subItem.setPos(i);\n        } catch (Exception e) {\n            e.printStackTrace();\n\n        }\n        //Toast.makeText(cxt, \"size=\"+item.getSubItemList().size(),Toast.LENGTH_LONG).show();\n\n    }\n\n    public void setOnItemClickListener(AdapterView.OnItemClickListener onItemClickListener) {\n        this.onItemClickListener = onItemClickListener;\n    }\n\n    public void onItemHolderClick(SubItemAdapter.SubItemViewHolder holder) {\n        if (onItemClickListener != null)\n            onItemClickListener.onItemClick(null, holder.itemView, holder.getAdapterPosition(), holder.getItemId());\n    }\n\n    @Override\n    public int getItemCount() {\n        return subItemList.size();\n    }\n\n\n    class SubItemViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {\n        private SubItemAdapter mAdapter;\n        private TextView tvItemType;\n        private TextView tvItemDes;\n        private TextView tvItemPercent;\n        private RadioButton rb;\n\n        public SubItemViewHolder(View itemView, final SubItemAdapter mAdapter) {\n            super(itemView);\n            this.mAdapter=mAdapter;\n            tvItemType = itemView.findViewById(R.id.tv_sub_item_title);\n            tvItemDes=itemView.findViewById(R.id.tv_sub_item_des);\n            tvItemPercent=itemView.findViewById(R.id.tv_sub_item_percent);\n            rb = itemView.findViewById(R.id.radioButtonn);\n            itemView.setOnClickListener(this);\n            rb.setOnClickListener( this);\n        }\n\n        public void bindData(SubItem list, int position) {\n            rb.setChecked(position==lastSelectedPosition);\n\n        }\n        public void onClick(View v){\n            lastSelectedPosition = getAdapterPosition();\n            notifyItemRangeChanged(0,subItemList.size());\n            mAdapter.onItemHolderClick(SubItemAdapter.SubItemViewHolder.this);\n        }\n    }\n}\n\n\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/candidate/lostitem.java",
    "content": "package com.helloworld.goodpoint.ui.candidate;\n\npublic class lostitem {\n    String type,descriotion;\n\n    public lostitem(String type, String descriotion) {\n        this.type = type;\n        this.descriotion = descriotion;\n    }\n\n    public String getType() {\n        return type;\n    }\n\n    public void setType(String type) {\n        this.type = type;\n    }\n\n    public String getDescriotion() {\n        return descriotion;\n    }\n\n    public void setDescriotion(String descriotion) {\n        this.descriotion = descriotion;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/check_registration.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport androidx.annotation.RequiresApi;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat;\n\nimport android.content.Intent;\nimport android.graphics.drawable.AnimatedVectorDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\n\nimport com.helloworld.goodpoint.R;\n\npublic class check_registration extends AppCompatActivity {\n    ImageView done;\n    Button gotoLogin;\n    AnimatedVectorDrawableCompat avd;\n    AnimatedVectorDrawable  avd2;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_check_registration);\n        gotoLogin = findViewById(R.id.goto_login);\n        done =  findViewById(R.id.done);\n        Drawable drawable = done.getDrawable();\n        if(drawable instanceof AnimatedVectorDrawableCompat){\n            avd =(AnimatedVectorDrawableCompat) drawable;\n            avd.start();\n        }\n        else  if(drawable instanceof  AnimatedVectorDrawable){\n            avd2 = (AnimatedVectorDrawable) drawable;\n            avd2.start();\n        }\n        gotoLogin.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View view) {\n                //startActivity(new Intent(check_registration.this,SigninActivity.class));//update it\n                finish();\n            }\n        });\n\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/forgetPasswordScreens/ForgetPassSuccessMessage.java",
    "content": "package com.helloworld.goodpoint.ui.forgetPasswordScreens;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.ui.MainActivity;\nimport com.helloworld.goodpoint.ui.SigninActivity;\n\npublic class ForgetPassSuccessMessage extends AppCompatActivity {\n    private Button login_btn;\n    private ImageView back_btn;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_forget_pass_success_message);\n        login_btn = (Button) findViewById(R.id.login_btn);\n        back_btn = (ImageView) findViewById(R.id.back_btn);\n\n        login_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                Intent intent = new Intent(getApplicationContext(), SigninActivity.class);\n                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);\n                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);\n                startActivity(intent);\n                finish();\n            }\n        });\n        back_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                finish();\n            }\n        });\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/forgetPasswordScreens/ForgetPasswordWithEmail.java",
    "content": "package com.helloworld.goodpoint.ui.forgetPasswordScreens;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.util.Patterns;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\nimport android.widget.ImageView;\n\nimport com.helloworld.goodpoint.R;\n\npublic class ForgetPasswordWithEmail extends AppCompatActivity {\n    private Button next_btn;\n    private EditText email;\n    private ImageView back_btn;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_forget_password);\n        next_btn = (Button) findViewById(R.id.Next_btn);\n        back_btn = (ImageView) findViewById(R.id.back_btn);\n        email = (EditText) findViewById(R.id.Email);\n        next_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                String emailInput = email.getText().toString().trim();\n                if (emailInput.isEmpty()) {\n                    email.setError(\"Field can't be empty\");\n                    email.requestFocus();\n                } else if (!Patterns.EMAIL_ADDRESS.matcher(emailInput).matches()) {\n                    email.setError(\"Please enter a valid email address\");\n                    email.requestFocus();\n                } else {\n                    startActivity(new Intent(ForgetPasswordWithEmail.this, VerifiyCode.class));\n\n                }\n            }\n        });\n        back_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                finish();\n            }\n        });\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/forgetPasswordScreens/ForgetPasswordWithPhone.java",
    "content": "package com.helloworld.goodpoint.ui.forgetPasswordScreens;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.util.Patterns;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\nimport android.widget.ImageView;\n\nimport com.helloworld.goodpoint.R;\n\npublic class ForgetPasswordWithPhone extends AppCompatActivity {\n\n    private Button next_btn;\n    private ImageView back_btn;\n    private EditText phone;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_forget_password_with_phone);\n        next_btn = (Button) findViewById(R.id.Next_btn);\n        back_btn = (ImageView) findViewById(R.id.back_btn);\n        phone = (EditText) findViewById(R.id.Phone);\n        next_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                String phoneInput = phone.getText().toString().trim();\n                if (phoneInput.isEmpty()) {\n                    phone.setError(\"Field can't be empty\");\n                    phone.requestFocus();\n                } else if (phone.length() < 11) {\n                    phone.setError(\"Please enter a valid phone number\");\n                    phone.requestFocus();\n                } else {\n                    startActivity(new Intent(ForgetPasswordWithPhone.this, VerifiyCode.class));\n\n                }\n            }\n        });\n        back_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                finish();\n            }\n        });\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/forgetPasswordScreens/MakeSelection.java",
    "content": "package com.helloworld.goodpoint.ui.forgetPasswordScreens;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\n\nimport com.helloworld.goodpoint.R;\n\npublic class MakeSelection extends AppCompatActivity {\n    private Button sms_btn, email_btn;\n    private ImageView back_btn;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_make_selection);\n        sms_btn = (Button) findViewById(R.id.sms_btn);\n        email_btn = (Button) findViewById(R.id.email_btn);\n        back_btn = (ImageView) findViewById(R.id.back_btn);\n\n        sms_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                startActivity(new Intent(MakeSelection.this, ForgetPasswordWithPhone.class));\n\n            }\n        });\n        email_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                startActivity(new Intent(MakeSelection.this, ForgetPasswordWithEmail.class));\n\n            }\n        });\n        back_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                finish();\n            }\n        });\n\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/forgetPasswordScreens/SetNewPassword.java",
    "content": "package com.helloworld.goodpoint.ui.forgetPasswordScreens;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.google.android.material.textfield.TextInputLayout;\nimport com.helloworld.goodpoint.R;\n\nimport android.annotation.SuppressLint;\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.text.TextUtils;\nimport android.text.method.HideReturnsTransformationMethod;\nimport android.text.method.PasswordTransformationMethod;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport java.util.regex.Pattern;\n\npublic class SetNewPassword extends AppCompatActivity {\n\n    private Button ok_btn;\n    private ImageView back_btn;\n    private EditText pass1, pass2;\n    private TextInputLayout errorPass,errorConfirm;\n    boolean isEmailValid, isPasswordValid, isPasswordVisible;\n    private static final Pattern PASSWORD_PATTERN =\n            Pattern.compile(\"^\" +\n                    \"(?=.*[0-9])\" +         //at least 1 digit\n                    \"(?=.*[a-z])\" +         //at least 1 lower case letter\n                    \"(?=.*[A-Z])\" +         //at least 1 upper case letter\n                    // \"(?=.*[a-zA-Z])\" +      //any letter\n                    // \"(?=.*[@#$%^&+=])\" +    //at least 1 special character\n                    // \"(?=\\\\S+$)\" +           //no white spaces\n                    \".{8,}\" +               //at least 8 characters\n                    \"$\");\n\n    @SuppressLint(\"ClickableViewAccessibility\")\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_set_new_password);\n        ok_btn = (Button) findViewById(R.id.ok_btn);\n        back_btn = (ImageView) findViewById(R.id.back_btn);\n        pass1 = (EditText) findViewById(R.id.pass1);\n        pass2 = (EditText) findViewById(R.id.pass2);\n        errorPass = (TextInputLayout) findViewById(R.id.errorPass);\n        errorConfirm = (TextInputLayout) findViewById(R.id.errorConfirm);\n\n        ok_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View view) {\n\n                String password = pass1.getText().toString().trim();\n                String confirm = pass2.getText().toString().trim();\n                errorPass.setError(null);\n                errorConfirm.setError(null);\n                if (password.isEmpty()) {\n                    errorPass.setError(\"Please enter Password\");\n                    errorPass.setErrorIconDrawable(null);\n\n                }\n                if (confirm.isEmpty()) {\n                    errorConfirm.setError(\"Please confirm Password\");\n                    errorConfirm.setErrorIconDrawable(null);\n\n                } else if (password.length() < 6) {\n                    errorPass.setError(\"Password must contain 6 characters\");\n                    errorPass.setErrorIconDrawable(null);\n\n                } else if (!PASSWORD_PATTERN.matcher(password).matches()) {\n                    errorPass.setError(\"password to weak!\");\n                    errorPass.setErrorIconDrawable(null);\n\n                } else if (!password.equals(confirm)) {\n                    errorConfirm.setError(\"Password Not matching\");\n                    errorConfirm.setErrorIconDrawable(null);\n                } else {\n\n                    startActivity(new Intent(SetNewPassword.this, ForgetPassSuccessMessage.class));\n                    finish();\n                }\n\n            }\n        });\n\n        back_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                finish();\n            }\n        });\n\n    }\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/forgetPasswordScreens/VerifiyCode.java",
    "content": "package com.helloworld.goodpoint.ui.forgetPasswordScreens;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.chaos.view.PinView;\nimport com.helloworld.goodpoint.R;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.Toast;\n\npublic class VerifiyCode extends AppCompatActivity {\nprivate Button verify_btn;\nprivate ImageView back_btn;\nprivate PinView code;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_verifiy_code);\n        verify_btn=(Button)findViewById(R.id.verify_btn);\n        back_btn=(ImageView)findViewById(R.id.back_btn);\n        code= (PinView)findViewById(R.id.otp_view);\n        verify_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                String Code = code.getText().toString().trim();\n                if (Code.isEmpty()) {\n                    code.setError(\"Please enter the code\");\n                    code.requestFocus();\n                    Toast.makeText(VerifiyCode.this, \"Invalid Code\", Toast.LENGTH_SHORT).show();\n                }\n                else if (Code.length()<6){\n                    code.setError(\"Complete the code\");\n                    code.requestFocus();\n                    Toast.makeText(VerifiyCode.this, \"Invalid Code\", Toast.LENGTH_SHORT).show();\n                }\n                else {\n                    startActivity(new Intent(VerifiyCode.this, SetNewPassword.class));\n                    finish();\n                }\n            }\n        });\n        back_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n               finish();\n            }\n        });\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/lostFoundObject/FoundObjectActivity.java",
    "content": "package com.helloworld.goodpoint.ui.lostFoundObject;\n\nimport android.Manifest;\nimport android.annotation.SuppressLint;\nimport android.app.AlertDialog;\nimport android.app.DatePickerDialog;\nimport android.app.Fragment;\nimport android.app.FragmentManager;\nimport android.app.FragmentTransaction;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.Color;\nimport android.graphics.drawable.ColorDrawable;\nimport android.location.Address;\nimport android.location.Geocoder;\nimport android.location.Location;\nimport android.location.LocationManager;\nimport android.net.ConnectivityManager;\nimport android.net.NetworkInfo;\nimport android.net.Uri;\nimport android.net.wifi.WifiManager;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Looper;\nimport android.provider.MediaStore;\nimport android.provider.Settings;\nimport android.util.Log;\nimport android.util.SparseArray;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.widget.AutoCompleteTextView;\nimport android.widget.Button;\nimport android.widget.DatePicker;\nimport android.widget.EditText;\nimport android.widget.ProgressBar;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.appcompat.widget.PopupMenu;\nimport androidx.core.app.ActivityCompat;\nimport androidx.loader.content.CursorLoader;\n\nimport com.google.android.gms.common.GooglePlayServicesNotAvailableException;\nimport com.google.android.gms.common.GooglePlayServicesRepairableException;\nimport com.google.android.gms.location.FusedLocationProviderClient;\nimport com.google.android.gms.location.LocationCallback;\nimport com.google.android.gms.location.LocationRequest;\nimport com.google.android.gms.location.LocationResult;\nimport com.google.android.gms.location.LocationServices;\nimport com.google.android.gms.location.places.Place;\nimport com.google.android.gms.location.places.ui.PlacePicker;\nimport com.google.android.gms.tasks.OnCompleteListener;\nimport com.google.android.gms.tasks.Task;\nimport com.google.android.gms.vision.Frame;\nimport com.google.android.gms.vision.face.Face;\nimport com.google.android.gms.vision.face.FaceDetector;\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.FoundItem;\nimport com.helloworld.goodpoint.pojo.FoundPerson;\nimport com.helloworld.goodpoint.pojo.LostItem;\nimport com.helloworld.goodpoint.pojo.NotificationItem;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.ui.Alert;\nimport com.helloworld.goodpoint.ui.GlobalVar;\nimport com.helloworld.goodpoint.ui.PrefManager;\nimport com.helloworld.goodpoint.ui.prepareList;\nimport com.shashank.sony.fancytoastlib.FancyToast;\n\nimport org.json.JSONException;\nimport org.json.JSONObject;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.Calendar;\nimport java.util.List;\nimport java.util.Locale;\n\nimport okhttp3.MediaType;\nimport okhttp3.MultipartBody;\nimport okhttp3.RequestBody;\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\n\npublic class FoundObjectActivity extends AppCompatActivity implements View.OnClickListener, objectDataType {\n    private TextView DateFound;\n    private EditText Location;\n    private DatePickerDialog.OnDateSetListener DateSet;\n    private int year, month, Day;\n    private Button Person;\n    private Button Object;\n    private Button MatchFound;\n    private prepareList List;\n    private List<String> listColor;\n    private Fragment PersonF, ObjectF;\n    private String location, City;\n    private String ObjectColor, Serial, brand, textArea_information, Type;\n    private String PName;\n    private ProgressBar progressbar;\n    private WifiManager wifiManager;\n    private final static int PLACE_PICKER_REQUEST = 999;\n    private List<Bitmap> Person_Images;\n    double Latitude;\n    double Longitude;\n    private FaceDetector faceDetector;\n    FusedLocationProviderClient fusedLocationProviderClient;\n    private boolean flagPerson, flagObject;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_found_object);\n        Calendar cal = Calendar.getInstance();//To get today's date\n        inti();\n        if (savedInstanceState != null) {\n            year = savedInstanceState.getInt(\"year\");\n            month = savedInstanceState.getInt(\"month\");\n            Day = savedInstanceState.getInt(\"Day\");\n            flagPerson = savedInstanceState.getBoolean(\"flagPerson\");\n            flagObject = savedInstanceState.getBoolean(\"flagObject\");\n            if (flagPerson == true) {\n                Person.setTextColor(0xFFF38E3A);\n                Object.setTextColor(Color.BLACK);\n            } else if (flagObject == true) {\n                Object.setTextColor(0xFFF38E3A);\n                Person.setTextColor(Color.BLACK);\n            }\n        } else {\n            year = cal.get(Calendar.YEAR);\n            month = cal.get(Calendar.MONTH);\n            Day = cal.get(Calendar.DAY_OF_MONTH);\n        }\n        //String todayDate = year + \"/\" + (month + 1) + \"/\" + Day;\n        String todayDate = year + \"-\" + (month + 1) + \"-\" + Day;\n        DateFound.setText(todayDate);\n\n        DateSet = new DatePickerDialog.OnDateSetListener() {\n            @Override\n            public void onDateSet(DatePicker datePicker, int y, int m, int d) {\n                m++;\n                if (y > year || (m - 1 > month && y >= year) || (d > Day && m - 1 >= month && y >= year)) {\n                    FancyToast.makeText(FoundObjectActivity.this, \"Invalid date\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n                    //String todayDate = year + \"/\" + (month + 1) + \"/\" + Day;\n                    String todayDate = year + \"-\" + (month + 1) + \"-\" + Day;\n                    DateFound.setText(todayDate);\n                } else {\n                    year = y;\n                    month = m - 1;\n                    Day = d;\n                    //String Date = y + \"/\" + m + \"/\" + d;\n                    String Date = y + \"-\" + m + \"-\" + d;\n                    DateFound.setText(Date);\n                }\n            }\n        };\n    }\n\n    @Override\n    protected void onStart() {\n        super.onStart();\n        fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(FoundObjectActivity.this);\n        if (ActivityCompat.checkSelfPermission(FoundObjectActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED\n                && ActivityCompat.checkSelfPermission(FoundObjectActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {\n            ActivityCompat.requestPermissions(FoundObjectActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 12);\n        } else {\n            getCurrentLocation();\n        }\n    }\n\n    @Override\n    public void onClick(View view) {\n        FragmentManager FM = getFragmentManager();\n        FragmentTransaction FT = FM.beginTransaction();\n        switch (view.getId()) {\n            case R.id.DateFound:\n                DatePickerDialog dialog = new DatePickerDialog(\n                        FoundObjectActivity.this,\n                        android.R.style.Theme_Holo_Light_Dialog_MinWidth,\n                        DateSet,\n                        year, month, Day\n                );\n                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));\n                dialog.show();\n                break;\n            case R.id.FoundLocatin:\n                PopupMenu popupMenu = new PopupMenu(this, view);\n                popupMenu.getMenuInflater().inflate(R.menu.choose_location, popupMenu.getMenu());\n                popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {\n                    @Override\n                    public boolean onMenuItemClick(MenuItem item) {\n                        if (ActivityCompat.checkSelfPermission(FoundObjectActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED\n                                && ActivityCompat.checkSelfPermission(FoundObjectActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {\n                            ActivityCompat.requestPermissions(FoundObjectActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 12);\n                        } else {\n                            switch (item.getItemId()) {\n                                case R.id.TakeCurrLocation:\n                                    isInternetAvailable Available = new isInternetAvailable();\n                                    Available.execute();\n                                    CurrentLocation Locate = new CurrentLocation();\n                                    Locate.execute();\n                                    break;\n                                case R.id.DeteLocation:\n                                    boolean flag = false;\n                                    wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);\n                                    if (wifiManager.isWifiEnabled())\n                                        wifiManager.setWifiEnabled(false);\n                                    else {\n                                        flag = true;\n                                    }\n                                    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();\n                                    try {\n                                        Intent intent = builder.build(FoundObjectActivity.this);\n                                        startActivityForResult(intent, PLACE_PICKER_REQUEST);\n                                        if (!flag) wifiManager.setWifiEnabled(true);\n                                    } catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {\n                                        Toast.makeText(FoundObjectActivity.this, \"\"+e.getMessage(), Toast.LENGTH_SHORT).show();\n                                    } catch (Exception e) {\n                                        Toast.makeText(FoundObjectActivity.this, \"\"+e.getMessage(), Toast.LENGTH_SHORT).show();\n                                    }\n                                    break;\n                            }\n                        }\n                        return true;\n                    }\n                });\n                popupMenu.show();\n                break;\n            case R.id.PersonFound:\n                flagPerson = true;\n                flagObject = false;\n                FT.replace(R.id.FragmentFoundID, PersonF, null);\n                Person.setTextColor(0xFFF38E3A);\n                Object.setTextColor(Color.BLACK);\n\n                FT.commit();\n                break;\n            case R.id.ObjectFound:\n                flagObject = true;\n                flagPerson = false;\n                FT.replace(R.id.FragmentFoundID, ObjectF, null);\n                Object.setTextColor(0xFFF38E3A);\n                Person.setTextColor(Color.BLACK);\n\n                FT.commit();\n                break;\n            case R.id.MatchFound:\n                GlobalVar.allFaces.clear();\n                if (!flagObject && !flagPerson) {\n                    FancyToast.makeText(this, \"Specify the type of the missing object\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n                } else if (flagObject && CheckMatchObject()) {\n                    FoundItems();\n                    FoundItem item =new FoundItem(Type,Serial,brand,ObjectColor);\n                    getItems(item,getApplicationContext());\n                    FancyToast.makeText(this, \"The data has been saved successfully\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\n                    //finish();\n                } else if (flagPerson && CheckMatchPerson()) {\n                    faceDetector = new FaceDetector.Builder(this)\n                            .setTrackingEnabled(false)\n                            .setLandmarkType(FaceDetector.ALL_LANDMARKS)\n                            .setMode(FaceDetector.FAST_MODE).build();\n                    if (!faceDetector.isOperational()) {\n                        Toast.makeText(this, \"Face Detection can't be setup\", Toast.LENGTH_SHORT).show();\n                    }\n                    checkFaces N = new checkFaces(this);\n                    N.execute();\n                }\n                //FoundItem item=new FoundItem(Type,Serial,brand,ObjectColor);\n                //getItems(item,this);\n                break;\n        }\n    }\n\n    private boolean CheckMatchPerson() {\n        EditText PersonName = PersonF.getView().findViewById(R.id.PersonName);\n        PName = PersonName.getText().toString();\n        location = Location.getText().toString();\n        if (location.isEmpty()) {\n            FancyToast.makeText(this, \"Specify where you found this object\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n            return false;\n        } else if (Person_Images.size() == 0) {\n            FancyToast.makeText(this, \"You must put at least one picture!\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n            return false;\n        }\n        return true;\n    }\n\n    class checkFaces extends AsyncTask<Void, Void, Void> {\n        AlertDialog.Builder builder;\n        AlertDialog dialog;\n        Context context;\n\n        private checkFaces(Context context) {\n            this.context = context.getApplicationContext();\n            builder = new AlertDialog.Builder(FoundObjectActivity.this);\n        }\n\n        @Override\n        protected void onPreExecute() {\n            super.onPreExecute();\n            builder.setCancelable(false);\n            View view = getLayoutInflater().inflate(R.layout.progress_bar_alert, null);\n            builder.setView(view);\n            dialog = builder.create();\n            dialog.show();\n        }\n\n        @Override\n        protected void onPostExecute(Void a) {\n            super.onPostExecute(a);\n            Log.e(\"img\", \"onPostExecute: \" + GlobalVar.ImgThatHaveMoreThanOneFace.size() + \"  \" + GlobalVar.FinialFacesThatWillGoToDataBase.size());\n            if (GlobalVar.allFaces.size() > 0) {\n                FoundPerson.getFoundPerson().setName(PName);\n                FoundPerson.getFoundPerson().setDate(DateFound.getText().toString().trim());\n                FoundPerson.getFoundPerson().setCity(City);\n                FoundPerson.getFoundPerson().setLongitude(Longitude);\n                FoundPerson.getFoundPerson().setLatitude(Latitude);\n                GlobalVar.flag=1;\n                startActivity(new Intent(FoundObjectActivity.this, Alert.class));\n                finish();\n\n            } else {\n                FoundPerson();\n            }\n            dialog.dismiss();\n\n        }\n\n        @Override\n        protected Void doInBackground(Void... voids) {\n            GlobalVar.ImgThatHaveMoreThanOneFace.clear();\n            GlobalVar.FinialFacesThatWillGoToDataBase.clear();\n            GlobalVar.allFaces.clear();\n            boolean flag = false;\n            for (int i = 0; i < Person_Images.size(); i++) {\n                Bitmap My = Person_Images.get(i);\n                Bitmap faceBitmap;\n                List<Bitmap> faces = new ArrayList<>();//In one Img;\n                Frame frame = new Frame.Builder().setBitmap(My).build();\n                SparseArray<Face> sparseArray = faceDetector.detect(frame);\n                for (int j = 0; j < sparseArray.size(); j++) {\n                    flag = false;\n                    Face face = sparseArray.valueAt(j);\n                    if (((int) face.getPosition().y + (int) face.getHeight()) > My.getHeight()) {\n                        int H = My.getHeight() - (int) face.getPosition().y;\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, (int) face.getWidth(), H);\n                    } else if (((int) face.getPosition().x + (int) face.getWidth()) > My.getWidth()) {\n                        int W = My.getWidth() - (int) face.getPosition().x;\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, W, (int) face.getHeight());\n                    } else if ((((int) face.getPosition().x + (int) face.getWidth()) > My.getWidth()) && (((int) face.getPosition().y + (int) face.getHeight()) > My.getHeight())) {\n                        int H = My.getHeight() - (int) face.getPosition().y;\n                        int W = My.getWidth() - (int) face.getPosition().x;\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, W, H);\n                    } else {\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, (int) face.getWidth(), (int) face.getHeight());\n\n                    }\n                    if (sparseArray.size() == 1) {\n                        GlobalVar.FinialFacesThatWillGoToDataBase.add(faceBitmap);\n                        flag = true;\n                    } else {\n                        faces.add(faceBitmap);\n                    }\n                }\n                if (!flag) {\n                    GlobalVar.ImgThatHaveMoreThanOneFace.add(My);\n                    GlobalVar.allFaces.add(faces);\n                }\n\n            }\n            return null;\n        }\n    }\n\n    private boolean CheckMatchObject() {\n        location = Location.getText().toString();\n        AutoCompleteTextView V = ObjectF.getView().findViewById(R.id.ColorOfObject);\n        EditText serialObject = ObjectF.getView().findViewById(R.id.Serial);\n        EditText brandObject = ObjectF.getView().findViewById(R.id.brand);\n        EditText textArea_informationObject = ObjectF.getView().findViewById(R.id.textArea_information);\n        EditText TypeObject;\n\n        ObjectColor = V.getText().toString();\n        Serial = serialObject.getText().toString();\n        brand = brandObject.getText().toString();\n        textArea_information = textArea_informationObject.getText().toString();\n        if (location.isEmpty()) {\n            FancyToast.makeText(this, \"Specify where you found this object\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n            return false;\n        } else if (Type.equals(\"Type\")) {\n            FancyToast.makeText(this, \"You must Choose the Type!\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n            return false;\n        } else if (Type.equals(\"Others\")) {\n            TypeObject = ObjectF.getView().findViewById(R.id.Other);\n            if (TypeObject.getText().toString().isEmpty()) {\n                TypeObject.setError(\"Field can't be empty\");\n                return false;\n            } else {\n                Type = TypeObject.getText().toString();\n            }\n        } else if (brand.isEmpty()) {\n            brandObject.setError(\"Field can't be empty\");\n            return false;\n        } else if (ObjectColor.isEmpty()) {\n            V.setError(\"Field can't be empty\");\n            return false;\n        } else if (!listColor.contains(ObjectColor.trim())) {\n            V.setError(\"Color isn't known!\");\n            return false;\n        } else if (textArea_information.isEmpty()) {\n            textArea_informationObject.setError(\"Field can't be empty\");\n            return false;\n        }\n        return true;\n    }\n\n    @Override\n    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {\n        super.onActivityResult(requestCode, resultCode, data);\n        if (requestCode == PLACE_PICKER_REQUEST && resultCode == RESULT_OK) {\n            Place place = PlacePicker.getPlace(data, this);\n            StringBuilder stringBuilder = new StringBuilder();\n            Latitude = place.getLatLng().latitude;\n            Longitude = place.getLatLng().longitude;\n            isInternetAvailable Available = new isInternetAvailable();\n            Available.execute();\n            CurrentLocation Locate = new CurrentLocation();\n            Locate.execute();\n        }\n    }\n\n    @Override\n    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {\n        if (requestCode == 12 && (grantResults.length > 0) &&\n                grantResults[0] == PackageManager.PERMISSION_GRANTED) {\n            getCurrentLocation();\n        } else if (requestCode == 12 && (grantResults.length > 0) &&\n                grantResults[0] == PackageManager.PERMISSION_DENIED) {\n\n            FancyToast.makeText(this, \"Permission denied\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n        } else if (requestCode == 11 && (grantResults.length > 0) &&\n                grantResults[0] == PackageManager.PERMISSION_DENIED) {\n            FancyToast.makeText(this, \"Permission denied\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n        }\n\n    }\n\n    @SuppressLint(\"MissingPermission\")\n    private void getCurrentLocation() {\n        LocationManager locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);\n\n        if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)\n                || locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)\n        ) {\n            fusedLocationProviderClient.getLastLocation().addOnCompleteListener(new OnCompleteListener<Location>() {\n                @SuppressLint(\"MissingPermission\")\n                @Override\n                public void onComplete(@NonNull Task<Location> task) {\n                    Location location = task.getResult();\n                    if (location != null) {\n                        Longitude = location.getLongitude();\n                        Latitude = location.getLatitude();\n                    } else {\n                        @SuppressLint(\"RestrictedApi\") LocationRequest locationRequest = new LocationRequest()\n                                .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)\n                                .setInterval(10000)\n                                .setFastestInterval(1000)\n                                .setNumUpdates(1);\n                        LocationCallback locationCallback = new LocationCallback() {\n                            @Override\n                            public void onLocationResult(LocationResult locationResult) {\n                                Location location1 = locationResult.getLastLocation();\n                                Longitude = location1.getLongitude();\n                                Latitude = location1.getLatitude();\n                            }\n                        };\n                        fusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, Looper.myLooper());\n\n                    }\n                }\n            });\n        } else {\n            //when location servies is not enabled\n            //open location setting\n            startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));\n        }\n    }\n\n    class CurrentLocation extends AsyncTask<Void, Void, String> {\n\n        @Override\n        protected void onPreExecute() {\n            super.onPreExecute();\n            progressbar.setVisibility(View.VISIBLE);\n        }\n\n        @Override\n        protected void onPostExecute(String Locate) {\n            super.onPostExecute(Locate);\n            if (Locate.isEmpty())\n                FancyToast.makeText(FoundObjectActivity.this, \"An error has occurred , please try again\", FancyToast.LENGTH_LONG, FancyToast.WARNING, false).show();\n            Location.setText(Locate);\n            progressbar.setVisibility(View.GONE);\n        }\n\n        @Override\n        protected String doInBackground(Void... voids) {\n            Geocoder geocoder = new Geocoder(FoundObjectActivity.this, new Locale(\"en\"));\n            String Locate = \"\";\n            try {\n                List<Address> addresses = geocoder.getFromLocation(Latitude, Longitude, 1);\n                String Country = addresses.get(0).getCountryName();\n                String CityG = addresses.get(0).getAdminArea();\n                int index = CityG.lastIndexOf(' ');\n                if(index == -1)\n                    City = CityG;\n                else\n                    City = CityG.substring(0, index);\n                String area = addresses.get(0).getLocality();\n                Locate = area + \",\" + CityG + \",\" + Country + \".\";\n            } catch (IOException e) {\n                Toast.makeText(FoundObjectActivity.this, \"\"+e.getMessage(), Toast.LENGTH_SHORT).show();\n            }\n            return Locate;\n        }\n\n    }\n\n    public boolean isNetworkAvailable(Context context) {\n        ConnectivityManager cm = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);\n        NetworkInfo nInfo = cm.getActiveNetworkInfo();\n        boolean connected = nInfo != null && nInfo.isAvailable() && nInfo.isConnected();\n        return connected;\n    }\n\n    class isInternetAvailable extends AsyncTask<Void, Void, Boolean> {\n\n        @Override\n        protected void onPreExecute() {\n            super.onPreExecute();\n            progressbar.setVisibility(View.VISIBLE);\n        }\n\n        @Override\n        protected void onPostExecute(Boolean aBoolean) {\n            super.onPostExecute(aBoolean);\n            progressbar.setVisibility(View.GONE);\n            if (!aBoolean)\n                FancyToast.makeText(FoundObjectActivity.this, \"No Internet Connection\", FancyToast.LENGTH_LONG, FancyToast.WARNING, false).show();\n        }\n\n        @Override\n        protected Boolean doInBackground(Void... voids) {\n            Boolean flag;\n            try {\n                String command = \"ping -c 1 google.com\";\n                flag = (Runtime.getRuntime().exec(command).waitFor() == 0);\n            } catch (Exception e) {\n                flag = false;\n            }\n            return flag;\n        }\n    }\n\n    protected void inti() {\n\n        DateFound = findViewById(R.id.DateFound);\n        progressbar = findViewById(R.id.ProgressBar);\n        Button foundLocatin = findViewById(R.id.FoundLocatin);\n        Person = findViewById(R.id.PersonFound);\n        Object = findViewById(R.id.ObjectFound);\n        MatchFound = findViewById(R.id.MatchFound);\n        Location = findViewById(R.id.Location);\n        DateFound.setOnClickListener(this);\n        foundLocatin.setOnClickListener(this);\n        Person.setOnClickListener(this);\n        Object.setOnClickListener(this);\n        MatchFound.setOnClickListener(this);\n        PersonF = new PersonFragment();\n        ObjectF = new ObjectFragment();\n        List = new prepareList();\n        listColor = List.prepareListColor(this);\n\n    }\n\n    @Override\n    public void getType(String T) {\n        Type = T;\n    }\n\n    @Override\n    public void getImageCheck(Boolean check) {\n    }\n\n    @Override\n    public void getBitmap_Image(Bitmap Bitmap_Image) {\n    }\n\n    @Override\n    public void getBitmap_ImagePersonImages(List<Bitmap> PImages) {\n        Person_Images = PImages;\n        Log.e(\"img\", \"getBitmap_ImagePersonImages: Hi \" + Person_Images.size());\n    }\n\n    @Override\n    public void onSaveInstanceState(@NonNull Bundle outState) {\n        super.onSaveInstanceState(outState);\n\n        outState.putInt(\"year\", year);\n        outState.putInt(\"month\", month);\n        outState.putInt(\"Day\", Day);\n        outState.putBoolean(\"flagPerson\", flagPerson);\n        outState.putBoolean(\"flagObject\", flagObject);\n    }\n\n\n    public void FoundItems() {\n\n        String Datee = DateFound.getText().toString().trim();\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n\n        Call<JsonObject> call = apiInterface.storeFoundObj(User.getUser().getId(), Datee, City, Longitude , Latitude);\n        call.enqueue(new Callback<JsonObject>() {\n            @Override\n            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                Log.d(\"e\",\"responce=\"+response.body());\n                if (response.isSuccessful()) {\n\n                    try {\n                        Log.d(\"e\",\"found=\"+response.body().toString());\n                        JSONObject jsonObject = new JSONObject(response.body().toString());\n                        String id = jsonObject.getString(\"id\");\n                        Toast.makeText(FoundObjectActivity.this, \"Object is posted.\", Toast.LENGTH_SHORT).show();\n\n                        Call<FoundItem> call2 = apiInterface.storeFoundItem(id, Type, Serial, brand, ObjectColor, textArea_information);\n                        call2.enqueue(new Callback<FoundItem>() {\n                            @Override\n                            public void onResponse(Call<FoundItem> call, Response<FoundItem> response) {\n                                if (response.isSuccessful()) {\n                                    Toast.makeText(FoundObjectActivity.this, \"Item is posted.\", Toast.LENGTH_SHORT).show();\n                                    User.getUser().getFounds().add(Integer.parseInt(id));\n                                    finish();\n                                } else {\n                                    Toast.makeText(FoundObjectActivity.this, \"The item is not posted.\", Toast.LENGTH_SHORT).show();\n                                }\n                            }\n                            @Override\n                            public void onFailure(Call<FoundItem> call, Throwable t) {\n                                Toast.makeText(FoundObjectActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n                            }\n                        });\n                    } catch (JSONException e) {\n                        Toast.makeText(FoundObjectActivity.this, \"\"+e.getMessage(), Toast.LENGTH_SHORT).show();\n                    }\n\n                } else\n                        Toast.makeText(FoundObjectActivity.this, \"Object is not posted.\", Toast.LENGTH_SHORT).show();\n            }\n\n            @Override\n            public void onFailure(Call<JsonObject> call, Throwable t) {\n                Toast.makeText(FoundObjectActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n            }\n        });\n\n    }\n\n    public Uri getImageUri(Bitmap bitmap_Image) {\n        ByteArrayOutputStream bytes = new ByteArrayOutputStream();\n        bitmap_Image.compress(Bitmap.CompressFormat.JPEG, 100, bytes);\n        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap_Image, (System.currentTimeMillis()%1000)+\"\", null);\n        return Uri.parse(path);\n    }\n\n    private String getRealPathFromURI(Uri imageUri) {\n        String[] proj = {MediaStore.Images.Media.DATA};\n        CursorLoader loader = new CursorLoader(this, imageUri, proj, null, null, null);\n        Cursor cursor = loader.loadInBackground();\n        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);\n        cursor.moveToFirst();\n        String result = cursor.getString(column_index);\n        cursor.close();\n        return result;\n    }\n\n    public void FoundPerson()\n    {\n\n        String Datee = DateFound.getText().toString().trim();\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n\n        Uri imageURI = getImageUri(GlobalVar.FinialFacesThatWillGoToDataBase.get(0));\n        File file = new File(getRealPathFromURI(imageURI));\n        RequestBody requestBody = RequestBody.create(MediaType.parse(\"multipart/form-data\"), file);\n        MultipartBody.Part Pimage = MultipartBody.Part.createFormData(\"image\", file.getName(), requestBody);\n\n        Call<JsonObject> call = apiInterface.storeFoundPerson(User.getUser().getId(), Datee, City, Longitude , Latitude, PName, Pimage);\n        call.enqueue(new Callback<JsonObject>() {\n            @Override\n            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                if(response.isSuccessful()) {\n                    FancyToast.makeText(FoundObjectActivity.this, \"The data has been saved successfully\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\n                    try {\n                        String id = new JSONObject(response.body().toString()).getString(\"id\");\n                        } catch (JSONException e) {\n                        Log.e(\"TAG\", \"onResponse: \"+e.getMessage());\n                    }\n                    finish();\n                }else\n                    Toast.makeText(FoundObjectActivity.this, \"The object is not posted.\", Toast.LENGTH_SHORT).show();\n\n            }\n\n            @Override\n            public void onFailure(Call<JsonObject> call, Throwable t) {\n                Toast.makeText(FoundObjectActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n            }\n        });\n\n\n    }\n\n    public void getItems(FoundItem item, Context context) {\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(context).getNGROKLink()).create(ApiInterface.class);\n        Call<List<LostItem>> call = apiInterface.getLItem(item.getType());\n        Log.d(\"tes=\",Type);\n        GlobalVar.type=Type;\n        call.enqueue(new Callback<List<LostItem>>() {\n            @Override\n            public void onResponse(Call<List<LostItem>> call, Response<List<LostItem>> response) {\n                GlobalVar.lostList = new ArrayList<>();\n                GlobalVar.lostList = response.body();\n                GlobalVar.percentList = new ArrayList<>();\n                if (response.body()!=null&&GlobalVar.lostList.size()!=0) {\n                    storeCandidatesNotifictation() ;\n                    for (int i = 0; i < GlobalVar.lostList.size(); i++) {\n                        GlobalVar.percentList.add(MatchItems(item, GlobalVar.lostList.get(i)));\n                   }\n                } else\n                    Toast.makeText(context, \"There is no items can be candidates !\", Toast.LENGTH_SHORT).show();\n            }\n\n\n            @Override\n            public void onFailure(Call<java.util.List<LostItem>> call, Throwable t) {\n                Toast.makeText(FoundObjectActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n            }\n        });\n\n    }\n\n    public String MatchItems(FoundItem item1, LostItem item2) {\n        int percentage =20;\n        if (item1.getBrand().equals(item2.getBrand()))\n            percentage += 20;\n        if (item1.getColor().equals(item2.getColor()))\n            percentage +=20;\n        if (item1.getSerial_number().equals(item2.getSerial_number())) {\n         return \"100%\";\n        }\n        String p=percentage+\"%\";\n        return p;\n    }\n\npublic void storeCandidatesNotifictation(){\n    ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n    Call<NotificationItem> call = apiInterface.storeNotification(User.getUser().getId(),\"Candidate Items\",\"There are Candidates founded\",3);\n    call.enqueue(new Callback<NotificationItem>() {\n        @Override\n        public void onResponse(Call<NotificationItem> call, Response<NotificationItem> response) {\n            if (response.isSuccessful()) {\n                Toast.makeText(FoundObjectActivity.this, \"Notification is posted.\", Toast.LENGTH_SHORT).show();\n            } else {\n                Toast.makeText(FoundObjectActivity.this, \"The Notification is not posted.\", Toast.LENGTH_SHORT).show();\n            }\n        }\n\n        @Override\n        public void onFailure(Call<NotificationItem> call, Throwable t) {\n            Toast.makeText(FoundObjectActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n\n        }\n        });\n}\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/lostFoundObject/LostObjectDetailsActivity.java",
    "content": "package com.helloworld.goodpoint.ui.lostFoundObject;\n\nimport android.app.AlertDialog;\nimport android.app.DatePickerDialog;\nimport android.app.Fragment;\nimport android.app.FragmentManager;\nimport android.app.FragmentTransaction;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.Color;\nimport android.graphics.drawable.ColorDrawable;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.provider.MediaStore;\nimport android.util.Log;\nimport android.util.SparseArray;\nimport android.view.View;\nimport android.widget.ArrayAdapter;\nimport android.widget.AutoCompleteTextView;\nimport android.widget.Button;\nimport android.widget.DatePicker;\nimport android.widget.EditText;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport androidx.annotation.NonNull;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.loader.content.CursorLoader;\n\nimport com.google.android.gms.vision.Frame;\nimport com.google.android.gms.vision.face.Face;\nimport com.google.android.gms.vision.face.FaceDetector;\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.LostItem;\nimport com.helloworld.goodpoint.pojo.LostPerson;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.ui.Alert;\nimport com.helloworld.goodpoint.ui.GlobalVar;\nimport com.helloworld.goodpoint.ui.PrefManager;\nimport com.helloworld.goodpoint.ui.prepareList;\nimport com.shashank.sony.fancytoastlib.FancyToast;\n\nimport org.json.JSONException;\nimport org.json.JSONObject;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.Calendar;\nimport java.util.List;\n\nimport okhttp3.MediaType;\nimport okhttp3.MultipartBody;\nimport okhttp3.RequestBody;\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class LostObjectDetailsActivity extends AppCompatActivity implements View.OnClickListener, objectDataType {\n    private TextView DateT;\n    private Button Person, Object, Match;\n    private Fragment PersonF, ObjectF;\n    private DatePickerDialog.OnDateSetListener DateSet;\n    private AutoCompleteTextView autoCom;\n    private int year, month, Day;\n    private prepareList pList;\n    private List<String> list, listColor;\n    private String City, ObjectColor, Serial, brand, textArea_information, Type;\n    private String PName;\n    private Bitmap Bitmap_Image;\n    Uri imageURI;\n    private FaceDetector faceDetector;\n    private List<Bitmap> Person_Images;\n    private boolean flagPerson, flagObject, CheckImageObeject;\n    List<LostItem> Llist;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_lost_object_details);\n        inti();\n        Calendar cal = Calendar.getInstance();//To get today's date\n        inti();\n        if (savedInstanceState != null) {\n            year = savedInstanceState.getInt(\"year\");\n            month = savedInstanceState.getInt(\"month\");\n            Day = savedInstanceState.getInt(\"Day\");\n            flagPerson = savedInstanceState.getBoolean(\"flagPerson\");\n            flagObject = savedInstanceState.getBoolean(\"flagObject\");\n            if (flagPerson) {\n                Person.setTextColor(0xFFF38E3A);\n                Object.setTextColor(Color.BLACK);\n            } else if (flagObject) {\n                Object.setTextColor(0xFFF38E3A);\n                Person.setTextColor(Color.BLACK);\n            }\n        } else {\n            year = cal.get(Calendar.YEAR);\n            month = cal.get(Calendar.MONTH);\n            Day = cal.get(Calendar.DAY_OF_MONTH);\n        }\n        //String todayDate = year + \"/\" + (month + 1) + \"/\" + Day;\n        String todayDate = year + \"-\" + (month + 1) + \"-\" + Day;\n        DateT.setText(todayDate);\n        DateSet = new DatePickerDialog.OnDateSetListener() {\n            @Override\n            public void onDateSet(DatePicker datePicker, int y, int m, int d) {\n                m++;\n                if (y > year || (m - 1 > month && y >= year) || (d > Day && m - 1 >= month && y >= year)) {\n                    FancyToast.makeText(LostObjectDetailsActivity.this, \"Invalid date\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n                    //String todayDate = year + \"/\" + (month + 1) + \"/\" + Day;\n                    String todayDate = year + \"-\" + (month + 1) + \"-\" + Day;\n                    DateT.setText(todayDate);\n                } else {\n                    year = y;\n                    month = m - 1;\n                    Day = d;\n                    //String Date = y + \"/\" + m + \"/\" + d;\n                    String Date = y + \"-\" + m + \"-\" + d;\n                    DateT.setText(Date);\n                }\n            }\n        };\n\n    }\n\n    @Override\n    public void onClick(View view) {\n        FragmentManager FM = getFragmentManager();\n        FragmentTransaction FT = FM.beginTransaction();\n        switch (view.getId()) {\n            case R.id.Person:\n                FT.replace(R.id.FragmentID, PersonF, null);\n                Person.setTextColor(0xFFF38E3A);\n                Object.setTextColor(Color.BLACK);\n\n                FT.commit();\n                flagPerson = true;\n                flagObject = false;\n                break;\n            case R.id.Object:\n                FT.replace(R.id.FragmentID, ObjectF, \"object\");\n                Object.setTextColor(0xFFF38E3A);\n                Person.setTextColor(Color.BLACK);\n\n                FT.commit();\n                flagObject = true;\n                flagPerson = false;\n                break;\n            case R.id.Date:\n                DatePickerDialog dialog = new DatePickerDialog(\n                        LostObjectDetailsActivity.this,\n                        android.R.style.Theme_Holo_Light_Dialog_MinWidth,\n                        DateSet,\n                        year, month, Day\n                );\n                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));\n                dialog.show();\n                break;\n            case R.id.Match:\n                if (!flagObject && !flagPerson) {\n                    FancyToast.makeText(this, \"Specify the type of the missing object\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n                } else if (flagObject && CheckMatchObject()) {\n                    LostItems();\n                    FancyToast.makeText(this, \"The data has been saved successfully\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\n                    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);\n                    //finish();\n                } else if (flagPerson && CheckMatchPerson()) {\n                    faceDetector = new FaceDetector.Builder(this)\n                            .setTrackingEnabled(false)\n                            .setLandmarkType(FaceDetector.ALL_LANDMARKS)\n                            .setMode(FaceDetector.FAST_MODE).build();\n                    if (!faceDetector.isOperational()) {\n                        Toast.makeText(this, \"Face Detection can't be setup\", Toast.LENGTH_SHORT).show();\n                    }\n                    checkFaces N = new checkFaces(this);\n                    N.execute();\n                }\n                break;\n        }\n    }\n\n    private boolean CheckMatchPerson() {\n        EditText PersonName = PersonF.getView().findViewById(R.id.PersonName);\n        PName = PersonName.getText().toString();\n        City = autoCom.getText().toString();\n        if (City.isEmpty()) {\n            autoCom.setError(\"Field can't be empty\");\n            return false;\n        } else if (!list.contains(City.trim())) {\n            autoCom.setError(\"Please Enter a valid city!\");\n            return false;\n        }\n        if (PName.isEmpty()) {\n            PersonName.setError(\"Field can't be empty\");\n            return false;\n        } else if (Person_Images.size() == 0) {\n            FancyToast.makeText(this, \"You must put at least one picture!\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n            return false;\n        }\n        return true;\n    }\n\n    private boolean CheckMatchObject() {\n        AutoCompleteTextView V = ObjectF.getView().findViewById(R.id.ColorOfObject);\n        EditText serialObject = ObjectF.getView().findViewById(R.id.Serial);\n        EditText brandObject = ObjectF.getView().findViewById(R.id.brand);\n        EditText textArea_informationObject = ObjectF.getView().findViewById(R.id.textArea_information);\n        EditText TypeObject;\n        City = autoCom.getText().toString();\n        ObjectColor = V.getText().toString();\n        Serial = serialObject.getText().toString();\n        brand = brandObject.getText().toString();\n        textArea_information = textArea_informationObject.getText().toString();\n        if (City.isEmpty()) {\n            autoCom.setError(\"Field can't be empty\");\n            return false;\n        } else if (!list.contains(City.trim())) {\n            autoCom.setError(\"Please Enter a valid city!\");\n            return false;\n        } else if (Type.equals(\"Type\")) {\n            FancyToast.makeText(this, \"You must Choose the Type!\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n            return false;\n        } else if (Type.equals(\"Others\")) {\n            TypeObject = ObjectF.getView().findViewById(R.id.Other);\n\n            if (TypeObject.getText().toString().isEmpty()) {\n                TypeObject.setError(\"Field can't be empty\");\n                return false;\n            } else {\n                Type = TypeObject.getText().toString();\n            }\n        } else if (brand.isEmpty()) {\n            brandObject.setError(\"Field can't be empty\");\n            return false;\n        } else if (ObjectColor.isEmpty()) {\n            V.setError(\"Field can't be empty\");\n            return false;\n        } else if (!listColor.contains(ObjectColor.trim())) {\n            V.setError(\"Color isn't known!\");\n            return false;\n        } else if (CheckImageObeject && Bitmap_Image == null) {\n            FancyToast.makeText(this, \"You should put the image to the item!\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n            return false;\n        } else if (textArea_information.isEmpty()) {\n            textArea_informationObject.setError(\"Field can't be empty\");\n            return false;\n        }\n        return true;\n\n    }\n\n    class checkFaces extends AsyncTask<Void, Void, Void> {\n        AlertDialog.Builder builder;\n        AlertDialog dialog;\n        Context context;\n\n        private checkFaces(Context context) {\n            this.context = context.getApplicationContext();\n            builder = new AlertDialog.Builder(LostObjectDetailsActivity.this);\n        }\n\n        @Override\n        protected void onPreExecute() {\n            super.onPreExecute();\n            builder.setCancelable(false);\n            View view = getLayoutInflater().inflate(R.layout.progress_bar_alert, null);\n            builder.setView(view);\n            dialog = builder.create();\n            dialog.show();\n        }\n\n        @Override\n        protected void onPostExecute(Void a) {\n            super.onPostExecute(a);\n            if (GlobalVar.allFaces.size() > 0) {\n                LostPerson.getLostPerson().setName(PName);\n                LostPerson.getLostPerson().setDate(DateT.getText().toString().trim());\n                LostPerson.getLostPerson().setCity(City);\n                GlobalVar.flag=2;\n                startActivity(new Intent(LostObjectDetailsActivity.this, Alert.class));\n                finish();\n            } else {\n                LostPerson();\n            }\n            dialog.dismiss();\n        }\n\n        @Override\n        protected Void doInBackground(Void... voids) {\n            GlobalVar.ImgThatHaveMoreThanOneFace.clear();\n            GlobalVar.FinialFacesThatWillGoToDataBase.clear();\n            GlobalVar.allFaces.clear();\n            boolean flag = false;\n            for (int i = 0; i < Person_Images.size(); i++) {\n                Bitmap My = Person_Images.get(i);\n                Bitmap faceBitmap;\n                List<Bitmap> faces = new ArrayList<>();//In one Img;\n                Frame frame = new Frame.Builder().setBitmap(My).build();\n                SparseArray<Face> sparseArray = faceDetector.detect(frame);\n                for (int j = 0; j < sparseArray.size(); j++) {\n                    flag = false;\n                    Face face = sparseArray.valueAt(j);\n                    if (((int) face.getPosition().y + (int) face.getHeight()) > My.getHeight()) {\n                        int H = My.getHeight() - (int) face.getPosition().y;\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, (int) face.getWidth(), H);\n                    } else if (((int) face.getPosition().x + (int) face.getWidth()) > My.getWidth()) {\n                        int W = My.getWidth() - (int) face.getPosition().x;\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, W, (int) face.getHeight());\n                    } else if ((((int) face.getPosition().x + (int) face.getWidth()) > My.getWidth()) && (((int) face.getPosition().y + (int) face.getHeight()) > My.getHeight())) {\n                        int H = My.getHeight() - (int) face.getPosition().y;\n                        int W = My.getWidth() - (int) face.getPosition().x;\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, W, H);\n                    } else {\n                        faceBitmap = Bitmap.createBitmap(My, (int) face.getPosition().x, (int) face.getPosition().y, (int) face.getWidth(), (int) face.getHeight());\n\n                    }\n                    if (sparseArray.size() == 1) {\n                        GlobalVar.FinialFacesThatWillGoToDataBase.add(faceBitmap);//\n                        flag = true;\n                    } else {\n                        faces.add(faceBitmap);\n                    }\n                }\n                if (!flag) {\n                    GlobalVar.ImgThatHaveMoreThanOneFace.add(My);\n                    GlobalVar.allFaces.add(faces);\n                }\n\n            }\n            return null;\n        }\n    }\n\n    @Override\n    public void getType(String T) {\n        Type = T;\n    }\n\n    @Override\n    public void getImageCheck(Boolean Check) {\n        CheckImageObeject = Check;\n    }\n\n    @Override\n    public void getBitmap_Image(Bitmap BImage) {\n        Bitmap_Image = BImage;\n    }\n\n    @Override\n    public void getBitmap_ImagePersonImages(List<Bitmap> PImages) {\n        Person_Images = PImages;\n    }\n\n    protected void inti() {\n        DateT = findViewById(R.id.Date);\n        autoCom = findViewById(R.id.auto);\n        Person = findViewById(R.id.Person);\n        Object = findViewById(R.id.Object);\n        Match = findViewById(R.id.Match);\n        Person.setOnClickListener(this);\n        Object.setOnClickListener(this);\n        Match.setOnClickListener(this);\n        DateT.setOnClickListener(this);\n        PersonF = new PersonFragment();\n        ObjectF = new ObjectFragment();\n        pList = new prepareList();\n        list = pList.prepareList(this);\n        listColor = pList.prepareListColor(this);\n        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list);\n        autoCom.setThreshold(1);//start working from first char\n        autoCom.setAdapter(adapter);\n        flagPerson = false;\n        flagObject = false;\n    }\n\n    @Override\n    public void onSaveInstanceState(@NonNull Bundle outState) {\n        super.onSaveInstanceState(outState);\n\n        outState.putInt(\"year\", year);\n        outState.putInt(\"month\", month);\n        outState.putInt(\"Day\", Day);\n        outState.putBoolean(\"flagPerson\", flagPerson);\n        outState.putBoolean(\"flagObject\", flagObject);\n    }\n\n    public Uri getImageUri(Bitmap bitmap_Image) {\n        ByteArrayOutputStream bytes = new ByteArrayOutputStream();\n        bitmap_Image.compress(Bitmap.CompressFormat.JPEG, 100, bytes);\n        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap_Image, (System.currentTimeMillis()%1000)+\"\", null);\n        return Uri.parse(path);\n    }\n\n    private String getRealPathFromURI(Uri imageUri) {\n        String[] proj = {MediaStore.Images.Media.DATA};\n        CursorLoader loader = new CursorLoader(this, imageUri, proj, null, null, null);\n        Cursor cursor = loader.loadInBackground();\n        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);\n        cursor.moveToFirst();\n        String result = cursor.getString(column_index);\n        cursor.close();\n        return result;\n    }\n\n    public void LostItems() {\n\n        String Datee = DateT.getText().toString().trim();\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n\n        Call<JsonObject> call = apiInterface.storeLostObj(User.getUser().getId(), Datee, City);\n        call.enqueue(new Callback<JsonObject>() {\n            @Override\n            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                if (response.isSuccessful()) {\n\n                    try {\n                        JSONObject jsonObject = new JSONObject(response.body().toString());\n                        String id = jsonObject.getString(\"id\");\n                        Toast.makeText(LostObjectDetailsActivity.this, \"Object is posted.\", Toast.LENGTH_SHORT).show();\n                        Call<LostItem> call2;\n                        if (Bitmap_Image != null) {\n                            imageURI = getImageUri(Bitmap_Image);\n                            File file = new File(getRealPathFromURI(imageURI));\n                            RequestBody requestBody = RequestBody.create(MediaType.parse(\"multipart/from-data\"), file);\n                            MultipartBody.Part image = MultipartBody.Part.createFormData(\"image\", file.getName(), requestBody);\n                            call2 = apiInterface.storeLostItem(id, Type, Serial, brand, ObjectColor, textArea_information, image);\n                        } else\n                            call2 = apiInterface.storeLostItem(id, Type, Serial, brand, ObjectColor, textArea_information);\n                        call2.enqueue(new Callback<LostItem>() {\n                            @Override\n                            public void onResponse(Call<LostItem> call, Response<LostItem> response) {\n                                Log.d(\"e\",\"responce=\"+response.body());\n                                if (response.isSuccessful()) {\n                                    Toast.makeText(LostObjectDetailsActivity.this, \"Item is posted.\", Toast.LENGTH_SHORT).show();\n                                    User.getUser().getLosts().add(Integer.parseInt(id));\n                                    finish();\n                                } else {\n                                    Toast.makeText(LostObjectDetailsActivity.this, \"The item is not posted.\", Toast.LENGTH_SHORT).show();\n\n                                }\n                                }\n\n\n                            @Override\n                            public void onFailure(Call<LostItem> call, Throwable t) {\n                                Toast.makeText(LostObjectDetailsActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n                            }\n                        });\n\n                    } catch (JSONException e) {\n                        Toast.makeText(LostObjectDetailsActivity.this, \"\"+e.getMessage(), Toast.LENGTH_SHORT).show();\n                    }\n\n                } else\n                    Toast.makeText(LostObjectDetailsActivity.this, \"The object is not posted.\", Toast.LENGTH_SHORT).show();\n            }\n\n            @Override\n            public void onFailure(Call<JsonObject> call, Throwable t) {\n                Toast.makeText(LostObjectDetailsActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n            }\n        });\n\n    }\n\n    public void LostPerson()  {\n\n        String Datee = DateT.getText().toString().trim();\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n\n        imageURI = getImageUri(GlobalVar.FinialFacesThatWillGoToDataBase.get(0));\n        File file = new File(getRealPathFromURI(imageURI));\n        RequestBody requestBody = RequestBody.create(MediaType.parse(\"multipart/form-data\"), file);\n        MultipartBody.Part Pimage = MultipartBody.Part.createFormData(\"image\", file.getName(), requestBody);\n        //MultipartBody.Part image = MultipartBody.Part.createFormData(\"images\", file.getName(), requestBody);\n        //Pimages.add(image);\n\n        Call<JsonObject> call = apiInterface.storeLostPerson(Datee,City,User.getUser().getId(),PName,Pimage);\n        call.enqueue(new Callback<JsonObject>() {\n            @Override\n            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                if(response.isSuccessful()) {\n                    FancyToast.makeText(LostObjectDetailsActivity.this, \"The data has been saved successfully\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\n                    try {\n                        String id = new JSONObject(response.body().toString()).getString(\"id\");\n                    } catch (JSONException e) {\n                        Log.e(\"TAG\", \"onResponse: \"+e.getMessage());\n                    }\n                    finish();\n                }else {\n                    try {\n                        Log.e(\"onResponse: \", response.errorBody().string());\n                    } catch (IOException e) {\n                        Log.e(\"onResponse: \", e.getMessage());\n                    }\n                }\n\n            }\n\n            @Override\n            public void onFailure(Call<JsonObject> call, Throwable t) {\n                Toast.makeText(LostObjectDetailsActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();\n                Log.e(\"onFailure: \", t.getMessage());\n            }\n        });\n\n    }\n\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/lostFoundObject/ObjectFragment.java",
    "content": "package com.helloworld.goodpoint.ui.lostFoundObject;\n\nimport android.Manifest;\nimport android.app.Fragment;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.graphics.Bitmap;\nimport android.net.Uri;\nimport android.os.Bundle;\n\nimport android.provider.MediaStore;\nimport android.util.Log;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.AdapterView;\nimport android.widget.ArrayAdapter;\nimport android.widget.AutoCompleteTextView;\nimport android.widget.CheckBox;\nimport android.widget.ImageButton;\nimport android.widget.Spinner;\nimport android.widget.Toast;\n\nimport androidx.core.app.ActivityCompat;\n\nimport com.google.android.material.textfield.TextInputLayout;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.ui.prepareList;\nimport com.shashank.sony.fancytoastlib.FancyToast;\n\nimport java.io.IOException;\nimport java.util.List;\n\nimport static android.app.Activity.RESULT_OK;\n\npublic class ObjectFragment extends Fragment implements AdapterView.OnItemSelectedListener, View.OnClickListener {\n   private Spinner spinner;\n   public List<String> list;\n   private AutoCompleteTextView autoCom;\n   private TextInputLayout other;\n   private ImageButton objectImageView;\n   private  Bitmap Bitmap_Image ;\n   private CheckBox checkIcon;\n   private Uri imageUri;\n   private prepareList List;\n   private String Type ;\n    @Override\n    public void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        if (getActivity() instanceof LostObjectDetailsActivity) {\n            if (ActivityCompat.checkSelfPermission(getActivity().getApplicationContext(),\n                    Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {\n                ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 11);\n\n            }\n        }\n        List= new prepareList();\n        list = List.prepareListColor(getActivity().getApplicationContext());\n    }\n\n    @Override\n    public View onCreateView(LayoutInflater inflater, ViewGroup container,\n                             Bundle savedInstanceState) {\n        View v = inflater.inflate(R.layout.fragment_object, container, false);\n        spinner = v.findViewById(R.id.spinner);\n        autoCom = v.findViewById(R.id.ColorOfObject);\n        other = v.findViewById(R.id.other);\n        checkIcon = v.findViewById(R.id.checkIcon);\n        objectImageView = v.findViewById(R.id.objectImageView);\n        objectImageView.setOnClickListener(this);\n\n        if (getActivity() instanceof LostObjectDetailsActivity) {\n            checkIcon.setVisibility(View.VISIBLE);\n            checkIcon.setOnClickListener(new View.OnClickListener() {\n\n                @Override\n                public void onClick(View v) {\n                    //is chkIos checked?\n                    if (((CheckBox) v).isChecked()) {\n                        objectImageView.setVisibility(View.VISIBLE);\n                        ((objectDataType)getActivity()).getImageCheck(true);\n                    } else {\n                        objectImageView.setVisibility(View.GONE);\n                        ((objectDataType)getActivity()).getImageCheck(false);\n                    }\n\n                }\n            });\n        }\n        ArrayAdapter<String> adapter = new ArrayAdapter<>(\n                getActivity().getApplicationContext(),\n                R.layout.spinner_item,\n                getResources().getStringArray(R.array.Types));\n        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);\n        spinner.setAdapter(adapter);\n        spinner.setOnItemSelectedListener(this);\n        adapter = new ArrayAdapter<>(getActivity().getApplicationContext(),R.layout.spinner_item , list);\n        autoCom.setThreshold(1);//start working from first char\n        autoCom.setAdapter(adapter);\n        // Inflate the layout for this fragment\n        return v;\n    }\n    @Override\n    public void onClick(View v) {\n        if(v == objectImageView) {\n            if (ActivityCompat.checkSelfPermission(getActivity().getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED\n                    && ActivityCompat.checkSelfPermission(getActivity().getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {\n                ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 11);\n            } else {\n                Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);\n                gallery.setType(\"image/*\");\n                if (gallery.resolveActivity(getActivity().getPackageManager()) != null) {\n                    startActivityForResult(gallery, 1);\n                } else\n                    FancyToast.makeText(getActivity().getApplicationContext(),\"Error\",FancyToast.LENGTH_LONG, FancyToast.ERROR,false).show();\n\n            }\n        }\n    }\n    @Override\n    public void onActivityResult(int requestCode, int resultCode, Intent data) {\n        super.onActivityResult(requestCode, resultCode, data);\n        if (resultCode == RESULT_OK && data != null) {\n            if(requestCode == 1) {\n                    imageUri = data.getData();\n                    try {\n                        Bitmap_Image = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), imageUri);\n                        ((objectDataType)getActivity()).getBitmap_Image( Bitmap_Image);\n                    } catch (IOException e) {\n                        FancyToast.makeText(getActivity().getApplicationContext(),\"Error\",FancyToast.LENGTH_LONG, FancyToast.ERROR,false).show();\n                        e.printStackTrace();\n                    }\n                    objectImageView.setImageURI(imageUri);\n            }\n        }\n    }\n    @Override\n    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {\n        int posit = parent.getSelectedItemPosition();\n       Type = parent.getItemAtPosition(position).toString();\n       ((objectDataType)getActivity()).getType(Type);\n        if(posit == 9)\n        {\n            other.setVisibility(View.VISIBLE);\n        }\n        else\n        {\n            other.setVisibility(View.GONE);\n        }\n    }\n\n    @Override\n    public void onNothingSelected(AdapterView<?> parent) {\n    }\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/lostFoundObject/PersonFragment.java",
    "content": "package com.helloworld.goodpoint.ui.lostFoundObject;\n\nimport android.Manifest;\nimport android.annotation.SuppressLint;\nimport android.app.AlertDialog;\nimport android.app.Fragment;\nimport android.content.ClipData;\nimport android.content.DialogInterface;\nimport android.content.Intent;\nimport android.content.pm.PackageManager;\nimport android.graphics.Bitmap;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.provider.MediaStore;\nimport android.util.Log;\nimport android.util.SparseArray;\nimport android.view.Gravity;\nimport android.view.LayoutInflater;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.Button;\nimport android.widget.ImageButton;\nimport android.widget.ImageView;\nimport android.widget.LinearLayout;\nimport android.widget.ProgressBar;\nimport android.widget.Toast;\n\nimport androidx.appcompat.widget.PopupMenu;\nimport androidx.core.app.ActivityCompat;\n\nimport com.google.android.gms.vision.Frame;\nimport com.google.android.gms.vision.face.Face;\nimport com.google.android.gms.vision.face.FaceDetector;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.detection.DetectorActivity;\nimport com.helloworld.goodpoint.ui.GlobalVar;\nimport com.shashank.sony.fancytoastlib.FancyToast;\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport static android.app.Activity.RESULT_OK;\n\npublic class PersonFragment extends Fragment implements View.OnClickListener {\n    private ImageButton imageView;\n    private ImageView imageView2;\n    private List<Bitmap> bitmap  = new ArrayList<>();\n    private LinearLayout linearLayout,ADDP;\n    private LayoutInflater inflater2;\n    private Uri photoFromGallery;\n    private View rootView;\n    private Button Close,add_new__photo;\n    private ProgressBar CheckImages;\n    private int nmberOfImageSelected;\n    @Override\n    public void onCreate(Bundle savedInstanceState)\n    {\n        super.onCreate(savedInstanceState);\n        if (ActivityCompat.checkSelfPermission(getActivity().getApplicationContext(),\n                Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)\n        {\n            ActivityCompat.requestPermissions(getActivity(),new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},11);\n\n        }\n    }\n    @Override\n    public View onCreateView(LayoutInflater inflater, ViewGroup container,\n                             Bundle savedInstanceState) {\n        ((objectDataType)getActivity()).getBitmap_ImagePersonImages(bitmap);\n        rootView = inflater.inflate(R.layout.fragment_person, container, false);\n        imageView = rootView.findViewById(R.id.imageView);\n        ADDP = rootView.findViewById(R.id.ADDP);\n        add_new__photo= rootView.findViewById(R.id.add_new__photo);\n        CheckImages = rootView.findViewById(R.id.CheckImages);\n        CheckImages.setVisibility(View.GONE);\n        linearLayout = (LinearLayout) rootView.findViewById(R.id.Gallery2);\n        inflater2 = LayoutInflater.from(getActivity());\n        add_new__photo.setOnClickListener(this);\n        return rootView;\n\n    }\n    @Override\n    public void onClick(View view) {\n        if(view == add_new__photo) {\n            if (ActivityCompat.checkSelfPermission(getActivity().getApplicationContext(),  Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED\n                    && ActivityCompat.checkSelfPermission(getActivity().getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {\n                ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 11);\n            }\n            else{\n            if (getActivity() instanceof FoundObjectActivity) {\n                PopupMenu popupMenu = new PopupMenu(getActivity(), view);\n                popupMenu.getMenuInflater().inflate(R.menu.choose_photo, popupMenu.getMenu());\n                popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {\n                    @Override\n                    public boolean onMenuItemClick(MenuItem item) {\n                        switch (item.getItemId()) {\n                            case R.id.TakePhoto:\n                                Intent i = new Intent(getActivity().getApplicationContext(), DetectorActivity.class);\n                               startActivityForResult(i,10);\n                               /* Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);\n                                if (i.resolveActivity(getActivity().getPackageManager()) != null) {\n                                    startActivityForResult(i, 10);\n                                } else\n                                    FancyToast.makeText(getActivity().getApplicationContext(),\"Error\",FancyToast.LENGTH_LONG, FancyToast.ERROR,false).show();*/\n                                break;\n                            case R.id.Gallery:\n\n                                   Intent pickPhoto = new Intent(Intent.ACTION_GET_CONTENT,\n                                           MediaStore.Images.Media.EXTERNAL_CONTENT_URI);\n                                   pickPhoto.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);\n                                   pickPhoto.setType(\"image/*\");//accept any type of images\n                                   if (pickPhoto.resolveActivity(getActivity().getPackageManager()) != null) {\n                                       startActivityForResult(pickPhoto, 1);\n                                   } else\n                                       FancyToast.makeText(getActivity().getApplicationContext(), \"Error\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n                                break;\n\n                        }\n                        return true;\n                    }\n                });\n                popupMenu.show();\n            } else if (getActivity() instanceof LostObjectDetailsActivity) {\n                Intent pickPhoto = new Intent(Intent.ACTION_GET_CONTENT,\n                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI);\n                pickPhoto.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);\n                pickPhoto.setType(\"image/*\");//accept any type of images\n                if (pickPhoto.resolveActivity(getActivity().getPackageManager()) != null) {\n                    startActivityForResult(pickPhoto, 1);\n                } else\n                    FancyToast.makeText(getActivity().getApplicationContext(),\"Error\",FancyToast.LENGTH_LONG, FancyToast.ERROR,false).show();\n            }\n        }\n        }\n    }\n    int NumOfImgSelected ;\n   int BitMapSize = bitmap.size();\n    @Override\n    public void onActivityResult(int requestCode, int resultCode, Intent data) {\n        super.onActivityResult(requestCode, resultCode, data);\n        BitMapSize = bitmap.size();\n        ADDP.setVisibility(View.VISIBLE);\n        if(resultCode==RESULT_OK&&data!=null)\n        {\n            switch(requestCode) {\n                case 10: {\n                    if (bitmap.size() >= 10) {\n                        FancyToast.makeText(getActivity().getApplicationContext(), \"You cannot choose more than 10 images\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n                    }\n                    else {\n                        if(GlobalVar.realcameraImage != null)\n                        { bitmap.add(GlobalVar.realcameraImage) ;  NumOfImgSelected = 1;}\n\n                    }\n                break;\n                  }\n                case 1:\n                    try {\n                        ClipData clipData = data.getClipData();\n                        if(clipData != null)\n                        {\n                            NumOfImgSelected = clipData.getItemCount();\n                            for (int i = 0; i < clipData.getItemCount(); i++) {\n                                photoFromGallery = clipData.getItemAt(i).getUri();\n                                if (bitmap.size() >= 10) {\n                                    Toast toast = FancyToast.makeText(getActivity().getApplicationContext(), \"You cannot choose more than 10 images\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false);\n                                    toast.setGravity(Gravity.BOTTOM, 0, 0);\n                                    toast.show();\n\n                                    break;\n                                }\n                                bitmap.add(MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), photoFromGallery));\n                            }\n                        }\n                        else{\n                            NumOfImgSelected = 1;\n                            photoFromGallery = data.getData();\n                            if(bitmap.size()>=10) {\n                                Toast toast =  FancyToast.makeText(getActivity().getApplicationContext(),\"You cannot choose more than 10 images\",FancyToast.LENGTH_LONG, FancyToast.ERROR,false);\n                                toast.setGravity(Gravity.BOTTOM,0,0);\n                                toast.show();\n                            }\n                            else {\n                                bitmap.add(MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), photoFromGallery));\n                            }\n                        }\n\n                    } catch (Exception e) {\n                        e.printStackTrace();\n                    }\n                    break;\n            }\n            ((objectDataType)getActivity()).getBitmap_ImagePersonImages(bitmap);\n            if(BitMapSize != bitmap.size()) {\n                checkIfAllImagesContainFacesOrNot N = new checkIfAllImagesContainFacesOrNot();\n                N.execute(bitmap);\n            }\n        }\n    }\n    class checkIfAllImagesContainFacesOrNot extends AsyncTask<List<Bitmap>,Void, List<Bitmap>>\n    {\n        @Override\n        protected void onPreExecute() {\n            super.onPreExecute();\n            CheckImages.setVisibility(View.VISIBLE);\n            add_new__photo.setVisibility(View.GONE);\n        }\n        @Override\n        protected void onPostExecute(List<Bitmap> ImgNotHaveFaces) {\n            super.onPostExecute(ImgNotHaveFaces);\n            CheckImages.setVisibility(View.GONE);\n            add_new__photo.setVisibility(View.VISIBLE);\n            if(ImgNotHaveFaces.size()>0) {\n                AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());\n                builder.setCancelable(false);\n                @SuppressLint({\"NewApi\", \"LocalSuppress\"})\n                View view = getLayoutInflater().inflate(R.layout.images_be_removed, null);\n                LinearLayout RemovedImg = view.findViewById(R.id.RemovedImg);\n                if (ImgNotHaveFaces.size() > 1)\n                    builder.setMessage(\"These \" + ImgNotHaveFaces.size() + \" images do not contain any faces so they will be removed\");\n                else\n                    builder.setMessage(\"This image do not contain any faces so it will be removed\");\n\n                for (int i = 0; i < ImgNotHaveFaces.size(); i++) {\n                    @SuppressLint({\"NewApi\", \"LocalSuppress\"})\n                    View view2 = getLayoutInflater().inflate(R.layout.images, null);\n                    (view2.findViewById(R.id.imageView2)).setVisibility(View.GONE);\n                    (view2.findViewById(R.id.Close)).setVisibility(View.GONE);\n                    ImageView imageView = view2.findViewById(R.id.faces);\n                    imageView.setImageBitmap(ImgNotHaveFaces.get(i));\n                    RemovedImg.addView(view2);\n                }\n                builder.setView(view).setNegativeButton(\"Ok\", new DialogInterface.OnClickListener() {\n                    @Override\n                    public void onClick(DialogInterface dialog, int which) {\n                        Log.e(\"img\",\"  Finished I Now Have \"+ImgNotHaveFaces.size() +\" img \");\n                        for (int i = linearLayout.getChildCount(); i < bitmap.size(); i++) {\n                            View view = inflater2.inflate(R.layout.images, linearLayout, false);\n                            imageView2 = view.findViewById(R.id.imageView2);\n                            Close =   (Button)view.findViewById(R.id.Close);\n                            Close.setBackgroundColor(0x80F38E3A);\n                            imageView2.setImageBitmap(bitmap.get(i));\n                            linearLayout.addView(view);\n\n                        }\n                        setOnClickListeners();\n                        ImgNotHaveFaces.clear();\n                    }\n                });\n                AlertDialog dialog = builder.create();\n                dialog.show();\n\n            }\n            else\n            {\n                for (int i = linearLayout.getChildCount(); i < bitmap.size(); i++) {\n                    View view = inflater2.inflate(R.layout.images, linearLayout, false);\n                    imageView2 = view.findViewById(R.id.imageView2);\n                    Close =   (Button)view.findViewById(R.id.Close);\n                    Close.setBackgroundColor(0x80F38E3A);\n                    imageView2.setImageBitmap(bitmap.get(i));\n                    linearLayout.addView(view);\n\n                }\n                setOnClickListeners();\n            }\n\n        }\n        @Override\n        protected List<Bitmap> doInBackground(List<Bitmap>... bitmap) {\n            List<Bitmap> ImgNotHaveFaces = new ArrayList<>();\n            int counter = NumOfImgSelected;\n            int index = bitmap[0].size();\n            while(counter > 0 && index > 0) {\n                Bitmap My = bitmap[0].get(--index);\n                FaceDetector faceDetector = new FaceDetector.Builder(getActivity())\n                        .setTrackingEnabled(false)\n                        .setLandmarkType(FaceDetector.ALL_LANDMARKS)\n                        .setMode(FaceDetector.FAST_MODE).build();\n                if (!faceDetector.isOperational()) {\n                    Toast.makeText(getActivity().getApplicationContext(), \"Face Detection can't be setup\", Toast.LENGTH_SHORT).show();\n                }\n                else {\n                    Frame frame = new Frame.Builder().setBitmap(My).build();\n                    SparseArray<Face> sparseArray = faceDetector.detect(frame);\n                    Log.e(\"Camera\", \"doInBackground22: Esraa \" + sparseArray.size());\n                    if(sparseArray.size()==0) {\n\n                        ImgNotHaveFaces.add(bitmap[0].get(index));\n                        bitmap[0].remove(index);\n                        Log.e(\"img\", \"I removed Image number \" + (index) );\n                    }\n                }\n                counter--;\n\n            }\n            ((objectDataType)getActivity()).getBitmap_ImagePersonImages(bitmap[0]);\n            return ImgNotHaveFaces;\n        }\n    }\n    private void setOnClickListeners() {\n        for (int index = 0; index < linearLayout.getChildCount(); index++) {\n            final int finalIndex1 = index;\n            View view = linearLayout.getChildAt(index);\n            Close = view.findViewById(R.id.Close);\n            imageView2 = view.findViewById(R.id.imageView2);\n            Close.setOnClickListener(new View.OnClickListener() {\n                @Override\n                public void onClick(View view) {\n                    bitmap.remove(finalIndex1);\n                    ((objectDataType)getActivity()).getBitmap_ImagePersonImages(bitmap);\n                    if(nmberOfImageSelected == finalIndex1)\n                    {\n                        imageView.setVisibility(View.GONE);\n                        imageView.setImageDrawable(getResources().getDrawable(R.drawable.ic_baseline_gallery_24));\n                    }\n                    linearLayout.removeViewAt(finalIndex1);\n                    setOnClickListeners();\n                }\n            });\n            imageView2.setOnClickListener(new View.OnClickListener() {\n                @Override\n                public void onClick(View view) {\n                    imageView2 = view.findViewById(R.id.imageView2);\n                    imageView.setVisibility(View.VISIBLE);\n                    imageView.setImageDrawable(imageView2.getDrawable());\n                    nmberOfImageSelected = finalIndex1;\n                }\n            });\n\n         }\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/lostFoundObject/objectDataType.java",
    "content": "package com.helloworld.goodpoint.ui.lostFoundObject;\n\nimport android.graphics.Bitmap;\nimport android.net.Uri;\n\nimport java.util.List;\n\npublic interface objectDataType {\n    public void getType(String Type);\n    public void getImageCheck(Boolean check);\n    public void getBitmap_Image(Bitmap Bitmap_Image);\n    public void getBitmap_ImagePersonImages(List<Bitmap> Bitmap_Images);\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/myService/MyService.java",
    "content": "package com.helloworld.goodpoint.ui.myService;\n\nimport android.app.Service;\nimport android.content.Intent;\nimport android.os.IBinder;\nimport android.util.Log;\n\npublic class MyService extends Service {\n    public MyService() {\n    }\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        Log.d(\"msg\",\"Service Started\");\n        try {\n            Thread.sleep(5000);\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n\n        stopSelf();\n    }\n\n    @Override\n    public int onStartCommand(Intent intent, int flags, int startId) {\n\n        return START_STICKY;\n    }\n\n    @Override\n    public void onDestroy() {\n        super.onDestroy();\n        Log.d(\"msg\",\"Service Destroyed\");\n    }\n\n    @Override\n    public IBinder onBind(Intent intent) {\n        // TODO: Return the communication channel to the service.\n        throw new UnsupportedOperationException(\"Not yet implemented\");\n    }\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/myService/NotificationBroadcast.java",
    "content": "package com.helloworld.goodpoint.ui.myService;\n\nimport android.annotation.SuppressLint;\nimport android.app.AlarmManager;\nimport android.app.Notification;\nimport android.app.NotificationChannel;\nimport android.app.NotificationManager;\nimport android.app.PendingIntent;\nimport android.content.BroadcastReceiver;\nimport android.content.Context;\nimport android.content.Intent;\nimport android.media.AudioAttributes;\nimport android.media.Ringtone;\nimport android.media.RingtoneManager;\nimport android.net.Uri;\nimport android.os.Build;\nimport android.os.PowerManager;\nimport android.util.Log;\n\nimport androidx.core.app.NotificationCompat;\nimport androidx.core.app.NotificationManagerCompat;\n\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.App;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.NotificationItem;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.retrofit.Decode;\nimport com.helloworld.goodpoint.ui.NotificationActivity;\nimport com.helloworld.goodpoint.ui.PrefManager;\n\nimport org.json.JSONObject;\n\nimport java.util.List;\n\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class NotificationBroadcast extends BroadcastReceiver {\n\n    String user_id;\n\n    //@SuppressLint(\"UnsafeProtectedBroadcastReceiver\")\n    @Override\n    public void onReceive(Context context, Intent intent) {\n        String refresh = new PrefManager(context).isLoginned();\n        Log.e(\"TAG\", \"onReceive: Token: \"+refresh);\n        newNotification(context);\n        if(refresh.isEmpty()) {\n            if(User.getUser() != null && User.getUser().getId() != null && !User.getUser().getId().isEmpty())\n                user_id = User.getUser().getId();\n            else return;\n        }else{\n            try {\n                String bodyToken = Decode.decoded(refresh);\n                JSONObject jsonObject = new JSONObject(bodyToken);\n                user_id = jsonObject.getString(\"user_id\");\n            } catch (Exception e) {\n                Log.e(\"TAG\", \"onReceive: \"+e.getMessage());\n            }\n        }\n\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(context).getNGROKLink()).create(ApiInterface.class);\n        Call<List<NotificationItem>> call = apiInterface.getNewNotification(user_id);\n        call.enqueue(new Callback<List<NotificationItem>>() {\n            @Override\n            public void onResponse(Call<List<NotificationItem>> call, Response<List<NotificationItem>> response) {\n                if(response.body()==null || response.body().isEmpty())\n                    return;\n                for(NotificationItem item: response.body()){\n                    showNotification(context,item.getId(),item.getTitle(),item.getDescription(),item.getType());\n                    Call<JsonObject> sentCall = apiInterface.updateSent(item.getId(),true);\n                    sentCall.enqueue(new Callback<JsonObject>() {\n                        @Override\n                        public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                            Log.e(\"TAG\", \"onResponse: Success\");\n                        }\n\n                        @Override\n                        public void onFailure(Call<JsonObject> call, Throwable t) {\n                            Log.e(\"TAG\", \"onFailure: \"+t.getMessage());\n                        }\n                    });\n                }\n            }\n\n            @Override\n            public void onFailure(Call<List<NotificationItem>> call, Throwable t) {\n                Log.e(\"TAG\", \"onFailure: \"+t.getMessage());\n            }\n        });\n    }\n\n    private void newNotification(Context context) {\n        Intent i = new Intent(App.getInstance(),NotificationBroadcast.class);\n        i.setAction(\"com.helloworld.goodpoint.ui.myService.NotificationBroadcast\");\n        PendingIntent pendingIntent = PendingIntent.getBroadcast(App.getInstance(),10,i,PendingIntent.FLAG_UPDATE_CURRENT);\n        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);\n        alarmManager.setAlarmClock(new AlarmManager.AlarmClockInfo(System.currentTimeMillis()+20000,pendingIntent),pendingIntent);\n    }\n\n    private void createNotification(Context context, String id, String title, String description, int type) {\n        Log.d(\"Good Point Service\", \"createNotification: \"+id);\n        NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);\n        Intent notifyIntent = new Intent(context, NotificationActivity.class);\n        PendingIntent pintent = PendingIntent.getActivity(context,type,notifyIntent,PendingIntent.FLAG_UPDATE_CURRENT);\n        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n            NotificationChannel nc = new NotificationChannel(\"Good Point\",title, NotificationManager.IMPORTANCE_HIGH);\n            nc.setDescription(description);\n            nm.createNotificationChannel(nc);\n            NotificationCompat.Builder builder = new NotificationCompat.Builder(context,\"Good Point\");\n            builder.setContentTitle(title).setContentText(description);\n            builder.setSmallIcon(R.drawable.application_icon2).setStyle(new NotificationCompat.BigTextStyle().bigText(description));\n            builder.setContentIntent(pintent).setAutoCancel(true);\n            NotificationManagerCompat nmc = NotificationManagerCompat.from(context);\n            nmc.notify(Integer.parseInt(id),builder.build());\n        }else{\n            Notification.Builder builder = new Notification.Builder(context);\n            builder.setContentTitle(title).setContentText(description);\n            builder.setSmallIcon(R.drawable.application_icon2).setStyle(new Notification.BigTextStyle().bigText(description));\n            builder.setContentIntent(pintent);\n            nm.notify(Integer.parseInt(id),builder.build());\n        }\n\n    }\n\n    private void showNotification(Context context, String id, String title, String description, int type) {\n        Log.e(\"TAG\", \"showNotification: \"+id);\n        Log.e(\"TAG\", \"showNotification: \"+title);\n        Log.e(\"TAG\", \"showNotification: \"+description);\n        Log.e(\"TAG\", \"showNotification: \"+type);\n        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);\n        @SuppressLint(\"InvalidWakeLockTag\") PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, \"TAG\");\n        wl.acquire(10);\n\n        Uri ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);\n        //Uri ringtoneUri = Uri.parse(\"android.resource://\" + context.getPackageName() + \"/\" + R.raw.consequence);\n        Ringtone r = RingtoneManager.getRingtone(context, ringtoneUri);\n        r.play();\n\n        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, \"Good Point\");\n        NotificationManager mNotifyManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);\n        context.grantUriPermission(\"com.android.systemui\", ringtoneUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);\n\n        Intent notifyIntent = new Intent(context, NotificationActivity.class);\n        notifyIntent.putExtra(\"ID\",id);\n        PendingIntent pintent = PendingIntent.getActivity(context,type,notifyIntent,PendingIntent.FLAG_UPDATE_CURRENT);\n\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n\n            AudioAttributes att = new AudioAttributes.Builder()\n                    .setUsage(AudioAttributes.USAGE_NOTIFICATION)\n                    .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)\n                    .build();\n\n            NotificationChannel mChannel = new NotificationChannel(\"Good Point\", title, NotificationManager.IMPORTANCE_HIGH);\n            mChannel.setDescription(description);\n            mChannel.enableLights(true);\n            mChannel.enableVibration(true);\n            mChannel.setSound(ringtoneUri, att);\n            mChannel.setBypassDnd(true);\n            mChannel.setLockscreenVisibility(NotificationCompat.VISIBILITY_PUBLIC);\n            mChannel.setShowBadge(true);\n\n            if (mNotifyManager != null) {\n                mNotifyManager.createNotificationChannel(mChannel);\n            }\n\n            notificationBuilder\n                    .setSmallIcon(R.drawable.application_icon2)\n                    .setPriority(NotificationCompat.PRIORITY_MAX)\n                    .setCategory(NotificationCompat.CATEGORY_EVENT)\n                    .setStyle(new NotificationCompat.BigTextStyle().bigText(description))\n                    .setSound(ringtoneUri)\n                    .setContentTitle(title)\n                    .setAutoCancel(true)\n                    .setContentIntent(pintent)\n                    .setVisibility(NotificationCompat.VISIBILITY_PUBLIC);\n\n        }else {\n            notificationBuilder.setContentTitle(title)\n                    .setSmallIcon(R.drawable.application_icon2)\n                    .setPriority(NotificationCompat.PRIORITY_MAX)\n                    .setCategory(NotificationCompat.CATEGORY_EVENT)\n                    .setStyle(new NotificationCompat.BigTextStyle().bigText(description))\n                    .setSound(ringtoneUri)\n                    .setAutoCancel(true)\n                    .setContentIntent(pintent)\n                    .setVisibility(NotificationCompat.VISIBILITY_PUBLIC);\n\n        }\n\n        if (mNotifyManager != null) {\n            mNotifyManager.notify(Integer.parseInt(id), notificationBuilder.build());\n            Log.e(\"TAG\", \"showNotification: Success\");\n        }\n        else\n            Log.e(\"TAG\", \"showNotification: Fail\");\n    }\n\n}"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/prepareList.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.app.Activity;\nimport android.content.Context;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.helloworld.goodpoint.R;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class prepareList {\n    public List<String> prepareList(Context con) {\n        List<String> list = new ArrayList<>();\n        list.add(con.getString(R.string.Cairo));\n        list.add(con.getString(R.string.SharmElSheikh));\n        list.add(con.getString(R.string.Alexandria));\n        list.add(con.getString(R.string.ShubraElKheima));\n        list.add(con.getString(R.string.ElBeheira));\n        list.add(con.getString(R.string.Giza));\n        list.add(con.getString(R.string.PortSaid));\n        list.add(con.getString(R.string.Suez));\n        list.add(con.getString(R.string.ElMahallaElKubra));\n        list.add(con.getString(R.string.Luxor));\n        list.add(con.getString(R.string.Mansoura));\n        list.add(con.getString(R.string.Tanta));\n        list.add(con.getString(R.string.Asyut));\n        list.add(con.getString(R.string.Ismailia));\n        list.add(con.getString(R.string.Faiyum));\n        list.add(con.getString(R.string.Zagazig));\n        list.add(con.getString(R.string.Damietta));\n        list.add(con.getString(R.string.Aswan));\n        list.add(con.getString(R.string.Minya));\n        list.add(con.getString(R.string.BeniSuef));\n        list.add(con.getString(R.string.Hurghada));\n        list.add(con.getString(R.string.Qena));\n        list.add(con.getString(R.string.Sohag));\n        list.add(con.getString(R.string.ShibinElKom));\n        list.add(con.getString(R.string.Banha));\n        list.add(con.getString(R.string.Arish));\n        return  list;\n    }\n    public List<String> prepareListColor(Context con) {\n        List<String>list = new ArrayList<>();\n        list.add(con.getString(R.string.Blue));\n        list.add(con.getString(R.string.Red));\n        list.add(con.getString(R.string.Yellow));\n        list.add(con.getString(R.string.Orange));\n        list.add(con.getString(R.string.Green));\n        list.add(con.getString(R.string.Violet));\n        list.add(con.getString(R.string.Brown));\n        list.add(con.getString(R.string.Magenta));\n        list.add(con.getString(R.string.Tan));\n        list.add(con.getString(R.string.Cyan));\n        list.add(con.getString(R.string.Olive));\n        list.add(con.getString(R.string.Pink));\n        list.add(con.getString(R.string.Black));\n        list.add(con.getString(R.string.White));\n        list.add(con.getString(R.string.Gray));\n        list.add(con.getString(R.string.Purple));\n        return list;\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/select_multiple_faces/ItemList.java",
    "content": "package com.helloworld.goodpoint.ui.select_multiple_faces;\n\n\nimport android.graphics.Bitmap;\n\nimport java.util.List;\n\npublic class ItemList {\n\n    private Bitmap ItemImage;\n    private List<SubItemList> subItemList;\n\n    public ItemList(Bitmap ItemImage, List<SubItemList> subItemList) {\n        this.subItemList = subItemList;\n        this.ItemImage = ItemImage;\n    }\n\n\n    public List<SubItemList> getSubItemList() {\n        return subItemList;\n    }\n\n    public void setSubItemList(List<SubItemList> subItemList) {\n        this.subItemList = subItemList;\n    }\n\n    public Bitmap getItemImage() {\n        return ItemImage;\n    }\n\n    public void setItemImage(Bitmap itemImage) {\n        ItemImage = itemImage;\n    }\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/select_multiple_faces/ItemListAdapter.java",
    "content": "package com.helloworld.goodpoint.ui.select_multiple_faces;\n\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.ImageView;\n\nimport androidx.annotation.NonNull;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\n\nimport com.helloworld.goodpoint.R;\n\nimport java.util.List;\n\npublic class ItemListAdapter extends RecyclerView.Adapter<ItemListAdapter.ItemViewHolder> {\n\n    private RecyclerView.RecycledViewPool viewPool = new RecyclerView.RecycledViewPool();\n    private List<com.helloworld.goodpoint.ui.select_multiple_faces.ItemList> itemList;\n    private Context cxt;\n    ItemListAdapter(List<com.helloworld.goodpoint.ui.select_multiple_faces.ItemList> itemList,Context cxt) {\n        this.itemList = itemList;\n        this.cxt=cxt;\n    }\n\n    @NonNull\n    @Override\n    public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {\n        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recycler_view_of_images, viewGroup, false);\n        return new ItemViewHolder(view);\n    }\n\n    @Override\n    public void onBindViewHolder(@NonNull ItemViewHolder itemViewHolder, int i) {\n        com.helloworld.goodpoint.ui.select_multiple_faces.ItemList item = itemList.get(i);\n        itemViewHolder.tvItemImage.setImageBitmap(item.getItemImage());\n\n        // Create layout manager with initial prefetch item count\n        LinearLayoutManager layoutManager = new LinearLayoutManager(\n                itemViewHolder.rvSubItem.getContext(),\n                LinearLayoutManager.HORIZONTAL,\n                false\n        );\n        layoutManager.setInitialPrefetchItemCount(item.getSubItemList().size());\n\n        // Create sub item view adapter\n        com.helloworld.goodpoint.ui.select_multiple_faces.SubItemListAdapter subItemAdapter = new com.helloworld.goodpoint.ui.select_multiple_faces.SubItemListAdapter(item.getSubItemList(),cxt);\n\n\n        itemViewHolder.rvSubItem.setLayoutManager(layoutManager);\n        itemViewHolder.rvSubItem.setAdapter(subItemAdapter);\n        itemViewHolder.rvSubItem.setRecycledViewPool(viewPool);\n\n\n    }\n\n    @Override\n    public int getItemCount() {\n        return itemList.size();\n    }\n\n    class ItemViewHolder extends RecyclerView.ViewHolder {\n\n        private ImageView tvItemImage;\n        private RecyclerView rvSubItem;\n\n        ItemViewHolder(View itemView) {\n            super(itemView);\n            tvItemImage = itemView.findViewById(R.id.ItemImage);\n            rvSubItem = itemView.findViewById(R.id.recycler_view_sub_items);\n\n        }\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/select_multiple_faces/Selection.java",
    "content": "package com.helloworld.goodpoint.ui.select_multiple_faces;\n\nimport android.content.Intent;\nimport android.graphics.Bitmap;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.AdapterView;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.RadioButton;\nimport android.widget.Toast;\n\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\n\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.ui.GlobalVar;\nimport com.helloworld.goodpoint.ui.test;\nimport com.shashank.sony.fancytoastlib.FancyToast;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class Selection extends AppCompatActivity implements AdapterView.OnItemClickListener {\n\n    private static final String TAG = \"Selection\";\n    //vars\n    //private ArrayList<String> mNames = new ArrayList<>();\n    //private ArrayList<String> mImageUrls = new ArrayList<>();\n    RadioButton rb;\n    Button Done_btn;\n    ImageView imageView;\n    SubItemListAdapter recyclerViewAdapter;\n    RecyclerView rvItem;\n    List<List<Bitmap>> faces;\n    List<Bitmap> mfaces;\n\n    boolean click = false;\n    int k = 0;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.multiple_faces_selection);\n        rvItem = findViewById(R.id.recycler_view_sub_items);\n        imageView = findViewById(R.id.ItemImage);\n        rb = (RadioButton) findViewById(R.id.radioButton);\n        faces = GlobalVar.allFaces;\n        mfaces = GlobalVar.ImgThatHaveMoreThanOneFace;\n        List<Bitmap> mfaces = GlobalVar.ImgThatHaveMoreThanOneFace;\n        click = false;\n        createCard(k);\n        Done_btn = (Button) findViewById(R.id.Done_btn);\n        if (k == mfaces.size() - 1) {\n            Done_btn.setText(\"Done\");\n        }\n            Done_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                if (click) {\n                    SubItemList list = GlobalVar.slist.get(GlobalVar.position);\n                    GlobalVar.FinialFacesThatWillGoToDataBase.add(list.getSubItemImage());\n                    if (k == mfaces.size() - 1) {\n                        startActivity(new Intent(Selection.this, test.class));\n                        finish();\n                    } else {\n                        k++;\n                        createCard(k);\n                        click = false;\n                        if (k == mfaces.size() - 1) {\n                            Done_btn.setText(\"Done\");\n                        }\n\n                    }\n                } else\n                    FancyToast.makeText(Selection.this, \"Specify the face of the missing person\", FancyToast.LENGTH_LONG, FancyToast.ERROR, false).show();\n\n\n//\n            }\n        });\n\n\n    }\n\n    private void createCard(int i) {\n        imageView.setImageBitmap(mfaces.get(i));\n\n        LinearLayoutManager layoutManager = new LinearLayoutManager(\n                rvItem.getContext(),\n                LinearLayoutManager.HORIZONTAL,\n                false\n        );\n        recyclerViewAdapter = new SubItemListAdapter(buildSubItemList(faces.get(i)), this);\n        recyclerViewAdapter.setOnItemClickListener(this);\n        rvItem.setAdapter(recyclerViewAdapter);\n        rvItem.setLayoutManager(layoutManager);\n\n    }\n\n\n    private List<com.helloworld.goodpoint.ui.select_multiple_faces.SubItemList> buildSubItemList(List<Bitmap> faces) {\n        List<com.helloworld.goodpoint.ui.select_multiple_faces.SubItemList> subItemList = new ArrayList<>();\n        for (int i = 0; i < faces.size(); i++) {\n            com.helloworld.goodpoint.ui.select_multiple_faces.SubItemList subItem = new com.helloworld.goodpoint.ui.select_multiple_faces.SubItemList(faces.get(i), i);\n            subItemList.add(subItem);\n        }\n        GlobalVar.slist = subItemList;\n\n        return subItemList;\n    }\n\n    @Override\n    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {\n        SubItemList list = GlobalVar.slist.get(position);\n        click = true;\n        int i = list.getPos();\n        i += 1;\n        GlobalVar.position=position;\n\n        Toast.makeText(this, \"Face number (\" + i\n                + \") is selected\", Toast.LENGTH_SHORT).show();\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/select_multiple_faces/SubItemList.java",
    "content": "package com.helloworld.goodpoint.ui.select_multiple_faces;\n\nimport android.graphics.Bitmap;\n\nimport java.io.Serializable;\n\npublic class SubItemList implements Serializable {\n    private Bitmap subItemImage;\n\n    public int getPos() {\n        return pos;\n    }\n\n    public void setPos(int pos) {\n        this.pos = pos;\n    }\n\n    private int pos;\n\n\n    public SubItemList(Bitmap subItemImage,int pos) {\n        this.subItemImage = subItemImage;\n        this.pos=pos;\n    }\n\n\n    public Bitmap getSubItemImage() {\n        return subItemImage;\n    }\n\n    public void setSubItemImage(Bitmap subItemImage) {\n        this.subItemImage = subItemImage;\n    }\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/select_multiple_faces/SubItemListAdapter.java",
    "content": "package com.helloworld.goodpoint.ui.select_multiple_faces;\n\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.AdapterView;\nimport android.widget.ImageView;\nimport android.widget.RadioButton;\n\nimport androidx.annotation.NonNull;\nimport androidx.recyclerview.widget.RecyclerView;\n\nimport com.helloworld.goodpoint.R;\n\nimport java.util.List;\n\npublic class SubItemListAdapter extends RecyclerView.Adapter<SubItemListAdapter.SubItemViewHolder> {\n\n    private List<SubItemList> subItemList;\n    private int lastSelectedPosition = -1;\n    private Context context;\n    private AdapterView.OnItemClickListener onItemClickListener;\n\n    SubItemListAdapter(List<SubItemList> subItemList, Context ctx) {\n        this.subItemList = subItemList;\n        context = ctx;\n    }\n\n    @NonNull\n    @Override\n    public SubItemViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {\n        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.layout_sub_list_items, viewGroup, false);\n\n        return new SubItemViewHolder(view,this);\n    }\n\n    @Override\n    public void onBindViewHolder(@NonNull SubItemViewHolder subItemViewHolder, int i) {\n        com.helloworld.goodpoint.ui.select_multiple_faces.SubItemList subItem = subItemList.get(i);\n        subItemViewHolder.tvItemImage.setImageBitmap(subItem.getSubItemImage());\n        try {\n            subItemViewHolder.bindData(subItem, i);\n            subItem.setPos(i);\n        } catch (Exception e) {\n            e.printStackTrace();\n\n        }\n        //Toast.makeText(cxt, \"size=\"+item.getSubItemList().size(),Toast.LENGTH_LONG).show();\n\n    }\n\n    public void setOnItemClickListener(AdapterView.OnItemClickListener onItemClickListener) {\n        this.onItemClickListener = onItemClickListener;\n    }\n\n    public void onItemHolderClick(SubItemViewHolder holder) {\n        if (onItemClickListener != null)\n            onItemClickListener.onItemClick(null, holder.itemView, holder.getAdapterPosition(), holder.getItemId());\n    }\n\n    @Override\n    public int getItemCount() {\n        return subItemList.size();\n    }\n\n\n    class SubItemViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {\n        private SubItemListAdapter mAdapter;\n        private ImageView tvItemImage;\n        private RadioButton rb;\n\n        public SubItemViewHolder(View itemView, final SubItemListAdapter mAdapter) {\n            super(itemView);\n            this.mAdapter=mAdapter;\n            tvItemImage = itemView.findViewById(R.id.img_view);\n            rb = itemView.findViewById(R.id.radioButton);\n            itemView.setOnClickListener(this);\n            rb.setOnClickListener( this);\n        }\n\n        public void bindData(SubItemList list, int position) {\n            rb.setChecked(position==lastSelectedPosition);\n\n        }\n        public void onClick(View v){\n            lastSelectedPosition = getAdapterPosition();\n            notifyItemRangeChanged(0,subItemList.size());\n            mAdapter.onItemHolderClick(SubItemViewHolder.this);\n        }\n    }\n}\n\n\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/sub.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.graphics.Bitmap;\n\nimport java.io.Serializable;\n\npublic class sub implements Serializable {\n    private Bitmap subItemImage;\n\n    public int getPos() {\n        return pos;\n    }\n\n    public void setPos(int pos) {\n        this.pos = pos;\n    }\n\n    private int pos;\n\n\n    public sub(Bitmap subItemImage,int pos) {\n        this.subItemImage = subItemImage;\n        this.pos=pos;\n    }\n\n\n    public Bitmap getSubItemImage() {\n        return subItemImage;\n    }\n\n    public void setSubItemImage(Bitmap subItemImage) {\n        this.subItemImage = subItemImage;\n    }\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/subAdapter.java",
    "content": "package com.helloworld.goodpoint.ui;\n\n\nimport android.content.Context;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.AdapterView;\nimport android.widget.ImageView;\nimport android.widget.RadioButton;\n\nimport androidx.annotation.NonNull;\nimport androidx.recyclerview.widget.RecyclerView;\n\nimport com.helloworld.goodpoint.R;\n\nimport java.util.List;\n\npublic class subAdapter extends RecyclerView.Adapter<subAdapter.subViewHolder> {\n\n    private List<sub> subItemList;\n    private int lastSelectedPosition = -1;\n    private Context context;\n    private AdapterView.OnItemClickListener onItemClickListener;\n\n    subAdapter(List<sub> subItemList, Context ctx) {\n        this.subItemList = subItemList;\n        context = ctx;\n    }\n\n    @NonNull\n    @Override\n    public subViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {\n        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.rr, viewGroup, false);\n\n        return new subViewHolder(view,this);\n    }\n\n    @Override\n    public void onBindViewHolder(@NonNull subViewHolder subItemViewHolder, int i) {\n     sub subItem = subItemList.get(i);\n        subItemViewHolder.tvItemImage.setImageBitmap(subItem.getSubItemImage());\n\n        //Toast.makeText(cxt, \"size=\"+item.getSubItemList().size(),Toast.LENGTH_LONG).show();\n\n    }\n\n    public void setOnItemClickListener(AdapterView.OnItemClickListener onItemClickListener) {\n        this.onItemClickListener = onItemClickListener;\n    }\n\n    public void onItemHolderClick(subViewHolder holder) {\n        if (onItemClickListener != null)\n            onItemClickListener.onItemClick(null, holder.itemView, holder.getAdapterPosition(), holder.getItemId());\n    }\n\n    @Override\n    public int getItemCount() {\n        return subItemList.size();\n    }\n\n\n    class subViewHolder extends RecyclerView.ViewHolder {\n        private subAdapter mAdapter;\n        private ImageView tvItemImage;\n        private RadioButton rb;\n\n        public subViewHolder(View itemView, final subAdapter mAdapter) {\n            super(itemView);\n            this.mAdapter=mAdapter;\n            tvItemImage = itemView.findViewById(R.id.img1_view);\n\n        }\n\n\n    }\n}\n\n\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/ui/test.java",
    "content": "package com.helloworld.goodpoint.ui;\n\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.provider.MediaStore;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.Toast;\n\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.loader.content.CursorLoader;\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\n\nimport com.google.gson.JsonObject;\nimport com.helloworld.goodpoint.R;\nimport com.helloworld.goodpoint.pojo.FoundPerson;\nimport com.helloworld.goodpoint.pojo.LostPerson;\nimport com.helloworld.goodpoint.pojo.User;\nimport com.helloworld.goodpoint.retrofit.ApiClient;\nimport com.helloworld.goodpoint.retrofit.ApiInterface;\nimport com.helloworld.goodpoint.ui.lostFoundObject.FoundObjectActivity;\nimport com.helloworld.goodpoint.ui.lostFoundObject.LostObjectDetailsActivity;\nimport com.shashank.sony.fancytoastlib.FancyToast;\n\nimport org.json.JSONException;\nimport org.json.JSONObject;\n\nimport java.io.ByteArrayOutputStream;\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport okhttp3.MediaType;\nimport okhttp3.MultipartBody;\nimport okhttp3.RequestBody;\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\n\npublic class test extends AppCompatActivity  {\n\n\n    subAdapter recyclerViewAdapter;\n    RecyclerView rvItem;\n    List<Bitmap> mfaces;\n    Button Save_btn;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.r);\n        rvItem = findViewById(R.id.q);\n        mfaces = GlobalVar.FinialFacesThatWillGoToDataBase;\n        createCard();\n        Save_btn = (Button) findViewById(R.id.Save_btn);\n        Save_btn.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                if(GlobalVar.flag==1)\n                    FoundPerson();\n                else if(GlobalVar.flag==2)\n                    LostPerson();\n                //FancyToast.makeText(test.this, \"Done\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\n\n            }\n        });\n    }\n    private void createCard() {\n\n        LinearLayoutManager layoutManager = new LinearLayoutManager(\n                rvItem.getContext(),\n                LinearLayoutManager.HORIZONTAL,\n                false\n        );\n        recyclerViewAdapter = new subAdapter(buildSubItemList(mfaces), this);\n        rvItem.setAdapter(recyclerViewAdapter);\n        rvItem.setLayoutManager(layoutManager);\n\n    }\n\n    public Uri getImageUri(Bitmap bitmap_Image) {\n        ByteArrayOutputStream bytes = new ByteArrayOutputStream();\n        bitmap_Image.compress(Bitmap.CompressFormat.JPEG, 100, bytes);\n        String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap_Image, (System.currentTimeMillis()%1000)+\"\", null);\n        return Uri.parse(path);\n    }\n\n    private String getRealPathFromURI(Uri imageUri) {\n        String[] proj = {MediaStore.Images.Media.DATA};\n        CursorLoader loader = new CursorLoader(this, imageUri, proj, null, null, null);\n        Cursor cursor = loader.loadInBackground();\n        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);\n        cursor.moveToFirst();\n        String result = cursor.getString(column_index);\n        cursor.close();\n        return result;\n    }\n\n    public void FoundPerson()\n    {\n\n        String Datee = FoundPerson.getFoundPerson().getDate();\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n\n        Uri imageURI = getImageUri(GlobalVar.FinialFacesThatWillGoToDataBase.get(0));\n        File file = new File(getRealPathFromURI(imageURI));\n        RequestBody requestBody = RequestBody.create(MediaType.parse(\"multipart/form-data\"), file);\n        MultipartBody.Part Pimage = MultipartBody.Part.createFormData(\"image\", file.getName(), requestBody);\n\n        String PName = FoundPerson.getFoundPerson().getName();\n        String City = FoundPerson.getFoundPerson().getCity();\n        double Longitude = FoundPerson.getFoundPerson().getLongitude();\n        double Latitude = FoundPerson.getFoundPerson().getLatitude();\n\n        Call<JsonObject> call = apiInterface.storeFoundPerson(User.getUser().getId(), Datee, City, Longitude , Latitude, PName, Pimage);\n        call.enqueue(new Callback<JsonObject>() {\n            @Override\n            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                if(response.isSuccessful()) {\n                    FancyToast.makeText(test.this, \"The data has been saved successfully\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\n                    try {\n                        String id = new JSONObject(response.body().toString()).getString(\"id\");\n                    } catch (JSONException e) {\n                        Log.e(\"TAG\", \"onResponse: \"+e.getMessage());\n                    }\n                    startActivity(new Intent(test.this, HomeActivity.class));\n                    finish();\n                }else\n                    Toast.makeText(test.this, \"The object is not posted.\", Toast.LENGTH_SHORT).show();\n\n            }\n\n            @Override\n            public void onFailure(Call<JsonObject> call, Throwable t) {\n                Toast.makeText(test.this, t.getMessage(), Toast.LENGTH_LONG).show();\n            }\n        });\n\n\n    }\n\n    public void LostPerson()  {\n\n        String Datee = LostPerson.getLostPerson().getDate();\n        ApiInterface apiInterface = ApiClient.getApiClient(new PrefManager(getApplicationContext()).getNGROKLink()).create(ApiInterface.class);\n\n        Uri imageURI = getImageUri(GlobalVar.FinialFacesThatWillGoToDataBase.get(0));\n        File file = new File(getRealPathFromURI(imageURI));\n        RequestBody requestBody = RequestBody.create(MediaType.parse(\"multipart/form-data\"), file);\n        MultipartBody.Part Pimage = MultipartBody.Part.createFormData(\"image\", file.getName(), requestBody);\n        //MultipartBody.Part image = MultipartBody.Part.createFormData(\"images\", file.getName(), requestBody);\n        //Pimages.add(image);\n\n        String PName = LostPerson.getLostPerson().getName();\n        String City = LostPerson.getLostPerson().getCity();\n\n        Call<JsonObject> call = apiInterface.storeLostPerson(Datee,City,User.getUser().getId(),PName,Pimage);\n        call.enqueue(new Callback<JsonObject>() {\n            @Override\n            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {\n                if(response.isSuccessful()) {\n                    FancyToast.makeText(test.this, \"The data has been saved successfully\", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();\n                    try {\n                        String id = new JSONObject(response.body().toString()).getString(\"id\");\n                    } catch (JSONException e) {\n                        Log.e(\"TAG\", \"onResponse: \"+e.getMessage());\n                    }\n                    startActivity(new Intent(test.this, HomeActivity.class));\n                    finish();\n                }else {\n                    try {\n                        Log.e(\"onResponse: \", response.errorBody().string());\n                    } catch (IOException e) {\n                        Log.e(\"onResponse: \", e.getMessage());\n                    }\n                }\n\n            }\n\n            @Override\n            public void onFailure(Call<JsonObject> call, Throwable t) {\n                Toast.makeText(test.this, t.getMessage(), Toast.LENGTH_LONG).show();\n                Log.e(\"onFailure: \", t.getMessage());\n            }\n        });\n\n    }\n\n    private List<sub> buildSubItemList(List<Bitmap> faces) {\n        List<sub> subItemList = new ArrayList<>();\n        for (int i = 0; i < faces.size(); i++) {\n            sub subItem = new sub(faces.get(i), i);\n            subItemList.add(subItem);\n        }\n\n        return subItemList;\n    }\n\n\n}\n"
  },
  {
    "path": "app/src/main/java/com/helloworld/goodpoint/utils/Draw.java",
    "content": "package com.helloworld.goodpoint.utils;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Rect;\nimport android.util.AttributeSet;\nimport android.view.View;\n\nimport androidx.annotation.Nullable;\n\nimport org.w3c.dom.Text;\n\npublic class Draw extends View {\n    protected Paint boundaryPaint;\n    protected Paint textPaint;\n    private Rect rect;\n    private String Text;\n    public void init(int i){\n          boundaryPaint = new Paint();\n          boundaryPaint.setColor(Color.GREEN);\n          boundaryPaint.setStrokeWidth(10f);\n        //  boundaryPaint.setStyle(Paint.Style.STROKE);\n\n          textPaint = new Paint();\n        if(i == 1)\n            textPaint.setColor(Color.GREEN);\n        else\n            textPaint.setColor(Color.RED);\n          textPaint.setTextSize(50f);\n          textPaint.setStyle(Paint.Style.FILL);\n\n    }\n\n    public Draw(Context context, String Tex) {\n        super(context);\n      //  rect = rec;\n        Text = Tex;\n\n\n\n    }\n    protected void onDraw(Canvas canvas) {\n        super.onDraw(canvas);\n        canvas.drawText(Text,70,70,textPaint);\n       // canvas.drawRect(rect.left+150,rect.top+150,rect.right+150,rect.bottom+150,boundaryPaint);\n    }\n}\n"
  },
  {
    "path": "app/src/main/java/fragments/PageFragment1.java",
    "content": "package fragments;\n\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\n\nimport com.helloworld.goodpoint.R;\n\npublic class PageFragment1 extends Fragment {\n    @Nullable\n    @Override\n    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {\n       ViewGroup rootview=(ViewGroup)inflater.inflate(R.layout.slider_page1,container,false);\n\n       return  rootview;\n\n    }\n}\n\n"
  },
  {
    "path": "app/src/main/java/fragments/PageFragment2.java",
    "content": "package fragments;\n\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\n\nimport com.helloworld.goodpoint.R;\n\npublic class PageFragment2 extends Fragment {\n    @Nullable\n    @Override\n    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {\n        ViewGroup rootview=(ViewGroup)inflater.inflate(R.layout.slider_page2,container,false);\n\n        return  rootview;\n\n    }\n}\n\n"
  },
  {
    "path": "app/src/main/java/fragments/PageFragment3.java",
    "content": "package fragments;\n\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\n\nimport com.helloworld.goodpoint.R;\n\npublic class PageFragment3 extends Fragment {\n    @Nullable\n    @Override\n    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {\n        ViewGroup rootview=(ViewGroup)inflater.inflate(R.layout.slider_page3,container,false);\n\n        return  rootview;\n    }\n}\n\n"
  },
  {
    "path": "app/src/main/res/anim/rotate_splash.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<set xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <rotate android:fromDegrees=\"0\"\n        android:toDegrees=\"1080\"\n        android:pivotX=\"50%\"\n        android:pivotY=\"25%\"\n        android:duration=\"1800\"\n        android:interpolator=\"@android:anim/cycle_interpolator\"/>\n</set>"
  },
  {
    "path": "app/src/main/res/drawable/account_circle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        android:width=\"100dp\"\n        android:height=\"100dp\"\n        android:viewportWidth=\"24\"\n        android:viewportHeight=\"24\"\n\n        android:tint=\"?attr/colorControlNormal\">\n        <path\n            android:fillColor=\"@android:color/white\"\n            android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z\"/>\n\n</vector>"
  },
  {
    "path": "app/src/main/res/drawable/active_dot.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"oval\"\n    android:useLevel=\"true\"\n    android:dither=\"true\">\n\n    <solid android:color=\"#ffffff\" />\n    <size android:height=\"@dimen/_15sdp\" android:width=\"@dimen/_15sdp\"/>\n\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/add_new_photo2.xml",
    "content": "<vector android:height=\"100dp\" android:tint=\"#F38E3A\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"100dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM17,13h-4v4h-2v-4L7,13v-2h4L11,7h2v4h4v2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/application_icon.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"280dp\"\n    android:height=\"281dp\"\n    android:viewportWidth=\"280\"\n    android:viewportHeight=\"281\">\n  <group>\n    <clip-path\n        android:pathData=\"M0,0h280v281h-280z\"/>\n    <group>\n      <clip-path\n          android:pathData=\"M1,1h279v279h-279z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M1,1h279v279h-279z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M1,1h279v279h-279z\"/>\n          <path\n              android:pathData=\"M140.5,128.875C125.969,128.875 114.344,117.25 114.344,102.719 114.344,88.188 125.969,76.563 140.5,76.563 155.031,76.563 166.656,88.188 166.656,102.719 166.656,117.25 155.031,128.875 140.5,128.875ZM140.5,41.688C120.447,41.688 101.556,51.569 90.222,68.425 78.888,84.991 76.563,106.206 83.828,125.097L111.438,186.128 135.269,236.116C136.141,238.15 138.175,239.313 140.5,239.313 142.825,239.313 144.859,238.15 145.731,236.116L169.563,186.128 197.172,125.097C204.438,106.206 202.112,84.991 190.778,68.425 179.444,51.569 160.553,41.688 140.5,41.688Z\"\n              android:strokeWidth=\"2.90623\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#000000\"/>\n        </group>\n      </group>\n    </group>\n    <group>\n      <clip-path\n          android:pathData=\"M102,64h97v97h-97z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M102,64h97v97h-97z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M102,64h97v97h-97z\"/>\n          <path\n              android:fillColor=\"#FF000000\"\n              android:pathData=\"M188.391,140.388 L175.76,127.757C174.043,126.04 171.719,125.433 169.496,125.837L165.05,121.392C168.991,116.34 171.315,109.873 171.315,103.002 171.315,86.33 157.674,72.69 141.002,72.69 124.33,72.69 110.69,86.33 110.69,103.002 110.69,119.674 124.33,133.315 141.002,133.315 147.873,133.315 154.239,130.991 159.392,127.05L163.838,131.496C163.433,133.719 164.04,136.043 165.757,137.76L178.388,150.391C179.802,151.805 181.621,152.513 183.44,152.513 185.258,152.513 187.077,151.805 188.492,150.391 191.119,147.561 191.119,143.116 188.391,140.388ZM140.901,127.151C127.564,127.151 116.651,116.239 116.651,102.901 116.651,89.564 127.564,78.651 140.901,78.651 154.239,78.651 165.151,89.564 165.151,102.901 165.151,116.239 154.239,127.151 140.901,127.151Z\"/>\n        </group>\n      </group>\n    </group>\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/application_icon2.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"255dp\"\n    android:height=\"255dp\"\n    android:viewportWidth=\"255\"\n    android:viewportHeight=\"255\">\n  <group>\n    <clip-path\n        android:pathData=\"M0,0h255v255h-255z\"/>\n    <path\n        android:pathData=\"M18.5,127.5C18.5,66.749 67.749,17.5 128.5,17.5 189.251,17.5 238.5,66.749 238.5,127.5 238.5,188.251 189.251,237.5 128.5,237.5 67.749,237.5 18.5,188.251 18.5,127.5Z\"\n        android:strokeWidth=\"1.33333\"\n        android:fillColor=\"#FFFFFF\"\n        android:fillType=\"evenOdd\"\n        android:strokeColor=\"#FFFFFF\"/>\n    <group>\n      <clip-path\n          android:pathData=\"M1,0h254v254h-254z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M1,0h254v254h-254z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M1,0h254v254h-254z\"/>\n          <path\n              android:pathData=\"M128,116.417C114.771,116.417 104.188,105.833 104.188,92.604 104.188,79.375 114.771,68.792 128,68.792 141.229,68.792 151.813,79.375 151.813,92.604 151.813,105.833 141.229,116.417 128,116.417ZM128,37.042C109.744,37.042 92.546,46.037 82.227,61.383 71.908,76.465 69.792,95.779 76.406,112.977L101.542,168.54 123.237,214.048C124.031,215.9 125.883,216.958 128,216.958 130.117,216.958 131.969,215.9 132.763,214.048L154.458,168.54 179.594,112.977C186.208,95.779 184.092,76.465 173.773,61.383 163.454,46.037 146.256,37.042 128,37.042Z\"\n              android:strokeWidth=\"2.64581\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#000000\"/>\n        </group>\n      </group>\n    </group>\n    <group>\n      <clip-path\n          android:pathData=\"M95,62h84v83h-84z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M95,62h84v83h-84z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M95,62h84v83h-84z\"/>\n          <path\n              android:fillColor=\"#FF000000\"\n              android:pathData=\"M169.813,127.363 L158.875,116.555C157.388,115.085 155.375,114.567 153.45,114.912L149.6,111.108C153.013,106.785 155.025,101.252 155.025,95.373 155.025,81.107 143.213,69.435 128.775,69.435 114.338,69.435 102.525,81.107 102.525,95.373 102.525,109.639 114.338,121.31 128.775,121.31 134.725,121.31 140.238,119.322 144.7,115.95L148.55,119.754C148.2,121.656 148.725,123.645 150.213,125.115L161.15,135.922C162.375,137.132 163.95,137.738 165.525,137.738 167.1,137.738 168.675,137.132 169.9,135.922 172.175,133.501 172.175,129.697 169.813,127.363ZM128.688,116.036C117.138,116.036 107.688,106.699 107.688,95.286 107.688,83.874 117.138,74.536 128.688,74.536 140.238,74.536 149.688,83.874 149.688,95.286 149.688,106.699 140.238,116.036 128.688,116.036Z\"/>\n        </group>\n      </group>\n    </group>\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <gradient\n        android:angle=\"225\"\n        android:endColor=\"#FF9800\"\n        android:startColor=\"#FFEB3B\" />\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/background2.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <gradient\n        android:angle=\"225\"\n        android:endColor=\"#DC7F9F\"\n        android:startColor=\"#FF9800\" />\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/bottom_sheet_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" android:shape=\"rectangle\" >\n    <corners\n        android:topLeftRadius=\"@dimen/_17sdp\"\n        android:topRightRadius=\"@dimen/_17sdp\"\n        />\n    <stroke\n        android:color=\"#878787\"\n        />\n    <solid android:color=\"@color/white\" />\n</shape>\n"
  },
  {
    "path": "app/src/main/res/drawable/btn_login.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item android:state_pressed=\"true\">\n        <shape android:shape=\"rectangle\">\n            <corners android:radius=\"@dimen/_248sdp\"/>\n            <solid android:color=\"#FF9800\" />\n\n        </shape>\n    </item>\n    <item android:state_pressed=\"false\">\n        <shape android:shape=\"rectangle\">\n            <corners android:radius=\"@dimen/_45sdp\"/>\n            <solid android:color=\"#FF9800\"/>\n        </shape>\n    </item>\n</selector>\n"
  },
  {
    "path": "app/src/main/res/drawable/buttons.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" android:shape=\"rectangle\" >\n    <corners\n        android:topLeftRadius=\"@dimen/_26sdp\"\n        android:topRightRadius=\"0dp\"\n        android:bottomLeftRadius=\"0dp\"\n        android:bottomRightRadius=\"@dimen/_26sdp\"\n        />\n    <stroke\n        android:color=\"#878787\"\n        />\n    <gradient\n        android:angle=\"135\"\n        android:centerColor=\"#FA5A28\"\n        android:endColor=\"#FA3B00\"\n        android:startColor=\"#FB815B\"\n        android:type=\"linear\" />\n</shape>\n"
  },
  {
    "path": "app/src/main/res/drawable/circle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" android:shape=\"oval\">\n    <solid android:color=\"#ffffff\" />\n    <gradient android:angle=\"90\"\n        android:startColor=\"#FFFFFF\"\n        android:endColor=\"#F7FBFD\" />\n    <padding android:left=\"20dp\" android:top=\"60dp\"\n        android:right=\"20dp\" android:bottom=\"60dp\" />\n    <corners android:radius=\"20dp\" />\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/circle2.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" android:shape=\"oval\">\n    <solid android:color=\"#FF9800\" />\n    <gradient android:angle=\"90\"\n        android:startColor=\"#FF9800\"\n        android:endColor=\"#FF9800\" />\n    <padding android:left=\"20dp\" android:top=\"60dp\"\n        android:right=\"20dp\" android:bottom=\"60dp\" />\n    <corners android:radius=\"20dp\" />\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/custom_button.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item android:state_pressed=\"true\">\n        <shape android:shape=\"rectangle\">\n            <corners android:radius=\"@dimen/_1sdp\"/>\n            <solid android:color=\"#ED254E\" />\n\n        </shape>\n    </item>\n    <item android:state_pressed=\"false\">\n        <shape android:shape=\"rectangle\">\n            <corners android:radius=\"@dimen/_1sdp\"/>\n            <solid android:color=\"#C21F40\"/>\n        </shape>\n    </item>\n</selector>\n"
  },
  {
    "path": "app/src/main/res/drawable/custom_button_location.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item android:state_pressed=\"true\">\n        <shape android:shape=\"rectangle\">\n            <corners android:radius=\"@dimen/_248sdp\"/>\n            <solid android:color=\"#66525959\" />\n\n        </shape>\n    </item>\n    <item android:state_pressed=\"false\">\n        <shape android:shape=\"rectangle\">\n            <corners android:radius=\"@dimen/_80sdp\"/>\n            <solid android:color=\"#66B1BABA\"/>\n        </shape>\n    </item>\n</selector>\n"
  },
  {
    "path": "app/src/main/res/drawable/default_dot.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"oval\"\n    android:useLevel=\"true\"\n    android:dither=\"true\">\n\n    <solid android:color=\"#635C5C\" />\n    <size android:height=\"@dimen/_15sdp\" android:width=\"@dimen/_15sdp\"/>\n\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/details_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"rectangle\">\n    <solid android:color=\"@color/table_detail\"/>\n    <stroke android:width=\"@dimen/_1sdp\" android:color=\"@color/border_detail\"/>\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/details_btns.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item android:state_pressed=\"true\">\n        <shape android:shape=\"rectangle\">\n            <corners android:radius=\"@dimen/_45sdp\"/>\n            <solid android:color=\"#FF8080\" />\n\n        </shape>\n    </item>\n    <item android:state_pressed=\"false\">\n        <shape android:shape=\"rectangle\">\n            <corners android:radius=\"@dimen/_45sdp\"/>\n            <solid android:color=\"#EF4752\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "app/src/main/res/drawable/general_back_icon.xml",
    "content": "<vector android:alpha=\"0.96\" android:height=\"24dp\"\n    android:tint=\"?attr/colorControlNormal\" android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\" android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/halfcircle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"rectangle\">\n    <solid android:color=\"#F49C3B\"/>\n\n    <corners\n        android:bottomLeftRadius=\"200dp\"\n        android:bottomRightRadius=\"200dp\"/>\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/ic_account_circle.xml",
    "content": "<vector android:height=\"@dimen/_100sdp\" android:tint=\"#D2D2D2\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"@dimen/_100sdp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_add.xml",
    "content": "<vector android:height=\"@dimen/_18sdp\" android:tint=\"#FFFFFF\"\n    android:viewportHeight=\"22\" android:viewportWidth=\"22\"\n    android:width=\"@dimen/_18sdp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_background.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"561dp\"\n    android:height=\"722dp\"\n    android:viewportWidth=\"561\"\n    android:viewportHeight=\"722\">\n  <group>\n    <clip-path\n        android:pathData=\"M0,0h561v722h-561z\"/>\n    <path\n        android:pathData=\"M0,1h560v720h-560z\"\n        android:fillColor=\"#FFFFFF\"/>\n    <path\n        android:pathData=\"M136,582 L95,560 136,538Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M39.548,468.212 L84.404,451.45 76.091,498.608Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M87.642,511.942 L117.482,481.547 119.469,524.095Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M134.769,592.706 L97.132,622.31 90.715,574.857Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M78.075,520.628 L95.761,551.455 60.292,553.698Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M46.969,589.37 L67.624,583.672 65.783,605.02Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <group>\n      <clip-path\n          android:pathData=\"M331,499h221v221h-221z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M331,499h221v221h-221z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M331,499h221v221h-221z\"/>\n          <path\n              android:pathData=\"M522.74,525.328C515.44,514.496 500.73,511.636 489.9,518.94 487.38,520.639 485.21,522.808 483.52,525.328 479.1,531.839 478.17,540.103 481.02,547.434L491.79,571.241 501.09,590.74C501.66,591.867 503.05,592.312 504.17,591.735 504.6,591.515 504.95,591.167 505.17,590.74L514.46,571.241 525.23,547.434C528.09,540.103 527.15,531.839 522.74,525.328ZM520.98,545.663 L510.31,569.26 503.15,584.278C503.14,584.301 503.12,584.301 503.11,584.278L495.99,569.344 485.27,545.663C483.01,539.76 483.78,533.125 487.34,527.896 493.22,519.175 505.06,516.876 513.78,522.761 515.82,524.135 517.57,525.889 518.94,527.927 522.48,533.151 523.24,539.772 520.98,545.663Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M361.423,611.815C355.955,619.882 354.8,630.121 358.334,639.203L371.676,668.697 383.193,692.854C383.909,694.251 385.62,694.803 387.017,694.087 387.547,693.816 387.978,693.384 388.249,692.854L399.766,668.697 413.109,639.203C416.642,630.121 415.487,619.882 410.019,611.815 400.971,598.396 382.757,594.853 369.338,603.901 366.216,606.006 363.528,608.693 361.423,611.815ZM406.219,614.415C410.81,621.194 411.795,629.79 408.857,637.431L395.61,666.716 385.742,687.415C385.731,687.438 385.712,687.438 385.701,687.415L375.871,666.799 362.585,637.431C359.645,629.777 360.638,621.168 365.243,614.384 372.873,603.075 388.226,600.092 399.535,607.722 402.174,609.501 404.443,611.774 406.219,614.415Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M431.98,689.816C434.25,689.789 436.57,689.75 438.92,689.694L438.81,685.091C436.48,685.147 434.18,685.185 431.92,685.212Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M450.3,601.011 L448.23,596.896C446.03,597.98 443.94,599.275 441.98,600.762L444.8,604.401C446.52,603.097 448.36,601.962 450.3,601.011Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M440.64,608.812 L436.75,606.346C435.29,608.606 434.44,611.202 434.27,613.886L438.87,614.163C438.98,612.256 439.59,610.412 440.64,608.812Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M425.03,685.259 L422.7,685.262 418.136,685.252 418.118,689.857 422.7,689.866 425.04,689.863 425.03,685.259Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M468.32,633.462C466.06,632.896 463.83,632.332 461.66,631.744L460.46,636.188C462.66,636.783 464.91,637.355 467.2,637.928Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M404.314,685.193 L404.314,689.797C406.424,689.797 408.734,689.808 411.206,689.822L411.233,685.218C408.75,685.203 406.433,685.193 404.314,685.193Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M440.64,627.746 L443.53,624.158C441.98,622.977 440.73,621.454 439.87,619.708L435.7,621.669C436.87,624.045 438.56,626.124 440.64,627.746Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M468.49,590.333 L469.43,594.841C471.57,594.395 473.83,593.985 476.13,593.622L475.41,589.074C473.04,589.449 470.71,589.872 468.49,590.333Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M482.38,588.131 L482.9,592.706C486.89,592.252 489.5,592.107 489.61,592.102L489.36,587.505C489.08,587.52 486.43,587.67 482.38,588.131Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M509.86,664.961C509.87,662.95 509.64,660.946 509.2,658.986L504.71,660.036C505.08,661.65 505.26,663.3 505.25,664.955 505.25,665.327 505.23,665.699 505.19,666.069L509.77,666.578C509.83,666.041 509.86,665.501 509.86,664.961Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M486.26,679.915 L487.47,684.36C489.77,683.745 492.04,683.009 494.27,682.155L492.6,677.864C490.53,678.659 488.41,679.344 486.26,679.915Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M498.43,675.038 L500.85,678.958C503.06,677.648 505.02,675.965 506.66,673.984L503.05,671.118C501.75,672.681 500.19,674.007 498.43,675.038Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M488.5,639.34 L486.85,643.637C488.92,644.418 490.93,645.328 492.88,646.36L495.06,642.301C492.94,641.179 490.75,640.19 488.5,639.34Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M501.18,646.366 L498.24,649.904C499.83,651.212 501.22,652.753 502.36,654.477L506.23,651.978C504.84,649.864 503.14,647.971 501.18,646.366Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M472.98,682.579 L473.65,687.135C476.07,686.78 478.4,686.382 480.58,685.954L479.69,681.436C477.59,681.851 475.33,682.235 472.98,682.579Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M447.01,631.588C449.19,632.585 451.42,633.454 453.7,634.189L455.14,629.818C453.04,629.138 450.97,628.336 448.95,627.415Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M452.81,689.145 L452.55,684.548C450.26,684.679 447.97,684.787 445.68,684.876L445.86,689.477C448.18,689.388 450.5,689.279 452.81,689.145Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M454.85,594.088 L456.41,598.42C458.39,597.707 460.55,597.03 462.83,596.41L461.63,591.967C459.22,592.62 456.94,593.333 454.85,594.088Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M459.76,688.671C462.11,688.483 464.43,688.266 466.71,688.017L466.21,683.439C463.97,683.684 461.69,683.896 459.39,684.081Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M475.05,635.173 L473.88,639.627C476.1,640.208 478.3,640.814 480.46,641.468L481.8,637.062C479.58,636.391 477.32,635.769 475.05,635.173Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M503.13,528.502C497.49,528.502 492.92,533.07 492.92,538.705 492.92,544.34 497.49,548.908 503.13,548.908 508.76,548.907 513.33,544.34 513.33,538.705 513.35,533.094 508.82,528.525 503.21,528.502 503.18,528.502 503.16,528.502 503.13,528.502ZM503.13,544.303C500.03,544.303 497.53,541.797 497.53,538.704 497.53,535.612 500.04,533.106 503.13,533.106 506.22,533.106 508.73,535.613 508.73,538.705 508.76,541.764 506.31,544.27 503.25,544.303 503.21,544.304 503.17,544.304 503.13,544.303Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M373.081,628.388C373.08,635.369 378.74,641.029 385.721,641.029 392.702,641.029 398.362,635.37 398.362,628.389 398.362,621.408 392.703,615.748 385.722,615.748 385.721,615.748 385.721,615.748 385.721,615.748 378.768,615.719 373.109,621.332 373.081,628.284 373.08,628.318 373.08,628.353 373.081,628.388ZM393.758,628.388C393.758,632.826 390.16,636.425 385.722,636.425 381.283,636.425 377.685,632.827 377.685,628.389 377.684,623.95 381.282,620.352 385.721,620.352 385.721,620.352 385.721,620.352 385.721,620.352 390.112,620.304 393.71,623.826 393.758,628.217 393.758,628.274 393.758,628.331 393.758,628.388Z\"\n              android:strokeWidth=\"2.30208\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n        </group>\n      </group>\n    </group>\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_account_circle_150.xml",
    "content": "<vector android:height=\"150dp\" android:tint=\"?attr/colorControlNormal\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"150dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_account_circle_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_add_a_photo_24.xml",
    "content": "<vector android:height=\"150dp\" android:tint=\"?attr/colorControlNormal\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"150dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M3,4V1h2v3h3v2H5v3H3V6H0V4H3zM6,10V7h3V4h7l1.83,2H21c1.1,0 2,0.9 2,2v12c0,1.1 -0.9,2 -2,2H5c-1.1,0 -2,-0.9 -2,-2V10H6zM13,19c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5s-5,2.24 -5,5S10.24,19 13,19zM9.8,14c0,1.77 1.43,3.2 3.2,3.2s3.2,-1.43 3.2,-3.2s-1.43,-3.2 -3.2,-3.2S9.8,12.23 9.8,14z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_archive_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M20.54,5.23l-1.39,-1.68C18.88,3.21 18.47,3 18,3H6c-0.47,0 -0.88,0.21 -1.16,0.55L3.46,5.23C3.17,5.57 3,6.02 3,6.5V19c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V6.5c0,-0.48 -0.17,-0.93 -0.46,-1.27zM12,17.5L6.5,12H10v-2h4v2h3.5L12,17.5zM5.12,5l0.81,-1h12l0.94,1H5.12z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_assignment_turned_in_24.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#B9B9B9\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M19,3h-4.18C14.4,1.84 13.3,1 12,1c-1.3,0 -2.4,0.84 -2.82,2L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM12,3c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM10,17l-4,-4 1.41,-1.41L10,14.17l6.59,-6.59L18,9l-8,8z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_business_center_24.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#79787B\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M10,16v-1L3.01,15L3,19c0,1.11 0.89,2 2,2h14c1.11,0 2,-0.89 2,-2v-4h-7v1h-4zM20,7h-4.01L15.99,5l-2,-2h-4l-2,2v2L4,7c-1.1,0 -2,0.9 -2,2v3c0,1.11 0.89,2 2,2h6v-2h4v2h6c1.1,0 2,-0.9 2,-2L22,9c0,-1.1 -0.9,-2 -2,-2zM14,7h-4L10,5h4v2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_check_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_check_circle_24.xml",
    "content": "<vector android:alpha=\"0.96\" android:height=\"24dp\"\n    android:tint=\"?attr/colorControlNormal\" android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\" android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_date_range_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M9,11L7,11v2h2v-2zM13,11h-2v2h2v-2zM17,11h-2v2h2v-2zM19,4h-1L18,2h-2v2L8,4L8,2L6,2v2L5,4c-1.11,0 -1.99,0.9 -1.99,2L3,20c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.9,-2 -2,-2zM19,20L5,20L5,9h14v11z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_email_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM20,8l-8,5 -8,-5L4,6l8,5 8,-5v2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_exit_to_app_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M10.09,15.59L11.5,17l5,-5 -5,-5 -1.41,1.41L12.67,11H3v2h9.67l-2.58,2.59zM19,3H5c-1.11,0 -2,0.9 -2,2v4h2V5h14v14H5v-4H3v4c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_fact_check_24.xml",
    "content": "<vector android:autoMirrored=\"true\" android:height=\"24dp\"\n    android:tint=\"#B9B9B9\" android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\" android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\"\n        android:fillType=\"evenOdd\" android:pathData=\"M20,3H4C2.9,3 2,3.9 2,5v14c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V5C22,3.9 21.1,3 20,3zM10,17H5v-2h5V17zM10,13H5v-2h5V13zM10,9H5V7h5V9zM14.82,15L12,12.16l1.41,-1.41l1.41,1.42L17.99,9l1.42,1.42L14.82,15z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_feedback_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM13,14h-2v-2h2v2zM13,10h-2L11,6h2v4z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_gallery_24.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#D9F38E3A\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_help_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,19h-2v-2h2v2zM15.07,11.25l-0.9,0.92C13.45,12.9 13,13.5 13,15h-2v-0.5c0,-1.1 0.45,-2.1 1.17,-2.83l1.24,-1.26c0.37,-0.36 0.59,-0.86 0.59,-1.41 0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2L8,9c0,-2.21 1.79,-4 4,-4s4,1.79 4,4c0,0.88 -0.36,1.68 -0.93,2.25z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_location_on_24.xml",
    "content": "\n<vector android:height=\"24dp\" android:tint=\"#FF9800\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_location_on_241.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#F15F78\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_location_on_242.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#B81934\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_location_on_243.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#2D86CC\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_lock_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_navigate_next_24.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#456191\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_notifications_24.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#FFFFFF\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_person_24.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#79787B\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_phone_android_24.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#79787B\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n  <path android:fillColor=\"@android:color/white\" android:pathData=\"M16,1L8,1C6.34,1 5,2.34 5,4v16c0,1.66 1.34,3 3,3h8c1.66,0 3,-1.34 3,-3L19,4c0,-1.66 -1.34,-3 -3,-3zM14,21h-4v-1h4v1zM17.25,18L6.75,18L6.75,4h10.5v14z\"/>\n</vector>"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_photo_camera_24.xml",
    "content": "<vector android:alpha=\"0.36\" android:height=\"@dimen/_50sdp\"\n    android:tint=\"#989B9C\" android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\" android:width=\"@dimen/_50sdp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0\"/>\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2L9,2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_remove_red_eye_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_room_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_search_24.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#FFFFFF\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_search_241.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#F8786F\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@color/colorPrimary\" android:pathData=\"M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_settings_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_share_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_star_rate_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M14.43,10l-2.43,-8l-2.43,8l-7.57,0l6.18,4.41l-2.35,7.59l6.17,-4.69l6.18,4.69l-2.35,-7.59l6.17,-4.41z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_visibility_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_baseline_visibility_off_24.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_close.xml",
    "content": "<vector android:height=\"24dp\" android:tint=\"#4A4848\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_design.xml",
    "content": "<vector android:alpha=\"0.96\" android:height=\"640dp\"\n    android:viewportHeight=\"640\" android:viewportWidth=\"640\"\n    android:width=\"640dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"#54E65858\" android:pathData=\"M0,5.06L336.09,640L0,640L0,5.06Z\"/>\n    <path android:fillColor=\"#F5F5B300\" android:pathData=\"M640,188.28L154.48,640L640,640L640,188.28Z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_done.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"84.076dp\"\n    android:height=\"60.89dp\"\n    android:viewportWidth=\"84.076\"\n    android:viewportHeight=\"60.89\">\n  <path\n      android:pathData=\"M3.5361,27.097l26.722,26.722 50.283,-50.283\"\n      android:strokeWidth=\"10\"\n      android:fillColor=\"#00000000\"\n      android:strokeColor=\"#000\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_found.xml",
    "content": "<vector android:height=\"24dp\" android:viewportHeight=\"980\"\n    android:viewportWidth=\"840\" android:width=\"20.571428dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"#4A4848\"\n        android:pathData=\"M675.4,1.9c-10.5,2.9 -16.6,5.6 -56.9,25.8 -66.5,33.3 -90.7,43.8 -133.1,57.8 -41.5,13.8 -75.6,22.5 -171.9,44 -87.8,19.6 -104.8,23.9 -130.5,33.2 -26.7,9.6 -49,22.3 -60.6,34.4 -10.7,11.3 -27.8,41.7 -64.4,114.4 -40,79.5 -49.3,101.7 -52.2,125.2 -2.7,22.1 4.1,48.5 24.8,97 14.6,34.1 33.7,73.3 36.1,74.1 0.7,0.2 2.9,-3.1 5.2,-7.5 2.1,-4.3 6.7,-12.1 10.1,-17.3 18.4,-27.8 31.9,-41.7 69.5,-71.2 8.8,-6.9 18,-14.3 20.5,-16.5l4.5,-4 -2.3,-7.9c-1.3,-4.4 -6.2,-17.7 -10.9,-29.6l-8.6,-21.8 16.4,-16.8c21.9,-22.3 34.7,-39.2 46.1,-60.7 6.4,-12 5.9,-11.8 28.1,-14 18.9,-2 27.6,-3.4 54.9,-8.7l21.7,-4.2 11.6,11c12.7,11.9 23.2,21.4 31.4,28.4l5.3,4.5 -1.7,6.5c-8.8,34.8 -22.9,57.5 -47.6,76.5 -7.2,5.6 -22,14.5 -56.4,34 -46.4,26.3 -64.7,37.7 -87,54.5 -39.8,30 -61.7,58.2 -74,95.5 -5.5,16.9 -6.2,22.5 -4.2,34 3.4,19 9.3,31.2 20.3,42.1 23.7,23.3 56.1,25 110.9,5.6 42,-14.8 75,-30.1 98.6,-45.7 18.3,-12 26.7,-18.3 62,-46.7 16.7,-13.4 33.7,-26.7 37.7,-29.5 8.9,-6.3 19.8,-10.4 64.2,-24.3 70.3,-22 103.1,-37 140,-64.3 20.3,-15 31.1,-29.3 50.6,-66.7 25.8,-49.5 42.9,-73.8 71.6,-101.5 15.8,-15.4 24.2,-21.6 46.7,-35 20.8,-12.4 29.7,-19.8 33.5,-27.9 6.9,-14.5 5.4,-45.9 -3.9,-81.1 -16.3,-62.2 -58.9,-138.8 -96.7,-174 -21.3,-19.7 -40.5,-26.7 -59.4,-21.6z\" android:strokeColor=\"#00000000\"/>\n    <path android:fillColor=\"#4A4848\"\n        android:pathData=\"M48,711.7c-12.4,13.1 -21.4,24.4 -27.3,34.5 -25.4,42.8 -27.2,99.6 -4.7,146.3 7.8,16.2 16,27.6 30,41.6 14.1,14.1 26.2,22.8 43,30.8 23.6,11.3 38.8,14.5 68,14.5 28.6,-0 42.6,-3 65.7,-13.9 46.3,-22 76,-59.6 87.5,-111.2 1.9,-8.4 2.2,-12.8 2.2,-31.3 0,-18.5 -0.3,-22.9 -2.2,-31.6 -3.8,-17.4 -9.4,-32 -18.8,-49l-3.4,-6.2 -10.9,4.3c-32.4,12.8 -70.9,25.1 -87.6,28.1 -12.5,2.2 -38.7,2.5 -49.5,0.5 -11.1,-2 -25.7,-7.1 -34.5,-12.2 -17.3,-9.8 -29.2,-23 -40,-44.1 -3.3,-6.5 -6.3,-11.8 -6.7,-11.8 -0.3,-0 -5.2,4.8 -10.8,10.7z\" android:strokeColor=\"#00000000\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_home.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"@dimen/_18sdp\"\n    android:height=\"@dimen/_18sdp\"\n    android:viewportWidth=\"22\"\n    android:viewportHeight=\"22\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_home_background.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"1095dp\"\n    android:height=\"1004dp\"\n    android:viewportWidth=\"1095\"\n    android:viewportHeight=\"1004\">\n  <group>\n    <clip-path\n        android:pathData=\"M0,0h1095v1004h-1095z\"/>\n    <path\n        android:pathData=\"M30,24h1042v979h-1042z\"\n        android:fillColor=\"#FFFFFF\"/>\n    <group>\n      <clip-path\n          android:pathData=\"M30,24h1042v979h-1042z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M30,24h1042v979h-1042z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M30,24h1042v979h-1042z\"/>\n          <path\n              android:pathData=\"M113.26,62.62C122.98,78.15 136.54,90.35 152.2,98.79 170.64,108.73 186.29,125.14 195.25,146.73 201.6,162 212.11,176.05 226.65,187.31 242.94,199.92 262.07,207.33 281.69,209.74 300.92,212.11 318.73,222.28 332.74,238.13 344.63,251.57 360.47,262.33 379.43,268.7 400,275.6 421.36,276.38 441.18,272.05 459.54,268.03 478.46,271.56 495.19,281.4 511.94,291.25 531.83,296.96 553.16,296.96 574.49,296.96 594.38,291.25 611.13,281.4 627.86,271.56 646.79,268.03 665.15,272.05 684.96,276.38 706.32,275.6 726.89,268.7 745.85,262.33 761.7,251.57 773.59,238.13 787.6,222.28 805.4,212.11 824.64,209.74 844.26,207.33 863.39,199.92 879.68,187.31 894.22,176.05 904.74,162 911.08,146.73 920.04,125.14 935.69,108.73 954.13,98.79 969.79,90.35 983.35,78.15 993.07,62.62 1000.74,50.36 1005.26,37.22 1006.87,24L99.47,24C101.08,37.22 105.59,50.36 113.26,62.62Z\"\n              android:strokeWidth=\"2.03961\"\n              android:fillColor=\"#FA9E3B\"\n              android:strokeColor=\"#FFC687\"/>\n        </group>\n      </group>\n    </group>\n    <group>\n      <clip-path\n          android:pathData=\"M155,1h188v179h-188z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M155,1h188v179h-188z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M155,1h188v179h-188z\"/>\n          <path\n              android:pathData=\"M301.2,112.1C297.44,108.93 291.81,108.83 287.92,111.87L282.04,106.27C298.84,88.81 297.6,61.69 279.27,45.69 260.93,29.69 232.45,30.87 215.65,48.33 198.84,65.79 200.08,92.91 218.42,108.9 235.63,123.93 262.05,123.93 279.27,108.9L285.14,114.5C283.85,116.14 283.06,118.08 282.86,120.12 282.56,122.69 283.49,125.26 285.39,127.11L306.99,147.71C308.71,149.32 311.03,150.2 313.44,150.17 319.59,149.99 324.66,145.52 325.33,139.69 325.62,137.12 324.69,134.56 322.79,132.71ZM219.9,105.02C203.87,89.75 203.87,65.01 219.9,49.74 235.93,34.48 261.92,34.48 277.95,49.74 293.98,65.01 293.98,89.75 277.95,105.02 262.14,120.28 236.32,120.45 220.29,105.39 220.16,105.27 220.03,105.14 219.9,105.02ZM318.99,144.11C316.16,146.8 312.02,147.23 309.76,145.07L288.17,124.48C287.09,123.4 286.58,121.92 286.76,120.44 286.97,118.64 287.83,116.96 289.2,115.7 290.66,114.26 292.64,113.42 294.74,113.36 296.11,113.33 297.44,113.83 298.43,114.74L320.02,135.33C321.1,136.41 321.61,137.89 321.42,139.36 321.22,141.17 320.36,142.85 318.99,144.11Z\"\n              android:strokeWidth=\"1.86456\"\n              android:fillColor=\"#00000000\"\n              android:strokeColor=\"#FFFFFF\"/>\n          <path\n              android:pathData=\"M249,88.64C259.82,88.64 268.58,80.29 268.58,69.99 268.58,59.69 259.82,51.34 249,51.34 238.18,51.34 229.42,59.69 229.42,69.99 229.42,80.29 238.18,88.64 249,88.64ZM249,55.07C257.65,55.07 264.67,61.75 264.67,69.99 264.67,78.23 257.65,84.91 249,84.91 240.35,84.91 233.33,78.23 233.33,69.99 233.34,61.75 240.35,55.08 249,55.07Z\"\n              android:strokeWidth=\"1.86456\"\n              android:fillColor=\"#00000000\"\n              android:strokeColor=\"#FFFFFF\"/>\n          <path\n              android:pathData=\"M266.53,94.89C260.85,93.23 254.94,92.38 249,92.36 238.84,92.53 228.86,94.9 219.82,99.3 220.66,100.32 221.55,101.29 222.5,102.21 230.75,98.33 239.8,96.24 249,96.09 254.57,96.11 260.1,96.91 265.43,98.47 268.88,99.4 272.25,100.6 275.51,102.04 276.45,101.11 277.35,100.14 278.18,99.12 274.43,97.38 270.54,95.97 266.53,94.89Z\"\n              android:strokeWidth=\"1.86456\"\n              android:fillColor=\"#00000000\"\n              android:strokeColor=\"#FFFFFF\"/>\n          <path\n              android:pathData=\"M296,44.35C303.57,44.37 309.68,50.24 309.65,57.45 309.63,63.45 305.32,68.65 299.2,70.08 299.39,71.31 299.52,72.56 299.62,73.82 309.16,71.97 315.31,63.11 313.37,54.03 311.42,44.94 302.11,39.09 292.57,40.94 290.06,41.43 287.69,42.43 285.62,43.89 286.53,44.79 287.41,45.71 288.23,46.66 290.51,45.15 293.22,44.34 296,44.35Z\"\n              android:strokeWidth=\"1.86456\"\n              android:fillColor=\"#00000000\"\n              android:strokeColor=\"#FFFFFF\"/>\n          <path\n              android:pathData=\"M327.2,89.25C322.18,85.56 316.43,82.88 310.3,81.37 306.85,80.37 303.31,79.73 299.72,79.46 299.67,80.71 299.55,81.94 299.4,83.17 302.72,83.43 306,84.03 309.19,84.95 314.83,86.33 320.12,88.77 324.73,92.14 326.33,93.32 327.28,95.11 327.33,97.03L327.33,112.88 331.25,112.88 331.25,97.03C331.2,93.99 329.71,91.13 327.2,89.25Z\"\n              android:strokeWidth=\"1.86456\"\n              android:fillColor=\"#00000000\"\n              android:strokeColor=\"#FFFFFF\"/>\n          <path\n              android:pathData=\"M202,44.35C204.74,44.35 207.42,45.13 209.68,46.61 210.51,45.65 211.39,44.73 212.3,43.83 204.42,38.4 193.41,40.09 187.71,47.6 182.02,55.1 183.79,65.58 191.67,71 193.64,72.35 195.87,73.3 198.23,73.79 198.33,72.54 198.47,71.29 198.66,70.05 191.32,68.28 186.88,61.18 188.75,54.19 190.28,48.41 195.74,44.36 202,44.35Z\"\n              android:strokeWidth=\"1.86456\"\n              android:fillColor=\"#00000000\"\n              android:strokeColor=\"#FFFFFF\"/>\n          <path\n              android:pathData=\"M187.73,81.36C181.66,83.06 175.95,85.72 170.82,89.23 168.3,91.12 166.81,93.98 166.75,97.03L166.75,112.88 170.67,112.88 170.67,97.03C170.71,95.14 171.64,93.37 173.19,92.2 177.92,88.97 183.19,86.52 188.78,84.96 191.95,84.11 195.19,83.53 198.46,83.22 198.31,81.99 198.19,80.75 198.14,79.5 194.62,79.83 191.13,80.45 187.73,81.36Z\"\n              android:strokeWidth=\"1.86456\"\n              android:fillColor=\"#00000000\"\n              android:strokeColor=\"#FFFFFF\"/>\n          <path\n              android:pathData=\"M213.75,122.67 L213.75,134.79 217.67,134.79 217.67,122.67C217.71,120.79 218.64,119.01 220.19,117.84 220.32,117.75 220.46,117.67 220.58,117.58 219.46,116.87 218.38,116.09 217.32,115.29 215.09,117.17 213.8,119.85 213.75,122.67Z\"\n              android:strokeWidth=\"1.86456\"\n              android:fillColor=\"#00000000\"\n              android:strokeColor=\"#FFFFFF\"/>\n        </group>\n      </group>\n    </group>\n    <path\n        android:pathData=\"M155,149h799v235h-799z\"\n        android:fillColor=\"#FFFFFF\"/>\n    <group>\n      <clip-path\n          android:pathData=\"M815,744h279v259h-279z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M815,744h279v259h-279z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M815,744h279v259h-279z\"/>\n          <path\n              android:pathData=\"M1032.39,802.81C1025.41,802.81 1019.6,797.42 1019.6,790.94 1019.6,784.47 1025.41,779.07 1032.39,779.07 1039.36,779.07 1045.17,784.47 1045.17,790.94L1045.17,790.94C1045.17,797.42 1039.36,802.81 1032.39,802.81 1032.39,802.81 1032.39,802.81 1032.39,802.81ZM1032.39,762.89C1022.51,762.89 1013.21,767.47 1007.68,775.03 1002.16,782.58 1001,792.29 1004.49,800.93L1018.15,828.71 1029.77,851.65C1030.64,853 1032.39,853.54 1033.55,852.73 1034.13,852.46 1034.42,852.19 1034.71,851.65L1046.34,828.71 1060,800.93C1063.48,792.29 1062.32,782.58 1056.8,775.03 1051.57,767.47 1042.27,762.89 1032.39,762.89Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M884.17,910.73C875.45,910.73 868.18,903.99 868.18,895.89 868.18,887.8 875.45,881.05 884.17,881.05 892.89,881.05 900.15,887.8 900.15,895.89 900.15,895.89 900.15,895.89 900.15,895.89 900.15,903.99 892.89,910.73 884.17,910.73 884.17,910.73 884.17,910.73 884.17,910.73L884.17,910.73ZM884.17,861.36C871.96,861.36 860.34,867.03 853.36,876.47 846.39,885.91 844.93,898.05 849.58,908.57L866.44,943.11 880.97,971.43C881.84,973.05 884.17,973.59 885.91,972.78 886.49,972.51 887.07,971.97 887.37,971.43L901.9,943.11 918.75,908.57C923.11,898.05 921.66,885.91 914.97,876.47 908,867.03 896.38,861.36 884.17,861.36L884.17,861.36Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M924.86,973.32 L917.3,973.32C913.81,973.32 910.62,973.32 907.42,973.32L907.42,957.14C910.33,957.14 913.81,957.14 917.3,957.14L924.86,957.14 924.86,973.32Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M936.77,973.32 L936.77,957.14C943.17,957.14 948.69,957.14 953.92,956.87L954.5,973.05C948.98,973.32 943.17,973.32 936.77,973.32Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M966.13,972.51 L965.25,956.33C971.36,956.06 977.17,955.79 982.11,955.25L983.85,971.43C978.62,971.97 972.52,972.24 966.13,972.51L966.13,972.51Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M996.06,970.09 L993.44,954.17C998.97,953.36 1004.2,952.55 1009.43,951.2L1014.08,966.85C1007.98,968.2 1002.16,969.28 996.06,970.09Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M1026.28,962.8 L1019.31,947.96C1023.09,946.88 1026.28,944.46 1028.61,941.49L1044.01,949.31C1039.65,955.52 1033.55,960.1 1026.28,962.8L1026.28,962.8Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M1028.9,936.09C1028.32,932.58 1026.57,929.08 1023.96,926.65L1036.17,915.32C1041.69,920.44 1045.17,926.92 1046.05,934.2L1028.9,936.09Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M1016.69,921.79C1012.04,919.63 1007.1,917.75 1002.16,916.4L1007.1,901.02C1013.21,902.64 1019.31,904.8 1024.83,907.49L1016.69,921.79Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M991.12,913.7 L986.47,912.62C982.4,911.54 978.04,910.73 973.97,909.65L978.62,894C982.4,895.08 986.47,895.89 990.54,896.97L995.19,898.05 991.12,913.7Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M962.06,905.88C955.08,903.45 948.69,899.4 944.04,894L958.28,884.83C960.89,887.8 964.67,889.96 968.45,891.04L962.06,905.88Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M957.12,879.43 L939.68,878.36C940.26,870.53 944.91,863.52 951.59,858.93L962.35,871.61C957.12,875.66 957.12,878.63 957.12,879.43L957.12,879.43Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M970.48,867.57 L963.51,852.73C969.32,850.3 975.42,848.41 981.53,847.06L985.6,862.71C980.37,864.06 975.42,865.68 970.48,867.57L970.48,867.57Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M996.35,860.82 L993.44,844.9C1001,843.82 1007.39,843.01 1011.46,842.74L1012.92,858.93C1010.01,859.2 1003.62,859.74 996.35,860.82L996.35,860.82Z\"\n              android:strokeWidth=\"2.69792\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n        </group>\n      </group>\n    </group>\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_image.xml",
    "content": "<vector android:height=\"120dp\" android:tint=\"#3C3F41\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"120dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"#F38E3A\" android:pathData=\"M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_launcher_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector\n    android:height=\"108dp\"\n    android:width=\"108dp\"\n    android:viewportHeight=\"108\"\n    android:viewportWidth=\"108\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"#3DDC84\"\n          android:pathData=\"M0,0h108v108h-108z\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M9,0L9,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,0L19,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M29,0L29,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M39,0L39,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M49,0L49,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M59,0L59,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M69,0L69,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M79,0L79,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M89,0L89,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M99,0L99,108\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,9L108,9\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,19L108,19\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,29L108,29\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,39L108,39\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,49L108,49\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,59L108,59\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,69L108,69\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,79L108,79\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,89L108,89\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M0,99L108,99\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,29L89,29\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,39L89,39\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,49L89,49\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,59L89,59\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,69L89,69\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M19,79L89,79\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M29,19L29,89\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M39,19L39,89\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M49,19L49,89\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M59,19L59,89\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M69,19L69,89\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n    <path android:fillColor=\"#00000000\" android:pathData=\"M79,19L79,89\"\n          android:strokeColor=\"#33FFFFFF\" android:strokeWidth=\"0.8\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_launcher_background1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"108dp\"\n    android:height=\"108dp\"\n    android:viewportWidth=\"108\"\n    android:viewportHeight=\"108\">\n    <path\n        android:fillColor=\"#3DDC84\"\n        android:pathData=\"M0,0h108v108h-108z\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M9,0L9,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,0L19,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M29,0L29,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M39,0L39,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M49,0L49,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M59,0L59,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M69,0L69,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M79,0L79,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M89,0L89,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M99,0L99,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,9L108,9\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,19L108,19\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,29L108,29\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,39L108,39\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,49L108,49\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,59L108,59\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,69L108,69\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,79L108,79\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,89L108,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,99L108,99\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,29L89,29\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,39L89,39\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,49L89,49\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,59L89,59\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,69L89,69\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,79L89,79\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M29,19L29,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M39,19L39,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M49,19L49,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M59,19L59,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M69,19L69,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M79,19L79,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_launcher_foreground.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:aapt=\"http://schemas.android.com/aapt\"\n    android:width=\"108dp\"\n    android:height=\"108dp\"\n    android:viewportWidth=\"108\"\n    android:viewportHeight=\"108\">\n    <path android:pathData=\"M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z\">\n        <aapt:attr name=\"android:fillColor\">\n            <gradient\n                android:endX=\"85.84757\"\n                android:endY=\"92.4963\"\n                android:startX=\"42.9492\"\n                android:startY=\"49.59793\"\n                android:type=\"linear\">\n                <item\n                    android:color=\"#44000000\"\n                    android:offset=\"0.0\" />\n                <item\n                    android:color=\"#00000000\"\n                    android:offset=\"1.0\" />\n            </gradient>\n        </aapt:attr>\n    </path>\n    <path\n        android:fillColor=\"#FFFFFF\"\n        android:fillType=\"nonZero\"\n        android:pathData=\"M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z\"\n        android:strokeWidth=\"1\"\n        android:strokeColor=\"#00000000\" />\n</vector>"
  },
  {
    "path": "app/src/main/res/drawable/ic_location.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"@dimen/_150sdp\"\n    android:height=\"@dimen/_150sdp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_lock.xml",
    "content": "<vector android:alpha=\"0.96\" android:height=\"1000dp\"\n    android:viewportHeight=\"1000\" android:viewportWidth=\"1000\"\n    android:width=\"1000dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"#FF000000\" android:pathData=\"M618.9,438.7c35.8,0 64.8,31.6 64.8,70.7v164.9c0,39 -29,70.7 -64.8,70.7H381.3c-35.8,0 -64.8,-31.6 -64.8,-70.7V509.4c0,-39 29,-70.7 64.8,-70.7h57.5l0,0h122.5l0,0H618.9zM499.5,500.2c-33.8,0 -61.3,26.2 -61.3,58.6c0,21.6 16.8,38.2 35,48.3v76.1h52.5v-76.1c18.3,-10.2 35,-26.7 35,-48.3C560.8,526.4 533.4,500.2 499.5,500.2zM500,316.3c-57.6,0 -61.1,48.4 -61.3,61.3v61.1h-61.6v-55.2c0,0 0,-128.6 122.7,-128.6c122.7,0 122.7,128.6 122.7,128.6v55.2h-61.2v-61.1C561.1,365 557.6,316.3 500,316.3zM500,990.1c-270.6,0 -490,-219.4 -490,-490c0,-270.6 219.4,-490 490,-490c87.2,0 169,22.9 240,62.9l45.6,-63.1l81.6,214.5L653.2,193l50.5,-69.9C643.1,90.3 573.8,71.4 500,71.4c-236.8,0 -428.8,192 -428.8,428.8c0,236.8 192,428.7 428.8,428.7c236.8,0 428.8,-192 428.8,-428.7c0,-57.8 -11.6,-112.9 -32.3,-163.2l56.6,-23.3c23.7,57.5 37,120.4 37,186.5C990,770.7 770.6,990.1 500,990.1z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_lost.xml",
    "content": "<vector android:height=\"24dp\" android:viewportHeight=\"512\"\n    android:viewportWidth=\"512\" android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"#4A4848\"\n        android:pathData=\"M343,1.1c-11.8,2.3 -23.8,11.9 -29.1,23.3 -5.1,10.9 -6.4,28.9 -2.4,34.9 2.3,3.6 7.5,5.2 11.9,3.7 5.5,-1.8 6.8,-4.9 7.6,-17.2 0.5,-9.8 0.9,-11.2 3.6,-15 8.6,-12.3 26.2,-12.3 34.9,-0l3,4.4 0.3,36.9c0.3,40.8 0.4,40.4 -6.1,45.3 -9.6,7.3 -25.2,11.2 -41.2,10.2 -17.9,-1 -29.2,-5.4 -38.4,-14.7 -5.2,-5.2 -6.3,-5.9 -9.7,-5.9 -5.9,0.1 -10.4,4.6 -10.4,10.5 0,1.5 6.1,23.3 13.5,48.5 7.4,25.2 13.5,46.1 13.5,46.4 0,0.3 -8,0.6 -17.7,0.6l-17.8,-0 -29.9,-66.8c-38.9,-86.8 -40,-89 -44.4,-93.5 -5.6,-5.8 -12.4,-8.9 -20.8,-9.5 -4.4,-0.3 -8.6,0.1 -11,0.8 -3.8,1.3 -91.4,40.5 -102,45.7 -6.4,3.1 -12.7,9.6 -15.7,16.1 -1.7,3.6 -2.2,6.6 -2.2,12.7l0.1,8 19.2,42.7c10.6,23.5 19.2,43 19.2,43.3 0,0.3 -10.9,0.5 -24.2,0.5 -13.6,-0 -25.9,0.5 -28,1 -2,0.6 -4.6,2.3 -5.8,3.7l-2.1,2.6 0.3,106.6 0.3,106.6 2.3,7.4c5.4,17.5 13.7,31.4 25.9,43.2 13.3,12.9 27.6,20.9 46.1,25.7 6.2,1.6 18.4,1.7 170.2,1.7 151.8,-0 164,-0.1 170.2,-1.7 18.5,-4.8 32.8,-12.8 46.1,-25.7 12.2,-11.8 20.5,-25.7 25.9,-43.2l2.3,-7.4 0.3,-106.6 0.3,-106.6 -2.1,-2.6c-2.7,-3.4 -7.5,-4.7 -17.2,-4.7 -4.3,-0 -7.8,-0.3 -7.8,-0.7 0,-0.3 6.1,-21.2 13.5,-46.5 7.4,-25.2 13.5,-47 13.5,-48.4 0,-5.8 -4.5,-10.3 -10.4,-10.4 -3.4,-0 -4.5,0.7 -9.7,5.9 -9,9.1 -20.7,13.7 -38,14.8 -19.4,1.3 -40.2,-5.5 -45.9,-14.9 -1.9,-3.1 -2,-5.1 -2,-36.3 0,-18.2 -0.5,-35.8 -1,-39.3 -3.5,-24.7 -26.5,-40.9 -51,-36.1zM166.6,65.9c1.7,1 3.8,3.5 4.8,5.5 1.7,3.6 62.2,137.8 63.3,140.4 0.4,1 -13.6,1.2 -69.8,1l-70.3,-0.3 -19.8,-44c-10.9,-24.2 -20.2,-45.4 -20.6,-47 -1.2,-4.2 0.3,-9 3.6,-11.3 2.1,-1.5 93.9,-43.2 100.2,-45.5 2.9,-1 5.5,-0.7 8.6,1.2zM373,176l0,37 -28.2,-0 -28.3,-0 -10.1,-34.5c-5.5,-19 -10,-34.5 -9.9,-34.5 0.1,-0 3.7,0.9 8.1,2.1 5.2,1.4 12.4,2.3 21.4,2.6 16.2,0.6 25.9,-0.9 38.2,-6 4.6,-2 8.4,-3.6 8.6,-3.6 0.1,-0.1 0.2,16.5 0.2,36.9zM420.3,147.7c11,2.1 32,1.3 43.1,-1.6 4.4,-1.2 8,-2 8.1,-1.9 0.1,0.2 -4.4,15.7 -9.9,34.5l-10.1,34.3 -28.2,-0 -28.3,-0 0,-36.9 0,-36.9 8.5,3.4c4.7,2 12.2,4.2 16.8,5.1zM479.7,332.2c-0.3,109.5 0.3,100.3 -8.3,117.8 -4,8 -6.2,10.9 -13.8,18.6 -7.6,7.6 -10.6,9.8 -18.6,13.7 -18.1,8.9 -2.6,8.2 -183,8.2 -180.4,-0 -164.9,0.7 -183,-8.2 -8,-3.9 -11,-6.1 -18.6,-13.7 -7.6,-7.7 -9.8,-10.6 -13.8,-18.6 -8.6,-17.5 -8,-8.3 -8.3,-117.8l-0.4,-97.2 224.1,-0 224.1,-0 -0.4,97.2z\" android:strokeColor=\"#00000000\"/>\n    <path android:fillColor=\"#4A4848\"\n        android:pathData=\"M74.4,113.9c-7.3,3.2 -8.4,13.1 -2,18.3 4.5,3.7 12.7,1.6 15.5,-3.9 4.2,-8.2 -5,-18 -13.5,-14.4z\" android:strokeColor=\"#00000000\"/>\n    <path android:fillColor=\"#4A4848\"\n        android:pathData=\"M248.5,278c-20.5,2.8 -36.9,16.3 -43.4,35.7 -3.5,10.5 -2.6,17.4 2.9,20.6 7.1,4.3 14.1,0.3 16,-9.1 3.5,-17 16.5,-27 34.1,-26 13.9,0.8 24.9,9.1 28.5,21.5 2.8,9.5 0.4,19.2 -6.3,25.5 -3.8,3.6 -11.3,7.2 -20.2,9.6 -13.8,3.9 -15.1,6.1 -15.1,24.9 0,14.7 1,19.4 4.7,22.3 3.1,2.4 8.9,2.6 12.2,0.4 3.7,-2.7 5.1,-7.4 5.1,-17.7l0,-9.4 7.5,-2.8c22.6,-8.2 34.5,-23.9 34.5,-45.6 0,-30.4 -28.8,-54.2 -60.5,-49.9z\" android:strokeColor=\"#00000000\"/>\n    <path android:fillColor=\"#4A4848\"\n        android:pathData=\"M249.7,429.3c-4.9,4 -5.4,10.7 -1,15.1 4.6,4.7 10,4.7 14.5,0.1 9,-9 -3.6,-23.2 -13.5,-15.2z\" android:strokeColor=\"#00000000\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_notification.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"@dimen/_18sdp\"\n    android:height=\"@dimen/_18sdp\"\n    android:viewportWidth=\"22\"\n    android:viewportHeight=\"22\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M7.58,4.08L6.15,2.65C3.75,4.48 2.17,7.3 2.03,10.5h2c0.15,-2.65 1.51,-4.97 3.55,-6.42zM19.97,10.5h2c-0.15,-3.2 -1.73,-6.02 -4.12,-7.85l-1.42,1.43c2.02,1.45 3.39,3.77 3.54,6.42zM18,11c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2v-5zM12,22c0.14,0 0.27,-0.01 0.4,-0.04 0.65,-0.14 1.18,-0.58 1.44,-1.18 0.1,-0.24 0.15,-0.5 0.15,-0.78h-4c0.01,1.1 0.9,2 2.01,2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_password.xml",
    "content": "<vector android:alpha=\"0.96\" android:height=\"122.88dp\"\n    android:viewportHeight=\"122.88\" android:viewportWidth=\"108.05\"\n    android:width=\"108.05dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"#FF000000\" android:fillType=\"evenOdd\" android:pathData=\"M2.89,56.04h14.93v-1.08V37.12c0,-10.21 4.18,-19.48 10.9,-26.21V10.9C35.44,4.18 44.73,0 54.94,0c10.2,0 19.48,4.18 26.21,10.9l0.01,0.01c6.72,6.72 10.9,16 10.9,26.21v17.84v1.07l13.11,0c1.59,0 2.89,1.3 2.89,2.89v61.06c0,1.59 -1.3,2.89 -2.89,2.89H2.89c-1.59,0 -2.89,-1.3 -2.89,-2.89V58.93C0,57.34 1.3,56.04 2.89,56.04L2.89,56.04L2.89,56.04zM25.79,85.79c4.37,0 7.92,3.54 7.92,7.91c0,4.37 -3.54,7.92 -7.92,7.92c-4.37,0 -7.92,-3.54 -7.92,-7.92C17.87,89.33 21.41,85.79 25.79,85.79L25.79,85.79zM82.27,85.79c4.37,0 7.91,3.54 7.91,7.91c0,4.37 -3.54,7.92 -7.91,7.92c-4.37,0 -7.92,-3.54 -7.92,-7.92C74.35,89.33 77.9,85.79 82.27,85.79L82.27,85.79zM54.03,85.79c4.37,0 7.91,3.54 7.91,7.91c0,4.37 -3.54,7.92 -7.91,7.92c-4.37,0 -7.92,-3.54 -7.92,-7.92C46.11,89.33 49.65,85.79 54.03,85.79L54.03,85.79zM15.59,79.96h76.86c4.1,0 7.45,3.35 7.45,7.44V100c0,4.09 -3.35,7.44 -7.45,7.44H15.59c-4.09,0 -7.44,-3.35 -7.44,-7.44V87.4C8.15,83.31 11.5,79.96 15.59,79.96L15.59,79.96zM32.24,56.04h45.39v-1.08V36.91c0,-6.24 -2.55,-11.92 -6.66,-16.03l0,0c-4.11,-4.11 -9.79,-6.67 -16.02,-6.67c-6.24,0 -11.92,2.55 -16.03,6.66c-4.11,4.11 -6.66,9.79 -6.66,16.03v18.05L32.24,56.04L32.24,56.04L32.24,56.04z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_password_reset.xml",
    "content": "<vector android:alpha=\"0.96\" android:height=\"122.879dp\"\n    android:viewportHeight=\"122.879\" android:viewportWidth=\"106.079\"\n    android:width=\"106.079dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"#FF000000\" android:fillType=\"evenOdd\" android:pathData=\"M43.146,62.341L32.389,81.274l2.012,7.505l7.452,-1.997l-1.512,-5.642l6.174,-1.654l-1.654,-6.175l5.191,-0.34l0.217,-6.023c3.206,1.086 6.791,1.265 10.349,0.312c9.315,-2.496 14.919,-11.806 12.512,-20.789c-2.407,-8.984 -11.915,-14.244 -21.23,-11.749c-9.314,2.496 -14.918,11.806 -12.51,20.79C40.093,58.141 41.407,60.451 43.146,62.341L43.146,62.341L43.146,62.341zM63.191,118.729c0.936,0.983 0.896,2.539 -0.086,3.474c-0.983,0.936 -2.539,0.896 -3.475,-0.087l-7.876,-8.298c-0.897,-0.943 -0.897,-2.413 -0.028,-3.357l7.876,-8.576c0.919,-0.999 2.475,-1.063 3.474,-0.145s1.063,2.475 0.145,3.474l-3.315,3.609c15.661,-2.799 26.639,-10.495 33.299,-20.363c4.664,-6.911 7.231,-14.897 7.822,-23.016c0.593,-8.152 -0.798,-16.427 -4.05,-23.878c-5.176,-11.862 -15.08,-21.651 -29.21,-25.526c-1.308,-0.356 -2.079,-1.704 -1.723,-3.012c0.355,-1.307 1.704,-2.079 3.012,-1.723C84.753,15.61 95.745,26.46 101.48,39.603c3.573,8.188 5.102,17.262 4.453,26.187c-0.652,8.957 -3.49,17.778 -8.649,25.422c-7.653,11.338 -20.372,20.068 -38.58,22.79L63.191,118.729L63.191,118.729zM43.065,4.15c-0.936,-0.983 -0.896,-2.539 0.087,-3.474c0.982,-0.935 2.538,-0.896 3.474,0.087l7.876,8.299c0.897,0.943 0.898,2.414 0.028,3.357l-7.875,8.576c-0.92,0.999 -2.476,1.064 -3.475,0.145c-0.998,-0.919 -1.063,-2.475 -0.145,-3.474l3.563,-3.879c-13.063,1.565 -23.924,8.677 -31.28,18.435c-5.057,6.708 -8.457,14.652 -9.783,22.898c-1.32,8.217 -0.581,16.738 2.635,24.634c4.656,11.434 14.555,21.591 30.976,27.67c1.275,0.467 1.93,1.881 1.462,3.156c-0.467,1.275 -1.881,1.93 -3.156,1.463C19.582,105.427 8.757,94.242 3.609,81.602C0.048,72.856 -0.773,63.43 0.686,54.351C2.141,45.3 5.862,36.595 11.392,29.259c8.384,-11.12 20.924,-19.129 36.044,-20.505L43.065,4.15L43.065,4.15zM57.285,45.128c-1.662,0.446 -2.65,2.156 -2.204,3.819c0.445,1.663 2.156,2.65 3.819,2.205s2.65,-2.156 2.204,-3.819C60.659,45.67 58.949,44.683 57.285,45.128L57.285,45.128z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_photo.xml",
    "content": "<vector android:height=\"103.75dp\" android:viewportHeight=\"166\"\n    android:viewportWidth=\"160\" android:width=\"100dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <group>\n        <clip-path android:pathData=\"M0,0h160v166h-160z\"/>\n        <path android:fillColor=\"#FFFFFF\" android:fillType=\"evenOdd\"\n            android:pathData=\"M2.5,83.5C2.5,38.213 37.422,1.5 80.5,1.5 123.578,1.5 158.5,38.213 158.5,83.5 158.5,128.787 123.578,165.5 80.5,165.5 37.422,165.5 2.5,128.787 2.5,83.5Z\"\n            android:strokeColor=\"#FFFFFF\" android:strokeWidth=\"1.33333\"/>\n        <group>\n            <clip-path android:pathData=\"M13,10h133v133h-133z\"/>\n            <group>\n                <clip-path android:pathData=\"M13,10h133v133h-133z\"/>\n                <group>\n                    <clip-path android:pathData=\"M13,10h133v133h-133z\"/>\n                    <path android:fillColor=\"#F49C3B\" android:pathData=\"M79.5,111.135C65.646,111.135 54.563,100.052 54.563,86.198 54.563,72.344 65.646,61.26 79.5,61.26 93.354,61.26 104.438,72.344 104.438,86.198 104.438,100.052 93.354,111.135 79.5,111.135ZM51.792,66.802 L35.167,66.802 35.167,55.719 51.792,55.719 51.792,66.802ZM129.375,44.635 L101.667,44.635 93.354,30.781 65.646,30.781 57.333,44.635 29.625,44.635C26.577,44.635 24.083,47.129 24.083,50.177L24.083,116.677C24.083,119.725 26.577,122.219 29.625,122.219L129.375,122.219C132.423,122.219 134.917,119.725 134.917,116.677L134.917,50.177C134.917,47.129 132.423,44.635 129.375,44.635Z\"/>\n                    <path android:fillColor=\"#F49C3B\" android:pathData=\"M79.5,72.344C71.742,72.344 65.646,78.44 65.646,86.198 65.646,93.956 71.742,100.052 79.5,100.052 87.258,100.052 93.354,93.956 93.354,86.198 93.354,78.44 87.258,72.344 79.5,72.344ZM79.5,105.594C68.694,105.594 60.104,97.004 60.104,86.198 60.104,75.392 68.694,66.802 79.5,66.802 90.306,66.802 98.896,75.392 98.896,86.198 98.896,97.004 90.306,105.594 79.5,105.594Z\"/>\n                </group>\n            </group>\n        </group>\n    </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_prof_pic.xml",
    "content": "<vector android:height=\"@dimen/_100sdp\"\n    android:viewportHeight=\"24\" android:viewportWidth=\"24\"\n    android:width=\"@dimen/_100sdp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_profile.xml",
    "content": "<vector android:height=\"@dimen/_18sdp\" android:tint=\"#FFFFFF\"\n    android:viewportHeight=\"22\" android:viewportWidth=\"22\"\n    android:width=\"@dimen/_18sdp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_realcam.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"96dp\"\n    android:height=\"96dp\"\n    android:viewportWidth=\"96\"\n    android:viewportHeight=\"96\">\n  <group>\n    <clip-path\n        android:pathData=\"M0,0h96v96h-96z\"/>\n    <path\n        android:pathData=\"M84,24 L64.566,24 58.566,14 37.434,14 31.434,24 12,24C9.24,24.003 7.003,26.24 7,29L7,77C7.003,79.76 9.24,81.997 12,82L84,82C86.76,81.997 88.997,79.76 89,77L89,29C88.997,26.24 86.76,24.003 84,24ZM38.566,16 L57.434,16 62.234,24 33.766,24ZM84,26C85.657,26 87,27.343 87,29L87,77C87,78.657 85.657,80 84,80L12,80C10.343,80 9,78.657 9,77L9,29C9,27.343 10.343,26 12,26Z\"\n        android:fillColor=\"#FFC000\"/>\n    <path\n        android:pathData=\"M15,41 L28,41 28,32 15,32ZM17,34 L26,34 26,39 17,39Z\"\n        android:fillColor=\"#FFC000\"/>\n    <path\n        android:pathData=\"M48,37C38.059,37 30,45.059 30,55 30,64.941 38.059,73 48,73 57.941,73 66,64.941 66,55 65.988,45.064 57.936,37.012 48,37ZM48,71C39.163,71 32,63.837 32,55 32,46.163 39.163,39 48,39 56.837,39 64,46.163 64,55 63.99,63.832 56.832,70.99 48,71Z\"\n        android:fillColor=\"#FFC000\"/>\n    <path\n        android:pathData=\"M48,43C41.373,43 36,48.373 36,55 36,61.627 41.373,67 48,67 54.627,67 60,61.627 60,55 59.993,48.376 54.624,43.007 48,43ZM48,65C42.477,65 38,60.523 38,55 38,49.477 42.477,45 48,45 53.523,45 58,49.477 58,55 57.994,60.52 53.52,64.994 48,65Z\"\n        android:fillColor=\"#FFC000\"/>\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_rotat_image.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"867dp\"\n    android:height=\"563dp\"\n    android:viewportWidth=\"867\"\n    android:viewportHeight=\"563\">\n  <group>\n    <clip-path\n        android:pathData=\"M0,0h867v563h-867z\"/>\n    <path\n        android:pathData=\"M1.5,2.5h864v559h-864z\"\n        android:strokeWidth=\"1.33333\"\n        android:fillColor=\"#FFFFFF\"\n        android:strokeColor=\"#FFFFFF\"/>\n    <path\n        android:pathData=\"M134,496 L92,474 134,452Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M36.766,382.676 L81.621,365.915 73.309,413.073Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M84.86,426.407 L114.699,396.012 116.686,438.559Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M131.986,507.17 L94.349,536.774 87.932,489.321Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M75.293,435.093 L92.979,465.92 57.51,468.163Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M44.186,503.834 L64.841,498.137 63,519.484Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <group>\n      <clip-path\n          android:pathData=\"M509,223h342v323h-342z\"/>\n      <group>\n        <clip-path\n            android:pathData=\"M509,223h342v323h-342z\"/>\n        <group>\n          <clip-path\n              android:pathData=\"M509,223h342v323h-342z\"/>\n          <path\n              android:pathData=\"M805.719,261.479C794.417,245.648 771.665,241.468 754.902,252.143 751.004,254.627 747.647,257.796 745.018,261.479 738.188,270.995 736.746,283.074 741.159,293.788L757.825,328.583 772.211,357.081C773.105,358.728 775.243,359.379 776.987,358.535 777.649,358.215 778.188,357.706 778.527,357.081L792.912,328.583 809.579,293.788C813.992,283.074 812.55,270.995 805.719,261.479ZM802.998,291.2 L786.482,325.687 775.403,347.637C775.385,347.671 775.356,347.671 775.339,347.637L764.316,325.81 747.74,291.2C744.244,282.572 745.436,272.875 750.931,265.233 760.039,252.486 778.364,249.126 791.859,257.728 795.01,259.735 797.719,262.299 799.839,265.278 805.311,272.913 806.49,282.591 802.998,291.2Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M556.08,387.884C547.618,399.674 545.831,414.638 551.299,427.912L571.947,471.019 589.769,506.326C590.876,508.366 593.525,509.173 595.686,508.128 596.506,507.731 597.173,507.1 597.594,506.326L615.417,471.019 636.065,427.912C641.532,414.638 639.744,399.674 631.283,387.884 617.28,368.271 589.094,363.092 568.328,376.317 563.496,379.394 559.338,383.321 556.08,387.884ZM625.402,391.684C632.506,401.591 634.031,414.154 629.484,425.323L608.985,468.124 593.714,498.376C593.696,498.409 593.667,498.409 593.649,498.376L578.438,468.245 557.877,425.323C553.328,414.136 554.865,401.554 561.992,391.639 573.799,375.11 597.557,370.75 615.059,381.901 619.142,384.502 622.654,387.824 625.401,391.684Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M665.261,501.885C668.788,501.846 672.377,501.788 676.002,501.707L675.831,494.979C672.237,495.061 668.676,495.117 665.177,495.155Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M693.611,372.093 L690.417,366.079C687.009,367.663 683.77,369.556 680.748,371.729L685.114,377.047C687.771,375.142 690.616,373.483 693.611,372.093Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M678.663,383.495 L672.648,379.891C670.391,383.193 669.069,386.988 668.811,390.911L675.922,391.315C676.101,388.527 677.046,385.832 678.663,383.495Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M654.514,495.225 L650.901,495.228 643.844,495.215 643.815,501.944 650.901,501.958 654.527,501.954 654.514,495.225Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M721.502,419.522C718.011,418.694 714.555,417.869 711.195,417.01L709.335,423.506C712.737,424.375 716.233,425.211 719.767,426.049Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M622.454,495.127 L622.454,501.857C625.719,501.857 629.294,501.874 633.12,501.894L633.161,495.165C629.319,495.143 625.733,495.127 622.454,495.127Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M678.674,411.167 L683.138,405.923C680.746,404.197 678.808,401.971 677.479,399.42L671.031,402.285C672.828,405.758 675.442,408.796 678.674,411.167Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M721.77,356.487 L723.22,363.075C726.54,362.424 730.03,361.825 733.589,361.294L732.48,354.647C728.806,355.194 725.203,355.814 721.77,356.487Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M743.258,353.268 L744.061,359.954C750.233,359.291 754.286,359.08 754.455,359.072L754.07,352.353C753.623,352.376 749.529,352.594 743.258,353.268Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M785.783,465.558C785.797,462.62 785.454,459.69 784.759,456.826L777.822,458.36C778.39,460.719 778.672,463.131 778.658,465.55 778.658,466.094 778.626,466.637 778.565,467.177L785.644,467.921C785.736,467.137 785.783,466.348 785.783,465.558Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M749.27,487.415 L751.131,493.911C754.698,493.012 758.212,491.937 761.66,490.688L759.078,484.416C755.867,485.578 752.593,486.579 749.27,487.415Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M768.104,480.286 L771.84,486.016C775.259,484.101 778.3,481.641 780.83,478.746L775.253,474.558C773.237,476.841 770.818,478.779 768.104,480.286Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M752.735,428.112 L750.178,434.393C753.375,435.535 756.493,436.864 759.514,438.373L762.879,432.441C759.596,430.8 756.208,429.355 752.735,428.112Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M772.361,438.381 L767.802,443.551C770.272,445.463 772.424,447.716 774.183,450.235L780.167,446.583C778.019,443.493 775.386,440.728 772.361,438.381Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M728.721,491.308 L729.754,497.966C733.503,497.447 737.109,496.866 740.471,496.241L739.093,489.638C735.845,490.243 732.355,490.805 728.721,491.308Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M688.526,416.783C691.896,418.24 695.354,419.509 698.881,420.584L701.115,414.195C697.851,413.202 694.651,412.029 691.532,410.684Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M697.504,500.904 L697.093,494.185C693.559,494.378 690.012,494.535 686.474,494.665L686.753,501.389C690.33,501.259 693.924,501.1 697.504,500.904Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M700.655,361.975 L703.069,368.307C706.132,367.264 709.479,366.275 713.013,365.369L711.146,358.875C707.428,359.829 703.898,360.872 700.655,361.975Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M708.259,500.211C711.888,499.936 715.48,499.619 719.012,499.255L718.239,492.565C714.773,492.923 711.247,493.233 707.689,493.503Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M731.914,422.022 L730.109,428.531C733.541,429.381 736.952,430.266 740.291,431.223L742.357,424.783C738.935,423.802 735.434,422.893 731.914,422.022Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M775.367,266.118C766.647,266.118 759.578,272.795 759.578,281.03 759.579,289.266 766.648,295.942 775.368,295.942 784.088,295.941 791.156,289.266 791.156,281.03 791.192,272.829 784.183,266.152 775.5,266.118 775.455,266.118 775.412,266.118 775.367,266.118ZM775.367,289.213C770.583,289.212 766.703,285.549 766.704,281.03 766.704,276.51 770.583,272.847 775.368,272.847 780.153,272.848 784.032,276.511 784.032,281.03 784.083,285.501 780.287,289.164 775.553,289.213 775.491,289.213 775.429,289.213 775.367,289.213Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n          <path\n              android:pathData=\"M574.12,412.105C574.12,422.309 582.877,430.581 593.681,430.581 604.485,430.581 613.243,422.31 613.243,412.107 613.244,401.903 604.486,393.631 593.682,393.631 593.682,393.631 593.681,393.631 593.68,393.631 582.922,393.589 574.165,401.792 574.12,411.953 574.12,412.004 574.12,412.055 574.12,412.105ZM606.118,412.105C606.118,418.592 600.551,423.851 593.682,423.852 586.814,423.852 581.245,418.594 581.245,412.107 581.244,405.62 586.812,400.361 593.681,400.36 593.681,400.36 593.681,400.36 593.681,400.36 600.477,400.291 606.045,405.437 606.118,411.855 606.119,411.939 606.119,412.022 606.118,412.105Z\"\n              android:strokeWidth=\"3.36458\"\n              android:fillColor=\"#FFC687\"\n              android:strokeColor=\"#FFC687\"/>\n        </group>\n      </group>\n    </group>\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/ic_signup.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"622dp\"\n    android:height=\"722dp\"\n    android:viewportWidth=\"622\"\n    android:viewportHeight=\"722\">\n  <group>\n    <clip-path\n        android:pathData=\"M0,0h622v722h-622z\"/>\n    <path\n        android:pathData=\"M2.5,1.5h615v720h-615z\"\n        android:strokeWidth=\"1.33333\"\n        android:fillColor=\"#FFFFFF\"\n        android:strokeColor=\"#FFFFFF\"/>\n    <path\n        android:pathData=\"M2,4 L421,168 2,332Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n    <path\n        android:pathData=\"M460.712,555.865 L617.66,478.131 621.229,653.238Z\"\n        android:fillColor=\"#FFC687\"\n        android:fillType=\"evenOdd\"/>\n  </group>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/location_signin.xml",
    "content": "<vector android:alpha=\"0.96\" android:height=\"24dp\"\n    android:tint=\"#FFFFFF\" android:viewportHeight=\"24\"\n    android:viewportWidth=\"24\" android:width=\"24dp\" xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <path android:fillColor=\"@android:color/white\" android:pathData=\"M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/nav_head_color.xml",
    "content": "<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"rectangle\">\n    <gradient\n        android:angle=\"135\"\n        android:centerColor=\"#FA5A28\"\n        android:endColor=\"#FA3B00\"\n        android:startColor=\"#FB815B\"\n        android:type=\"linear\" />\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/notification_button1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:state_pressed=\"true\">\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"@android:color/darker_gray\"/>\n\n        </shape>\n    </item>\n    <item android:state_pressed=\"false\">\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"@color/light_orange\"/>\n\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "app/src/main/res/drawable/notification_button2.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:state_pressed=\"true\">\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"@android:color/darker_gray\"/>\n\n        </shape>\n    </item>\n    <item android:state_pressed=\"false\">\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"@android:color/white\"/>\n\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "app/src/main/res/drawable/oval.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <solid\n        android:color=\"#F8DD1D1D\"></solid>\n    <corners\n        android:radius=\"1dp\" />\n    <padding\n        android:left=\"10dp\"\n        android:top=\"10dp\"\n        android:right=\"10dp\"\n        android:bottom=\"10dp\" />\n    <stroke\n        android:width=\"3px\" android:color=\"#F8DD1D1D\"/>\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/q_circle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"rectangle\">\n    <solid android:color=\"#F49C3B\"/>\n    <corners\n    android:topLeftRadius=\"@dimen/_200sdp\"\n        />\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/radius_expand.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" android:shape=\"rectangle\">\n    <solid android:color=\"#2E2E2E\"></solid>\n    <corners android:radius=\"@dimen/_8sdp\"></corners>\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable/show_password.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:drawable=\"@drawable/ic_baseline_remove_red_eye_24\"\n        android:state_checked=\"true\"/>\n    <item android:drawable=\"@drawable/ic_baseline_visibility_off_24\"/>\n\n</selector>"
  },
  {
    "path": "app/src/main/res/drawable/signin_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item  android:height=\"@dimen/_100sdp\" >\n        <shape android:visible=\"false\"\n            android:shape=\"rectangle\">\n            <solid android:color=\"#F49C3B\"/>\n            <size\n                android:width=\"5dp\"\n                android:height=\"1dp\"/>\n            <corners\n                android:bottomLeftRadius=\"300dp\"\n                android:bottomRightRadius=\"300dp\"/>\n        </shape>\n    </item>\n\n    <item>\n        <shape>\n            <solid android:color=\"#17FFFFFF\" />\n        </shape>\n    </item>\n    <item android:top=\"@dimen/_1sdp\" android:left=\"@dimen/_40sdp\"\n        android:right=\"@dimen/_5sdp\" android:width=\"@dimen/_60sdp\"\n        android:height=\"@dimen/_90sdp\"\n        android:drawable=\"@drawable/location_signin\"\n        >\n    </item>\n    <item android:top=\"@dimen/_450sdp\" android:left=\"@dimen/_200sdp\" >\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"#F49C3B\" />\n            <size\n                android:width=\"9dp\"\n                android:height=\"1dp\"/>\n            <corners\n                android:topLeftRadius=\"@dimen/_200sdp\"/>\n        </shape>\n    </item>\n</layer-list>\n<!--\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item>\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"@color/white\"/>\n            <shape\n                android:shape=\"rectangle\">\n                <solid android:color=\"#F49C3B\"/>\n                <size\n                    android:width=\"5dp\"\n                    android:height=\"1dp\"/>\n                <corners\n                    android:bottomLeftRadius=\"300dp\"\n                    android:bottomRightRadius=\"300dp\"/>\n            </shape>\n        </shape>\n    </item>\n\n</selector>-->"
  },
  {
    "path": "app/src/main/res/drawable/switch_icon.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\"\n    android:tint=\"?attr/colorControlNormal\">\n  <path\n      android:fillColor=\"@android:color/white\"\n      android:pathData=\"M6.99,11L3,15l3.99,4v-3H14v-2H6.99v-3zM21,9l-3.99,-4v3H10v2h7.01v3L21,9z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable/wave.xml",
    "content": "<vector\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"1440dp\"\n    android:height=\"320dp\"\n    android:viewportWidth=\"1440\"\n    android:viewportHeight=\"320\">\n    <path\n        android:pathData=\"M0,224L48,192C96,160 192,96 288,96C384,96 480,160 576,176C672,192 768,160 864,176C960,192 1056,256 1152,240C1248,224 1344,128 1392,80L1440,32L1440,0L1392,0C1344,0 1248,0 1152,0C1056,0 960,0 864,0C768,0 672,0 576,0C480,0 384,0 288,0C192,0 96,0 48,0L0,0Z\"\n        android:fillColor=\"#FF9800\"\n        android:fillAlpha=\"1\"/>\n</vector>"
  },
  {
    "path": "app/src/main/res/drawable/white_oval.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item>\n        <shape android:shape=\"oval\">\n            <solid android:color=\"@android:color/white\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "app/src/main/res/drawable-mdpi/avd_done.xml",
    "content": "<animated-vector xmlns:tools=\"http://schemas.android.com/tools\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:aapt=\"http://schemas.android.com/aapt\"\n    tools:targetApi=\"lollipop\">\n    <aapt:attr name=\"android:drawable\">\n        <vector\n            android:name=\"vector\"\n            android:width=\"84dp\"\n            android:height=\"60dp\"\n            android:viewportWidth=\"84\"\n            android:viewportHeight=\"60\">\n            <path\n                android:name=\"done\"\n                android:pathData=\"M 3.536 27.097 L 30.258 53.819 L 80.541 3.536\"\n                android:strokeColor=\"#fff\"\n                android:strokeWidth=\"10\"\n                android:trimPathEnd=\"0\"/>\n        </vector>\n    </aapt:attr>\n    <target android:name=\"done\">\n        <aapt:attr name=\"android:animation\">\n            <objectAnimator\n                android:propertyName=\"trimPathEnd\"\n                android:duration=\"500\"\n                android:valueFrom=\"0\"\n                android:valueTo=\"1\"\n                android:valueType=\"floatType\"\n                android:interpolator=\"@android:interpolator/fast_out_slow_in\"/>\n        </aapt:attr>\n    </target>\n</animated-vector>\n"
  },
  {
    "path": "app/src/main/res/drawable-v24/ic_launcher_foreground.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:aapt=\"http://schemas.android.com/aapt\"\n    android:width=\"108dp\"\n    android:height=\"108dp\"\n    android:viewportWidth=\"108\"\n    android:viewportHeight=\"108\">\n    <path android:pathData=\"M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z\">\n        <aapt:attr name=\"android:fillColor\">\n            <gradient\n                android:endX=\"85.84757\"\n                android:endY=\"92.4963\"\n                android:startX=\"42.9492\"\n                android:startY=\"49.59793\"\n                android:type=\"linear\">\n                <item\n                    android:color=\"#44000000\"\n                    android:offset=\"0.0\" />\n                <item\n                    android:color=\"#00000000\"\n                    android:offset=\"1.0\" />\n            </gradient>\n        </aapt:attr>\n    </path>\n    <path\n        android:fillColor=\"#FFFFFF\"\n        android:fillType=\"nonZero\"\n        android:pathData=\"M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z\"\n        android:strokeWidth=\"1\"\n        android:strokeColor=\"#00000000\" />\n</vector>"
  },
  {
    "path": "app/src/main/res/drawable-xxxhdpi/bottom_sheet_bg.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"rectangle\">\n    <corners\n        android:topLeftRadius=\"15dp\"\n        android:topRightRadius=\"15dp\" />\n    <padding android:top=\"8dp\" />\n    <solid android:color=\"@android:color/white\" />\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable-xxxhdpi/ic_baseline_add.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\">\n  <path\n      android:fillColor=\"#FF000000\"\n      android:pathData=\"M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable-xxxhdpi/ic_baseline_remove.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"24dp\"\n    android:height=\"24dp\"\n    android:viewportWidth=\"24\"\n    android:viewportHeight=\"24\">\n  <path\n      android:fillColor=\"#FF000000\"\n      android:pathData=\"M19,13H5v-2h14v2z\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable-xxxhdpi/ic_launcher_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"108dp\"\n    android:height=\"108dp\"\n    android:viewportHeight=\"108\"\n    android:viewportWidth=\"108\">\n    <path\n        android:fillColor=\"#26A69A\"\n        android:pathData=\"M0,0h108v108h-108z\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M9,0L9,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,0L19,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M29,0L29,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M39,0L39,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M49,0L49,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M59,0L59,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M69,0L69,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M79,0L79,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M89,0L89,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M99,0L99,108\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,9L108,9\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,19L108,19\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,29L108,29\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,39L108,39\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,49L108,49\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,59L108,59\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,69L108,69\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,79L108,79\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,89L108,89\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,99L108,99\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,29L89,29\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,39L89,39\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,49L89,49\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,59L89,59\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,69L89,69\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,79L89,79\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M29,19L29,89\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M39,19L39,89\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M49,19L49,89\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M59,19L59,89\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M69,19L69,89\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M79,19L79,89\"\n        android:strokeColor=\"#33FFFFFF\"\n        android:strokeWidth=\"0.8\" />\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:aapt=\"http://schemas.android.com/aapt\"\n    android:width=\"108dp\"\n    android:height=\"108dp\"\n    android:viewportHeight=\"108\"\n    android:viewportWidth=\"108\">\n  <path\n      android:fillType=\"evenOdd\"\n      android:pathData=\"M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z\"\n      android:strokeColor=\"#00000000\"\n      android:strokeWidth=\"1\">\n    <aapt:attr name=\"android:fillColor\">\n      <gradient\n          android:endX=\"78.5885\"\n          android:endY=\"90.9159\"\n          android:startX=\"48.7653\"\n          android:startY=\"61.0927\"\n          android:type=\"linear\">\n        <item\n            android:color=\"#44000000\"\n            android:offset=\"0.0\"/>\n        <item\n            android:color=\"#00000000\"\n            android:offset=\"1.0\"/>\n      </gradient>\n    </aapt:attr>\n  </path>\n  <path\n      android:fillColor=\"#FFFFFF\"\n      android:fillType=\"nonZero\"\n      android:pathData=\"M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z\"\n      android:strokeColor=\"#00000000\"\n      android:strokeWidth=\"1\"/>\n</vector>\n"
  },
  {
    "path": "app/src/main/res/drawable-xxxhdpi/rectangle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/listview_background_shape\">\n    <stroke\n        android:width=\"1dp\"\n        android:color=\"@android:color/darker_gray\" />\n    <padding\n        android:bottom=\"2dp\"\n        android:left=\"2dp\"\n        android:right=\"2dp\"\n        android:top=\"2dp\" />\n    <solid android:color=\"#ffffffff\" />\n</shape>"
  },
  {
    "path": "app/src/main/res/font/muli_black.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<font-family xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n        app:fontProviderAuthority=\"com.google.android.gms.fonts\"\n        app:fontProviderPackage=\"com.google.android.gms\"\n        app:fontProviderQuery=\"name=Muli&amp;weight=900\"\n        app:fontProviderCerts=\"@array/com_google_android_gms_fonts_certs\">\n</font-family>\n"
  },
  {
    "path": "app/src/main/res/font/muli_extralight.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<font-family xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n        app:fontProviderAuthority=\"com.google.android.gms.fonts\"\n        app:fontProviderPackage=\"com.google.android.gms\"\n        app:fontProviderQuery=\"name=Muli&amp;weight=200\"\n        app:fontProviderCerts=\"@array/com_google_android_gms_fonts_certs\">\n</font-family>\n"
  },
  {
    "path": "app/src/main/res/font/roboto_bold.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<font-family xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n        app:fontProviderAuthority=\"com.google.android.gms.fonts\"\n        app:fontProviderPackage=\"com.google.android.gms\"\n        app:fontProviderQuery=\"name=Roboto&amp;weight=700\"\n        app:fontProviderCerts=\"@array/com_google_android_gms_fonts_certs\">\n</font-family>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_action.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    tools:context=\".ui.ActionActivity\"\n    android:background=\"#ffffff\">\n\n    <RelativeLayout\n        android:layout_weight=\".5\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:background=\"@drawable/nav_head_color\">\n\n        <Button\n            android:id=\"@+id/button_lost\"\n            android:layout_width=\"@dimen/_120sdp\"\n            android:layout_height=\"@dimen/_110sdp\"\n            android:background=\"@drawable/buttons\"\n            android:layout_centerInParent=\"true\"\n            android:shadowColor=\"#000000\"\n            android:text=\"@string/button_lost\"\n            android:textColor=\"#FA5F2F\"\n            android:textSize=\"@dimen/_25ssp\"\n            app:backgroundTint=\"#FFFFFF\"\n            android:onClick=\"lost_btn\"/>\n    </RelativeLayout>\n\n    <RelativeLayout\n        android:layout_weight=\".5\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n\n        <Button\n            android:id=\"@+id/button_found\"\n            android:layout_width=\"@dimen/_120sdp\"\n            android:background=\"@drawable/buttons\"\n            android:layout_height=\"@dimen/_110sdp\"\n            android:layout_centerInParent=\"true\"\n            android:shadowColor=\"#000000\"\n            android:text=\"@string/button_found\"\n            android:textColor=\"#ffffff\"\n            android:textSize=\"@dimen/_25ssp\"\n            android:onClick=\"found_btn\"/>\n    </RelativeLayout>\n</LinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_candidate_page.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    tools:context=\".ui.candidate.CandidatePage\">\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\">\n        <RelativeLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"@dimen/_70sdp\"\n            android:background=\"#FF9800\" >\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:fontFamily=\"@font/muli_black\"\n                android:text=\"Candidates\"\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_20sdp\"\n                android:textColor=\"@color/white\"\n                android:textSize=\"@dimen/_40ssp\"/>\n        </RelativeLayout>\n        <ImageView\n            android:id=\"@+id/view\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"100dp\"\n            android:background=\"@drawable/wave\" />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Tablet\"\n            android:id=\"@+id/tv_item_title1\"\n            android:textColor=\"@color/black\"\n            android:layout_gravity=\"center_horizontal\"\n            android:fontFamily=\"@font/muli_black\"\n            android:textSize=\"@dimen/_40ssp\"\n            />\n\n        <androidx.recyclerview.widget.RecyclerView\n            android:padding=\"@dimen/_20sdp\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:id=\"@+id/rv_sub_item1\"\n            android:layout_gravity=\"center_horizontal\"\n            android:orientation=\"vertical\">\n\n        </androidx.recyclerview.widget.RecyclerView>\n\n        <Button\n            android:id=\"@+id/d_btn\"\n            android:layout_margin=\"@dimen/_30sdp\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Done\"\n            android:fontFamily=\"@font/muli_black\"\n            android:textSize=\"@dimen/_15sdp\"\n            android:background=\"@color/orange\"\n            android:textColor=\"@color/black\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            />\n       </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_check_registration.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width = \"match_parent\"\n    android:layout_height = \"match_parent\"\n    tools:context = \".ui.check_registration\">\n\n    <LinearLayout\n        android:layout_width = \"match_parent\"\n        android:layout_height = \"match_parent\"\n        android:gravity = \"bottom|center\"\n        android:orientation = \"vertical\">\n        <LinearLayout\n            android:layout_width = \"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\"\n            android:layout_marginBottom=\"@dimen/_150sdp\"\n            android:layout_marginRight=\"@dimen/_50sdp\"\n            android:layout_marginLeft=\"@dimen/_50sdp\"\n            android:layout_gravity=\"center\">\n            <ImageView\n                android:layout_width=\"@dimen/_110sdp\"\n                android:layout_height=\"@dimen/_110sdp\"\n                android:layout_gravity=\"center\"\n                android:background=\"@drawable/btn_login\"\n                android:layout_marginBottom=\"@dimen/_10sdp\"\n                android:id=\"@+id/done\"\n                app:srcCompat=\"@drawable/avd_done\"\n                />\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"@string/signup_success\"\n                android:textSize=\"@dimen/_18sdp\"\n                android:textColor=\"#171717\"\n                android:layout_gravity=\"center\"\n                android:gravity=\"center\"/>\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"@dimen/_15sdp\"\n                android:layout_marginRight=\"@dimen/_15sdp\"\n                android:text=\"@string/text_start\"\n                android:textSize=\"@dimen/_15sdp\"\n                android:layout_gravity=\"center\"\n                android:gravity=\"center\"/>\n\n\n\n        </LinearLayout>\n\n        <Button\n            android:layout_width=\"@dimen/_280sdp\"\n            android:layout_height=\"@dimen/_32sdp\"\n            android:text=\"@string/goToLogin\"\n            android:textColor=\"#ffffff\"\n            android:textSize=\"@dimen/_15sdp\"\n            android:foregroundGravity=\"center\"\n            android:background=\"@drawable/btn_login\"\n            android:gravity=\"center\"\n            android:layout_margin=\"@dimen/_5sdp\"\n            android:id=\"@+id/goto_login\"\n            android:layout_marginLeft=\"@dimen/_20sdp\"\n            android:layout_marginRight=\"@dimen/_20sdp\"\n            android:layout_marginBottom=\"@dimen/_60sdp\" />\n        <View\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"@dimen/_30sdp\"/>\n\n    </LinearLayout>\n</RelativeLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_details.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <LinearLayout android:layout_width=\"match_parent\"\n        android:layout_height=\"0dp\"\n        android:orientation=\"vertical\">\n        <ImageView\n            android:id=\"@+id/img_detail\"\n            android:layout_width=\"@dimen/_100sdp\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:layout_gravity=\"center\" android:src=\"@drawable/ic_home\"\n            android:layout_margin=\"@dimen/_15sdp\"/>\n        <LinearLayout android:id=\"@+id/parent_table_details\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_margin=\"@dimen/_5sdp\"\n            android:padding=\"@dimen/_1sdp\"\n            android:orientation=\"vertical\"\n            android:background=\"@drawable/details_background\">\n\n            <LinearLayout\n                android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\" android:weightSum=\"2\"\n                android:padding=\"@dimen/_15sdp\" android:background=\"@drawable/details_background\">\n                <TextView\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:textColor=\"@color/black\"\n                    android:text=\"Main Category\"/>\n                <TextView\n                    android:id=\"@+id/main_cat\"\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:text=\"Person\"\n                    android:gravity=\"end\"/>\n            </LinearLayout>\n\n            <LinearLayout android:id=\"@+id/sub_cat\"\n                android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\" android:weightSum=\"2\"\n                android:padding=\"@dimen/_15sdp\" android:background=\"@drawable/details_background\">\n                <TextView\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:textColor=\"@color/black\"\n                    android:text=\"Sub Category\"/>\n                <TextView\n                    android:id=\"@+id/item_cat\"\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:text=\"Bag\"\n                    android:gravity=\"end\"/>\n            </LinearLayout>\n\n            <LinearLayout android:id=\"@+id/person_name\"\n                android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\" android:weightSum=\"2\"\n                android:padding=\"@dimen/_15sdp\" android:background=\"@drawable/details_background\">\n                <TextView\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:textColor=\"@color/black\"\n                    android:text=\"Name\"/>\n                <TextView\n                    android:id=\"@+id/lost_name\"\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:text=\"Ahmed\"\n                    android:gravity=\"end\"/>\n            </LinearLayout>\n\n            <LinearLayout android:id=\"@+id/brand_detail\"\n                android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\" android:weightSum=\"2\"\n                android:padding=\"@dimen/_15sdp\" android:background=\"@drawable/details_background\">\n                <TextView\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:textColor=\"@color/black\"\n                    android:text=\"@string/TheBrand\"/>\n                <TextView\n                    android:id=\"@+id/brand_name\"\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:text=\"dejavu\"\n                    android:gravity=\"end\"/>\n            </LinearLayout>\n\n            <LinearLayout android:id=\"@+id/color_detail\"\n                android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\" android:weightSum=\"2\"\n                android:padding=\"@dimen/_15sdp\" android:background=\"@drawable/details_background\">\n                <TextView\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:textColor=\"@color/black\"\n                    android:text=\"@string/ColorOfObject\"/>\n                <TextView\n                    android:id=\"@+id/color_item\"\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:text=\"@string/Brown\"\n                    android:gravity=\"end\"/>\n            </LinearLayout>\n\n            <LinearLayout android:id=\"@+id/addr_loc\"\n                android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\" android:weightSum=\"2\"\n                android:padding=\"@dimen/_15sdp\" android:background=\"@drawable/details_background\">\n                <TextView\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:textColor=\"@color/black\"\n                    android:text=\"Address Location\"/>\n                <TextView\n                    android:id=\"@+id/address\"\n                    android:layout_width=\"0dp\"\n                    android:layout_height=\"match_parent\"\n                    android:layout_weight=\"1\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:text=\"Sharm El Sheikh,...\"\n                    android:gravity=\"end\"/>\n            </LinearLayout>\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"@drawable/details_background\"\n                android:orientation=\"vertical\"\n                android:padding=\"@dimen/_15sdp\">\n\n                <LinearLayout\n                    android:id=\"@+id/lost_date\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:orientation=\"horizontal\"\n                    android:weightSum=\"2\">\n\n                    <TextView\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:text=\"Lost Date\"\n                        android:textColor=\"@color/black\"\n                        android:textSize=\"@dimen/_15ssp\" />\n\n                    <TextView\n                        android:id=\"@+id/date_of_lost\"\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:gravity=\"end\"\n                        android:text=\"2021-10-5\"\n                        android:textSize=\"@dimen/_15ssp\" />\n                </LinearLayout>\n\n                <LinearLayout\n                    android:id=\"@+id/lost_found_date\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_margin=\"@dimen/_5sdp\"\n                    android:orientation=\"vertical\">\n\n                    <View\n                        android:layout_width=\"match_parent\"\n                        android:layout_height=\"@dimen/_1sdp\"\n                        android:background=\"#6FFF5722\" />\n                </LinearLayout>\n\n                <LinearLayout\n                    android:id=\"@+id/found_date\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:orientation=\"horizontal\"\n                    android:weightSum=\"2\">\n\n                    <TextView\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:text=\"Found Date\"\n                        android:textColor=\"@color/black\"\n                        android:textSize=\"@dimen/_15ssp\" />\n\n                    <TextView\n                        android:id=\"@+id/date_of_found\"\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:gravity=\"end\"\n                        android:text=\"2021-10-5\"\n                        android:textSize=\"@dimen/_15ssp\" />\n                </LinearLayout>\n            </LinearLayout>\n\n            <LinearLayout android:id=\"@+id/matched_detail\"\n                android:orientation=\"vertical\" android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\" android:weightSum=\"2\"\n                android:padding=\"@dimen/_15sdp\" android:background=\"@drawable/details_background\">\n                <LinearLayout android:id=\"@+id/matched_name\"\n                    android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\" android:weightSum=\"2\">\n                    <TextView\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:textSize=\"@dimen/_15ssp\"\n                        android:textColor=\"@color/black\"\n                        android:text=\"Matched Name\"/>\n\n                    <TextView\n                        android:id=\"@+id/name_of_matching\"\n                        android:layout_width=\"180dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:gravity=\"end\"\n                        android:text=\"Walid\"\n                        android:textSize=\"@dimen/_15ssp\" />\n                </LinearLayout>\n                <LinearLayout\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:orientation=\"vertical\"\n                    android:layout_margin=\"@dimen/_5sdp\">\n                    <View\n                        android:layout_width=\"match_parent\"\n                        android:layout_height=\"@dimen/_1sdp\"\n                        android:background=\"#6FFF5722\"/>\n                </LinearLayout>\n                <LinearLayout android:id=\"@+id/matched_mail\"\n                    android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\" android:weightSum=\"2\">\n                    <TextView\n                        android:id=\"@+id/mail_of_matching\"\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:textSize=\"@dimen/_15ssp\"\n                        android:textColor=\"@color/black\"\n                        android:text=\"E-mail\"/>\n                    <TextView\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:textSize=\"@dimen/_15ssp\"\n                        android:text=\"walid@gmail.com\"\n                        android:gravity=\"end\"/>\n                </LinearLayout>\n                <LinearLayout\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:orientation=\"vertical\"\n                    android:layout_margin=\"@dimen/_5sdp\">\n                    <View\n                        android:layout_width=\"match_parent\"\n                        android:layout_height=\"@dimen/_1sdp\"\n                        android:background=\"#6FFF5722\"/>\n                </LinearLayout>\n                <LinearLayout android:id=\"@+id/matched_phone\"\n                    android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\" android:weightSum=\"2\">\n                    <TextView\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:textSize=\"@dimen/_15ssp\"\n                        android:textColor=\"@color/black\"\n                        android:text=\"@string/PhoneNumber\"/>\n                    <TextView\n                        android:id=\"@+id/phone_of_matching\"\n                        android:layout_width=\"0dp\"\n                        android:layout_height=\"match_parent\"\n                        android:layout_weight=\"1\"\n                        android:textSize=\"@dimen/_15ssp\"\n                        android:text=\"01271177281\"\n                        android:gravity=\"end\"/>\n                </LinearLayout>\n            </LinearLayout>\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:gravity=\"center\">\n            <Button\n                android:id=\"@+id/call_btn\"\n                android:layout_width=\"@dimen/_100sdp\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Call\"\n                android:textColor=\"@color/white\"\n                android:background=\"@drawable/details_btns\"\n                android:textAllCaps=\"false\"\n                android:layout_margin=\"@dimen/_15sdp\"/>\n            <Button\n                android:id=\"@+id/mail_btn\"\n                android:layout_width=\"@dimen/_100sdp\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Send mail\"\n                android:textColor=\"@color/white\"\n                android:background=\"@drawable/details_btns\"\n                android:textAllCaps=\"false\"\n                android:layout_margin=\"@dimen/_15sdp\"/>\n        </LinearLayout>\n\n        <View\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"@dimen/_40sdp\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/activity_external.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    tools:context=\".ui.ExternalActivity\"\n    android:padding=\"@dimen/_8sdp\">\n\n    <TextView android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"NGROK Link\"/>\n    <EditText\n        android:id=\"@+id/ngrok_link\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:ems=\"10\"\n        android:layout_marginLeft=\"@dimen/_10sdp\"\n        android:layout_marginRight=\"@dimen/_10sdp\"/>\n    <Button\n        android:id=\"@+id/submit_btn\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"submit\"/>\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/activity_forget_pass_success_message.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    android:padding=\"@dimen/_20sdp\"\n    tools:context=\".ui.forgetPasswordScreens.ForgetPassSuccessMessage\">\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\">\n        <ImageView\n            android:id=\"@+id/back_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            app:srcCompat=\"@drawable/general_back_icon\"\n            />\n<LinearLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:gravity=\"center\"\n    android:orientation=\"vertical\">\n    <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:fontFamily=\"@font/muli_black\"\n        android:text=\"@string/password_updated\"\n        android:textStyle=\"bold\"\n        android:textAllCaps=\"true\"\n        android:layout_marginTop=\"@dimen/_10sdp\"\n        android:textAlignment=\"center\"\n        android:gravity=\"center\"\n        android:layout_gravity=\"center\"\n        android:textColor=\"@color/black\"\n        android:textSize=\"@dimen/_25ssp\"\n        />\n        <ImageView\n            android:layout_width=\"@dimen/_100sdp\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:layout_gravity=\"center\"\n            app:srcCompat=\"@drawable/ic_baseline_check_circle_24\"\n            />\n    <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:layout_marginTop=\"@dimen/_10sdp\"\n        android:fontFamily=\"@font/muli_extralight\"\n        android:gravity=\"center\"\n        android:text=\"@string/updated_details\"\n        android:textAlignment=\"center\"\n        android:textAllCaps=\"true\"\n        android:textColor=\"@color/black\"\n        android:textSize=\"@dimen/_15ssp\"\n        />\n\n\n</LinearLayout>\n         <Button\n            android:id=\"@+id/login_btn\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/login1\"\n            android:background=\"@color/orange\"\n            android:textColor=\"@color/black\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            />\n\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_forget_password.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    android:padding=\"@dimen/_20sdp\"\n    tools:context=\".ui.forgetPasswordScreens.ForgetPasswordWithEmail\">\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:theme=\"@style/Theme2\">\n        <ImageView\n            android:id=\"@+id/back_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            app:srcCompat=\"@drawable/general_back_icon\"\n           />\n\n        <ImageView\n            android:layout_width=\"@dimen/_100sdp\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:layout_gravity=\"center\"\n            app:srcCompat=\"@drawable/ic_lock\" />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:fontFamily=\"@font/muli_black\"\n            android:text=\"@string/forget_password2\"\n            android:textStyle=\"bold\"\n            android:textAllCaps=\"true\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:textAlignment=\"center\"\n            android:gravity=\"center\"\n            android:layout_gravity=\"center\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_25ssp\"\n            />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:fontFamily=\"@font/muli_extralight\"\n            android:gravity=\"center\"\n            android:text=\"@string/forget_pass_details\"\n            android:textAlignment=\"center\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_15ssp\"\n          />\n        <com.google.android.material.textfield.TextInputLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/_20sdp\"\n            style=\"@style/Widget.MaterialComponents.TextInputLayout.FilledBox\"\n            app:boxBackgroundColor=\"@color/light_white\"\n            app:boxStrokeColor=\"@color/black\"\n            app:boxStrokeWidth=\"@dimen/_2sdp\"\n            android:hint=\"  Email\"\n            android:textColorHint=\"@color/black\">\n          <com.google.android.material.textfield.TextInputEditText\n              android:id=\"@+id/Email\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"wrap_content\"\n              android:drawablePadding=\"@dimen/_5sdp\"\n              android:drawableStart=\"@drawable/ic_baseline_email_24\"\n               android:textColor=\"@color/black\"\n              app:boxStrokeColor=\"@color/orange\"\n           />\n        </com.google.android.material.textfield.TextInputLayout>\n        <Button\n            android:id=\"@+id/Next_btn\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/next_btn\"\n            android:background=\"@color/orange\"\n            android:textColor=\"@color/black\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            />\n\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_forget_password_with_phone.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    android:padding=\"@dimen/_20sdp\"\n    tools:context=\".ui.forgetPasswordScreens.ForgetPasswordWithPhone\">\n\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:theme=\"@style/Theme2\">\n        <ImageView\n            android:id=\"@+id/back_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            app:srcCompat=\"@drawable/general_back_icon\"\n            />\n        <ImageView\n            android:layout_width=\"@dimen/_100sdp\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:layout_gravity=\"center\"\n            app:srcCompat=\"@drawable/ic_lock\" />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:fontFamily=\"@font/muli_black\"\n            android:text=\"@string/forget_password2\"\n            android:textStyle=\"bold\"\n            android:textAllCaps=\"true\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:textAlignment=\"center\"\n            android:gravity=\"center\"\n            android:layout_gravity=\"center\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_25ssp\"\n            />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:fontFamily=\"@font/muli_extralight\"\n            android:gravity=\"center\"\n            android:text=\"@string/forget_pass_details\"\n            android:textAlignment=\"center\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_15ssp\"\n            />\n        <com.google.android.material.textfield.TextInputLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/_20sdp\"\n            style=\"@style/Widget.MaterialComponents.TextInputLayout.FilledBox\"\n            app:boxBackgroundColor=\"@color/light_white\"\n            app:boxStrokeColor=\"@color/black\"\n            app:boxStrokeWidth=\"@dimen/_2sdp\"\n            android:hint=\"  Phone Number\"\n            android:textColorHint=\"@color/black\">\n            <com.google.android.material.textfield.TextInputEditText\n                android:id=\"@+id/Phone\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:drawablePadding=\"@dimen/_5sdp\"\n                android:drawableStart=\"@drawable/ic_baseline_phone_android_24\"\n                android:textColor=\"@color/black\"\n                android:inputType=\"number\"/>\n        </com.google.android.material.textfield.TextInputLayout>\n        <Button\n            android:id=\"@+id/Next_btn\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/next_btn\"\n            android:background=\"@color/orange\"\n            android:textColor=\"@color/black\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n\n            />\n\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_found_object.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/ic_background\"\n    >\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\"\n        tools:context=\".ui.lostFoundObject.LostObjectDetailsActivity\">\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_25sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textStyle=\"bold\"\n            android:text=\"@string/ObjectFound\" />\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:layout_marginLeft=\"@dimen/_30sdp\"\n            android:layout_marginRight=\"@dimen/_30sdp\"\n            android:orientation=\"horizontal\"\n            >\n\n            <TextView\n                android:layout_width=\"@dimen/_186sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_marginRight=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/dateOfFound\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_14ssp\" />\n\n            <TextView\n                android:id=\"@+id/DateFound\"\n                android:layout_width=\"@dimen/_150sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_weight=\"1\"\n                android:layout_marginLeft=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:gravity=\"center\"\n                android:background=\"#66B1BABA\"/>\n\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:layout_marginLeft=\"@dimen/_15sdp\"\n            android:layout_marginTop=\"@dimen/_15sdp\"\n            android:layout_marginRight=\"@dimen/_15sdp\"\n            android:orientation=\"horizontal\"\n            >\n            <Button\n                android:id=\"@+id/FoundLocatin\"\n                android:layout_width=\"@dimen/_140sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_marginRight=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/ObjectLocation\"\n                android:textSize=\"@dimen/_11ssp\"\n                android:textColor=\"@android:color/black\"\n                android:drawableStart=\"@drawable/ic_baseline_location_on_24\"\n                android:background=\"@drawable/custom_button_location\"\n                android:textAllCaps=\"false\"\n                />\n                <EditText\n                    android:id=\"@+id/Location\"\n                    android:layout_width=\"@dimen/_200sdp\"\n                    android:layout_height=\"@dimen/_30sdp\"\n                    android:layout_weight=\"1\"\n                    android:layout_marginLeft=\"@dimen/_5sdp\"\n                    android:padding=\"@dimen/_5sdp\"\n                    android:textColor=\"@android:color/black\"\n                    android:textSize=\"@dimen/_12ssp\"\n                    android:singleLine=\"true\"\n                    android:inputType=\"none\"\n                    android:cursorVisible=\"false\"\n                    android:focusableInTouchMode=\"false\"\n                    android:scrollbars=\"horizontal\"\n                    android:gravity=\"center\"\n                    />\n            <ProgressBar\n                android:layout_width=\"@dimen/_25sdp\"\n                android:layout_height=\"wrap_content\"\n                android:id=\"@+id/ProgressBar\"\n                android:visibility=\"gone\"\n                />\n        </LinearLayout>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_25sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textStyle=\"bold\"\n            android:text=\"@string/TypeOfTheObject\" />\n\n        <LinearLayout\n            android:layout_width=\"@dimen/_200sdp\"\n            android:layout_gravity=\"center\"\n            android:layout_height=\"match_parent\"\n            android:orientation=\"horizontal\">\n            <Button\n                android:id=\"@+id/PersonFound\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:text=\"@string/Person\"\n                android:textAllCaps=\"false\"/>\n            <Button\n                android:id=\"@+id/ObjectFound\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:text=\"@string/Item\"\n                android:textAllCaps=\"false\"/>\n        </LinearLayout>\n        <FrameLayout\n            android:id=\"@+id/FragmentFoundID\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_20sdp\"\n            />\n        <Button\n            android:id=\"@+id/MatchFound\"\n            android:layout_width=\"@dimen/_190sdp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_weight=\"1\"\n            android:layout_marginBottom=\"@dimen/_10sdp\"\n            android:background=\"@drawable/custom_button\"\n            android:text=\"@string/Match\"\n            android:textColor=\"#EFEDED\"\n            android:textSize=\"@dimen/_15ssp\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/activity_home.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.drawerlayout.widget.DrawerLayout android:id=\"@+id/drawer_layout\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fitsSystemWindows=\"true\"\n    tools:openDrawer=\"start\">\n\n    <com.google.android.material.navigation.NavigationView\n        android:id=\"@+id/nv\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"match_parent\"\n        android:layout_gravity=\"start\"\n        android:fitsSystemWindows=\"true\"\n        app:headerLayout=\"@layout/head_nav\"\n        app:menu=\"@menu/drawer_menu\"/>\n    <!--\n<androidx.swiperefreshlayout.widget.SwipeRefreshLayout\n   android:id=\"@+id/swipe\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n    -->\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\">\n\n        <com.google.android.material.appbar.AppBarLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:theme=\"@style/AppTheme\">\n            <androidx.appcompat.widget.Toolbar\n                android:id=\"@+id/toolbar\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"?attr/actionBarSize\"\n                app:titleTextColor=\"@android:color/white\"/>\n        </com.google.android.material.appbar.AppBarLayout>\n\n        <androidx.constraintlayout.widget.ConstraintLayout\n            xmlns:android=\"http://schemas.android.com/apk/res/android\"\n            xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n            xmlns:tools=\"http://schemas.android.com/tools\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            tools:context=\".MainActivity\">\n\n            <FrameLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"0.00sp\"\n                android:id=\"@+id/fragment_container\"\n                app:layout_constraintTop_toTopOf=\"parent\"\n                app:layout_constraintBottom_toTopOf=\"@id/bottomNavigationView\" />\n            <View\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"1dp\"\n                app:layout_constraintTop_toTopOf=\"@id/bottomNavigationView\"\n                android:background=\"#D3D3D3\">\n            </View>\n\n            <com.google.android.material.bottomnavigation.BottomNavigationView\n                android:id=\"@+id/bottomNavigationView\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_alignParentBottom=\"true\"\n                app:layout_constraintBottom_toBottomOf=\"parent\"\n                app:layout_constraintTop_toBottomOf=\"@id/fragment_container\"\n                app:menu=\"@menu/bottom_nav_menu\"\n                android:background=\"?android:attr/windowBackground\"\n                app:labelVisibilityMode=\"labeled\"\n                >\n\n\n                <com.google.android.material.floatingactionbutton.FloatingActionButton\n                    android:id=\"@+id/fab\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_gravity=\"center\"\n                    android:onClick=\"showPopup\"\n                    android:src=\"@drawable/ic_add\"\n                    app:backgroundTint=\"#EF4752\" />\n\n            </com.google.android.material.bottomnavigation.BottomNavigationView>\n\n        </androidx.constraintlayout.widget.ConstraintLayout>\n\n\n    </LinearLayout>\n    <!--\n</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>\n-->\n</androidx.drawerlayout.widget.DrawerLayout>"
  },
  {
    "path": "app/src/main/res/layout/activity_i_d_card_detection.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout android:layout_height=\"match_parent\"\n    android:layout_width=\"match_parent\"\n    android:orientation=\"vertical\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    tools:context=\".ui.ID_cardDetection\"\n    xmlns:tools=\"http://schemas.android.com/tools\">\n   <RelativeLayout\n       android:id=\"@+id/ParentLayout\"\n       android:layout_width=\"match_parent\"\n       android:layout_height=\"@dimen/_450sdp\">\n      <androidx.camera.view.PreviewView\n          android:layout_width=\"match_parent\"\n          android:layout_height=\"match_parent\"\n          android:id=\"@+id/PV\"\n          />\n   </RelativeLayout>\n   <ImageButton\n       android:id=\"@+id/IDCard\"\n       android:layout_width=\"@dimen/_80sdp\"\n       android:layout_height=\"@dimen/_55sdp\"\n       android:layout_gravity=\"center\"\n       android:layout_marginTop=\"@dimen/_20sdp\"\n       android:background=\"#00FFFFFF\"\n       android:src=\"@drawable/ic_realcam\"\n       android:onClick=\"check_there\"\n       />\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/activity_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n   >\n    <androidx.cardview.widget.CardView\n        android:padding=\"@dimen/_20sdp\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"fill\"\n        android:layout_margin=\"@dimen/_10sdp\"\n        app:cardCornerRadius=\"@dimen/_50sdp\"\n        app:cardElevation=\"@dimen/_50sdp\" >\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\"\n            android:layout_gravity=\"center_horizontal\"\n            >\n            <ImageView\n                android:id=\"@+id/tvItemImage\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_row=\"0\"\n                android:layout_column=\"0\"\n                android:layout_gravity=\"center_horizontal\"\n                android:background=\"@drawable/ic_image\" />\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Tablet\"\n                android:id=\"@+id/tv_item_title\"\n                android:textColor=\"@color/black\"\n                android:layout_gravity=\"center_horizontal\"\n                android:fontFamily=\"@font/muli_black\"\n                android:textSize=\"@dimen/_20ssp\"\n                />\n\n            <androidx.recyclerview.widget.RecyclerView\n                android:padding=\"@dimen/_20sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:id=\"@+id/rv_sub_item\"\n                android:layout_gravity=\"center_horizontal\"\n                android:orientation=\"horizontal\">\n\n            </androidx.recyclerview.widget.RecyclerView>\n        </LinearLayout>\n    </androidx.cardview.widget.CardView>\n\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/activity_lost_object_details.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/ic_background\"\n    >\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\"\n        tools:context=\".ui.lostFoundObject.LostObjectDetailsActivity\">\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_25sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textStyle=\"bold\"\n            android:text=\"@string/ObjectMissing\" />\n        <com.google.android.material.textfield.TextInputLayout\n            android:layout_width=\"@dimen/_248sdp\"\n            android:layout_height=\"@dimen/_50sdp\"\n            android:layout_gravity=\"center\"\n            android:layout_marginBottom=\"@dimen/_17sdp\"\n            android:textSize=\"@dimen/_15ssp\"\n            app:boxCornerRadiusBottomStart=\"5dp\"\n            >\n            <AutoCompleteTextView\n                android:id=\"@+id/auto\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"@dimen/_45sdp\"\n                android:ellipsize=\"end\"\n                android:maxLines=\"1\"\n                android:textSize=\"@dimen/_15ssp\"\n                android:hint=\"@string/City\"\n                android:autofillHints=\"@string/City\"\n                android:inputType=\"text\"\n                />\n        </com.google.android.material.textfield.TextInputLayout>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:layout_marginLeft=\"@dimen/_30sdp\"\n            android:layout_marginRight=\"@dimen/_30sdp\"\n            android:orientation=\"horizontal\"\n            >\n\n            <TextView\n                android:layout_width=\"@dimen/_186sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_marginRight=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/dateOfMissing\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_14ssp\" />\n\n            <TextView\n                android:id=\"@+id/Date\"\n                android:layout_width=\"@dimen/_150sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_weight=\"1\"\n                android:layout_marginLeft=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:gravity=\"center\"\n                android:background=\"#66B1BABA\"/>\n\n        </LinearLayout>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_25sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textStyle=\"bold\"\n            android:text=\"@string/TypeOfTheObject\" />\n\n        <LinearLayout\n            android:layout_width=\"@dimen/_200sdp\"\n            android:layout_gravity=\"center\"\n            android:layout_height=\"match_parent\"\n            android:orientation=\"horizontal\">\n            <Button\n                android:id=\"@+id/Person\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:text=\"@string/Person\"\n                android:textAllCaps=\"false\"/>\n            <Button\n                android:id=\"@+id/Object\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:text=\"@string/Item\"\n                android:textAllCaps=\"false\"/>\n        </LinearLayout>\n         <FrameLayout\n            android:id=\"@+id/FragmentID\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_20sdp\"\n            />\n        <Button\n            android:id=\"@+id/Match\"\n            android:layout_width=\"@dimen/_190sdp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_weight=\"1\"\n            android:layout_marginBottom=\"@dimen/_10sdp\"\n            android:background=\"@drawable/custom_button\"\n            android:text=\"@string/Match\"\n            android:textColor=\"#EFEDED\"\n            android:textSize=\"@dimen/_15ssp\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/activity_main.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:context=\".ui.MainActivity\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    android:gravity=\"center\"\n    android:background=\"@drawable/ic_background\">\n\n    <ImageView\n        android:id=\"@+id/splash_icon\"\n        android:layout_width=\"@dimen/_150sdp\"\n        android:layout_height=\"@dimen/_150sdp\"\n        android:src=\"@drawable/application_icon\"\n        />\n\n    <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:textColor=\"@color/orange\"\n        android:textSize=\"@dimen/_30sdp\"\n        android:fontFamily=\"@font/muli_black\"\n        android:layout_marginTop=\"@dimen/_20sdp\"\n        android:text=\"@string/GoodPoint\" />\n    \n</LinearLayout>\n\n"
  },
  {
    "path": "app/src/main/res/layout/activity_make_selection.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    android:padding=\"@dimen/_20sdp\"\n    tools:context=\".ui.forgetPasswordScreens.MakeSelection\">\n    <LinearLayout\n\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\">\n        <ImageView\n            android:id=\"@+id/back_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            app:srcCompat=\"@drawable/general_back_icon\"\n            />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:fontFamily=\"@font/muli_black\"\n            android:text=\"@string/make_selection\"\n            android:textStyle=\"bold\"\n            android:textAllCaps=\"true\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_25ssp\"\n            />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:fontFamily=\"@font/muli_extralight\"\n            android:text=\"@string/forget_pass_details\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_15ssp\"\n            />\n        <RelativeLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:background=\"@color/light_white\"\n            android:padding=\"@dimen/_10sdp\">\n            <ImageView\n                android:id=\"@+id/mobile_icon\"\n                android:layout_width=\"@dimen/_60sdp\"\n                android:layout_height=\"@dimen/_60sdp\"\n                android:layout_centerVertical=\"true\"\n                app:srcCompat=\"@drawable/ic_baseline_phone_android_24\"\n                android:layout_marginRight=\"@dimen/_40sdp\"\n                />\n            <TextView\n                android:id=\"@+id/mobile_title\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:fontFamily=\"@font/muli_extralight\"\n                android:text=\"@string/via_sms\"\n                android:layout_marginLeft=\"@dimen/_70sdp\"\n                android:textStyle=\"bold\"\n                android:textAllCaps=\"true\"\n                android:layout_marginTop=\"@dimen/_10sdp\"\n                android:textColor=\"@color/black\"\n                android:textSize=\"@dimen/_15ssp\"\n                />\n            <TextView\n            android:id=\"@+id/mobile_des\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:fontFamily=\"@font/muli_extralight\"\n            android:text=\"@string/make_selection_detail1\"\n            android:textStyle=\"bold\"\n            android:textAllCaps=\"true\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_15ssp\"\n               android:layout_marginLeft=\"@dimen/_70sdp\"\n                android:layout_below=\"@+id/mobile_title\"\n            />\n            <Button\n                android:id=\"@+id/sms_btn\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\"\n                android:background=\"@color/transparent\"\n                />\n        </RelativeLayout>\n        <RelativeLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:layout_marginTop=\"@dimen/_20sdp\"\n            android:background=\"@color/light_white\"\n           >\n            <ImageView\n                android:id=\"@+id/email_icon\"\n                android:layout_width=\"@dimen/_60sdp\"\n                android:layout_height=\"@dimen/_60sdp\"\n                android:layout_centerVertical=\"true\"\n                app:srcCompat=\"@drawable/ic_baseline_email_24\"\n                android:layout_marginRight=\"@dimen/_40sdp\"\n                />\n            <TextView\n                android:id=\"@+id/email_title\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:fontFamily=\"@font/muli_extralight\"\n                android:text=\"@string/via_mail\"\n                android:layout_marginLeft=\"@dimen/_70sdp\"\n                android:textStyle=\"bold\"\n                android:textAllCaps=\"true\"\n                android:layout_marginTop=\"@dimen/_10sdp\"\n                android:textColor=\"@color/black\"\n                android:textSize=\"@dimen/_15ssp\"\n                />\n            <TextView\n                android:id=\"@+id/email_des\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:fontFamily=\"@font/muli_extralight\"\n                android:text=\"@string/mak_selection_details2\"\n                android:textStyle=\"bold\"\n                android:textAllCaps=\"true\"\n                android:layout_marginTop=\"@dimen/_10sdp\"\n                android:textColor=\"@color/black\"\n                android:textSize=\"@dimen/_12ssp\"\n                android:layout_marginLeft=\"@dimen/_70sdp\"\n                android:layout_below=\"@+id/email_title\"\n                />\n            <Button\n                android:id=\"@+id/email_btn\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\"\n                android:background=\"@color/transparent\"\n                />\n        </RelativeLayout>\n\n\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_notification.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    tools:context=\".ui.NotificationActivity\">\n\n    <ListView\n        android:id=\"@+id/notification_listview\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:descendantFocusability=\"blocksDescendants\"\n        />\n    <TextView\n        android:id=\"@+id/no_notification\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:gravity=\"center\"\n        android:text=\"There isn\\'t any notification now\"\n        android:visibility=\"gone\"/>\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/activity_set_new_password.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    android:padding=\"@dimen/_20sdp\"\n    tools:context=\".ui.forgetPasswordScreens.SetNewPassword\">\n    <LinearLayout\n\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:theme=\"@style/Theme2\">\n        <ImageView\n            android:id=\"@+id/back_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            app:srcCompat=\"@drawable/general_back_icon\"\n            />\n\n        <ImageView\n            android:layout_width=\"@dimen/_80sdp\"\n            android:layout_height=\"@dimen/_80sdp\"\n            android:layout_gravity=\"center\"\n            app:srcCompat=\"@drawable/ic_password\" />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:fontFamily=\"@font/muli_black\"\n            android:text=\"@string/new_credentials\"\n            android:textStyle=\"bold\"\n            android:textAllCaps=\"true\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:textAlignment=\"center\"\n            android:gravity=\"center\"\n            android:layout_gravity=\"center\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_21ssp\"\n            />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:fontFamily=\"@font/muli_extralight\"\n            android:gravity=\"center\"\n            android:text=\"@string/new_credentials_details\"\n            android:textAlignment=\"center\"\n            android:textAllCaps=\"true\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_15ssp\"\n            />\n        <com.google.android.material.textfield.TextInputLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/_20sdp\"\n            style=\"@style/Widget.MaterialComponents.TextInputLayout.FilledBox\"\n            app:boxBackgroundColor=\"@color/light_white\"\n            app:boxStrokeColor=\"@color/black\"\n            app:boxStrokeWidth=\"@dimen/_2sdp\"\n            android:hint=\"   New Password\"\n            app:passwordToggleEnabled=\"true\"\n            android:id=\"@+id/errorPass\"\n            >\n            <EditText\n                android:id=\"@+id/pass1\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:inputType=\"textPassword\"\n                android:drawablePadding=\"@dimen/_5sdp\"\n                android:drawableStart=\"@drawable/ic_baseline_lock_24\"\n                android:textColor=\"@color/black\"/>\n        </com.google.android.material.textfield.TextInputLayout>\n        <com.google.android.material.textfield.TextInputLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            style=\"@style/Widget.MaterialComponents.TextInputLayout.FilledBox\"\n            app:boxBackgroundColor=\"@color/light_white\"\n            app:boxStrokeColor=\"@color/black\"\n            app:boxStrokeWidth=\"@dimen/_2sdp\"\n            android:hint=\"   Confirm New Password\"\n            app:passwordToggleEnabled=\"true\"\n            android:id=\"@+id/errorConfirm\"\n            >\n\n            <com.google.android.material.textfield.TextInputEditText\n                android:id=\"@+id/pass2\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:drawableStart=\"@drawable/ic_baseline_lock_24\"\n                android:drawablePadding=\"@dimen/_5sdp\"\n                android:inputType=\"textPassword\" />\n        </com.google.android.material.textfield.TextInputLayout>\n        <Button\n            android:id=\"@+id/ok_btn\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"OK\"\n            android:background=\"@color/orange\"\n            android:textColor=\"@color/black\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            />\n\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_signin.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    tools:context=\".ui.SigninActivity\">\n\n    <RelativeLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/_120sdp\"\n        android:background=\"@drawable/halfcircle\">\n\n        <ImageView\n            android:layout_width=\"@dimen/_100sdp\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:layout_marginLeft=\"@dimen/_25sdp\"\n            android:layout_marginTop=\"@dimen/_5sdp\"\n            android:background=\"@drawable/location_signin\" /><!---->\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginLeft=\"@dimen/_115sdp\"\n            android:layout_marginTop=\"@dimen/_40sdp\"\n            android:fontFamily=\"@font/muli_black\"\n            android:text=\"Good Point\"\n            android:textColor=\"#ffffff\"\n            android:textSize=\"@dimen/_28sdp\" />\n    </RelativeLayout>\n\n    <ScrollView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/_40sdp\">\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\">\n\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"@dimen/_15sdp\"\n                android:orientation=\"horizontal\">\n\n                <ImageView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginTop=\"20dp\"\n                    android:layout_marginRight=\"10dp\"\n                    android:src=\"@drawable/ic_baseline_person_24\" />\n\n                <com.google.android.material.textfield.TextInputLayout\n                    android:id=\"@+id/username\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\">\n\n                    <EditText\n                        android:id=\"@+id/email\"\n                        android:layout_width=\"match_parent\"\n                        android:layout_height=\"wrap_content\"\n                        android:layout_marginRight=\"@dimen/_20sdp\"\n                        android:hint=\"@string/Email2\"\n                        android:inputType=\"text\" />\n                </com.google.android.material.textfield.TextInputLayout>\n            </LinearLayout>\n\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"@dimen/_15sdp\"\n                android:orientation=\"horizontal\">\n\n                <ImageView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginTop=\"@dimen/_20sdp\"\n                    android:layout_marginRight=\"@dimen/_10sdp\"\n                    android:src=\"@drawable/ic_baseline_lock_24\" />\n\n                <com.google.android.material.textfield.TextInputLayout\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    app:passwordToggleDrawable=\"@drawable/show_password\"\n                    app:passwordToggleEnabled=\"true\"\n                    android:id=\"@+id/tilPass\">>\n\n                    <EditText\n                        android:id=\"@+id/pass\"\n                        android:layout_width=\"match_parent\"\n                        android:layout_height=\"wrap_content\"\n                        android:layout_marginRight=\"@dimen/_20sdp\"\n                        android:hint=\"@string/Password2\"\n                        android:inputType=\"textWebPassword\" />\n                </com.google.android.material.textfield.TextInputLayout>\n            </LinearLayout>\n\n\n            <!--<LinearLayout\n                 android:layout_width=\"match_parent\"\n                 android:layout_height=\"wrap_content\"\n                 android:orientation=\"horizontal\"\n                 android:layout_marginTop=\"@dimen/_10sdp\">\n                 <view\n                     android:layout_width=\"@dimen/_95sdp\"\n                     android:layout_height=\"@dimen/_2sdp\"\n                     android:layout_marginTop=\"@dimen/_9sdp\"\n                     android:layout_marginRight=\"@dimen/_20sdp\"\n                     android:layout_marginLeft=\"@dimen/_15sdp\"\n                     />\n                 <TextView\n                     android:layout_width=\"wrap_content\"\n                     android:layout_height=\"wrap_content\"\n                     android:textSize=\"@dimen/_13sdp\"\n                     android:layout_gravity=\"center\"\n                     android:layout_marginLeft=\"@dimen/_15sdp\"\n                     android:text=\"@string/or\"/>\n                 <view\n                     android:layout_width=\"@dimen/_100sdp\"\n                     android:layout_height=\"@dimen/_2sdp\"\n                     android:layout_marginLeft=\"@dimen/_50sdp\"\n                     android:layout_marginTop=\"@dimen/_9sdp\"\n                     android:layout_marginRight=\"@dimen/_20sdp\"/>\n\n             </LinearLayout>-->\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"center\"\n                android:paddingTop=\"@dimen/_20sdp\"\n                android:paddingLeft=\"@dimen/_15sdp\"\n                android:paddingRight=\"@dimen/_15sdp\">\n\n                <CheckBox\n                    android:id=\"@+id/checkbox\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"@string/RememberMe\" />\n\n                <TextView\n                    android:id=\"@+id/forgetPass\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_centerInParent=\"true\"\n                    android:layout_marginLeft=\"@dimen/_60sdp\"\n                    android:autoLink=\"web\"\n\n                    android:linksClickable=\"true\"\n                    android:text=\"@string/ForgetPassword\"\n                    android:textColor=\"#F49C3B\"\n                    android:textSize=\"@dimen/_12sdp\" />\n            </LinearLayout>\n\n\n\n\n\n            <Button\n                android:id=\"@+id/signin\"\n                android:layout_width=\"@dimen/_250sdp\"\n                android:layout_height=\"@dimen/_40sdp\"\n                android:layout_gravity=\"center\"\n                android:layout_marginTop=\"@dimen/_15sdp\"\n                android:background=\"@drawable/background2\"\n                android:fontFamily=\"@font/muli_black\"\n                android:text=\"@string/SignIn\"\n                android:textColor=\"#ffffff\"\n                android:textSize=\"@dimen/_15sdp\" />\n\n            <RelativeLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\"\n                android:layout_marginTop=\"@dimen/_15sdp\"\n                android:layout_marginLeft=\"@dimen/_20sdp\"\n                android:layout_marginRight=\"@dimen/_20sdp\">\n\n                <View\n                    android:layout_width=\"@dimen/_100sdp\"\n                    android:layout_height=\"@dimen/_2sdp\"\n                    android:layout_marginTop=\"@dimen/_15sdp\"\n                    android:background=\"#FF9800\" />\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textSize=\"@dimen/_13sdp\"\n                    android:layout_marginTop=\"@dimen/_11sdp\"\n                    android:layout_centerHorizontal=\"true\"\n                    android:layout_centerVertical=\"true\"\n                    android:textStyle=\"bold\"\n                    android:fontFamily=\"@font/muli_black\"\n                    android:text=\"@string/or\"/>\n\n                <View\n                    android:layout_width=\"@dimen/_100sdp\"\n                    android:layout_height=\"@dimen/_2sdp\"\n\n                    android:layout_alignParentRight=\"true\"\n                    android:layout_marginTop=\"@dimen/_15sdp\"\n                    android:background=\"#FF9800\" />\n\n            </RelativeLayout>\n            <Button\n                android:id=\"@+id/NewAccount\"\n                android:layout_width=\"@dimen/_250sdp\"\n                android:layout_height=\"@dimen/_40sdp\"\n                android:layout_gravity=\"center\"\n                android:layout_marginTop=\"@dimen/_15sdp\"\n                android:background=\"@drawable/custom_button\"\n                android:fontFamily=\"@font/muli_black\"\n                android:text=\"@string/CreateNewAccount\"\n                android:textColor=\"#ffffff\"\n                android:textSize=\"@dimen/_15sdp\" />\n<RelativeLayout\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\">\n            <ImageView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:background=\"@drawable/q_circle\"\n\n\n                    />\n</RelativeLayout>\n        </LinearLayout>\n    </ScrollView>\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/activity_signup.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".ui.SignupActivity\"\n    android:layout_gravity=\"center\"\n    android:background=\"@drawable/ic_signup\"\n    >\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\"\n        android:layout_margin=\"@dimen/_10sdp\">\n\n        <de.hdodenhof.circleimageview.CircleImageView\n            android:layout_width=\"@dimen/_150sdp\"\n            android:layout_height=\"@dimen/_120sdp\"\n            android:src=\"@drawable/ic_baseline_account_circle_150\"\n            android:layout_gravity=\"center\"\n            android:id=\"@+id/im\"\n            android:layout_marginTop=\"@dimen/_20sdp\"/>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_15sdp\">\n            <ImageView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:src=\"@drawable/ic_baseline_person_24\"/>\n\n            <com.google.android.material.textfield.TextInputLayout\n                android:id=\"@+id/tilName\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                >\n                <EditText\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:hint=\"@string/UserName\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:inputType=\"textAutoCorrect\"\n                    android:id=\"@+id/edName\"/>\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_5sdp\">\n            <ImageView\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:src=\"@drawable/ic_baseline_email_24\"/>\n            <com.google.android.material.textfield.TextInputLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:id=\"@+id/tilEmail\"\n              >\n                <EditText\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:hint=\"@string/Email\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:inputType=\"textEmailAddress\"\n                    android:id=\"@+id/edEmail\"/>\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_5sdp\">\n            <ImageView\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:src=\"@drawable/ic_baseline_lock_24\"/>\n            <com.google.android.material.textfield.TextInputLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                app:passwordToggleDrawable=\"@drawable/show_password\"\n                app:passwordToggleEnabled=\"true\"\n                android:id=\"@+id/tilPass\">\n                <EditText\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:hint=\"@string/Password\"\n                    android:imeOptions=\"actionNext\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:inputType=\"textWebPassword\"\n                    android:paddingEnd=\"@dimen/_30sdp\"\n                    android:id=\"@+id/edPass\"/>\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_5sdp\">\n            <ImageView\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:src=\"@drawable/ic_baseline_phone_android_24\"/>\n            <com.google.android.material.textfield.TextInputLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:id=\"@+id/tilPhone\">\n                <EditText\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:hint=\"@string/PhoneNumber2\"\n                    android:inputType=\"number\"\n                    android:id=\"@+id/edPhone\"/>\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_5sdp\">\n            <ImageView\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:src=\"@drawable/ic_baseline_room_24\"/>\n            <com.google.android.material.textfield.TextInputLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:id=\"@+id/tilcity\">\n                <AutoCompleteTextView\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:hint=\"@string/City\"\n                    android:id=\"@+id/edCity\"\n                    />\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:padding=\"@dimen/_10ssp\">\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:textSize=\"@dimen/_15sdp\"\n                android:textColor=\"#353232\"\n                android:layout_marginTop=\"@dimen/_10sdp\"\n                android:text=\"@string/BirthOfDate\"/>\n            <TextView\n                android:id=\"@+id/Date\"\n                android:layout_width=\"@dimen/_160sdp\"\n                android:layout_height=\"@dimen/_35sdp\"\n                android:layout_marginLeft=\"@dimen/_10sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"20dp\"\n                android:gravity=\"center\"\n                android:layout_marginTop=\"@dimen/_8sdp\"\n                android:background=\"#66B1BABA\"/>\n        </LinearLayout>\n\n        <Button\n            android:layout_width=\"@dimen/_180sdp\"\n            android:layout_height=\"@dimen/_40sdp\"\n            android:layout_marginTop=\"@dimen/_5sdp\"\n            android:text=\"@string/CreateAccount\"\n            android:textColor=\"#ffffff\"\n            android:layout_gravity=\"center\"\n            android:textSize=\"@dimen/_13ssp\"\n            android:layout_marginBottom=\"@dimen/_20sdp\"\n            android:background=\"@drawable/custom_button\"\n            android:id=\"@+id/createAccount\"/>\n        <!---->\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/activity_verifiy_code.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    android:padding=\"@dimen/_20sdp\"\n    tools:context=\".ui.forgetPasswordScreens.VerifiyCode\">\n    <LinearLayout\n\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\">\n        <ImageView\n            android:id=\"@+id/back_btn\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            app:srcCompat=\"@drawable/general_back_icon\"\n            />\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:fontFamily=\"@font/muli_black\"\n            android:text=\"@string/code\"\n            android:textStyle=\"bold\"\n            android:textAllCaps=\"true\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:textAlignment=\"center\"\n            android:gravity=\"center\"\n            android:layout_gravity=\"center\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_70ssp\"\n            />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:fontFamily=\"@font/muli_black\"\n            android:gravity=\"center\"\n            android:text=\"@string/code_verification\"\n            android:textAlignment=\"center\"\n            android:textAllCaps=\"true\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_18ssp\"\n            />\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            android:fontFamily=\"@font/muli_extralight\"\n            android:gravity=\"center\"\n            android:text=\"Enter one time password send on +20116526688\"\n            android:textAlignment=\"center\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_15ssp\"\n            />\n\n        <com.chaos.view.PinView\n            android:id=\"@+id/otp_view\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/_40sdp\"\n            android:inputType=\"number\"\n            android:layout_gravity=\"center\"\n            app:itemCount=\"6\"\n            android:itemBackground=\"@color/light_white\"\n            app:lineColor=\"@color/black\"\n            android:textColor=\"@color/black\"\n            app:viewType=\"none\"\n            style=\"@style/PinWidget.PinView\"\n            android:cursorVisible=\"true\"\n            app:cursorColor=\"@color/black\"\n           app:hideLineWhenFilled=\"true\"\n            app:itemRadius=\"@dimen/_3sdp\"/>\n        <Button\n            android:id=\"@+id/verify_btn\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/verify_code\"\n            android:background=\"@color/orange\"\n            android:textColor=\"@color/black\"\n            android:layout_marginTop=\"@dimen/_20sdp\"\n            />\n\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/activity_welcome.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".ui.WelcomeActivity\">\n\n    <androidx.viewpager.widget.ViewPager\n        android:id=\"@+id/viewpager\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\" />\n\n    <LinearLayout\n        android:id=\"@+id/dotsLayout\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_alignParentBottom=\"true\"\n        android:layout_marginStart=\"@dimen/_50sdp\"\n        android:layout_marginLeft=\"@dimen/_119sdp\"\n        android:layout_marginTop=\"@dimen/_50sdp\"\n        android:layout_marginEnd=\"@dimen/_5sdp\"\n        android:layout_marginBottom=\"@dimen/_40sdp\"\n        android:gravity=\"center\"\n        android:orientation=\"horizontal\"></LinearLayout>\n    <TextView\n        android:id=\"@+id/Skip\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginStart=\"@dimen/_20sdp\"\n        android:layout_marginTop=\"@dimen/_50sdp\"\n        android:layout_alignParentBottom=\"true\"\n        android:layout_marginBottom=\"@dimen/_35sdp\"\n        android:fontFamily=\"@font/roboto_bold\"\n        android:text=\"@string/skip\"\n        android:textAlignment=\"center\"\n        android:textColor=\"#456191\"\n        android:textSize=\"@dimen/_18ssp\" />\n    <TextView\n        android:id=\"@+id/Nextt\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_toRightOf=\"@+id/dotsLayout\"\n        android:layout_marginTop=\"@dimen/_50sdp\"\n        android:layout_marginBottom=\"@dimen/_35sdp\"\n        android:layout_alignParentBottom=\"true\"\n        android:layout_marginLeft=\"@dimen/_50sdp\"\n        android:fontFamily=\"@font/roboto_bold\"\n        android:text=\"@string/next\"\n        android:layout_marginRight=\"@dimen/_1sdp\"\n        android:textAlignment=\"center\"\n        android:textColor=\"#456191\"\n        android:textSize=\"@dimen/_18sdp\" />\n</RelativeLayout>"
  },
  {
    "path": "app/src/main/res/layout/alert.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/orange\"\n    android:padding=\"@dimen/_20sdp\"\n    tools:context=\".ui.Alert\">\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center_vertical\"\n        android:orientation=\"vertical\">\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:gravity=\"center\"\n            android:orientation=\"vertical\">\n            <TextView\n                android:id=\"@+id/text\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:fontFamily=\"@font/muli_black\"\n                android:textStyle=\"bold\"\n                android:textAllCaps=\"true\"\n                android:layout_marginTop=\"@dimen/_10sdp\"\n                android:textAlignment=\"center\"\n                android:gravity=\"center\"\n                android:layout_gravity=\"center\"\n                android:textColor=\"@color/white\"\n                android:textSize=\"@dimen/_25ssp\"\n                />\n\n\n        </LinearLayout>\n        <Button\n            android:id=\"@+id/login_btn\"\n\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Next\"\n            android:fontFamily=\"@font/muli_black\"\n            android:background=\"@color/white\"\n            android:textColor=\"@color/black\"\n            android:textSize=\"@dimen/_15sdp\"\n            android:layout_marginTop=\"@dimen/_60sdp\"\n            />\n\n    </LinearLayout>\n</ScrollView>\n"
  },
  {
    "path": "app/src/main/res/layout/alert_id_card.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\" android:orientation=\"vertical\">\n    <Button\n        android:id=\"@+id/Id_card\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:text=\"Upload image\"\n        android:layout_margin=\"@dimen/_20sdp\"\n        />\n    <TextView\n        android:id=\"@+id/messageforuser\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"@dimen/_10sdp\"\n        android:textSize=\"@dimen/_20ssp\"\n\n        />\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/bottom_sheet_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:padding=\"@dimen/_4sdp\"\n    android:id=\"@+id/bottom_sheet\"\n    android:background=\"@drawable/bottom_sheet_background\">\n\n    <LinearLayout\n        android:orientation=\"horizontal\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/_10sdp\">\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:text=\"@string/Add_point\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:textStyle=\"bold\"\n            android:paddingLeft=\"@dimen/_13sdp\"\n            android:textColor=\"#000000\"/>\n\n     <ImageView\n         android:id=\"@+id/hide_sheet\"\n         android:layout_width=\"wrap_content\"\n         android:layout_height=\"wrap_content\"\n         android:paddingRight=\"@dimen/_13sdp\"\n         android:paddingTop=\"@dimen/_3sdp\"\n         android:src=\"@drawable/ic_close\" />\n\n    </LinearLayout>\n\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:layout_marginTop=\"@dimen/_18sdp\">\n        <LinearLayout\n            android:id=\"@+id/ilost\"\n            android:orientation=\"horizontal\"\n            android:paddingLeft=\"@dimen/_17sdp\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\">\n            <ImageView\n                android:layout_width=\"@dimen/_25sdp\"\n                android:layout_height=\"@dimen/_25sdp\"\n                android:src=\"@drawable/ic_lost\" />\n            <TextView\n                android:layout_gravity=\"center_vertical\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:paddingLeft=\"@dimen/_13sdp\"\n                android:text=\"@string/Lost\"\n                android:textColor=\"@color/black\"/>\n        </LinearLayout>\n\n        <LinearLayout\n            android:id=\"@+id/ifound\"\n            android:layout_marginTop=\"@dimen/_18sdp\"\n            android:orientation=\"horizontal\"\n            android:paddingLeft=\"@dimen/_17sdp\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\">\n            <ImageView\n                android:layout_width=\"@dimen/_25sdp\"\n                android:layout_height=\"@dimen/_25sdp\"\n                android:src=\"@drawable/ic_found\"/>\n            <TextView\n                android:layout_gravity=\"center_vertical\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:paddingLeft=\"@dimen/_13sdp\"\n                android:text=\"@string/Found\"\n                android:textColor=\"@color/black\"/>\n        </LinearLayout>\n\n        </LinearLayout>\n\n    </LinearLayout>\n\n"
  },
  {
    "path": "app/src/main/res/layout/child_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"horizontal\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n<LinearLayout\n    android:orientation=\"horizontal\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:padding=\"@dimen/_12sdp\">\n\n    <TextView\n        android:id=\"@+id/model\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:text=\"\"\n        android:textColor=\"#000000\"\n        />\n</LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/custom_map_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\" android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\">\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:gravity=\"center\"\n        android:text=\"something is found here.\\nif it maybe yours, communicate with who found it\"\n        android:textColor=\"@android:color/black\"\n        android:textSize=\"@dimen/_12ssp\"\n        android:background=\"@color/orange\"\n        android:layout_margin=\"@dimen/_5sdp\"\n        android:padding=\"@dimen/_5sdp\"/>\n    <LinearLayout\n        android:orientation=\"vertical\" android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\" android:layout_margin=\"@dimen/_5sdp\"\n        android:padding=\"@dimen/_15sdp\" android:background=\"@drawable/details_background\"\n        android:gravity=\"center\">\n        <LinearLayout\n            android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\" android:weightSum=\"2\">\n            <TextView\n                android:layout_width=\"0dp\"\n                android:layout_height=\"match_parent\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_15ssp\"\n                android:textColor=\"@color/black\"\n                android:text=\"Name\"/>\n\n            <TextView\n                android:id=\"@+id/name_of_founder\"\n                android:layout_width=\"0dp\"\n                android:layout_height=\"match_parent\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_15ssp\"\n                android:text=\"Ahmed\"\n                android:gravity=\"end\"/>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\"\n            android:layout_margin=\"@dimen/_5sdp\">\n            <View\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"@dimen/_1sdp\"\n                android:background=\"#6FFF5722\"/>\n        </LinearLayout>\n        <LinearLayout\n            android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\" android:weightSum=\"3\">\n            <TextView\n\n                android:layout_width=\"0dp\"\n                android:layout_height=\"match_parent\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_15ssp\"\n                android:textColor=\"@color/black\"\n                android:text=\"E-mail\"/>\n            <TextView\n                android:id=\"@+id/mail_of_founder\"\n                android:layout_width=\"0dp\"\n                android:layout_height=\"@dimen/_40sdp\"\n                android:layout_weight=\"2\"\n                android:textSize=\"@dimen/_15ssp\"\n                android:text=\"ahmed22@gmail.com\"\n                android:gravity=\"end\"/>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\"\n            android:layout_margin=\"@dimen/_5sdp\">\n            <View\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"@dimen/_1sdp\"\n                android:background=\"#6FFF5722\"/>\n        </LinearLayout>\n        <LinearLayout\n            android:orientation=\"horizontal\" android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\" android:weightSum=\"2\">\n            <TextView\n                android:layout_width=\"0dp\"\n                android:layout_height=\"match_parent\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_15ssp\"\n                android:textColor=\"@color/black\"\n                android:text=\"@string/PhoneNumber\"/>\n            <TextView\n                android:id=\"@+id/phone_of_founder\"\n                android:layout_width=\"0dp\"\n                android:layout_height=\"match_parent\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_15ssp\"\n                android:text=\"01234567890\"\n                android:gravity=\"end\"/>\n        </LinearLayout>\n    </LinearLayout>\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        android:gravity=\"center\">\n        <Button\n            android:id=\"@+id/call_button\"\n            android:layout_width=\"@dimen/_100sdp\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Call\"\n            android:textColor=\"@color/white\"\n            android:background=\"@drawable/details_btns\"\n            android:textAllCaps=\"false\"\n            android:layout_margin=\"@dimen/_15sdp\"/>\n        <Button\n            android:id=\"@+id/mail_button\"\n            android:layout_width=\"@dimen/_100sdp\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Send mail\"\n            android:textColor=\"@color/white\"\n            android:background=\"@drawable/details_btns\"\n            android:textAllCaps=\"false\"\n            android:layout_margin=\"@dimen/_15sdp\"/>\n    </LinearLayout>\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/fragment_home.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    android:padding=\"@dimen/_15sdp\"\n    tools:context=\".ui.HomeFragment\">\n\n    <TextView\n        android:id=\"@+id/hi_message\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:textSize=\"@dimen/_15ssp\"\n        android:textColor=\"#2E2E2E\"\n        android:text=\"@string/Hi_message\"\n        android:layout_marginBottom=\"@dimen/_4ssp\"/>\n    <TextView\n        android:id=\"@+id/daily_message\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:textSize=\"@dimen/_18ssp\"\n        android:textColor=\"#2E2E2E\"\n        android:text=\"@string/Daily_message\"\n        android:layout_marginBottom=\"@dimen/_8sdp\"/>\n\n\n    <ExpandableListView\n        android:id=\"@+id/expanded_menu\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n    </ExpandableListView>\n\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/fragment_map.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <TextView android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"Guess where you might have lost your item\"\n        android:gravity=\"center\"\n        android:textColor=\"@android:color/black\"\n        android:background=\"@color/orange\"\n        android:padding=\"@dimen/_5sdp\"/>\n    <fragment\n        android:id=\"@+id/map\"\n        android:name=\"com.google.android.gms.maps.SupportMapFragment\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        tools:context=\".ui.FoundMapFragment\" />\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/fragment_match.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<FrameLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".ui.MatchFragment\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:paddingTop=\"@dimen/_20sdp\"\n        android:padding=\"@dimen/_10sdp\"\n        android:background=\"#59CAC6C4\"\n        android:orientation=\"vertical\">\n        <ListView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:background=\"#ffffff\"\n            android:layout_marginTop=\"@dimen/_20sdp\"\n            android:id=\"@+id/lisView\"\n            android:divider=\"#59CAC6C4\"\n            android:dividerHeight=\"@dimen/_16sdp\"/>\n\n    </LinearLayout>\n</FrameLayout>"
  },
  {
    "path": "app/src/main/res/layout/fragment_object.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"vertical\"\n    tools:context=\".ui.lostFoundObject.PersonFragment\"\n    >\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:textColor=\"@android:color/black\"\n        android:textSize=\"@dimen/_20ssp\"\n        android:textStyle=\"bold\"\n        android:gravity=\"center\"\n        android:text=\"@string/AddItemDetails\" />\n\n    <Spinner\n        android:id=\"@+id/spinner\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\" />\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:id=\"@+id/other\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        android:visibility=\"gone\"\n        >\n        <EditText\n            android:id=\"@+id/Other\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/type\"\n            android:autofillHints=\"@string/City\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        >\n        <EditText\n            android:id=\"@+id/Serial\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/SerialID\"\n            android:autofillHints=\"@string/City\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        >\n        <EditText\n            android:id=\"@+id/brand\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/TheBrand\"\n            android:autofillHints=\"@string/TheBrand\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        >\n        <AutoCompleteTextView\n            android:id=\"@+id/ColorOfObject\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/ColorOfObject\"\n            android:autofillHints=\"@string/ColorOfObject\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <CheckBox\n        android:id=\"@+id/checkIcon\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"@string/ImageItem\"\n        android:layout_margin=\"@dimen/_10sdp\"\n        android:visibility=\"gone\"/>\n\n    <ImageButton\n        android:id=\"@+id/objectImageView\"\n        style=\"@android:style/Widget.ImageButton\"\n        android:layout_width=\"@dimen/_130sdp\"\n        android:background=\"#FFFFFF\"\n        android:layout_height=\"@dimen/_130sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_margin=\"@dimen/_10sdp\"\n        android:scaleType=\"fitCenter\"\n        android:src=\"@drawable/ic_baseline_gallery_24\"\n        android:visibility=\"gone\"\n        />\n        <EditText\n            android:id=\"@+id/textArea_information\"\n            android:layout_width=\"@dimen/_248sdp\"\n            android:layout_height=\"@dimen/_130sdp\"\n            android:hint=\"@string/Description\"\n            android:textColorHighlight=\"#CC888585\"\n            android:background=\"#80FDEF96\"\n            android:gravity=\"top|left\"\n            android:layout_gravity=\"center\"\n            android:textColorHint=\"@color/cardview_dark_background\"\n            android:inputType=\"textMultiLine\"\n            android:overScrollMode=\"always\"\n            android:scrollbarSize=\"@dimen/_5sdp\"\n            android:scrollbars=\"vertical\"\n            android:lines=\"6\"\n            android:padding=\"@dimen/_10sdp\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:scrollHorizontally=\"false\"\n            style=\"@style/Widget.AppCompat.EditText\"/>\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/fragment_person.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:orientation=\"vertical\"\n    tools:context=\".ui.lostFoundObject.PersonFragment\">\n\n    <!-- TODO: Update blank fragment layout -->\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:textColor=\"@android:color/black\"\n        android:textSize=\"@dimen/_20ssp\"\n        android:textStyle=\"bold\"\n        android:layout_marginBottom=\"@dimen/_10sdp\"\n        android:gravity=\"center\"\n        android:text=\"@string/AddPersonDetails\" />\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        >\n        <EditText\n            android:id=\"@+id/PersonName\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/PersonName\"\n            android:autofillHints=\"@string/PersonName\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:textColor=\"@android:color/black\"\n        android:textSize=\"@dimen/_17ssp\"\n        android:layout_marginBottom=\"@dimen/_10sdp\"\n        android:gravity=\"center\"\n        android:text=\"@string/AddImageOfPerson\" />\n    <ProgressBar\n        android:layout_width=\"@dimen/_70sdp\"\n        android:layout_height=\"@dimen/_80sdp\"\n        android:layout_gravity=\"center\"\n        android:id=\"@+id/CheckImages\"\n        />\n    <Button\n        android:id=\"@+id/add_new__photo\"\n        android:layout_width=\"@dimen/_70sdp\"\n        android:layout_height=\"@dimen/_80sdp\"\n        android:layout_gravity=\"center\"\n        android:background=\"#00FFFFFF\"\n        android:drawableBottom=\"@drawable/ic_photo\"\n        />\n    <LinearLayout\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        android:id=\"@+id/ADDP\"\n        android:visibility=\"gone\">\n        <HorizontalScrollView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:scrollbars=\"horizontal\"\n            android:fillViewport=\"true\"\n            >\n            <LinearLayout\n                android:id=\"@+id/Gallery2\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"@dimen/_90sdp\"\n                android:orientation=\"horizontal\" >\n            </LinearLayout>\n        </HorizontalScrollView>\n    </LinearLayout>\n    <ImageButton\n        android:id=\"@+id/imageView\"\n        style=\"@android:style/Widget.ImageButton\"\n        android:layout_width=\"@dimen/_130sdp\"\n        android:background=\"#FFFFFF\"\n        android:layout_height=\"@dimen/_130sdp\"\n        android:layout_gravity=\"center\"\n        android:scaleType=\"fitCenter\"\n        android:src=\"@drawable/ic_baseline_gallery_24\"\n        android:visibility=\"gone\"/>\n\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/fragment_profile.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:context=\".ui.ProfileFragment\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\">\n\n        <LinearLayout\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:padding=\"@dimen/_8sdp\"\n        android:background=\"@drawable/nav_head_color\"\n        android:gravity=\"center\">\n\n        <de.hdodenhof.circleimageview.CircleImageView\n            android:id=\"@+id/profile_pic\"\n            android:layout_width=\"@dimen/_100sdp\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:background=\"@drawable/ic_prof_pic\"\n            android:layout_gravity=\"center\" />\n\n        <TextView\n            android:id=\"@+id/above_name\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:text=\"@string/userName\"\n            android:textStyle=\"bold\"\n            android:textColor=\"@android:color/white\"/>\n\n        <TextView\n            android:id=\"@+id/above_mail\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:text=\"goodpoint@sci.asu.edu.eg\"\n            android:textColor=\"@android:color/white\" />\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:paddingTop=\"@dimen/_10sdp\">\n\n            <LinearLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"vertical\">\n\n                <TextView\n                    android:id=\"@+id/lost_no\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_35sdp\"\n                    android:text=\"0\"\n                    android:textColor=\"@color/black\"\n                    android:textSize=\"@dimen/_20ssp\"\n                    android:textStyle=\"bold\">\n                </TextView>\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"Lost\"\n                    android:textSize=\"@dimen/_14ssp\"\n                    android:paddingLeft=\"@dimen/_25sdp\">\n                </TextView>\n\n\n            </LinearLayout>\n\n            <View\n                android:layout_width=\"@dimen/_1sdp\"\n                android:layout_height=\"@dimen/_50sdp\"\n                android:background=\"#808080\"\n                android:layout_marginLeft=\"@dimen/_35sdp\"/>\n\n            <LinearLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"vertical\">\n\n                <TextView\n                    android:id=\"@+id/match_no\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_55sdp\"\n                    android:text=\"0\"\n                    android:textColor=\"#C4207720\"\n                    android:textSize=\"@dimen/_20ssp\"\n                    android:textStyle=\"bold\">\n                </TextView>\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"Matched\"\n                    android:textSize=\"@dimen/_14ssp\"\n                    android:paddingLeft=\"@dimen/_32sdp\">\n                </TextView>\n\n            </LinearLayout>\n\n            <View\n                android:layout_width=\"@dimen/_1sdp\"\n                android:layout_height=\"@dimen/_50sdp\"\n                android:background=\"#808080\"\n                android:layout_marginLeft=\"@dimen/_30sdp\"/>\n\n            <LinearLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"vertical\">\n\n                <TextView\n                    android:id=\"@+id/found_no\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"0\"\n                    android:textColor=\"@color/black\"\n                    android:textStyle=\"bold\"\n                    android:textSize=\"@dimen/_20ssp\"\n                    android:paddingLeft=\"@dimen/_45sdp\">\n                </TextView>\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"Found\"\n                    android:textSize=\"@dimen/_14ssp\"\n                    android:paddingLeft=\"@dimen/_30sdp\">\n                </TextView>\n\n            </LinearLayout>\n\n\n        </LinearLayout>\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Account Info\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textColor=\"@color/black\"\n            android:textStyle=\"bold\"\n            android:paddingTop=\"@dimen/_10sdp\"\n            android:paddingLeft=\"@dimen/_15sdp\">\n        </TextView>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\"\n            android:layout_marginTop=\"@dimen/_10sdp\">\n            <LinearLayout\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_person_24\"\n                    app:tint=\"#FA5F2F\" />\n                <TextView\n                    android:id=\"@+id/username_p\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"@string/userName\"/>\n            </LinearLayout>\n\n            <LinearLayout\n                android:layout_marginTop=\"@dimen/_15sdp\"\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_email_24\"\n                    app:tint=\"#FA5F2F\" />\n                <TextView\n                    android:id=\"@+id/e_mail\"\n                    android:inputType=\"textEmailAddress\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"goodpoint@sci.asu.edu.eg\"/>\n            </LinearLayout>\n            <LinearLayout\n                android:layout_marginTop=\"@dimen/_15sdp\"\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_phone_android_24\"\n                    app:tint=\"#FA5F2F\"/>\n                <TextView\n                    android:id=\"@+id/phone_p\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"+01271177281\"/>\n            </LinearLayout>\n            <LinearLayout\n                android:layout_marginTop=\"@dimen/_15sdp\"\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_room_24\"\n                    app:tint=\"#FA5F2F\"/>\n                <TextView\n                    android:id=\"@+id/city_p\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"Cairo\"/>\n            </LinearLayout>\n\n            <LinearLayout\n                android:layout_marginTop=\"@dimen/_15sdp\"\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_date_range_24\"\n                    app:tint=\"#FA5F2F\"/>\n                <TextView\n                    android:id=\"@+id/birth_date\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"26/4/1999\"/>\n            </LinearLayout>\n        </LinearLayout>\n\n\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/group_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:orientation=\"vertical\" android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/radius_expand\"\n    android:padding=\"@dimen/_8sdp\">\n\n    <TextView\n        android:id=\"@+id/group\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:paddingLeft=\"@dimen/_23sdp\"\n        android:textSize=\"@dimen/_13ssp\"\n        android:textColor=\"#FD9727\"\n        android:text=\"\" />\n\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/head_nav.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"@dimen/_230sdp\"\n    android:padding=\"@dimen/_8sdp\"\n    android:background=\"@drawable/nav_head_color\"\n    android:gravity=\"bottom\">\n\n    <de.hdodenhof.circleimageview.CircleImageView\n        android:id=\"@+id/circuler_profile_img\"\n        android:layout_width=\"@dimen/_80sdp\"\n        android:layout_height=\"@dimen/_80sdp\"\n        android:layout_gravity=\"center\"\n        android:src=\"@drawable/ic_account_circle\"\n        android:background=\"@drawable/white_oval\"\n        app:civ_border_width=\"@dimen/_3sdp\"\n        app:civ_border_color=\"@android:color/black\"/>\n\n    <TextView\n        android:id=\"@+id/namenav\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/_10sdp\"\n        android:textSize=\"@dimen/_20ssp\" android:text=\"Good Point\"\n        android:textStyle=\"bold\"\n        android:textColor=\"@android:color/white\"/>\n\n    <TextView\n        android:id=\"@+id/mailnav\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/_5sdp\"\n        android:textSize=\"@dimen/_15ssp\" android:text=\"goodpoint@sci.asu.edu.eg\"\n        android:textColor=\"@android:color/white\" />\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/images.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:id=\"@+id/main_widget\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:focusable=\"true\">\n\n    <ImageView\n        android:id=\"@+id/imageView2\"\n        android:layout_width=\"@dimen/_50sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:scaleType=\"fitStart\"\n        android:layout_marginTop=\"13dp\"\n        app:srcCompat=\"@drawable/ic_baseline_add_a_photo_24\" />\n\n    <Button\n        android:id=\"@+id/Close\"\n        android:layout_width=\"@dimen/_17sdp\"\n        android:layout_height=\"@dimen/_17sdp\"\n        android:background=\"#80F38E3A\"\n        android:layout_marginLeft=\"-12dip\"\n        android:layout_marginTop=\"-4dip\"\n        android:gravity=\"center\"\n        android:layout_toRightOf=\"@+id/imageView2\"\n        android:drawableTop=\"@drawable/ic_close\"\n        />\n    <ImageView\n        android:id=\"@+id/faces\"\n        android:layout_width=\"80dp\"\n        android:layout_height=\"80dp\"\n        android:layout_marginLeft=\"10dp\"\n        android:layout_marginRight=\"10dp\"\n        android:layout_marginTop=\"10dp\"\n        />\n</RelativeLayout>"
  },
  {
    "path": "app/src/main/res/layout/images_be_removed.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n    <HorizontalScrollView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:scrollbars=\"horizontal\"\n        android:fillViewport=\"true\"\n        android:layout_marginLeft=\"@dimen/_5sdp\"\n        android:layout_marginRight=\"@dimen/_5sdp\"\n       >\n            <LinearLayout\n                android:layout_marginLeft=\"@dimen/_5sdp\"\n                android:layout_marginRight=\"@dimen/_5sdp\"\n                android:id=\"@+id/RemovedImg\"\n                android:orientation=\"horizontal\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\"\n                />\n    </HorizontalScrollView>\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/layout_sub_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:layout_margin=\"1dp\">\n    <androidx.cardview.widget.CardView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"130dp\"\n        android:layout_centerInParent=\"true\"\n        app:cardCornerRadius=\"4dp\"\n        app:cardElevation=\"1dp\"\n        app:cardMaxElevation=\"2dp\">\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\">\n            <TextView\n                android:id=\"@+id/tv_sub_item_title\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"5dp\"\n                android:layout_marginBottom=\"5dp\"\n                android:text=\"Laptop\"\n                android:fontFamily=\"@font/muli_black\"\n                android:textSize=\"@dimen/_20sdp\"\n                android:textColor=\"#000\" />\n            <TextView\n                android:id=\"@+id/tv_sub_item_des\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"10dp\"\n                android:text=\"@string/Description\"\n                android:fontFamily=\"@font/muli_extralight\"\n                android:textStyle=\"bold\"\n                android:textSize=\"@dimen/_15sdp\"\n                android:textColor=\"#000\" />\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginStart=\"@dimen/_100sdp\"\n            >\n            <TextView\n                android:id=\"@+id/tv_sub_item_percent\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"5dp\"\n                android:layout_marginBottom=\"5dp\"\n                android:paddingLeft=\"@dimen/_20sdp\"\n                android:text=\"percent\"\n                android:layout_gravity=\"center\"\n                android:fontFamily=\"@font/muli_black\"\n                android:textSize=\"@dimen/_15sdp\"\n                android:textColor=\"#000\" />\n            <RadioButton\n                android:id=\"@+id/radioButtonn\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"\"\n                android:layout_gravity=\"center\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n\n                />\n        </LinearLayout>\n    </androidx.cardview.widget.CardView>\n</RelativeLayout>"
  },
  {
    "path": "app/src/main/res/layout/layout_sub_list_items.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:layout_margin=\"1dp\">\n    <androidx.cardview.widget.CardView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_centerInParent=\"true\"\n        app:cardCornerRadius=\"4dp\"\n        app:cardElevation=\"1dp\"\n        app:cardMaxElevation=\"2dp\">\n        <RelativeLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n            <de.hdodenhof.circleimageview.CircleImageView\n                android:id=\"@+id/img_view\"\n                android:layout_width=\"90dp\"\n                android:layout_height=\"90dp\"\n                android:layout_centerHorizontal=\"true\"\n                android:scaleType=\"centerCrop\"\n                android:src=\"@drawable/ic_image\" />\n\n            <RadioButton\n                android:id=\"@+id/radioButton\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"@dimen/_80sdp\"\n                android:layout_marginStart=\"@dimen/_20sdp\"\n                android:text=\"\" />\n\n        </RelativeLayout>\n        </androidx.cardview.widget.CardView>\n</RelativeLayout>"
  },
  {
    "path": "app/src/main/res/layout/multiple_faces_selection.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    tools:context=\".ui.select_multiple_faces.Selection\">\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\">\n        <RelativeLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:background=\"#FF9800\" >\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:fontFamily=\"@font/muli_black\"\n                android:text=\"Select the desired face\"\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_20sdp\"\n                android:textColor=\"@color/white\"\n                android:textSize=\"@dimen/_24ssp\"/>\n        </RelativeLayout>\n\n        <androidx.cardview.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"fill\"\n            android:layout_margin=\"@dimen/_10sdp\"\n            android:paddingTop=\"@dimen/_40sdp\"\n            app:cardCornerRadius=\"@dimen/_50sdp\"\n            app:cardElevation=\"@dimen/_50sdp\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"center_horizontal\"\n                android:orientation=\"vertical\">\n                <ImageView\n                    android:id=\"@+id/ItemImage\"\n                    android:layout_width=\"@dimen/_240sdp\"\n                    android:layout_height=\"@dimen/_220sdp\"\n                    android:layout_row=\"0\"\n                    android:layout_column=\"0\"\n                    android:layout_gravity=\"center_horizontal\"\n                     />\n                <RadioGroup\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_gravity=\"center\"\n                    android:orientation=\"horizontal\"\n                    >\n                <androidx.recyclerview.widget.RecyclerView\n                    android:id=\"@+id/recycler_view_sub_items\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:orientation=\"horizontal\"\n                    android:padding=\"@dimen/_20sdp\" />\n                </RadioGroup>\n\n\n            </LinearLayout>\n        </androidx.cardview.widget.CardView>\n        <Button\n            android:id=\"@+id/Done_btn\"\n            android:layout_margin=\"@dimen/_30sdp\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Next\"\n            android:fontFamily=\"@font/muli_black\"\n            android:textSize=\"@dimen/_15sdp\"\n            android:background=\"@color/orange\"\n            android:textColor=\"@color/black\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            />\n\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/notification_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"horizontal\"\n    android:padding=\"@dimen/_3sdp\"\n    android:id=\"@+id/notification_layout\"\n    xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <LinearLayout\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:layout_margin=\"@dimen/_2sdp\">\n\n        <de.hdodenhof.circleimageview.CircleImageView\n            android:id=\"@+id/notification_image\"\n            android:layout_width=\"@dimen/_75sdp\"\n            android:layout_height=\"@dimen/_75sdp\"/>\n        \n    </LinearLayout>\n\n    <LinearLayout\n        android:layout_width=\"0dp\"\n        android:layout_height=\"match_parent\"\n        android:layout_weight=\"1\"\n        android:layout_margin=\"@dimen/_2sdp\"\n        android:orientation=\"vertical\">\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:paddingHorizontal=\"@dimen/_3sdp\">\n\n            <TextView\n                android:id=\"@+id/notification_title\"\n                android:layout_width=\"0dp\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\" android:text=\"match item\"\n                android:textColor=\"@android:color/black\"\n                android:textStyle=\"bold\"/>\n\n            <TextView\n                android:id=\"@+id/notification_date\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\" android:text=\"10/12/2020\"/>\n        </LinearLayout>\n        <TextView\n            android:id=\"@+id/notification_description\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"0dp\"\n            android:layout_weight=\"1\"\n            android:padding=\"@dimen/_3sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_10ssp\"\n            android:text=\"your item is found with Ahmed Mostafa, click here to communicate with him\"/>\n\n    </LinearLayout>\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/progress_bar_alert.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n<ProgressBar\n    android:layout_width=\"@dimen/_50sdp\"\n    android:layout_height=\"@dimen/_50sdp\"\n    android:layout_gravity=\"center\"\n    android:layout_margin=\"@dimen/_20sdp\"\n    />\n    <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:text=\"Wait....\"\n        android:textColor=\"#F49C3B\"\n        android:textSize=\"@dimen/_20ssp\"\n\n        />\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/r.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/white\"\n    tools:context=\".ui.test\">\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\">\n        <RelativeLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"@dimen/_100sdp\"\n            android:background=\"#FF9800\" >\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:fontFamily=\"@font/muli_black\"\n                android:text=\"Selected facecs\"\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_20sdp\"\n                android:textColor=\"@color/white\"\n                android:textSize=\"@dimen/_24ssp\"/>\n        </RelativeLayout>\n\n        <androidx.cardview.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"fill\"\n            android:layout_margin=\"@dimen/_10sdp\"\n            android:padding=\"@dimen/_20sdp\"\n            app:cardCornerRadius=\"@dimen/_50sdp\"\n            app:cardElevation=\"@dimen/_50sdp\"\n            >\n\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_gravity=\"center_horizontal\"\n                android:orientation=\"vertical\">\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:fontFamily=\"@font/muli_black\"\n                    android:text=\"Faces are saved\"\n                    android:textStyle=\"bold\"\n                    android:textAllCaps=\"true\"\n                    android:layout_marginTop=\"@dimen/_10sdp\"\n                    android:textAlignment=\"center\"\n                    android:gravity=\"center\"\n                    android:layout_gravity=\"center\"\n                    android:textColor=\"@color/black\"\n                    android:textSize=\"@dimen/_25ssp\"\n                    />\n\n                <RadioGroup\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_gravity=\"center_horizontal\"\n                    android:orientation=\"horizontal\"\n                    >\n                    <androidx.recyclerview.widget.RecyclerView\n                        android:id=\"@+id/q\"\n                        android:layout_width=\"wrap_content\"\n                        android:layout_height=\"wrap_content\"\n                        android:orientation=\"horizontal\"\n                        android:padding=\"@dimen/_20sdp\" />\n                </RadioGroup>\n                <ImageView\n                    android:layout_width=\"@dimen/_100sdp\"\n                    android:layout_height=\"@dimen/_100sdp\"\n                    android:layout_gravity=\"center\"\n                    android:paddingTop=\"@dimen/_30sdp\"\n                    app:srcCompat=\"@drawable/ic_baseline_check_circle_24\"\n                    />\n\n            </LinearLayout>\n        </androidx.cardview.widget.CardView>\n        <Button\n            android:id=\"@+id/Save_btn\"\n            android:layout_margin=\"@dimen/_50sdp\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Save\"\n            android:fontFamily=\"@font/muli_black\"\n            android:textSize=\"@dimen/_15sdp\"\n            android:background=\"@color/orange\"\n            android:textColor=\"@color/black\"\n            android:layout_marginTop=\"@dimen/_10sdp\"\n            />\n\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/recycler_view_of_images.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\">\n\n    <androidx.cardview.widget.CardView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"fill\"\n        android:layout_margin=\"@dimen/_10sdp\"\n        android:padding=\"@dimen/_20sdp\"\n        app:cardCornerRadius=\"@dimen/_50sdp\"\n        app:cardElevation=\"@dimen/_50sdp\">\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center_horizontal\"\n            android:orientation=\"vertical\">\n\n            <ImageView\n                android:id=\"@+id/ItemImage\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_row=\"0\"\n                android:layout_column=\"0\"\n                android:layout_gravity=\"center_horizontal\"\n                android:background=\"@drawable/ic_image\" />\n\n                <androidx.recyclerview.widget.RecyclerView\n                    android:id=\"@+id/recycler_view_sub_items\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:orientation=\"horizontal\"\n                    android:padding=\"@dimen/_20sdp\" />\n           \n\n        </LinearLayout>\n    </androidx.cardview.widget.CardView>\n\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout/row.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"horizontal\"\n    android:gravity=\"center\"\n    android:padding=\"@dimen/_5sdp\"\n    android:layout_margin=\"@dimen/_13sdp\"\n    android:layout_centerHorizontal=\"true\">\n    <LinearLayout\n        android:layout_width=\"@dimen/_150sdp\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\">\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/ObjStat\"\n            android:layout_marginTop=\"@dimen/_15sdp\"\n            android:textSize=\"@dimen/_15sdp\"\n            android:textColor=\"@color/black\"\n            android:fontFamily=\"@font/roboto_bold\"\n            android:layout_marginBottom=\"@dimen/_30sdp\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/status\"\n            android:textColor=\"@color/orange\"/>\n        <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n            android:text=\"Its owner has been found\"\n            android:textSize=\"@dimen/_13sdp\"\n            android:id=\"@+id/status\"/>\n\n\n    </LinearLayout>\n    <LinearLayout\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:layout_marginLeft=\"@dimen/_30sdp\">\n        <ImageView\n            android:layout_width=\"@dimen/_60sdp\"\n            android:layout_height=\"@dimen/_50sdp\"\n            android:src=\"@drawable/ic_baseline_gallery_24\"\n            android:layout_marginLeft=\"@dimen/_30sdp\"\n            android:id=\"@+id/obj\"/>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"@dimen/_20sdp\"\n            android:text=\"@string/objDetails\"\n            android:textColor=\"#0000ff\"\n            android:tag=\"@string/status\"\n            android:textSize=\"@dimen/_14sdp\"\n           android:id=\"@+id/details\"/>\n    </LinearLayout>\n\n</LinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/rr.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:layout_margin=\"1dp\">\n    <androidx.cardview.widget.CardView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_centerInParent=\"true\"\n        app:cardCornerRadius=\"4dp\"\n        app:cardElevation=\"1dp\"\n        app:cardMaxElevation=\"2dp\">\n        <RelativeLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\">\n            <de.hdodenhof.circleimageview.CircleImageView\n                android:id=\"@+id/img1_view\"\n                android:layout_width=\"90dp\"\n                android:layout_height=\"90dp\"\n                android:layout_centerHorizontal=\"true\"\n                android:scaleType=\"centerCrop\"\n                android:src=\"@drawable/ic_image\" />\n        </RelativeLayout>\n    </androidx.cardview.widget.CardView>\n</RelativeLayout>"
  },
  {
    "path": "app/src/main/res/layout/slider_page1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/light_white\"\n    >\n<RelativeLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:foregroundTint=\"#7C1010\"\n    android:layout_gravity=\"center_horizontal\"\n    android:background=\"@color/light_white\"\n    >\n\n    <ImageView\n        android:id=\"@+id/imageView7\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/_150sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_location_on_24\" />\n    <ImageView\n        android:id=\"@+id/imageView9\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/_80sdp\"\n        android:layout_marginStart=\"@dimen/_17sdp\"\n        android:layout_marginTop=\"@dimen/_25sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_search_24\"\n       />\n\n    <TextView\n        android:id=\"@+id/textView2\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_below=\"@+id/imageView7\"\n        android:fontFamily=\"@font/muli_black\"\n        android:layout_marginTop=\"@dimen/_40sdp\"\n        android:text=\"Good Point\"\n       android:gravity=\"center\"\n        android:layout_centerHorizontal=\"true\"\n        android:textAlignment=\"center\"\n        android:textColor=\"#6D7B95\"\n        android:textSize=\"@dimen/_30ssp\" />\n\n\n\n\n    <ImageView\n        android:id=\"@+id/imageView17\"\n        android:layout_width=\"@dimen/_35sdp\"\n        android:layout_height=\"@dimen/_35sdp\"\n        android:layout_marginStart=\"@dimen/_135sdp\"\n        android:layout_centerHorizontal=\"true\"\n        android:layout_marginTop=\"@dimen/_39sdp\"\n        app:srcCompat=\"@drawable/circle2\" />\n</RelativeLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/slider_page2.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/background\"\n    >\n<RelativeLayout\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:layout_gravity=\"center_horizontal\"\n    android:background=\"@color/transparent\"\n   >\n    <ImageView\n        android:id=\"@+id/imageView10\"\n        android:layout_width=\"@dimen/_140sdp\"\n        android:layout_height=\"200dp\"\n        android:layout_marginTop=\"@dimen/_10sdp\"\n        android:layout_marginStart=\"@dimen/_135sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_location_on_243\"\n        />\n\n    <ImageView\n        android:id=\"@+id/imageView9\"\n        android:layout_width=\"@dimen/_140sdp\"\n        android:layout_height=\"200dp\"\n        android:layout_marginTop=\"@dimen/_10sdp\"\n        android:layout_marginStart=\"@dimen/_39sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_location_on_241\"\n         />\n\n    <ImageView\n        android:id=\"@+id/imageView12\"\n        android:layout_width=\"@dimen/_140sdp\"\n        android:layout_height=\"@dimen/_190sdp\"\n        android:layout_marginTop=\"@dimen/_30sdp\"\n        android:layout_marginStart=\"@dimen/_85sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_location_on_242\"\n />\n\n    <TextView\n        android:id=\"@+id/textView2\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:fontFamily=\"@font/muli_black\"\n        android:text=\"@string/HelpOthers\"\n        android:layout_marginTop=\"@dimen/_20sdp\"\n        android:gravity=\"center\"\n        android:textAlignment=\"center\"\n        android:layout_below=\"@+id/imageView12\"\n        android:textAllCaps=\"true\"\n        android:textColor=\"#0F1010\"\n        android:textSize=\"@dimen/_20ssp\"\n       />\n\n\n\n\n    <ImageView\n        android:id=\"@+id/imageView2\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_55sdp\"\n        android:layout_marginStart=\"@dimen/_82sdp\"\n        app:srcCompat=\"@drawable/ellipse\" />\n\n    <ImageView\n        android:id=\"@+id/imageView3\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_91sdp\"\n        android:layout_marginStart=\"@dimen/_130sdp\"\n        app:srcCompat=\"@drawable/ellipse\" />\n\n    <ImageView\n        android:id=\"@+id/imageView4\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_55sdp\"\n        android:layout_marginStart=\"@dimen/_180sdp\"\n        app:srcCompat=\"@drawable/ellipse\" />\n\n    <ImageView\n        android:id=\"@+id/imageView5\"\n        android:layout_width=\"@dimen/_30sdp\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_55sdp\"\n        android:layout_marginStart=\"@dimen/_92sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_phone_android_24\" />\n\n    <ImageView\n        android:id=\"@+id/imageView6\"\n        android:layout_width=\"@dimen/_30sdp\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_55sdp\"\n        android:layout_marginStart=\"@dimen/_190sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_business_center_24\" />\n\n    <ImageView\n        android:id=\"@+id/imageView11\"\n        android:layout_width=\"@dimen/_35sdp\"\n        android:layout_height=\"@dimen/_39sdp\"\n        android:layout_marginStart=\"@dimen/_138sdp\"\n        android:layout_marginTop=\"@dimen/_93sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_person_24\" />\n\n\n</RelativeLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/slider_page3.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/background2\"\n    >\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"@dimen/_562sdp\"\n    android:startColor=\"#FFEB3B\"\n    android:endColor=\"#FF9800\"\n    android:layout_gravity=\"center_horizontal\"\n    android:padding=\"@dimen/_30sdp\"\n    android:background=\"@drawable/background2\"\n    >\n    <TextView\n        android:id=\"@+id/textView4\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_below=\"@+id/imageView13\"\n        android:fontFamily=\"@font/muli_black\"\n        android:text=\"@string/find_your_missed\"\n        android:textAlignment=\"center\"\n        android:gravity=\"center\"\n        android:layout_marginTop=\"@dimen/_49sdp\"\n       android:layout_centerInParent=\"true\"\n        android:textAllCaps=\"true\"\n        android:textColor=\"#0F1010\"\n        android:textSize=\"@dimen/_20ssp\" />\n\n    <TextView\n        android:id=\"@+id/textView5\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"match_parent\"\n        android:fontFamily=\"@font/muli_black\"\n        android:text=\"@string/item_easy\"\n        android:layout_marginTop=\"@dimen/_4sdp\"\n        android:textAlignment=\"center\"\n      android:gravity=\"center\"\n        android:layout_centerInParent=\"true\"\n        android:textAllCaps=\"true\"\n        android:layout_below=\"@+id/textView4\"\n        android:textColor=\"#0F1010\"\n        android:textSize=\"@dimen/_20ssp\"\n  />\n    <ImageView\n        android:id=\"@+id/imageView13\"\n        android:layout_width=\"@dimen/_160sdp\"\n        android:layout_height=\"@dimen/_150sdp\"\n        android:layout_marginTop=\"@dimen/_20sdp\"\n        android:layout_centerHorizontal=\"true\"\n        app:srcCompat=\"@drawable/circle\" />\n\n    <ImageView\n        android:id=\"@+id/imageView14\"\n        android:layout_width=\"@dimen/_110sdp\"\n        android:layout_height=\"@dimen/_120sdp\"\n        android:layout_marginTop=\"@dimen/_35sdp\"\n        android:layout_centerHorizontal=\"true\"\n        app:srcCompat=\"@drawable/ic_baseline_phone_android_24\" />\n\n    <ImageView\n        android:id=\"@+id/imageView16\"\n        android:layout_width=\"@dimen/_100sdp\"\n        android:layout_height=\"@dimen/_100sdp\"\n        android:layout_marginTop=\"@dimen/_49sdp\"\n        android:layout_marginStart=\"@dimen/_90sdp\"\n        android:layout_centerHorizontal=\"true\"\n        app:srcCompat=\"@drawable/ic_baseline_search_241\" />\n\n</RelativeLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout/spinner_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<TextView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:textSize=\"@dimen/_16ssp\"\n    android:gravity=\"left\"\n    android:textColor=\"#000000\"\n    android:padding=\"5dip\"\n    />"
  },
  {
    "path": "app/src/main/res/layout/tfe_od_activity_camera.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n-->\n\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"#00000000\"\n    android:orientation=\"vertical\">\n    <FrameLayout\n        android:id=\"@+id/container\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/_450sdp\" />\n\n    <ImageButton\n        android:id=\"@+id/Crop\"\n        android:layout_width=\"@dimen/_80sdp\"\n        android:layout_height=\"@dimen/_55sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginTop=\"@dimen/_20sdp\"\n        android:background=\"#00FFFFFF\"\n        android:src=\"@drawable/ic_realcam\"\n        />\n</LinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/tfe_od_camera_connection_fragment_tracking.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n-->\n<FrameLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n   <com.helloworld.goodpoint.detection.customview.AutoFitTextureView\n       android:id=\"@+id/texture\"\n       android:layout_width=\"match_parent\"\n       android:layout_height=\"match_parent\"\n       />\n   <com.helloworld.goodpoint.detection.customview.OverlayView\n       android:id=\"@+id/tracking_overlay\"\n       android:layout_width=\"match_parent\"\n       android:layout_height=\"match_parent\"\n       />\n</FrameLayout>\n"
  },
  {
    "path": "app/src/main/res/layout-land/activity_action.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"horizontal\"\n    tools:context=\".ui.ActionActivity\"\n    android:background=\"#ffffff\">\n\n    <RelativeLayout\n        android:layout_weight=\".5\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:background=\"@drawable/nav_head_color\">\n\n        <Button\n            android:id=\"@+id/button_lost\"\n            android:layout_width=\"@dimen/_120sdp\"\n            android:layout_height=\"@dimen/_110sdp\"\n            android:layout_centerInParent=\"true\"\n            android:background=\"@drawable/buttons\"\n            android:shadowColor=\"#000000\"\n            android:text=\"@string/button_lost\"\n            android:textColor=\"#FA5F2F\"\n            android:textSize=\"@dimen/_25ssp\"\n            app:backgroundTint=\"#FFFFFF\"\n            android:onClick=\"lost_btn\"/>\n    </RelativeLayout>\n\n    <RelativeLayout\n        android:layout_weight=\".5\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\">\n\n        <Button\n            android:id=\"@+id/button_found\"\n            android:layout_width=\"@dimen/_120sdp\"\n            android:layout_height=\"@dimen/_110sdp\"\n            android:layout_centerInParent=\"true\"\n            android:background=\"@drawable/buttons\"\n            android:shadowColor=\"#000000\"\n            android:text=\"@string/button_found\"\n            android:textColor=\"#ffffff\"\n            android:textSize=\"@dimen/_25ssp\"\n            android:onClick=\"found_btn\"/>\n    </RelativeLayout>\n</LinearLayout>\n"
  },
  {
    "path": "app/src/main/res/layout-land/activity_found_object.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/ic_background\"\n    >\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\"\n        tools:context=\".ui.lostFoundObject.LostObjectDetailsActivity\">\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_25sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textStyle=\"bold\"\n            android:text=\"@string/ObjectFound\" />\n        <LinearLayout\n            android:layout_width=\"@dimen/_300sdp\"\n            android:layout_height=\"match_parent\"\n            android:layout_gravity=\"center\"\n            android:layout_marginLeft=\"@dimen/_30sdp\"\n            android:layout_marginRight=\"@dimen/_30sdp\"\n            android:orientation=\"horizontal\"\n            >\n\n            <TextView\n                android:layout_width=\"@dimen/_186sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_marginRight=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/dateOfFound\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_14ssp\" />\n\n            <TextView\n                android:id=\"@+id/DateFound\"\n                android:layout_width=\"@dimen/_150sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_weight=\"1\"\n                android:layout_marginLeft=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:gravity=\"center\"\n                android:background=\"#66B1BABA\"/>\n\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"@dimen/_300sdp\"\n            android:layout_height=\"match_parent\"\n            android:layout_gravity=\"center\"\n            android:layout_marginLeft=\"@dimen/_15sdp\"\n            android:layout_marginTop=\"@dimen/_15sdp\"\n            android:layout_marginRight=\"@dimen/_15sdp\"\n            android:orientation=\"horizontal\"\n            >\n            <Button\n                android:id=\"@+id/FoundLocatin\"\n                android:layout_width=\"@dimen/_100sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_marginRight=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/ObjectLocation\"\n                android:textSize=\"@dimen/_11ssp\"\n                android:textColor=\"@android:color/black\"\n                android:drawableStart=\"@drawable/ic_baseline_location_on_24\"\n                android:background=\"@drawable/custom_button_location\"\n                android:textAllCaps=\"false\"\n                />\n            <EditText\n                android:id=\"@+id/Location\"\n                android:layout_width=\"@dimen/_200sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_weight=\"1\"\n                android:layout_marginLeft=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_12ssp\"\n                android:singleLine=\"true\"\n                android:inputType=\"none\"\n                android:cursorVisible=\"false\"\n                android:focusableInTouchMode=\"false\"\n                android:scrollbars=\"horizontal\"\n                android:gravity=\"center\"\n                />\n            <ProgressBar\n                android:layout_width=\"@dimen/_25sdp\"\n                android:layout_height=\"wrap_content\"\n                android:id=\"@+id/ProgressBar\"\n                android:visibility=\"gone\"\n                />\n        </LinearLayout>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_25sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textStyle=\"bold\"\n            android:text=\"@string/TypeOfTheObject\" />\n\n        <LinearLayout\n            android:layout_width=\"@dimen/_200sdp\"\n            android:layout_gravity=\"center\"\n            android:layout_height=\"match_parent\"\n            android:orientation=\"horizontal\">\n            <Button\n                android:id=\"@+id/PersonFound\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:text=\"@string/Person\"\n                android:textAllCaps=\"false\"/>\n            <Button\n                android:id=\"@+id/ObjectFound\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:text=\"@string/Item\"\n                android:textAllCaps=\"false\"/>\n        </LinearLayout>\n        <FrameLayout\n            android:id=\"@+id/FragmentFoundID\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_20sdp\"\n            />\n        <Button\n            android:id=\"@+id/MatchFound\"\n            android:layout_width=\"@dimen/_190sdp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_weight=\"1\"\n            android:layout_marginBottom=\"@dimen/_10sdp\"\n            android:background=\"@drawable/custom_button\"\n            android:text=\"@string/Match\"\n            android:textColor=\"#EFEDED\"\n            android:textSize=\"@dimen/_15ssp\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout-land/activity_lost_object_details.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/ic_rotat_image\"\n    >\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\"\n        tools:context=\".ui.lostFoundObject.LostObjectDetailsActivity\">\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_25sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textStyle=\"bold\"\n            android:text=\"@string/ObjectMissing\" />\n        <com.google.android.material.textfield.TextInputLayout\n            android:layout_width=\"@dimen/_248sdp\"\n            android:layout_height=\"@dimen/_50sdp\"\n            android:layout_gravity=\"center\"\n            android:layout_marginBottom=\"@dimen/_17sdp\"\n            android:textSize=\"@dimen/_15ssp\"\n            app:boxCornerRadiusBottomStart=\"5dp\"\n            >\n            <AutoCompleteTextView\n                android:id=\"@+id/auto\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"@dimen/_45sdp\"\n                android:ellipsize=\"end\"\n                android:maxLines=\"1\"\n                android:textSize=\"@dimen/_15ssp\"\n                android:hint=\"@string/City\"\n                android:autofillHints=\"@string/City\"\n                android:inputType=\"text\"\n                />\n        </com.google.android.material.textfield.TextInputLayout>\n        <LinearLayout\n            android:layout_width=\"@dimen/_250sdp\"\n            android:layout_height=\"match_parent\"\n            android:layout_marginLeft=\"@dimen/_30sdp\"\n            android:layout_marginRight=\"@dimen/_30sdp\"\n            android:orientation=\"horizontal\"\n            android:layout_gravity=\"center\"\n            >\n\n            <TextView\n                android:layout_width=\"@dimen/_100sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_marginRight=\"@dimen/_5sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:layout_weight=\"1\"\n                android:text=\"@string/dateOfMissing\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_14ssp\" />\n\n            <TextView\n                android:id=\"@+id/Date\"\n                android:layout_width=\"@dimen/_150sdp\"\n                android:layout_height=\"@dimen/_30sdp\"\n                android:layout_weight=\"1\"\n                android:layout_marginLeft=\"@dimen/_10sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:gravity=\"center\"\n                android:background=\"#66B1BABA\"/>\n\n        </LinearLayout>\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_25sdp\"\n            android:textColor=\"@android:color/black\"\n            android:textSize=\"@dimen/_20ssp\"\n            android:textStyle=\"bold\"\n            android:text=\"@string/TypeOfTheObject\" />\n\n        <LinearLayout\n            android:layout_width=\"@dimen/_200sdp\"\n            android:layout_gravity=\"center\"\n            android:layout_height=\"match_parent\"\n            android:orientation=\"horizontal\">\n            <Button\n                android:id=\"@+id/Person\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:text=\"@string/Person\"\n                android:textAllCaps=\"false\"/>\n            <Button\n                android:id=\"@+id/Object\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_weight=\"1\"\n                android:textSize=\"@dimen/_14ssp\"\n                android:text=\"@string/Item\"\n                android:textAllCaps=\"false\"/>\n        </LinearLayout>\n        <FrameLayout\n            android:id=\"@+id/FragmentID\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_margin=\"@dimen/_20sdp\"\n            />\n        <Button\n            android:id=\"@+id/Match\"\n            android:layout_width=\"@dimen/_190sdp\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:layout_weight=\"1\"\n            android:layout_marginBottom=\"@dimen/_10sdp\"\n            android:background=\"@drawable/custom_button\"\n            android:text=\"@string/Match\"\n            android:textColor=\"#EFEDED\"\n            android:textSize=\"@dimen/_15ssp\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout-land/activity_main.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:context=\".ui.MainActivity\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    android:gravity=\"center\"\n    android:background=\"@drawable/ic_rotat_image\">\n\n    <ImageView\n        android:id=\"@+id/splash_icon\"\n        android:layout_width=\"@dimen/_150sdp\"\n        android:layout_height=\"@dimen/_150sdp\"\n        android:src=\"@drawable/application_icon\"\n        />\n\n    <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:textColor=\"@color/orange\"\n        android:textSize=\"@dimen/_30sdp\"\n        android:fontFamily=\"@font/muli_black\"\n        android:layout_marginTop=\"@dimen/_20sdp\"\n        android:text=\"@string/GoodPoint\" />\n\n</LinearLayout>\n\n"
  },
  {
    "path": "app/src/main/res/layout-land/activity_signin.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".ui.SigninActivity\"\n    android:background=\"@drawable/ic_home_background\"\n    android:layout_gravity = \"center\">\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation = \"vertical\">\n    <TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:textColor=\"#ffffff\"\n        android:textSize=\"@dimen/_25sdp\"\n        android:layout_marginTop=\"@dimen/_15sdp\"\n        android:layout_marginLeft=\"@dimen/_250sdp\"\n        android:text=\"Good Point\"/>\n    <LinearLayout\n        android:layout_width=\"@dimen/_400sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        android:layout_marginTop=\"@dimen/_50sdp\"\n        android:layout_marginLeft=\"@dimen/_15sdp\">\n        <ImageView\n            android:layout_marginTop=\"20dp\"\n            android:layout_marginRight=\"10dp\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:src=\"@drawable/ic_baseline_person_24\"/>\n        <com.google.android.material.textfield.TextInputLayout\n            android:id=\"@+id/username\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\">\n            <EditText\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:hint=\"@string/Email\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:inputType=\"text\"\n                android:id=\"@+id/Name\" />\n        </com.google.android.material.textfield.TextInputLayout>\n    </LinearLayout>\n\n\n    <LinearLayout\n        android:layout_width=\"@dimen/_400sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginLeft=\"@dimen/_15sdp\"\n        android:orientation=\"horizontal\">\n        <ImageView\n            android:layout_marginTop = \"@dimen/_20sdp\"\n            android:layout_marginRight = \"@dimen/_10sdp\"\n            android:layout_width = \"wrap_content\"\n            android:layout_height = \"wrap_content\"\n            android:src = \"@drawable/ic_baseline_lock_24\"/>\n        <com.google.android.material.textfield.TextInputLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\">\n            <EditText\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginRight=\"@dimen/_20sdp\"\n                android:hint=\"@string/Password\"\n                android:inputType=\"textWebPassword\"\n                android:id=\"@+id/pass\"/>\n        </com.google.android.material.textfield.TextInputLayout>\n    </LinearLayout>\n    <Button\n        android:layout_gravity=\"center\"\n        android:layout_marginTop=\"@dimen/_30sdp\"\n        android:layout_width=\"@dimen/_180sdp\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:textSize=\"@dimen/_15sdp\"\n        android:text=\"@string/SignIn\"\n        android:background=\"@drawable/oval\"\n        android:textColor=\"#ffffff\"\n        android:id=\"@+id/signin\"/>\n    <LinearLayout\n        android:layout_width=\"@dimen/_400sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"@dimen/_10sdp\">\n        <CheckBox\n            android:id=\"@+id/checkbox\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/RememberMe\"\n            android:layout_marginLeft=\"@dimen/_10sdp\" />\n        <TextView\n            android:layout_width = \"wrap_content\"\n            android:layout_height = \"wrap_content\"\n            android:text = \"@string/ForgetPassword\"\n            android:textColor = \"#F49C3B\"\n            android:layout_marginLeft = \"@dimen/_180sdp\"\n            android:textSize = \"@dimen/_11sdp\"\n            android:autoLink = \"web\" android:id=\"@+id/forgetPass\"\n            android:layout_centerInParent =\"true\"\n            android:linksClickable=\"true\" />\n    </LinearLayout>\n    <!-- <LinearLayout\n         android:layout_width=\"@dimen/_400sdp\"\n         android:layout_gravity=\"center\"\n         android:layout_height=\"wrap_content\"\n         android:orientation=\"horizontal\"\n         android:layout_marginTop=\"@dimen/_10sdp\">\n         <view\n             android:layout_width=\"@dimen/_95sdp\"\n             android:layout_height=\"@dimen/_2sdp\"\n             android:layout_marginTop=\"@dimen/_9sdp\"\n             android:layout_marginRight=\"@dimen/_20sdp\"\n             android:layout_marginLeft=\"@dimen/_15sdp\"\n             />\n         <TextView\n             android:layout_width=\"wrap_content\"\n             android:layout_height=\"wrap_content\"\n             android:textSize=\"@dimen/_13sdp\"\n             android:layout_gravity=\"center\"\n             android:layout_marginLeft=\"@dimen/_15sdp\"\n             android:text=\"@string/or\"/>\n         <view\n             android:layout_width=\"@dimen/_100sdp\"\n             android:layout_height=\"@dimen/_2sdp\"\n             android:layout_marginLeft=\"@dimen/_50sdp\"\n             android:layout_marginTop=\"@dimen/_9sdp\"\n             android:layout_marginRight=\"@dimen/_20sdp\"/>\n\n     </LinearLayout>-->\n    <Button\n        android:layout_gravity=\"center\"\n        android:layout_marginTop=\"@dimen/_30sdp\"\n        android:layout_width=\"@dimen/_190sdp\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:textSize=\"@dimen/_15sdp\"\n        android:text=\"@string/CreateNewAccount\"\n        android:textColor=\"#ffffff\"\n        android:background=\"@drawable/custom_button\"\n        android:id=\"@+id/NewAccount\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout-land/activity_signup.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".ui.SignupActivity\"\n    android:layout_gravity=\"center\"\n    android:background=\"@drawable/ic_signup\"\n    >\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\">\n\n        <de.hdodenhof.circleimageview.CircleImageView\n            android:layout_width=\"@dimen/_150sdp\"\n            android:layout_height=\"@dimen/_120sdp\"\n            android:src=\"@drawable/ic_baseline_account_circle_150\"\n            android:layout_gravity=\"center\"\n            android:id=\"@+id/im\"\n            android:layout_marginTop=\"@dimen/_20sdp\"/>\n        <LinearLayout\n            android:layout_width=\"@dimen/_400sdp\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_margin=\"@dimen/_10sdp\"\n            android:layout_marginTop=\"@dimen/_20sdp\"\n          android:layout_gravity=\"center\" >\n            <ImageView\n\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:src=\"@drawable/ic_baseline_person_24\"/>\n\n            <com.google.android.material.textfield.TextInputLayout\n                android:id=\"@+id/username\"\n                android:layout_width=\"@dimen/_380sdp\"\n                android:layout_height=\"wrap_content\">\n\n                <EditText\n                    android:id=\"@+id/Name\"\n                    android:layout_width=\"382dp\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:hint=\"@string/UserName\"\n                    android:inputType=\"text\" />\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"@dimen/_400sdp\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_15sdp\"\n            android:layout_margin=\"@dimen/_10sdp\"\n            android:layout_gravity=\"center\">\n            <ImageView\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:src=\"@drawable/ic_baseline_email_24\"/>\n            <com.google.android.material.textfield.TextInputLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n\n                <EditText\n                    android:id=\"@+id/Email\"\n                    android:layout_width=\"382dp\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:hint=\"@string/Email\"\n                    android:inputType=\"textEmailAddress\" />\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"@dimen/_400sdp\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_15sdp\"\n            android:layout_margin=\"@dimen/_10sdp\"\n            android:layout_gravity=\"center\">\n            <ImageView\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:src=\"@drawable/ic_baseline_lock_24\"/>\n            <com.google.android.material.textfield.TextInputLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                app:passwordToggleDrawable=\"@drawable/show_password\"\n                app:passwordToggleEnabled=\"true\">\n\n                <EditText\n                    android:id=\"@+id/Pass\"\n                    android:layout_width=\"385dp\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:hint=\"@string/Password\"\n                    android:imeOptions=\"actionNext\"\n                    android:inputType=\"textWebPassword\" />\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"@dimen/_400sdp\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_15sdp\"\n            android:layout_margin=\"@dimen/_10sdp\"\n            android:layout_gravity=\"center\">\n            <ImageView\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:src=\"@drawable/ic_baseline_phone_android_24\"/>\n            <com.google.android.material.textfield.TextInputLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <EditText\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:hint=\"@string/PhoneNumber\"\n                    android:id=\"@+id/country\"/>\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"@dimen/_400sdp\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_15sdp\"\n            android:layout_margin=\"@dimen/_10sdp\"\n            android:layout_gravity=\"center\">\n            <ImageView\n                android:layout_marginTop=\"@dimen/_20sdp\"\n                android:layout_marginStart=\"@dimen/_5sdp\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:src=\"@drawable/ic_baseline_room_24\"/>\n            <com.google.android.material.textfield.TextInputLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <EditText\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginStart=\"@dimen/_5sdp\"\n                    android:hint=\"@string/City\"\n                    />\n            </com.google.android.material.textfield.TextInputLayout>\n        </LinearLayout>\n        <LinearLayout\n            android:layout_width=\"@dimen/_400sdp\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_15sdp\"\n            android:padding=\"@dimen/_10ssp\"\n            android:layout_margin=\"@dimen/_10sdp\"\n            android:layout_gravity=\"center\">\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:textSize=\"@dimen/_15sdp\"\n                android:textColor=\"#353232\"\n                android:layout_marginTop=\"@dimen/_10sdp\"\n                android:text=\"@string/BirthOfDate\"/>\n            <TextView\n                android:id=\"@+id/Date\"\n                android:layout_width=\"@dimen/_160sdp\"\n                android:layout_height=\"@dimen/_35sdp\"\n                android:layout_marginLeft=\"@dimen/_10sdp\"\n                android:padding=\"@dimen/_5sdp\"\n                android:textColor=\"@android:color/black\"\n                android:textSize=\"20dp\"\n                android:gravity=\"center\"\n                android:layout_marginTop=\"@dimen/_8sdp\"\n                android:background=\"#66B1BABA\"/>\n        </LinearLayout>\n\n        <Button\n            android:layout_width=\"@dimen/_180sdp\"\n            android:layout_height=\"@dimen/_40sdp\"\n            android:layout_marginTop=\"@dimen/_5sdp\"\n            android:text=\"@string/CreateAccount\"\n            android:textColor=\"#ffffff\"\n            android:layout_gravity=\"center\"\n            android:textSize=\"@dimen/_13ssp\"\n            android:background=\"@drawable/custom_button\"\n            android:id=\"@+id/createAccount\"/>\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout-land/activity_welcome.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".ui.WelcomeActivity\">\n\n    <androidx.viewpager.widget.ViewPager\n        android:id=\"@+id/viewpager\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n\n        />\n\n    <LinearLayout\n        android:id=\"@+id/dotsLayout\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_alignParentBottom=\"true\"\n        android:layout_marginStart=\"@dimen/_50sdp\"\n        android:layout_marginTop=\"@dimen/_50sdp\"\n        android:layout_marginEnd=\"@dimen/_5sdp\"\n        android:layout_marginBottom=\"@dimen/_20sdp\"\n        android:gravity=\"center\"\n        android:layout_centerHorizontal=\"true\"\n        android:orientation=\"horizontal\"></LinearLayout>\n    <TextView\n        android:id=\"@+id/Skip\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginStart=\"@dimen/_20sdp\"\n        android:layout_marginTop=\"@dimen/_50sdp\"\n        android:layout_alignParentBottom=\"true\"\n        android:layout_marginBottom=\"@dimen/_15sdp\"\n        android:fontFamily=\"@font/roboto_bold\"\n        android:text=\"@string/skip\"\n        android:textAlignment=\"center\"\n        android:textColor=\"#456191\"\n        android:textSize=\"@dimen/_18ssp\" />\n    <TextView\n        android:id=\"@+id/Nextt\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_alignParentRight=\"true\"\n        android:layout_alignParentBottom=\"true\"\n        android:fontFamily=\"@font/roboto_bold\"\n        android:text=\"@string/next\"\n        android:layout_marginBottom=\"@dimen/_15sdp\"\n        android:textAlignment=\"center\"\n        android:textColor=\"#456191\"\n        android:textSize=\"@dimen/_18sdp\" />\n</RelativeLayout>"
  },
  {
    "path": "app/src/main/res/layout-land/fragment_object.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"vertical\"\n    tools:context=\".ui.lostFoundObject.PersonFragment\"\n    >\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:textColor=\"@android:color/black\"\n        android:textSize=\"@dimen/_20ssp\"\n        android:textStyle=\"bold\"\n        android:gravity=\"center\"\n        android:text=\"@string/AddItemDetails\" />\n\n    <Spinner\n        android:id=\"@+id/spinner\"\n        android:layout_width=\"@dimen/_169sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_height=\"wrap_content\" />\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:id=\"@+id/other\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        android:visibility=\"gone\"\n        >\n        <EditText\n            android:id=\"@+id/Other\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/type\"\n            android:autofillHints=\"@string/City\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        >\n        <EditText\n            android:id=\"@+id/Serial\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/SerialID\"\n            android:autofillHints=\"@string/City\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        >\n        <EditText\n            android:id=\"@+id/brand\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/TheBrand\"\n            android:autofillHints=\"@string/City\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        >\n        <AutoCompleteTextView\n            android:id=\"@+id/ColorOfObject\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/ColorOfObject\"\n            android:autofillHints=\"@string/City\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <CheckBox\n        android:id=\"@+id/checkIcon\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"@string/ImageItem\"\n        android:layout_margin=\"@dimen/_10sdp\"\n        android:visibility=\"gone\"/>\n\n    <ImageButton\n        android:id=\"@+id/objectImageView\"\n        style=\"@android:style/Widget.ImageButton\"\n        android:layout_width=\"@dimen/_130sdp\"\n        android:background=\"#FFFFFF\"\n        android:layout_height=\"@dimen/_130sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_margin=\"@dimen/_10sdp\"\n        android:scaleType=\"fitCenter\"\n        android:src=\"@drawable/ic_baseline_gallery_24\"\n        android:visibility=\"gone\"\n        />\n    <EditText\n        android:id=\"@+id/textArea_information\"\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_130sdp\"\n        android:hint=\"@string/Description\"\n        android:textColorHighlight=\"#CC888585\"\n        android:background=\"#80FDEF96\"\n        android:gravity=\"top|left\"\n        android:layout_gravity=\"center\"\n        android:textColorHint=\"@color/cardview_dark_background\"\n        android:inputType=\"textMultiLine\"\n        android:overScrollMode=\"always\"\n        android:scrollbarSize=\"@dimen/_5sdp\"\n        android:scrollbars=\"vertical\"\n        android:lines=\"6\"\n        android:padding=\"@dimen/_10sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        android:scrollHorizontally=\"false\"\n        style=\"@style/Widget.AppCompat.EditText\"/>\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout-land/fragment_person.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:orientation=\"vertical\"\n    tools:context=\".ui.lostFoundObject.PersonFragment\">\n\n    <!-- TODO: Update blank fragment layout -->\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:textColor=\"@android:color/black\"\n        android:textSize=\"@dimen/_20ssp\"\n        android:textStyle=\"bold\"\n        android:layout_marginBottom=\"@dimen/_10sdp\"\n        android:gravity=\"center\"\n        android:text=\"@string/AddPersonDetails\" />\n    <com.google.android.material.textfield.TextInputLayout\n        android:layout_width=\"@dimen/_248sdp\"\n        android:layout_height=\"@dimen/_50sdp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginBottom=\"@dimen/_17sdp\"\n        android:textSize=\"@dimen/_15ssp\"\n        app:boxCornerRadiusBottomStart=\"5dp\"\n        >\n        <EditText\n            android:id=\"@+id/PersonName\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:ellipsize=\"end\"\n            android:maxLines=\"1\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:hint=\"@string/PersonName\"\n            android:autofillHints=\"@string/PersonName\"\n            android:inputType=\"text\"\n            />\n    </com.google.android.material.textfield.TextInputLayout>\n    <TextView\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:textColor=\"@android:color/black\"\n        android:textSize=\"@dimen/_17ssp\"\n        android:layout_marginBottom=\"@dimen/_10sdp\"\n        android:gravity=\"center\"\n        android:text=\"@string/AddImageOfPerson\" />\n    <Button\n        android:id=\"@+id/add_new__photo\"\n        android:layout_width=\"@dimen/_70sdp\"\n        android:layout_height=\"@dimen/_80sdp\"\n        android:layout_gravity=\"center\"\n        android:background=\"#00FFFFFF\"\n        android:drawableBottom=\"@drawable/ic_photo\"\n        />\n    <LinearLayout\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        android:id=\"@+id/ADDP\"\n        android:visibility=\"gone\">\n        <HorizontalScrollView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:scrollbars=\"horizontal\"\n            android:fillViewport=\"true\"\n            android:layout_margin=\"@dimen/_10sdp\">\n\n            <LinearLayout\n                android:id=\"@+id/Gallery2\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"@dimen/_90sdp\"\n                android:orientation=\"horizontal\" >\n            </LinearLayout>\n        </HorizontalScrollView>\n    </LinearLayout>\n    <ImageButton\n        android:id=\"@+id/imageView\"\n        style=\"@android:style/Widget.ImageButton\"\n        android:layout_width=\"@dimen/_130sdp\"\n        android:background=\"#FFFFFF\"\n        android:layout_height=\"@dimen/_130sdp\"\n        android:layout_gravity=\"center\"\n        android:scaleType=\"fitCenter\"\n        android:src=\"@drawable/ic_baseline_gallery_24\"\n        android:visibility=\"gone\"/>\n\n</LinearLayout>"
  },
  {
    "path": "app/src/main/res/layout-land/fragment_profile.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:context=\".ui.ProfileFragment\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:orientation=\"vertical\">\n\n        <LinearLayout\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:padding=\"@dimen/_8sdp\"\n        android:background=\"@drawable/nav_head_color\"\n        android:gravity=\"center\">\n\n        <de.hdodenhof.circleimageview.CircleImageView\n            android:id=\"@+id/profile_pic\"\n            android:layout_width=\"@dimen/_60sdp\"\n            android:layout_height=\"@dimen/_60sdp\"\n            android:background=\"@drawable/ic_prof_pic\"\n            android:layout_gravity=\"center\" />\n\n        <TextView\n            android:id=\"@+id/name\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:text=\"@string/UserName\"\n            android:textStyle=\"bold\"\n            android:textColor=\"@android:color/white\"/>\n\n        <TextView\n            android:id=\"@+id/mail\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:textSize=\"@dimen/_10ssp\"\n            android:text=\"goodpoint@sci.asu.edu.eg\"\n            android:textColor=\"@android:color/white\" />\n        </LinearLayout>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\"\n            android:layout_marginTop=\"@dimen/_1sdp\">\n\n            <LinearLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"vertical\">\n\n                <TextView\n                    android:id=\"@+id/lost_no\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"0\"\n                    android:textColor=\"@color/black\"\n                    android:textStyle=\"bold\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:paddingLeft=\"@dimen/_90sdp\">\n                </TextView>\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"Lost\"\n                    android:textSize=\"@dimen/_10ssp\"\n                    android:paddingLeft=\"@dimen/_85sdp\">\n                </TextView>\n\n\n            </LinearLayout>\n\n            <View\n                android:layout_width=\"@dimen/_1sdp\"\n                android:layout_height=\"@dimen/_35sdp\"\n                android:background=\"#808080\"\n                android:layout_marginLeft=\"@dimen/_90sdp\"/>\n\n            <LinearLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"vertical\">\n\n                <TextView\n                    android:id=\"@+id/match_no\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_100sdp\"\n                    android:text=\"0\"\n                    android:textColor=\"#00FF00\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:textStyle=\"bold\">\n                </TextView>\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"Matched\"\n                    android:textSize=\"@dimen/_10ssp\"\n                    android:paddingLeft=\"@dimen/_85sdp\">\n                </TextView>\n\n            </LinearLayout>\n\n            <View\n                android:layout_width=\"@dimen/_1sdp\"\n                android:layout_height=\"@dimen/_35sdp\"\n                android:background=\"#808080\"\n                android:layout_marginLeft=\"@dimen/_100sdp\"/>\n\n            <LinearLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"vertical\">\n\n                <TextView\n                    android:id=\"@+id/found_no\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"0\"\n                    android:textColor=\"@color/black\"\n                    android:textStyle=\"bold\"\n                    android:textSize=\"@dimen/_15ssp\"\n                    android:paddingLeft=\"@dimen/_70sdp\">\n                </TextView>\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"Found\"\n                    android:textSize=\"@dimen/_10ssp\"\n                    android:paddingLeft=\"@dimen/_60sdp\">\n                </TextView>\n\n            </LinearLayout>\n\n\n        </LinearLayout>\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"Account Info\"\n            android:textSize=\"@dimen/_15ssp\"\n            android:textColor=\"@color/black\"\n            android:textStyle=\"bold\"\n            android:paddingLeft=\"@dimen/_15sdp\">\n        </TextView>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\"\n            android:layout_marginTop=\"@dimen/_1sdp\">\n            <LinearLayout\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_person_24\"\n                    app:tint=\"#FA5F2F\" />\n                <TextView\n                    android:id=\"@+id/username\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"@string/UserName\"/>\n            </LinearLayout>\n\n            <LinearLayout\n                android:layout_marginTop=\"@dimen/_1sdp\"\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_email_24\"\n                    app:tint=\"#FA5F2F\" />\n                <TextView\n                    android:id=\"@+id/e_mail\"\n                    android:inputType=\"textEmailAddress\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"goodpoint@sci.asu.edu.eg\"/>\n            </LinearLayout>\n            <LinearLayout\n                android:layout_marginTop=\"@dimen/_1sdp\"\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_phone_android_24\"\n                    app:tint=\"#FA5F2F\"/>\n                <TextView\n                    android:id=\"@+id/phone\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"+01271177281\"/>\n            </LinearLayout>\n            <LinearLayout\n                android:layout_marginTop=\"@dimen/_1sdp\"\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_room_24\"\n                    app:tint=\"#FA5F2F\"/>\n                <TextView\n                    android:id=\"@+id/city\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"Cairo\"/>\n            </LinearLayout>\n\n            <LinearLayout\n                android:layout_marginTop=\"@dimen/_1sdp\"\n                android:orientation=\"horizontal\"\n                android:paddingLeft=\"@dimen/_17sdp\"\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\">\n                <ImageView\n                    android:layout_width=\"@dimen/_25sdp\"\n                    android:layout_height=\"@dimen/_25sdp\"\n                    android:src=\"@drawable/ic_baseline_date_range_24\"\n                    app:tint=\"#FA5F2F\"/>\n                <TextView\n                    android:id=\"@+id/birth_date\"\n                    android:textStyle=\"bold\"\n                    android:layout_gravity=\"center_vertical\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:paddingLeft=\"@dimen/_8sdp\"\n                    android:text=\"26/4/1999\"/>\n            </LinearLayout>\n        </LinearLayout>\n\n\n    </LinearLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout-land/slider_page1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@color/light_white\">\n\n    <RelativeLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/_250sdp\"\n        android:layout_gravity=\"center_horizontal\"\n        android:layout_marginTop=\"@dimen/_20sdp\"\n        android:background=\"@color/light_white\"\n        android:foregroundTint=\"#7C1010\">\n\n        <ImageView\n            android:id=\"@+id/imageView7\"\n            android:layout_width=\"@dimen/_200sdp\"\n            android:layout_height=\"@dimen/_150sdp\"\n            app:srcCompat=\"@drawable/ic_baseline_location_on_24\" />\n\n        <ImageView\n            android:id=\"@+id/imageView9\"\n            android:layout_width=\"@dimen/_90sdp\"\n            android:layout_height=\"@dimen/_80sdp\"\n            android:layout_marginStart=\"@dimen/_63sdp\"\n            android:layout_marginTop=\"@dimen/_25sdp\"\n            app:srcCompat=\"@drawable/ic_baseline_search_24\" />\n\n        <TextView\n            android:id=\"@+id/textView2\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_centerHorizontal=\"true\"\n            android:layout_marginTop=\"@dimen/_40sdp\"\n            android:layout_toRightOf=\"@+id/imageView7\"\n            android:fontFamily=\"@font/muli_black\"\n            android:gravity=\"center\"\n            android:text=\"Good Point\"\n            android:textAlignment=\"center\"\n            android:textColor=\"#6D7B95\"\n            android:textSize=\"@dimen/_30ssp\" />\n\n\n        <ImageView\n            android:id=\"@+id/imageView17\"\n            android:layout_width=\"@dimen/_35sdp\"\n            android:layout_height=\"@dimen/_35sdp\"\n            android:layout_marginStart=\"@dimen/_82sdp\"\n            android:layout_marginTop=\"@dimen/_39sdp\"\n            app:srcCompat=\"@drawable/circle2\" />\n    </RelativeLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout-land/slider_page2.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/background\"\n    >\n\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:layout_gravity=\"center_horizontal\"\n    android:background=\"@color/transparent\"\n   >\n    <ImageView\n        android:id=\"@+id/imageView10\"\n        android:layout_width=\"@dimen/_140sdp\"\n        android:layout_height=\"200dp\"\n        android:layout_marginTop=\"@dimen/_10sdp\"\n        android:layout_marginStart=\"@dimen/_135sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_location_on_243\"\n        />\n\n    <ImageView\n        android:id=\"@+id/imageView9\"\n        android:layout_width=\"@dimen/_140sdp\"\n        android:layout_height=\"200dp\"\n        android:layout_marginTop=\"@dimen/_10sdp\"\n        android:layout_marginStart=\"@dimen/_39sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_location_on_241\"\n         />\n\n    <ImageView\n        android:id=\"@+id/imageView12\"\n        android:layout_width=\"@dimen/_140sdp\"\n        android:layout_height=\"@dimen/_190sdp\"\n        android:layout_marginTop=\"@dimen/_30sdp\"\n        android:layout_marginStart=\"@dimen/_85sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_location_on_242\"\n />\n\n    <TextView\n        android:id=\"@+id/textView2\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:fontFamily=\"@font/muli_black\"\n        android:text=\"@string/HelpOthers\"\n        android:layout_marginTop=\"@dimen/_80sdp\"\n        android:gravity=\"center\"\n        android:layout_marginStart=\"@dimen/_20sdp\"\n        android:textAlignment=\"center\"\n        android:layout_toRightOf=\"@+id/imageView12\"\n        android:textAllCaps=\"true\"\n        android:textColor=\"#0F1010\"\n        android:textSize=\"@dimen/_20ssp\"\n       />\n\n\n\n\n    <ImageView\n        android:id=\"@+id/imageView2\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_55sdp\"\n        android:layout_marginStart=\"@dimen/_82sdp\"\n        app:srcCompat=\"@drawable/ellipse\" />\n\n    <ImageView\n        android:id=\"@+id/imageView3\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_91sdp\"\n        android:layout_marginStart=\"@dimen/_130sdp\"\n        app:srcCompat=\"@drawable/ellipse\" />\n\n    <ImageView\n        android:id=\"@+id/imageView4\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_55sdp\"\n        android:layout_marginStart=\"@dimen/_180sdp\"\n        app:srcCompat=\"@drawable/ellipse\" />\n\n    <ImageView\n        android:id=\"@+id/imageView5\"\n        android:layout_width=\"@dimen/_30sdp\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_55sdp\"\n        android:layout_marginStart=\"@dimen/_92sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_phone_android_24\" />\n\n    <ImageView\n        android:id=\"@+id/imageView6\"\n        android:layout_width=\"@dimen/_30sdp\"\n        android:layout_height=\"@dimen/_40sdp\"\n        android:layout_marginTop=\"@dimen/_55sdp\"\n        android:layout_marginStart=\"@dimen/_190sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_business_center_24\" />\n\n    <ImageView\n        android:id=\"@+id/imageView11\"\n        android:layout_width=\"@dimen/_35sdp\"\n        android:layout_height=\"@dimen/_39sdp\"\n        android:layout_marginTop=\"@dimen/_93sdp\"\n        android:layout_marginStart=\"@dimen/_138sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_person_24\" />\n\n\n</RelativeLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/layout-land/slider_page3.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"@drawable/background2\"\n    >\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"@dimen/_300sdp\"\n    android:startColor=\"#FFEB3B\"\n    android:endColor=\"#FF9800\"\n    android:layout_gravity=\"center_horizontal\"\n    android:padding=\"@dimen/_30sdp\"\n    android:background=\"@drawable/background2\"\n    >\n    <TextView\n        android:id=\"@+id/textView4\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_toRightOf=\"@+id/imageView13\"\n        android:fontFamily=\"@font/muli_black\"\n        android:text=\"@string/find_your_missed\"\n        android:layout_marginTop=\"@dimen/_50sdp\"\n        android:layout_marginStart=\"@dimen/_20sdp\"\n        android:textAlignment=\"center\"\n        android:textAllCaps=\"true\"\n        android:textColor=\"#0F1010\"\n        android:textSize=\"@dimen/_20ssp\" />\n\n    <TextView\n        android:id=\"@+id/textView5\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"match_parent\"\n        android:fontFamily=\"@font/muli_black\"\n        android:text=\"@string/item_easy\"\n        android:layout_marginTop=\"@dimen/_4sdp\"\n        android:layout_toRightOf=\"@id/imageView13\"\n        android:layout_marginStart=\"@dimen/_60sdp\"\n        android:textAllCaps=\"true\"\n        android:layout_below=\"@+id/textView4\"\n        android:textColor=\"#0F1010\"\n        android:textSize=\"@dimen/_20ssp\"\n  />\n    <ImageView\n        android:id=\"@+id/imageView13\"\n        android:layout_width=\"@dimen/_160sdp\"\n        android:layout_height=\"@dimen/_150sdp\"\n        app:srcCompat=\"@drawable/circle\" />\n\n    <ImageView\n        android:id=\"@+id/imageView14\"\n        android:layout_width=\"@dimen/_110sdp\"\n        android:layout_height=\"@dimen/_120sdp\"\n        android:layout_marginTop=\"@dimen/_15sdp\"\n        android:layout_marginStart=\"@dimen/_22sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_phone_android_24\" />\n\n    <ImageView\n        android:id=\"@+id/imageView16\"\n        android:layout_width=\"@dimen/_100sdp\"\n        android:layout_height=\"@dimen/_100sdp\"\n        android:layout_marginTop=\"@dimen/_30sdp\"\n        android:layout_marginStart=\"@dimen/_40sdp\"\n        app:srcCompat=\"@drawable/ic_baseline_search_241\" />\n\n</RelativeLayout>\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/menu/bottom_nav_menu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:id=\"@+id/miHome\"\n        android:title=\"@string/Home\"\n        android:icon=\"@drawable/ic_home\" />\n\n    <item android:id=\"@+id/miMatch\"\n        android:title=\"@string/Matched\"\n        android:icon=\"@drawable/ic_matched\" />\n\n    <item android:id=\"@+id/placeholder\"\n        android:title=\"\" />\n\n    <item android:id=\"@+id/miLocation\"\n        android:title=\"@string/Location\"\n        android:icon=\"@drawable/ic_location\" />\n\n    <item android:id=\"@+id/miProfile\"\n        android:title=\"@string/Profile\"\n        android:icon=\"@drawable/ic_profile\" />\n\n\n\n</menu>"
  },
  {
    "path": "app/src/main/res/menu/choose_location.xml",
    "content": "<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:context=\"com.example.myapplication.MainActivity\">\n    <item\n        android:id=\"@+id/TakeCurrLocation\"\n        android:orderInCategory=\"100\"\n        android:title=\"@string/CurrentLocation\"\n        app:showAsAction=\"never\" />\n    <item\n        android:id=\"@+id/DeteLocation\"\n        android:orderInCategory=\"100\"\n        android:title=\"@string/LocatingPlace\"\n        app:showAsAction=\"never\" />\n</menu>"
  },
  {
    "path": "app/src/main/res/menu/choose_photo.xml",
    "content": "<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:context=\"com.example.myapplication.MainActivity\">\n    <item\n        android:id=\"@+id/TakePhoto\"\n        android:orderInCategory=\"100\"\n        android:title=\"TakePhoto\"\n        app:showAsAction=\"never\" />\n    <item\n        android:id=\"@+id/Gallery\"\n        android:orderInCategory=\"100\"\n        android:title=\"Gallery\"\n        app:showAsAction=\"never\" />\n</menu>"
  },
  {
    "path": "app/src/main/res/menu/drawer_menu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n    <group android:checkableBehavior=\"single\">\n        <item android:id=\"@+id/drawer_share\"\n            android:title=\"Share the app\"\n            android:icon=\"@drawable/ic_baseline_share_24\" />\n        <item android:id=\"@+id/drawer_rate\"\n            android:title=\"Rate\"\n            android:icon=\"@drawable/ic_baseline_star_rate_24\" />\n        <item android:id=\"@+id/drawer_feedback\"\n            android:title=\"Feedback\"\n            android:icon=\"@drawable/ic_baseline_feedback_24\" />\n        <item android:id=\"@+id/drawer_about_us\"\n            android:title=\"About us\"\n            android:icon=\"@drawable/ic_baseline_help_24\" />\n        <item android:id=\"@+id/drawer_setting\"\n            android:title=\"Setting\"\n            android:icon=\"@drawable/ic_baseline_settings_24\" />\n        <item android:id=\"@+id/drawer_logout\"\n            android:title=\"Logout\"\n            android:icon=\"@drawable/ic_baseline_exit_to_app_24\" />\n    </group>\n</menu>"
  },
  {
    "path": "app/src/main/res/menu/home_menu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n    <item android:id=\"@+id/notification\"\n        android:title=\"Notification\"\n        android:icon=\"@drawable/ic_notification\"\n        app:showAsAction=\"always\"/>\n</menu>"
  },
  {
    "path": "app/src/main/res/menu/menu_main.xml",
    "content": "<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    tools:context=\"com.example.MainActivity\">\n    <item\n        android:id=\"@+id/action_capture\"\n        android:orderInCategory=\"100\"\n        android:title=\"@string/capture\"\n        app:showAsAction=\"never\" />\n    <item\n        android:id=\"@+id/action_choose\"\n        android:orderInCategory=\"100\"\n        android:title=\"@string/choose\"\n        app:showAsAction=\"never\" />\n    <item\n        android:id=\"@+id/Delete\"\n        android:orderInCategory=\"100\"\n        android:title=\"Delete\"\n        app:showAsAction=\"never\" />\n</menu>"
  },
  {
    "path": "app/src/main/res/raw/haarcascade_frontalface_alt2.xml",
    "content": "<?xml version=\"1.0\"?>\n<!--\n    Tree-based 20x20 gentle adaboost frontal face detector.\n    Created by Rainer Lienhart.\n\n////////////////////////////////////////////////////////////////////////////////////////\n\n  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.\n\n  By downloading, copying, installing or using the software you agree to this license.\n  If you do not agree to this license, do not download, install,\n  copy or use the software.\n\n\n                        Intel License Agreement\n                For Open Source Computer Vision Library\n\n Copyright (C) 2000, Intel Corporation, all rights reserved.\n Third party copyrights are property of their respective owners.\n\n Redistribution and use in source and binary forms, with or without modification,\n are permitted provided that the following conditions are met:\n\n   * Redistribution's of source code must retain the above copyright notice,\n     this list of conditions and the following disclaimer.\n\n   * Redistribution's in binary form must reproduce the above copyright notice,\n     this list of conditions and the following disclaimer in the documentation\n     and/or other materials provided with the distribution.\n\n   * The name of Intel Corporation may not be used to endorse or promote products\n     derived from this software without specific prior written permission.\n\n This software is provided by the copyright holders and contributors \"as is\" and\n any express or implied warranties, including, but not limited to, the implied\n warranties of merchantability and fitness for a particular purpose are disclaimed.\n In no event shall the Intel Corporation or contributors be liable for any direct,\n indirect, incidental, special, exemplary, or consequential damages\n (including, but not limited to, procurement of substitute goods or services;\n loss of use, data, or profits; or business interruption) however caused\n and on any theory of liability, whether in contract, strict liability,\n or tort (including negligence or otherwise) arising in any way out of\n the use of this software, even if advised of the possibility of such damage.\n-->\n<opencv_storage>\n<cascade type_id=\"opencv-cascade-classifier\"><stageType>BOOST</stageType>\n  <featureType>HAAR</featureType>\n  <height>20</height>\n  <width>20</width>\n  <stageParams>\n    <maxWeakCount>109</maxWeakCount></stageParams>\n  <featureParams>\n    <maxCatCount>0</maxCatCount></featureParams>\n  <stageNum>20</stageNum>\n  <stages>\n    <_>\n      <maxWeakCount>3</maxWeakCount>\n      <stageThreshold>3.5069230198860168e-01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 0 4.3272329494357109e-03 -1 -2 1 1.3076160103082657e-02</internalNodes>\n          <leafValues>\n            3.8381900638341904e-02 8.9652568101882935e-01\n            2.6293140649795532e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2 5.2434601821005344e-04 -1 -2 3 4.4573000632226467e-03</internalNodes>\n          <leafValues>\n            1.0216630250215530e-01 1.2384019792079926e-01\n            6.9103831052780151e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 4 -9.2708261217921972e-04 -1 -2 5 3.3989109215326607e-04</internalNodes>\n          <leafValues>\n            1.9536970555782318e-01 2.1014410257339478e-01\n            8.2586747407913208e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>9</maxWeakCount>\n      <stageThreshold>3.4721779823303223e+00</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 6 2.3025739938020706e-03 -1 -2 7 4.4174338690936565e-03</internalNodes>\n          <leafValues>\n            1.0183759778738022e-01 8.2190579175949097e-01\n            1.9565549492835999e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 8 2.2203210741281509e-02 -1 -2 9 -1.7283110355492681e-04</internalNodes>\n          <leafValues>\n            2.2054070234298706e-01 7.3263257741928101e-02\n            5.9314841032028198e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 10 4.3567270040512085e-03 -1 -2 11\n            -2.6032889727503061e-03</internalNodes>\n          <leafValues>\n            1.8441149592399597e-01 4.0322139859199524e-01\n            8.0665212869644165e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 12 1.7309630056843162e-03 -1 -2 13\n            -7.8146401792764664e-03</internalNodes>\n          <leafValues>\n            2.5483280420303345e-01 6.0570698976516724e-01\n            2.7790638804435730e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 14 -8.7343417108058929e-03 -1 -2 15\n            9.4522320432588458e-04</internalNodes>\n          <leafValues>\n            2.8899800777435303e-01 7.6165872812271118e-01\n            3.4956431388854980e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 16 4.9414858222007751e-02 -1 -2 17\n            4.4891750440001488e-03</internalNodes>\n          <leafValues>\n            8.1516528129577637e-01 2.8087830543518066e-01\n            6.0277748107910156e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 18 6.0313619673252106e-02 -1 -2 19\n            -1.0762850288301706e-03</internalNodes>\n          <leafValues>\n            7.6075017452239990e-01 4.4440358877182007e-01\n            1.4373120665550232e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 20 -9.5083238556981087e-03 -1 -2 21\n            7.6601309701800346e-03</internalNodes>\n          <leafValues>\n            5.3181701898574829e-01 5.4110521078109741e-01\n            2.1806870400905609e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 22 7.6467678882181644e-03 -1 -2 23\n            -8.4662932204082608e-04</internalNodes>\n          <leafValues>\n            1.1589600145816803e-01 2.3406790196895599e-01\n            5.9903818368911743e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>14</maxWeakCount>\n      <stageThreshold>5.9844889640808105e+00</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            1 0 24 -4.8506218008697033e-03 -1 -2 25\n            -4.6141650527715683e-03</internalNodes>\n          <leafValues>\n            1.8054960668087006e-01 2.1778939664363861e-01\n            8.0182367563247681e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 26 -2.4301309604197741e-03 -1 -2 27\n            4.1787960799410939e-04</internalNodes>\n          <leafValues>\n            1.1413549631834030e-01 1.2030939757823944e-01\n            6.1085307598114014e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 28 1.0010929545387626e-03 -1 -2 29\n            1.0577100329101086e-03</internalNodes>\n          <leafValues>\n            2.0799599587917328e-01 3.3020541071891785e-01\n            7.5110942125320435e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 30 1.2376549420878291e-03 -1 -2 31\n            3.5315038985572755e-04</internalNodes>\n          <leafValues>\n            2.7682220935821533e-01 1.6682930290699005e-01\n            5.8294767141342163e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 32 -1.1953660286962986e-02 -1 -2 33\n            1.4182999730110168e-03</internalNodes>\n          <leafValues>\n            1.5087880194187164e-01 4.3912279605865479e-01\n            7.6465952396392822e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 34 3.4642980899661779e-03 -1 -2 35\n            -1.4948950149118900e-02</internalNodes>\n          <leafValues>\n            2.6515561342239380e-01 2.2980530560016632e-01\n            5.4421657323837280e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 36 -1.0506849503144622e-03 -1 -2 37\n            -4.0782918222248554e-03</internalNodes>\n          <leafValues>\n            3.6228439211845398e-01 2.6012599468231201e-01\n            7.2336578369140625e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 38 5.4242828628048301e-04 -1 -2 39\n            -7.3204059153795242e-03</internalNodes>\n          <leafValues>\n            3.8496789336204529e-01 2.9655128717422485e-01\n            5.4803091287612915e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 40 1.1421289527788758e-03 -1 -2 41\n            1.1783400550484657e-03</internalNodes>\n          <leafValues>\n            4.1047701239585876e-01 7.2390240430831909e-01\n            2.7872839570045471e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 42 4.4077109545469284e-02 -1 -2 43\n            3.7900090683251619e-03</internalNodes>\n          <leafValues>\n            5.6405162811279297e-01 5.9475481510162354e-01\n            3.3120200037956238e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 44 -2.4291418958455324e-03 -1 -2 45\n            9.4262324273586273e-03</internalNodes>\n          <leafValues>\n            6.6032320261001587e-01 4.6806651353836060e-01\n            2.0643380284309387e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 46 8.0630257725715637e-03 -1 -2 47\n            5.2240812219679356e-03</internalNodes>\n          <leafValues>\n            5.2988511323928833e-01 5.2816027402877808e-01\n            1.9095499813556671e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 48 -7.0630568079650402e-03 -1 -2 49\n            5.6897541508078575e-03</internalNodes>\n          <leafValues>\n            1.3806459307670593e-01 5.4906368255615234e-01\n            1.2602810561656952e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 50 1.2472929665818810e-03 -1 -2 51\n            4.9543488770723343e-02</internalNodes>\n          <leafValues>\n            2.3726630210876465e-01 5.2401661872863770e-01\n            1.7692160606384277e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>19</maxWeakCount>\n      <stageThreshold>8.5117864608764648e+00</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            1 0 52 -4.9326149746775627e-03 -1 -2 53\n            2.7918140403926373e-05</internalNodes>\n          <leafValues>\n            1.9980649650096893e-01 2.2993800044059753e-01\n            7.3932111263275146e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 54 3.0876200180500746e-03 -1 -2 55\n            7.4669660534709692e-06</internalNodes>\n          <leafValues>\n            1.5338400006294250e-01 2.0368589460849762e-01\n            5.8549159765243530e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 56 1.8739729421213269e-03 -1 -2 57\n            9.3380251200869679e-04</internalNodes>\n          <leafValues>\n            2.0498959720134735e-01 3.2341998815536499e-01\n            7.3230141401290894e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 58 1.9151850137859583e-03 -1 -2 59\n            -5.9683797881007195e-03</internalNodes>\n          <leafValues>\n            3.0451491475105286e-01 2.9321339726448059e-01\n            5.6212961673736572e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 60 -7.2115601506084204e-04 -1 -2 61\n            -5.9663117863237858e-03</internalNodes>\n          <leafValues>\n            3.6580368876457214e-01 2.7121558785438538e-01\n            7.2263348102569580e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 62 3.0874179676175117e-02 -1 -2 63\n            -1.1099710129201412e-02</internalNodes>\n          <leafValues>\n            4.4198378920555115e-01 3.6129769682884216e-01\n            5.2514511346817017e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 64 2.1164179779589176e-03 -1 -2 65\n            -9.4317439943552017e-03</internalNodes>\n          <leafValues>\n            3.6286169290542603e-01 1.6010950505733490e-01\n            7.0522767305374146e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 66 -3.5266019403934479e-03 -1 -2 67\n            -1.6907559474930167e-03</internalNodes>\n          <leafValues>\n            1.3012880086898804e-01 1.7863239347934723e-01\n            5.5215299129486084e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 68 4.6470930101349950e-04 -1 -2 69\n            -1.0215570218861103e-02</internalNodes>\n          <leafValues>\n            3.4873831272125244e-01 2.6739910244941711e-01\n            6.6679191589355469e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 70 1.2634709710255265e-03 -1 -2 71\n            -1.1875299736857414e-02</internalNodes>\n          <leafValues>\n            3.4378638863563538e-01 5.9953361749649048e-01\n            3.4977179765701294e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 72 -1.0732339695096016e-02 -1 -2 73\n            7.1836481802165508e-03</internalNodes>\n          <leafValues>\n            2.1504899859428406e-01 6.2714362144470215e-01\n            2.5195419788360596e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 74 -2.8340889140963554e-02 -1 -2 75\n            -4.5813230099156499e-04</internalNodes>\n          <leafValues>\n            8.2411892712116241e-02 5.9100568294525146e-01\n            3.7052011489868164e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 76 4.2940340936183929e-03 -1 -2 77\n            1.0751079767942429e-02</internalNodes>\n          <leafValues>\n            1.5947279334068298e-01 5.9804809093475342e-01\n            2.8325080871582031e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 78 2.2465119138360023e-02 -1 -2 79\n            -5.7988539338111877e-02</internalNodes>\n          <leafValues>\n            7.8770911693572998e-01 1.5557409822940826e-01\n            5.2396571636199951e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 80 7.2110891342163086e-03 -1 -2 81\n            -4.8367571085691452e-02</internalNodes>\n          <leafValues>\n            6.6203659772872925e-01 1.4247199892997742e-01\n            4.4298338890075684e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 82 -1.4418059960007668e-02 -1 -2 83\n            -2.3156389594078064e-02</internalNodes>\n          <leafValues>\n            1.5885409712791443e-01 2.3757989704608917e-01\n            5.2171349525451660e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 84 7.6985340565443039e-03 -1 -2 85\n            -5.6248619221150875e-03</internalNodes>\n          <leafValues>\n            1.9417250156402588e-01 6.2784057855606079e-01\n            3.7460449337959290e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 86 -7.2936748620122671e-04 -1 -2 87\n            6.1783898854628205e-04</internalNodes>\n          <leafValues>\n            3.8409221172332764e-01 3.1064930558204651e-01\n            5.5378472805023193e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 88 -4.5803939428878948e-05 -1 -2 89\n            -1.4719359569426160e-05</internalNodes>\n          <leafValues>\n            3.4444490075111389e-01 2.7295520901679993e-01\n            6.4289510250091553e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>19</maxWeakCount>\n      <stageThreshold>8.4680156707763672e+00</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 90 -1.3469370314851403e-03 -1 -2 91\n            -2.4774789344519377e-03</internalNodes>\n          <leafValues>\n            1.6570860147476196e-01 2.2738510370254517e-01\n            6.9893497228622437e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 92 5.2632777951657772e-03 -1 -2 93\n            4.9075339920818806e-03</internalNodes>\n          <leafValues>\n            1.5120740234851837e-01 5.5644702911376953e-01\n            1.6054420173168182e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 94 -2.3254349362105131e-03 -1 -2 95\n            -1.4665479538962245e-03</internalNodes>\n          <leafValues>\n            1.8802590668201447e-01 3.1224989891052246e-01\n            7.1653962135314941e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 96 -1.2311690300703049e-01 -1 -2 97\n            2.2108340635895729e-03</internalNodes>\n          <leafValues>\n            3.8595831394195557e-01 2.4552939832210541e-01\n            5.6957101821899414e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 98 2.0661531016230583e-03 -1 -2 99\n            3.6130280932411551e-04</internalNodes>\n          <leafValues>\n            2.7165201306343079e-01 2.2933620214462280e-01\n            7.2086298465728760e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 100 7.9957872629165649e-02 -1 -2 101\n            2.6064720004796982e-03</internalNodes>\n          <leafValues>\n            7.8336209058761597e-01 5.5452322959899902e-01\n            2.5506898760795593e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 102 6.5699010156095028e-03 -1 -2 103\n            1.6259610420092940e-03</internalNodes>\n          <leafValues>\n            1.8193900585174561e-01 3.5298758745193481e-01\n            6.5528190135955811e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 104 3.6204981151968241e-03 -1 -2 105\n            -4.4391951523721218e-03</internalNodes>\n          <leafValues>\n            5.4623097181320190e-01 1.3598430156707764e-01\n            5.4158151149749756e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 106 -9.0540945529937744e-03 -1 -2 107\n            -4.6067481162026525e-04</internalNodes>\n          <leafValues>\n            1.1151199787855148e-01 5.8467197418212891e-01\n            2.5983488559722900e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 108 -5.6621041148900986e-03 -1 -2 109\n            5.1165837794542313e-03</internalNodes>\n          <leafValues>\n            1.6105690598487854e-01 5.3766787052154541e-01\n            1.7394550144672394e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 110 -2.1362339612096548e-03 -1 -2 111\n            -5.4809921421110630e-03</internalNodes>\n          <leafValues>\n            1.9020730257034302e-01 3.2720080018043518e-01\n            6.3648408651351929e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 112 -8.1061907112598419e-03 -1 -2 113\n            6.0048708692193031e-03</internalNodes>\n          <leafValues>\n            6.9148528575897217e-01 4.3273261189460754e-01\n            6.9638431072235107e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 114 -8.7028548121452332e-02 -1 -2 115\n            -4.7809639945626259e-03</internalNodes>\n          <leafValues>\n            8.5941338539123535e-01 9.7394466400146484e-02\n            4.5870301127433777e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 116 -2.2166660055518150e-03 -1 -2 117\n            1.3642730191349983e-03</internalNodes>\n          <leafValues>\n            2.5546258687973022e-01 3.3190909028053284e-01\n            5.9641027450561523e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 118 -9.0077864006161690e-03 -1 -2 119\n            -1.5494120307266712e-02</internalNodes>\n          <leafValues>\n            2.6665949821472168e-01 1.8481859564781189e-01\n            6.2459707260131836e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 120 -4.2165028862655163e-03 -1 -2 121\n            4.3249759823083878e-02</internalNodes>\n          <leafValues>\n            5.3799271583557129e-01 5.1830291748046875e-01\n            2.1704199910163879e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 122 2.8786511393263936e-04 -1 -2 123\n            1.2373150093480945e-03</internalNodes>\n          <leafValues>\n            2.6133841276168823e-01 2.7865320444107056e-01\n            5.9089881181716919e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 124 1.9528300035744905e-03 -1 -2 125\n            -1.4947060262784362e-03</internalNodes>\n          <leafValues>\n            2.6128691434860229e-01 5.9154129028320312e-01\n            3.4557819366455078e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 126 3.5878680646419525e-03 -1 -2 127\n            -2.5938691105693579e-03</internalNodes>\n          <leafValues>\n            1.5870520472526550e-01 1.2704110145568848e-01\n            5.9794288873672485e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>27</maxWeakCount>\n      <stageThreshold>1.2578499794006348e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 128 3.5810680128633976e-03 -1 -2 129\n            -2.8552350122481585e-03</internalNodes>\n          <leafValues>\n            1.9951049983501434e-01 7.3730701208114624e-01\n            2.9217371344566345e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 130 1.9758539274334908e-03 -1 -2 131\n            3.2583118882030249e-03</internalNodes>\n          <leafValues>\n            1.9564199447631836e-01 5.6920468807220459e-01\n            1.8390649557113647e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 132 2.3711679386906326e-04 -1 -2 133\n            2.5942500215023756e-03</internalNodes>\n          <leafValues>\n            2.1716670691967010e-01 2.7199891209602356e-01\n            7.1502441167831421e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 134 -2.5032449513673782e-02 -1 -2 135\n            6.3087949529290199e-03</internalNodes>\n          <leafValues>\n            1.8251839280128479e-01 5.6998378038406372e-01\n            3.5098528861999512e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 136 -3.2494920305907726e-03 -1 -2 137\n            -1.4885730110108852e-02</internalNodes>\n          <leafValues>\n            4.0239268541336060e-01 3.6040958762168884e-01\n            7.2919952869415283e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 138 8.0623216927051544e-03 -1 -2 139\n            2.7405679225921631e-02</internalNodes>\n          <leafValues>\n            6.4914900064468384e-01 5.5189931392669678e-01\n            2.6596811413764954e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 140 3.4368600696325302e-02 -1 -2 141\n            -2.7292970567941666e-02</internalNodes>\n          <leafValues>\n            6.7125129699707031e-01 1.6913780570030212e-01\n            4.3262779712677002e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 142 7.4452121043577790e-04 -1 -2 143\n            7.0336280623450875e-04</internalNodes>\n          <leafValues>\n            3.4051001071929932e-01 5.5167931318283081e-01\n            3.3113878965377808e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 144 -1.2275460362434387e-01 -1 -2 145\n            3.2559928949922323e-03</internalNodes>\n          <leafValues>\n            1.6753150522708893e-01 3.6157518625259399e-01\n            6.4207828044891357e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 146 -3.2090399414300919e-02 -1 -2 147\n            3.2957999501377344e-03</internalNodes>\n          <leafValues>\n            2.9210790991783142e-01 5.6130319833755493e-01\n            3.3578601479530334e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 148 -3.2273170072585344e-03 -1 -2 149\n            1.1171669466421008e-03</internalNodes>\n          <leafValues>\n            6.9706428050994873e-01 3.5411500930786133e-01\n            6.1440062522888184e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 150 -1.7279950901865959e-02 -1 -2 151\n            1.1741200461983681e-02</internalNodes>\n          <leafValues>\n            5.5371809005737305e-01 5.3419572114944458e-01\n            2.7571049332618713e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 152 4.6405228786170483e-03 -1 -2 153\n            -1.6913030296564102e-02</internalNodes>\n          <leafValues>\n            2.4895210564136505e-01 1.7119289934635162e-01\n            5.5239528417587280e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 154 1.0060169734060764e-02 -1 -2 155\n            -6.0715491417795420e-04</internalNodes>\n          <leafValues>\n            8.2734507322311401e-01 3.7793910503387451e-01\n            5.4762518405914307e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 156 -1.0865400545299053e-03 -1 -2 157\n            8.9362077414989471e-03</internalNodes>\n          <leafValues>\n            3.2965409755706787e-01 6.0628837347030640e-01\n            2.4342200160026550e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 158 -2.6372660067863762e-04 -1 -2 159\n            1.3110050000250340e-02</internalNodes>\n          <leafValues>\n            3.8140949606895447e-01 5.5176162719726562e-01\n            3.7268930673599243e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 160 -2.9806280508637428e-03 -1 -2 161\n            -4.1619571857154369e-03</internalNodes>\n          <leafValues>\n            1.2296640127897263e-01 7.2522747516632080e-01\n            4.9734550714492798e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 162 3.3842328935861588e-02 -1 -2 163\n            -1.2564560165628791e-03</internalNodes>\n          <leafValues>\n            5.3483128547668457e-01 5.8519148826599121e-01\n            4.3841668963432312e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 164 -1.9635230302810669e-02 -1 -2 165\n            -9.9625496659427881e-04</internalNodes>\n          <leafValues>\n            2.2978340089321136e-01 6.2959378957748413e-01\n            4.1315990686416626e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 166 -2.3127110674977303e-02 -1 -2 167\n            2.3525709286332130e-02</internalNodes>\n          <leafValues>\n            1.6954590380191803e-01 5.1741302013397217e-01\n            5.9519391506910324e-02</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 168 -1.9356520846486092e-02 -1 -2 169\n            -4.1787112131714821e-03</internalNodes>\n          <leafValues>\n            1.3572479784488678e-01 2.9966288805007935e-01\n            5.7916951179504395e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 170 3.1488779932260513e-03 -1 -2 171\n            7.3972279205918312e-03</internalNodes>\n          <leafValues>\n            6.5925890207290649e-01 5.3071719408035278e-01\n            3.7951210141181946e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 172 7.1955118983169086e-06 -1 -2 173\n            4.7114409506320953e-02</internalNodes>\n          <leafValues>\n            3.1283149123191833e-01 5.5378931760787964e-01\n            1.0273090004920959e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 174 7.2878710925579071e-03 -1 -2 175\n            -6.1887511983513832e-03</internalNodes>\n          <leafValues>\n            4.6608591079711914e-01 7.1588581800460815e-01\n            4.7244489192962646e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 176 2.9757320880889893e-03 -1 -2 177\n            -1.8449809867888689e-03</internalNodes>\n          <leafValues>\n            5.9345688670873642e-02 7.0273017883300781e-01\n            4.7187310457229614e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 178 1.0239540279144421e-04 -1 -2 179\n            2.4277009069919586e-03</internalNodes>\n          <leafValues>\n            5.8947342634201050e-01 4.8623558878898621e-01\n            5.2475881576538086e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 180 -6.4751312136650085e-02 -1 -2 181\n            3.9380151429213583e-04</internalNodes>\n          <leafValues>\n            6.9174712896347046e-01 4.6696171164512634e-01\n            2.3824059963226318e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>31</maxWeakCount>\n      <stageThreshold>1.4546750068664551e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 182 1.4397440245375037e-03 -1 -2 183\n            -5.4068560712039471e-04</internalNodes>\n          <leafValues>\n            2.7734708786010742e-01 7.4271547794342041e-01\n            2.4797350168228149e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 184 -7.1237959673453588e-06 -1 -2 185\n            -2.3661039303988218e-03</internalNodes>\n          <leafValues>\n            2.1995030343532562e-01 5.8899897336959839e-01\n            2.5957161188125610e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 186 1.7343269428238273e-03 -1 -2 187\n            1.5874590026214719e-03</internalNodes>\n          <leafValues>\n            1.8601259589195251e-01 4.1518709063529968e-01\n            7.1034741401672363e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 188 3.7285638973116875e-03 -1 -2 189\n            -1.2883819639682770e-01</internalNodes>\n          <leafValues>\n            2.5279670953750610e-01 1.3930009305477142e-01\n            5.2545148134231567e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 190 7.9412180930376053e-03 -1 -2 191\n            -1.2661729939281940e-02</internalNodes>\n          <leafValues>\n            2.4877290427684784e-01 2.7107000350952148e-01\n            6.6188377141952515e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 192 3.0146789868013002e-05 -1 -2 193\n            -1.6330160200595856e-02</internalNodes>\n          <leafValues>\n            3.8128259778022766e-01 2.3264320194721222e-01\n            5.2630108594894409e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 194 1.4622770322603174e-05 -1 -2 195\n            -2.0858660340309143e-02</internalNodes>\n          <leafValues>\n            4.2933320999145508e-01 1.6004039347171783e-01\n            6.7823147773742676e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 196 2.8194559272378683e-03 -1 -2 197\n            3.7899368908256292e-03</internalNodes>\n          <leafValues>\n            6.6792941093444824e-01 4.5877051353454590e-01\n            7.1762388944625854e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 198 3.5344641655683517e-02 -1 -2 199\n            -1.1571600334718823e-03</internalNodes>\n          <leafValues>\n            1.8640750646591187e-01 5.5382597446441650e-01\n            3.1504508852958679e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 200 -5.8742752298712730e-03 -1 -2 201\n            -1.5201780115603469e-05</internalNodes>\n          <leafValues>\n            2.8287911415100098e-01 5.8702242374420166e-01\n            3.7048238515853882e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 202 -2.2681879636365920e-04 -1 -2 203\n            3.7845689803361893e-03</internalNodes>\n          <leafValues>\n            4.2189309000968933e-01 6.6670012474060059e-01\n            2.4611820280551910e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 204 -8.5295992903411388e-05 -1 -2 205\n            -4.4394891709089279e-02</internalNodes>\n          <leafValues>\n            3.5575878620147705e-01 1.6655470430850983e-01\n            5.2348488569259644e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 206 1.0126030538231134e-03 -1 -2 207\n            -7.6327780261635780e-03</internalNodes>\n          <leafValues>\n            2.8846129775047302e-01 2.9693400859832764e-01\n            6.0801112651824951e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 208 4.0330411866307259e-03 -1 -2 209\n            1.3676689565181732e-01</internalNodes>\n          <leafValues>\n            4.5363900065422058e-01 5.1772642135620117e-01\n            1.4491820335388184e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 210 -5.0060478970408440e-03 -1 -2 211\n            -1.2475839816033840e-02</internalNodes>\n          <leafValues>\n            7.6169097423553467e-01 2.1597060561180115e-01\n            5.4601877927780151e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 212 -9.4012258341535926e-04 -1 -2 213\n            -1.2191980145871639e-02</internalNodes>\n          <leafValues>\n            3.9262959361076355e-01 3.4788811206817627e-01\n            5.5426627397537231e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 214 -5.4959481349214911e-04 -1 -2 215\n            -2.1802430273965001e-04</internalNodes>\n          <leafValues>\n            6.0642760992050171e-01 5.6974071264266968e-01\n            1.7797139286994934e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 216 6.9115799851715565e-03 -1 -2 217\n            -9.7631698008626699e-04</internalNodes>\n          <leafValues>\n            5.3793722391128540e-01 3.3278390765190125e-01\n            5.4615312814712524e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 218 -8.7870173156261444e-03 -1 -2 219\n            -1.6761029837653041e-03</internalNodes>\n          <leafValues>\n            2.1161609888076782e-01 6.6358232498168945e-01\n            4.3658590316772461e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 220 -5.5694948881864548e-02 -1 -2 221\n            -1.9844379276037216e-02</internalNodes>\n          <leafValues>\n            5.3874248266220093e-01 1.6028049588203430e-01\n            5.3304588794708252e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 222 -7.4751611100509763e-04 -1 -2 223\n            2.3032890632748604e-02</internalNodes>\n          <leafValues>\n            2.9174768924713135e-01 5.6081241369247437e-01\n            1.9979810714721680e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 224 -3.0700280331075191e-03 -1 -2 225\n            -1.1636839481070638e-03</internalNodes>\n          <leafValues>\n            3.9383140206336975e-01 5.7574361562728882e-01\n            4.2394569516181946e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 226 2.2464339435100555e-01 -1 -2 227\n            1.4412109740078449e-03</internalNodes>\n          <leafValues>\n            7.6765531301498413e-01 5.3538662195205688e-01\n            2.5147768855094910e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 228 -3.0011249706149101e-02 -1 -2 229\n            -5.3078960627317429e-02</internalNodes>\n          <leafValues>\n            2.3649039864540100e-01 2.3858639597892761e-01\n            5.4146647453308105e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 230 2.0800929050892591e-03 -1 -2 231\n            -4.0738182142376900e-03</internalNodes>\n          <leafValues>\n            6.5116149187088013e-01 6.0304141044616699e-01\n            3.5877010226249695e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 232 -1.9529370591044426e-02 -1 -2 233\n            -5.3309470415115356e-02</internalNodes>\n          <leafValues>\n            5.4235929250717163e-01 2.3609539866447449e-01\n            5.4017579555511475e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 234 -3.4849561750888824e-02 -1 -2 235\n            -1.2658450007438660e-01</internalNodes>\n          <leafValues>\n            2.8369858860969543e-01 1.8135160207748413e-01\n            5.4210460186004639e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 236 7.3325118137290701e-06 -1 -2 237\n            -1.1843870393931866e-02</internalNodes>\n          <leafValues>\n            3.9803659915924072e-01 2.6163849234580994e-01\n            5.2377301454544067e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 238 -4.8470678739249706e-03 -1 -2 239\n            8.1693977117538452e-03</internalNodes>\n          <leafValues>\n            2.4381080269813538e-01 5.3271460533142090e-01\n            8.1903767585754395e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 240 -6.4716790802776814e-03 -1 -2 241\n            -1.5188479665084742e-05</internalNodes>\n          <leafValues>\n            4.6796938776969910e-01 5.5639117956161499e-01\n            4.3675860762596130e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 242 3.0696711037307978e-03 -1 -2 243\n            -1.6296720423270017e-04</internalNodes>\n          <leafValues>\n            6.6643488407135010e-01 5.5946111679077148e-01\n            3.0427119135856628e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>39</maxWeakCount>\n      <stageThreshold>1.8572250366210938e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            1 0 244 -9.8275858908891678e-03 -1 -2 245\n            -4.1693858802318573e-03</internalNodes>\n          <leafValues>\n            2.1160189807415009e-01 6.9246852397918701e-01\n            3.0437770485877991e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 246 3.5341319744475186e-04 -1 -2 247\n            4.8054549843072891e-03</internalNodes>\n          <leafValues>\n            3.1832858920097351e-01 5.4565590620040894e-01\n            2.5222688913345337e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 248 2.1071180526632816e-04 -1 -2 249\n            -2.8318869881331921e-03</internalNodes>\n          <leafValues>\n            2.9026180505752563e-01 3.1304559111595154e-01\n            6.8849372863769531e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 250 -7.5633679443853907e-06 -1 -2 251\n            -8.2888139877468348e-04</internalNodes>\n          <leafValues>\n            2.9624658823013306e-01 3.0996260046958923e-01\n            5.7525151968002319e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 252 1.6209259629249573e-03 -1 -2 253\n            9.1338958591222763e-03</internalNodes>\n          <leafValues>\n            3.9931958913803101e-01 4.8273721337318420e-01\n            7.5378328561782837e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 254 -4.1212290525436401e-03 -1 -2 255\n            -2.5447290390729904e-03</internalNodes>\n          <leafValues>\n            2.6169270277023315e-01 3.1087028980255127e-01\n            5.4912358522415161e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 256 -6.2652782071381807e-04 -1 -2 257\n            -3.6596331483451650e-05</internalNodes>\n          <leafValues>\n            3.2396918535232544e-01 6.5174108743667603e-01\n            4.1789120435714722e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 258 1.3882719911634922e-02 -1 -2 259\n            1.0493700392544270e-03</internalNodes>\n          <leafValues>\n            6.7712038755416870e-01 4.1595110297203064e-01\n            5.6528919935226440e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 260 1.8215360119938850e-02 -1 -2 261\n            -1.1334580369293690e-02</internalNodes>\n          <leafValues>\n            7.6896011829376221e-01 2.8733238577842712e-01\n            4.9889329075813293e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 262 -4.1097560897469521e-03 -1 -2 263\n            4.2612891411408782e-04</internalNodes>\n          <leafValues>\n            5.4630082845687866e-01 3.6312350630760193e-01\n            5.5125522613525391e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 264 6.0301548801362514e-03 -1 -2 265\n            3.3587709185667336e-04</internalNodes>\n          <leafValues>\n            1.1437670141458511e-01 2.8910788893699646e-01\n            5.4473417997360229e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 266 6.2279507983475924e-04 -1 -2 267\n            -2.5837119668722153e-02</internalNodes>\n          <leafValues>\n            3.0234318971633911e-01 2.1670059859752655e-01\n            5.2781528234481812e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 268 2.1774910390377045e-02 -1 -2 269\n            1.7682299949228764e-03</internalNodes>\n          <leafValues>\n            3.2548341155052185e-01 5.2630507946014404e-01\n            7.5263291597366333e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 270 -1.3793810270726681e-02 -1 -2 271\n            -5.0852829590439796e-03</internalNodes>\n          <leafValues>\n            7.4103301763534546e-01 6.8366098403930664e-01\n            4.5790711045265198e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 272 6.1795017682015896e-03 -1 -2 273\n            1.0030319914221764e-02</internalNodes>\n          <leafValues>\n            7.4499362707138062e-01 4.8607799410820007e-01\n            2.3614570498466492e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 274 -6.4201927743852139e-03 -1 -2 275\n            -5.6961281225085258e-03</internalNodes>\n          <leafValues>\n            1.4673270285129547e-01 2.3478199541568756e-01\n            5.3233772516250610e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 276 -7.1498160250484943e-03 -1 -2 277\n            2.4450740311294794e-03</internalNodes>\n          <leafValues>\n            1.4770570397377014e-01 3.4985339641571045e-01\n            5.8035618066787720e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 278 -3.7503410130739212e-02 -1 -2 279\n            4.7799441381357610e-04</internalNodes>\n          <leafValues>\n            5.2595508098602295e-01 4.3628829717636108e-01\n            6.2089228630065918e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 280 -7.0806080475449562e-03 -1 -2 281\n            3.2818000763654709e-02</internalNodes>\n          <leafValues>\n            2.0394609868526459e-01 5.1983588933944702e-01\n            1.3711960613727570e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 282 6.5188988810405135e-04 -1 -2 283\n            4.6485587954521179e-03</internalNodes>\n          <leafValues>\n            6.3234299421310425e-01 4.7201630473136902e-01\n            6.5670871734619141e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 284 -1.9827929791063070e-03 -1 -2 285\n            -1.6011310508474708e-03</internalNodes>\n          <leafValues>\n            6.0530602931976318e-01 5.0905191898345947e-01\n            3.1169331073760986e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 286 -3.0539939180016518e-03 -1 -2 287\n            4.3212040327489376e-04</internalNodes>\n          <leafValues>\n            3.4298041462898254e-01 3.8384029269218445e-01\n            5.7755982875823975e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 288 -2.7452120557427406e-02 -1 -2 289\n            9.3099439982324839e-04</internalNodes>\n          <leafValues>\n            2.1434690058231354e-01 5.9529662132263184e-01\n            3.7601581215858459e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 290 6.7144189961254597e-03 -1 -2 291\n            -3.3701690845191479e-03</internalNodes>\n          <leafValues>\n            5.6926268339157104e-01 5.7843041419982910e-01\n            3.9742821455001831e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 292 -1.8903959542512894e-02 -1 -2 293\n            -6.5850871615111828e-03</internalNodes>\n          <leafValues>\n            1.8188929557800293e-01 6.8491101264953613e-01\n            4.3515840172767639e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 294 5.8810501359403133e-03 -1 -2 295\n            8.0092082498595119e-04</internalNodes>\n          <leafValues>\n            2.7266609668731689e-01 4.2364311218261719e-01\n            5.8446758985519409e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 296 1.8510579830035567e-03 -1 -2 297\n            6.3273650594055653e-03</internalNodes>\n          <leafValues>\n            3.3713209629058838e-01 5.2702218294143677e-01\n            8.0536508560180664e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 298 -3.3820930402725935e-03 -1 -2 299\n            -1.9292969955131412e-03</internalNodes>\n          <leafValues>\n            2.8660181164741516e-01 5.8889460563659668e-01\n            3.8957870006561279e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 300 1.4995220117270947e-02 -1 -2 301\n            -2.6330750435590744e-02</internalNodes>\n          <leafValues>\n            2.1778169274330139e-01 1.7753170430660248e-01\n            5.6714701652526855e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 302 -4.1734222322702408e-03 -1 -2 303\n            2.7268350124359131e-02</internalNodes>\n          <leafValues>\n            4.6529620885848999e-01 4.7683110833168030e-01\n            5.6952387094497681e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 304 9.8880263976752758e-04 -1 -2 305\n            -1.0528849670663476e-03</internalNodes>\n          <leafValues>\n            3.3974018692970276e-01 6.2500411272048950e-01\n            4.2884120345115662e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 306 5.2288072183728218e-03 -1 -2 307\n            3.0395459383726120e-02</internalNodes>\n          <leafValues>\n            5.3477621078491211e-01 4.1155189275741577e-01\n            5.6607538461685181e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 308 -7.9113930463790894e-02 -1 -2 309\n            1.8231669440865517e-02</internalNodes>\n          <leafValues>\n            7.8813230991363525e-01 3.6043399572372437e-01\n            5.5695050954818726e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 310 5.2288072183728218e-03 -1 -2 311\n            4.3922828626818955e-04</internalNodes>\n          <leafValues>\n            5.4166442155838013e-01 5.5071568489074707e-01\n            3.8822770118713379e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 312 -8.6501962505280972e-04 -1 -2 313\n            1.0326979681849480e-03</internalNodes>\n          <leafValues>\n            3.1858509778976440e-01 5.5783641338348389e-01\n            3.2192459702491760e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 314 -7.2997747920453548e-03 -1 -2 315\n            -9.3629042385146022e-04</internalNodes>\n          <leafValues>\n            7.0732331275939941e-01 5.5580157041549683e-01\n            4.6138420701026917e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 316 -6.0483231209218502e-03 -1 -2 317\n            6.7529221996665001e-03</internalNodes>\n          <leafValues>\n            6.8692898750305176e-01 4.8703178763389587e-01\n            2.6503708958625793e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 318 5.3078029304742813e-02 -1 -2 319\n            -1.0225810110569000e-03</internalNodes>\n          <leafValues>\n            5.2815151214599609e-01 6.0858821868896484e-01\n            4.3048679828643799e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 320 3.1270649284124374e-02 -1 -2 321\n            -6.3522169366478920e-03</internalNodes>\n          <leafValues>\n            5.4458320140838623e-01 5.3283357620239258e-01\n            2.3643240332603455e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>45</maxWeakCount>\n      <stageThreshold>2.1578119277954102e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            1 0 322 -6.2215630896389484e-03 -1 -2 323\n            2.1097389981150627e-03</internalNodes>\n          <leafValues>\n            2.6255810260772705e-01 1.5649929642677307e-01\n            6.7928832769393921e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 324 1.0845859535038471e-02 -1 -2 325\n            6.4230401767417789e-04</internalNodes>\n          <leafValues>\n            3.4858089685440063e-01 3.6982551217079163e-01\n            5.9216582775115967e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 326 7.3311722371727228e-04 -1 -2 327\n            1.0134200565516949e-03</internalNodes>\n          <leafValues>\n            3.0070841312408447e-01 3.6249229311943054e-01\n            7.0724260807037354e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 328 1.1093559674918652e-02 -1 -2 329\n            -7.9127531498670578e-03</internalNodes>\n          <leafValues>\n            4.4167020916938782e-01 3.0287081003189087e-01\n            5.4173761606216431e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 330 1.2905309908092022e-02 -1 -2 331\n            -4.2430912144482136e-03</internalNodes>\n          <leafValues>\n            4.3745040893554688e-01 4.4015899300575256e-01\n            7.5651907920837402e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 332 -2.1304309484548867e-04 -1 -2 333\n            -2.2308640182018280e-03</internalNodes>\n          <leafValues>\n            2.3107869923114777e-01 3.5681959986686707e-01\n            5.7499992847442627e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 334 2.6400520000606775e-03 -1 -2 335\n            7.5101032853126526e-02</internalNodes>\n          <leafValues>\n            3.5936889052391052e-01 6.3635677099227905e-01\n            2.3270289599895477e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 336 -7.7012968249619007e-03 -1 -2 337\n            1.5588370151817799e-03</internalNodes>\n          <leafValues>\n            7.0746237039566040e-01 5.7002371549606323e-01\n            3.5904508829116821e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 338 -4.7687938786111772e-04 -1 -2 339\n            8.4234727546572685e-04</internalNodes>\n          <leafValues>\n            2.8054410219192505e-01 4.1254189610481262e-01\n            6.1779958009719849e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 340 -1.2825109995901585e-02 -1 -2 341\n            -6.5156567143276334e-04</internalNodes>\n          <leafValues>\n            5.4030781984329224e-01 5.6336438655853271e-01\n            3.3565390110015869e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 342 -1.2006159871816635e-02 -1 -2 343\n            1.3213419588282704e-03</internalNodes>\n          <leafValues>\n            7.1095108985900879e-01 4.9038508534431458e-01\n            2.8245830535888672e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 344 -2.0307440310716629e-02 -1 -2 345\n            4.0180929936468601e-03</internalNodes>\n          <leafValues>\n            1.8913699686527252e-01 5.3779661655426025e-01\n            3.1194949150085449e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 346 4.5315311290323734e-03 -1 -2 347\n            -4.4381739571690559e-03</internalNodes>\n          <leafValues>\n            7.2067582607269287e-01 1.8546679615974426e-01\n            4.9817329645156860e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 348 1.5692010056227446e-03 -1 -2 349\n            -4.9516442231833935e-03</internalNodes>\n          <leafValues>\n            2.6382741332054138e-01 6.8710672855377197e-01\n            4.7146868705749512e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 350 -2.7429679408669472e-02 -1 -2 351\n            1.4181969454512000e-03</internalNodes>\n          <leafValues>\n            1.5482850372791290e-01 4.3768429756164551e-01\n            6.3273680210113525e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 352 -1.3078940100967884e-02 -1 -2 353\n            -3.5092779435217381e-03</internalNodes>\n          <leafValues>\n            3.1668141484260559e-01 6.1997437477111816e-01\n            4.3796870112419128e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 354 1.8920730799436569e-02 -1 -2 355\n            2.1683350205421448e-03</internalNodes>\n          <leafValues>\n            1.4707140624523163e-01 5.8094590902328491e-01\n            3.4319490194320679e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 356 1.6401590546593070e-03 -1 -2 357\n            1.4005920093040913e-04</internalNodes>\n          <leafValues>\n            3.9594578742980957e-01 3.2400250434875488e-01\n            5.6466472148895264e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 358 -3.3137591090053320e-03 -1 -2 359\n            -2.9459029901772738e-03</internalNodes>\n          <leafValues>\n            4.2745280265808105e-01 3.3416679501533508e-01\n            6.6279602050781250e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 360 1.3612229668069631e-04 -1 -2 361\n            6.0512032359838486e-04</internalNodes>\n          <leafValues>\n            4.0469279885292053e-01 5.4840582609176636e-01\n            3.5699409246444702e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 362 -1.7513990402221680e-02 -1 -2 363\n            -1.8735030665993690e-02</internalNodes>\n          <leafValues>\n            1.8241509795188904e-01 7.9718202352523804e-01\n            5.0685691833496094e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 364 1.2065649963915348e-02 -1 -2 365\n            -2.6544178836047649e-03</internalNodes>\n          <leafValues>\n            2.1670070290565491e-01 6.5841788053512573e-01\n            4.6282431483268738e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 366 1.4501289697363973e-03 -1 -2 367\n            1.0954019613564014e-02</internalNodes>\n          <leafValues>\n            2.0902520418167114e-01 5.1123052835464478e-01\n            7.7845758199691772e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 368 1.5771709382534027e-02 -1 -2 369\n            -1.4252689667046070e-02</internalNodes>\n          <leafValues>\n            5.1323592662811279e-01 1.7424149811267853e-01\n            5.2671480178833008e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 370 3.0411860279855318e-05 -1 -2 371\n            2.3486299440264702e-02</internalNodes>\n          <leafValues>\n            3.4184479713439941e-01 5.6312650442123413e-01\n            2.0063939690589905e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 372 5.2205449901521206e-03 -1 -2 373\n            -2.5812430307269096e-02</internalNodes>\n          <leafValues>\n            6.2496489286422729e-01 3.2032281160354614e-01\n            5.1993298530578613e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 374 -1.9526650430634618e-03 -1 -2 375\n            -8.1470049917697906e-03</internalNodes>\n          <leafValues>\n            6.1407059431076050e-01 6.5928959846496582e-01\n            3.7111249566078186e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 376 3.2962448894977570e-03 -1 -2 377\n            -1.3961310032755136e-03</internalNodes>\n          <leafValues>\n            2.9521119594573975e-01 3.3208039402961731e-01\n            5.5284148454666138e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 378 -4.1055441834032536e-03 -1 -2 379\n            -1.0888779535889626e-02</internalNodes>\n          <leafValues>\n            1.7105500400066376e-01 3.3594349026679993e-01\n            5.6749051809310913e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 380 -7.6768421567976475e-03 -1 -2 381\n            -9.7729787230491638e-03</internalNodes>\n          <leafValues>\n            4.7732418775558472e-01 8.0810451507568359e-01\n            4.8458281159400940e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 382 6.0439710505306721e-03 -1 -2 383\n            -4.6134641161188483e-04</internalNodes>\n          <leafValues>\n            6.7840021848678589e-01 5.5146390199661255e-01\n            3.6423599720001221e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 384 5.7992361485958099e-02 -1 -2 385\n            5.9384980704635382e-04</internalNodes>\n          <leafValues>\n            1.2544350326061249e-01 4.4248789548873901e-01\n            5.7284617424011230e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 386 -6.2353480607271194e-03 -1 -2 387\n            -1.2784929946064949e-02</internalNodes>\n          <leafValues>\n            2.8050419688224792e-01 1.9509120285511017e-01\n            5.6529247760772705e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 388 4.1973669431172311e-04 -1 -2 389\n            8.0646801507100463e-04</internalNodes>\n          <leafValues>\n            6.1664837598800659e-01 4.5265799760818481e-01\n            5.9444868564605713e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 390 -1.6339010326191783e-03 -1 -2 391\n            -4.8299999907612801e-03</internalNodes>\n          <leafValues>\n            4.0869420766830444e-01 2.7935269474983215e-01\n            6.4449352025985718e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 392 -6.3992068171501160e-03 -1 -2 393\n            1.0819199681282043e-01</internalNodes>\n          <leafValues>\n            5.6716561317443848e-01 5.3118121623992920e-01\n            2.6143568754196167e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 394 6.5056560561060905e-04 -1 -2 395\n            2.0611250773072243e-02</internalNodes>\n          <leafValues>\n            2.9967740178108215e-01 4.4899430871009827e-01\n            6.8882799148559570e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 396 -2.5129050016403198e-02 -1 -2 397\n            1.7922939732670784e-03</internalNodes>\n          <leafValues>\n            5.1968640089035034e-01 3.4669959545135498e-01\n            5.5335879325866699e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 398 1.5626220265403390e-03 -1 -2 399\n            -6.1898730928078294e-04</internalNodes>\n          <leafValues>\n            3.0814400315284729e-01 2.6938709616661072e-01\n            5.5444890260696411e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 400 4.8111421056091785e-03 -1 -2 401\n            2.2484229411929846e-03</internalNodes>\n          <leafValues>\n            5.5878478288650513e-01 4.6721130609512329e-01\n            6.0908252000808716e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 402 -3.0147239565849304e-02 -1 -2 403\n            2.7548679709434509e-01</internalNodes>\n          <leafValues>\n            9.0275919437408447e-01 4.7198349237442017e-01\n            2.1969200670719147e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 404 3.6894630175083876e-03 -1 -2 405\n            7.2957701049745083e-03</internalNodes>\n          <leafValues>\n            6.2730091810226440e-01 4.8392179608345032e-01\n            6.9090622663497925e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 406 -5.6211069226264954e-02 -1 -2 407\n            -2.6478560175746679e-03</internalNodes>\n          <leafValues>\n            1.7384879291057587e-01 6.3041448593139648e-01\n            4.4743019342422485e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 408 -1.4534000074490905e-03 -1 -2 409\n            2.8540920466184616e-03</internalNodes>\n          <leafValues>\n            5.3025382757186890e-01 5.3383970260620117e-01\n            3.7968829274177551e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 410 5.8243022067472339e-04 -1 -2 411\n            9.2509482055902481e-04</internalNodes>\n          <leafValues>\n            3.2698369026184082e-01 4.5548120141029358e-01\n            6.3583481311798096e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>47</maxWeakCount>\n      <stageThreshold>2.2585290908813477e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 412 1.9806440919637680e-02 -1 -2 413\n            7.0395611692219973e-04</internalNodes>\n          <leafValues>\n            2.8097251057624817e-01 3.1198260188102722e-01\n            7.0903062820434570e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 414 2.5563780218362808e-03 -1 -2 415\n            1.0824160417541862e-03</internalNodes>\n          <leafValues>\n            2.9819479584693909e-01 3.0205601453781128e-01\n            5.8088111877441406e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 416 -9.2893769033253193e-04 -1 -2 417\n            -1.8009729683399200e-02</internalNodes>\n          <leafValues>\n            3.7381029129028320e-01 2.1631260216236115e-01\n            6.6192537546157837e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 418 2.3500190582126379e-03 -1 -2 419\n            8.1822491483762860e-04</internalNodes>\n          <leafValues>\n            2.9104039072990417e-01 5.5786228179931641e-01\n            3.3666279911994934e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 420 6.2095321482047439e-04 -1 -2 421\n            9.6780969761312008e-04</internalNodes>\n          <leafValues>\n            4.0724259614944458e-01 6.8595957756042480e-01\n            3.1054618954658508e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 422 4.8000211245380342e-04 -1 -2 423\n            9.0538640506565571e-05</internalNodes>\n          <leafValues>\n            3.3373329043388367e-01 3.3709588646888733e-01\n            5.4512107372283936e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 424 -4.3914798647165298e-02 -1 -2 425\n            -5.6501338258385658e-03</internalNodes>\n          <leafValues>\n            2.6256701350212097e-01 6.0504627227783203e-01\n            3.2324150204658508e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 426 3.8661491125822067e-03 -1 -2 427\n            -6.3069426687434316e-05</internalNodes>\n          <leafValues>\n            3.2626131176948547e-01 5.8173078298568726e-01\n            4.1643899679183960e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 428 5.2533738315105438e-02 -1 -2 429\n            1.3818660518154502e-03</internalNodes>\n          <leafValues>\n            7.0953989028930664e-01 5.2928757667541504e-01\n            2.5413888692855835e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 430 -8.9264067355543375e-04 -1 -2 431\n            8.5579507052898407e-02</internalNodes>\n          <leafValues>\n            4.0853410959243774e-01 5.2632361650466919e-01\n            3.0032029747962952e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 432 -1.8343339615967125e-04 -1 -2 433\n            -9.7924815490841866e-03</internalNodes>\n          <leafValues>\n            4.0292051434516907e-01 3.5213199257850647e-01\n            6.6640049219131470e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 434 1.4428620226681232e-02 -1 -2 435\n            -4.5687001198530197e-02</internalNodes>\n          <leafValues>\n            4.5935660600662231e-01 1.4747560024261475e-01\n            5.1786321401596069e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 436 -2.5763090234249830e-03 -1 -2 437\n            -3.8301859050989151e-02</internalNodes>\n          <leafValues>\n            1.8372780084609985e-01 8.0826580524444580e-01\n            5.1666879653930664e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 438 2.8978290501981974e-03 -1 -2 439\n            -2.5165060069411993e-03</internalNodes>\n          <leafValues>\n            4.7980138659477234e-01 3.3462959527969360e-01\n            5.4444491863250732e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 440 5.6281982688233256e-04 -1 -2 441\n            3.6684391088783741e-03</internalNodes>\n          <leafValues>\n            3.5890269279479980e-01 5.9831297397613525e-01\n            2.9839640855789185e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 442 2.1319789811968803e-03 -1 -2 443\n            7.6037310063838959e-03</internalNodes>\n          <leafValues>\n            6.1632239818572998e-01 5.2171301841735840e-01\n            2.0541590452194214e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 444 -1.1668079969240353e-04 -1 -2 445\n            3.1659509986639023e-03</internalNodes>\n          <leafValues>\n            3.4466689825057983e-01 5.5974847078323364e-01\n            2.6737868785858154e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 446 -2.2569499909877777e-02 -1 -2 447\n            2.7129601221531630e-04</internalNodes>\n          <leafValues>\n            6.9002681970596313e-01 4.4866389036178589e-01\n            5.5087852478027344e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 448 -1.5434459783136845e-02 -1 -2 449\n            -8.4861656650900841e-03</internalNodes>\n          <leafValues>\n            2.0483230054378510e-01 1.2549529969692230e-01\n            5.0603562593460083e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 450 -1.1807470023632050e-01 -1 -2 451\n            -1.2300079688429832e-03</internalNodes>\n          <leafValues>\n            6.7633062601089478e-02 5.6607007980346680e-01\n            4.2922011017799377e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 452 -7.0290351286530495e-03 -1 -2 453\n            8.9325206354260445e-03</internalNodes>\n          <leafValues>\n            7.1364039182662964e-01 4.3388760089874268e-01\n            7.0608752965927124e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 454 -4.7735981643199921e-02 -1 -2 455\n            -4.4155579060316086e-02</internalNodes>\n          <leafValues>\n            5.2686852216720581e-01 2.5805801153182983e-01\n            5.4069608449935913e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 456 -2.5983480736613274e-02 -1 -2 457\n            -4.7885831445455551e-03</internalNodes>\n          <leafValues>\n            1.9050540030002594e-01 2.5518929958343506e-01\n            5.3390771150588989e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 458 6.7423451691865921e-03 -1 -2 459\n            1.1654750443994999e-02</internalNodes>\n          <leafValues>\n            4.6933099627494812e-01 5.2619642019271851e-01\n            3.1454348564147949e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 460 -5.6982729583978653e-03 -1 -2 461\n            -7.2983349673449993e-03</internalNodes>\n          <leafValues>\n            1.7568530142307281e-01 7.7747297286987305e-01\n            5.1242929697036743e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 462 7.9091778025031090e-03 -1 -2 463\n            -1.5874979726504534e-04</internalNodes>\n          <leafValues>\n            5.2845597267150879e-01 3.8878020644187927e-01\n            5.5011737346649170e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 464 -6.2235877849161625e-03 -1 -2 465\n            1.3308860361576080e-03</internalNodes>\n          <leafValues>\n            2.4898290634155273e-01 4.2621460556983948e-01\n            5.9350621700286865e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 466 5.2055278792977333e-03 -1 -2 467\n            1.4065169729292393e-02</internalNodes>\n          <leafValues>\n            2.5452229380607605e-01 4.8519900441169739e-01\n            7.0214188098907471e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 468 -6.7384149879217148e-03 -1 -2 469\n            3.3406780567020178e-03</internalNodes>\n          <leafValues>\n            7.1432709693908691e-01 5.1757252216339111e-01\n            2.8086438775062561e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 470 -1.1880699545145035e-02 -1 -2 471\n            1.4226379571482539e-03</internalNodes>\n          <leafValues>\n            5.1732218265533447e-01 4.5028659701347351e-01\n            5.7956951856613159e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 472 2.9858129564672709e-03 -1 -2 473\n            -2.0481580868363380e-03</internalNodes>\n          <leafValues>\n            1.9151160120964050e-01 6.5024322271347046e-01\n            4.5593151450157166e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 474 1.7122729914262891e-03 -1 -2 475\n            -1.6980869695544243e-02</internalNodes>\n          <leafValues>\n            5.3762471675872803e-01 7.0562332868576050e-01\n            4.9146059155464172e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 476 -1.1290470138192177e-03 -1 -2 477\n            2.8620059601962566e-03</internalNodes>\n          <leafValues>\n            2.6787060499191284e-01 4.4108539819717407e-01\n            6.3683199882507324e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 478 -3.8065758999437094e-03 -1 -2 479\n            5.9090270660817623e-03</internalNodes>\n          <leafValues>\n            2.7635639905929565e-01 4.8673018813133240e-01\n            6.7287760972976685e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 480 1.1004370171576738e-03 -1 -2 481\n            -2.3396299220621586e-03</internalNodes>\n          <leafValues>\n            4.0705141425132751e-01 2.6049488782882690e-01\n            6.1548602581024170e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 482 -3.6068160552531481e-03 -1 -2 483\n            4.0831189602613449e-02</internalNodes>\n          <leafValues>\n            5.7319998741149902e-01 4.9733769893646240e-01\n            7.3870068788528442e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 484 -7.1082250215113163e-03 -1 -2 485\n            -9.3759730225428939e-04</internalNodes>\n          <leafValues>\n            6.9847512245178223e-01 2.6911678910255432e-01\n            4.7417798638343811e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 486 -1.6740820137783885e-03 -1 -2 487\n            8.8287703692913055e-02</internalNodes>\n          <leafValues>\n            3.5510140657424927e-01 5.2446138858795166e-01\n            2.0966500043869019e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 488 8.2009629113599658e-04 -1 -2 489\n            -7.6624617213383317e-04</internalNodes>\n          <leafValues>\n            4.1310968995094299e-01 4.6202930808067322e-01\n            6.7754101753234863e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 490 6.5769668435677886e-04 -1 -2 491\n            -2.1304790861904621e-03</internalNodes>\n          <leafValues>\n            5.6282752752304077e-01 5.5768597126007080e-01\n            4.5776501297950745e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 492 -3.7317050737328827e-04 -1 -2 493\n            -1.1172230355441570e-02</internalNodes>\n          <leafValues>\n            4.9592560529708862e-01 5.6256359815597534e-01\n            2.0471079647541046e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 494 4.3435219675302505e-02 -1 -2 495\n            9.6736161503940821e-04</internalNodes>\n          <leafValues>\n            2.2421480715274811e-01 4.5333439111709595e-01\n            6.1999320983886719e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 496 -3.1452889088541269e-03 -1 -2 497\n            1.5233129961416125e-03</internalNodes>\n          <leafValues>\n            6.6627562046051025e-01 5.0079882144927979e-01\n            2.3849929869174957e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 498 2.0854279864579439e-03 -1 -2 499\n            3.6098200827836990e-02</internalNodes>\n          <leafValues>\n            3.7535008788108826e-01 5.1771712303161621e-01\n            1.6344930231571198e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 500 1.6179570229724050e-03 -1 -2 501\n            -6.2132300809025764e-04</internalNodes>\n          <leafValues>\n            2.5873818993568420e-01 6.2995338439941406e-01\n            4.6587899327278137e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 502 7.1878539165481925e-04 -1 -2 503\n            -3.9339520037174225e-02</internalNodes>\n          <leafValues>\n            3.3540761470794678e-01 2.1541289985179901e-01\n            5.2357137203216553e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 504 -1.0988829890266061e-03 -1 -2 505\n            2.1191420964896679e-03</internalNodes>\n          <leafValues>\n            6.4688968658447266e-01 2.8930890560150146e-01\n            5.2548158168792725e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>53</maxWeakCount>\n      <stageThreshold>2.5609300613403320e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 506 5.2359891124069691e-03 -1 -2 507\n            -2.2169889416545630e-03</internalNodes>\n          <leafValues>\n            3.2997110486030579e-01 7.0415931940078735e-01\n            3.2354658842086792e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 508 -8.2303592935204506e-03 -1 -2 509\n            -8.2303592935204506e-03</internalNodes>\n          <leafValues>\n            4.9611708521842957e-01 7.1280431747436523e-01\n            4.9611708521842957e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 510 4.5343261444941163e-04 -1 -2 511\n            -4.1777061414904892e-04</internalNodes>\n          <leafValues>\n            3.2084721326828003e-01 6.6139167547225952e-01\n            3.5513329505920410e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 512 2.7823769487440586e-03 -1 -2 513\n            -6.0361868236213923e-05</internalNodes>\n          <leafValues>\n            3.7101349234580994e-01 5.7463937997817993e-01\n            3.8948801159858704e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 514 3.5061789676547050e-03 -1 -2 515\n            1.7013119941111654e-04</internalNodes>\n          <leafValues>\n            3.0541029572486877e-01 2.8855779767036438e-01\n            6.4877450466156006e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 516 -2.3378930054605007e-03 -1 -2 517\n            -2.1369170863181353e-03</internalNodes>\n          <leafValues>\n            3.1744310259819031e-01 3.8209199905395508e-01\n            5.2328932285308838e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 518 1.0250400518998504e-03 -1 -2 519\n            -4.4726220949087292e-05</internalNodes>\n          <leafValues>\n            3.6227950453758240e-01 6.5389591455459595e-01\n            4.0036809444427490e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 520 5.7102291611954570e-04 -1 -2 521\n            5.7743012439459562e-04</internalNodes>\n          <leafValues>\n            3.8931730389595032e-01 5.6145328283309937e-01\n            3.6876440048217773e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 522 7.9692091094329953e-04 -1 -2 523\n            3.5945948911830783e-04</internalNodes>\n          <leafValues>\n            6.4430278539657593e-01 3.3808529376983643e-01\n            5.8246481418609619e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 524 4.3973900028504431e-04 -1 -2 525\n            -8.9061429025605321e-04</internalNodes>\n          <leafValues>\n            3.9387670159339905e-01 3.4279710054397583e-01\n            5.5156987905502319e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 526 5.4110242053866386e-03 -1 -2 527\n            -8.5764907998964190e-04</internalNodes>\n          <leafValues>\n            3.8035380840301514e-01 6.4395052194595337e-01\n            4.1683459281921387e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 528 -2.2000649943947792e-02 -1 -2 529\n            -7.8731682151556015e-03</internalNodes>\n          <leafValues>\n            6.6546010971069336e-01 4.1827228665351868e-01\n            5.6047242879867554e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 530 -2.7444459497928619e-02 -1 -2 531\n            1.9792269449681044e-03</internalNodes>\n          <leafValues>\n            6.5868628025054932e-01 3.2449120283126831e-01\n            4.8828700184822083e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 532 -5.6783691979944706e-03 -1 -2 533\n            1.5057219570735469e-05</internalNodes>\n          <leafValues>\n            2.2290790081024170e-01 4.1072851419448853e-01\n            5.7475912570953369e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 534 -5.4136710241436958e-03 -1 -2 535\n            5.3679239936172962e-03</internalNodes>\n          <leafValues>\n            2.0657970011234283e-01 4.9264231324195862e-01\n            7.1394848823547363e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 536 -3.1426660716533661e-03 -1 -2 537\n            1.0907390154898167e-02</internalNodes>\n          <leafValues>\n            6.7800867557525635e-01 5.2149301767349243e-01\n            1.1439959704875946e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 538 5.8436761610209942e-03 -1 -2 539\n            9.0507230197545141e-05</internalNodes>\n          <leafValues>\n            1.9375260174274445e-01 3.8125771284103394e-01\n            5.5141878128051758e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 540 -1.6345789656043053e-02 -1 -2 541\n            1.5987500082701445e-03</internalNodes>\n          <leafValues>\n            2.4740239977836609e-01 4.8177829384803772e-01\n            5.9230798482894897e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 542 -4.0257978253066540e-03 -1 -2 543\n            -6.7750471644103527e-03</internalNodes>\n          <leafValues>\n            7.5082087516784668e-01 2.8798109292984009e-01\n            5.1996952295303345e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 544 -3.2470689620822668e-03 -1 -2 545\n            1.5409620245918632e-03</internalNodes>\n          <leafValues>\n            3.0449101328849792e-01 4.0634828805923462e-01\n            5.6765627861022949e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 546 -1.2858119793236256e-02 -1 -2 547\n            -1.4824670506641269e-04</internalNodes>\n          <leafValues>\n            9.6717558801174164e-02 4.5378330349922180e-01\n            6.1153751611709595e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 548 -9.0210810303688049e-03 -1 -2 549\n            -2.8795029968023300e-02</internalNodes>\n          <leafValues>\n            4.8077508807182312e-01 3.4037950634956360e-01\n            5.2555292844772339e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 550 9.0210810303688049e-03 -1 -2 551\n            7.4121179059147835e-03</internalNodes>\n          <leafValues>\n            7.5058358907699585e-01 5.4554468393325806e-01\n            3.2260689139366150e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 552 -3.7217529024928808e-03 -1 -2 553\n            1.9865889847278595e-01</internalNodes>\n          <leafValues>\n            2.3118489980697632e-01 5.2710479497909546e-01\n            1.4699299633502960e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 554 1.5208719560177997e-05 -1 -2 555\n            -3.9089918136596680e-03</internalNodes>\n          <leafValues>\n            3.6781388521194458e-01 7.1319299936294556e-01\n            4.9938669800758362e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 556 2.5106288958340883e-03 -1 -2 557\n            2.3921660613268614e-04</internalNodes>\n          <leafValues>\n            5.3120541572570801e-01 4.6893781423568726e-01\n            5.7140219211578369e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 558 6.9443131797015667e-03 -1 -2 559\n            1.2065629707649350e-03</internalNodes>\n          <leafValues>\n            6.9487977027893066e-01 4.0045049786567688e-01\n            5.8748817443847656e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 560 2.5106288958340883e-03 -1 -2 561\n            1.7514040227979422e-03</internalNodes>\n          <leafValues>\n            5.3295719623565674e-01 5.5458492040634155e-01\n            3.4495818614959717e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 562 -4.1978210210800171e-03 -1 -2 563\n            1.3092850567772985e-03</internalNodes>\n          <leafValues>\n            1.2171830236911774e-01 5.3750497102737427e-01\n            3.4156250953674316e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 564 6.7396182566881180e-04 -1 -2 565\n            -1.0530710220336914e-02</internalNodes>\n          <leafValues>\n            4.1951790452003479e-01 3.4607538580894470e-01\n            5.1558601856231689e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 566 -4.0672299265861511e-01 -1 -2 567\n            -2.6314549148082733e-02</internalNodes>\n          <leafValues>\n            5.8065678924322128e-02 1.4734490215778351e-01\n            5.5593782663345337e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 568 2.2557149641215801e-03 -1 -2 569\n            1.2154860422015190e-02</internalNodes>\n          <leafValues>\n            5.4777151346206665e-01 4.2077910900115967e-01\n            5.6218808889389038e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 570 -1.8436539918184280e-02 -1 -2 571\n            5.3676147945225239e-04</internalNodes>\n          <leafValues>\n            6.4471471309661865e-01 2.7651271224021912e-01\n            4.8885959386825562e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 572 -2.6265541091561317e-03 -1 -2 573\n            -5.1119807176291943e-04</internalNodes>\n          <leafValues>\n            5.2646911144256592e-01 5.7853102684020996e-01\n            4.2911028861999512e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 574 4.1454841266386211e-04 -1 -2 575\n            -5.5028748465701938e-04</internalNodes>\n          <leafValues>\n            3.4554108977317810e-01 6.0269188880920410e-01\n            4.1438931226730347e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 576 -1.0347720235586166e-03 -1 -2 577\n            -3.3966631162911654e-03</internalNodes>\n          <leafValues>\n            6.0952937602996826e-01 6.1082822084426880e-01\n            4.7077208757400513e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 578 3.1795909162610769e-03 -1 -2 579\n            -1.6528950072824955e-04</internalNodes>\n          <leafValues>\n            3.2443669438362122e-01 3.8307571411132812e-01\n            5.7343262434005737e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 580 8.3725210279226303e-03 -1 -2 581\n            -2.5799809955060482e-03</internalNodes>\n          <leafValues>\n            6.6109192371368408e-01 6.1393070220947266e-01\n            4.6861499547958374e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 582 9.0194388758391142e-04 -1 -2 583\n            3.6952210939489305e-04</internalNodes>\n          <leafValues>\n            3.5200220346450806e-01 2.5787541270256042e-01\n            5.4672420024871826e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 584 9.9746137857437134e-04 -1 -2 585\n            -3.6688039544969797e-03</internalNodes>\n          <leafValues>\n            4.8201468586921692e-01 5.7101500034332275e-01\n            4.8319110274314880e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 586 -8.9501030743122101e-04 -1 -2 587\n            5.1904921419918537e-03</internalNodes>\n          <leafValues>\n            6.1336791515350342e-01 4.9285829067230225e-01\n            2.5813090801239014e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 588 4.2274440056644380e-04 -1 -2 589\n            8.5176713764667511e-03</internalNodes>\n          <leafValues>\n            4.4711241126060486e-01 5.1610249280929565e-01\n            3.3165338635444641e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 590 -3.6623608320951462e-02 -1 -2 591\n            -4.1103712283074856e-03</internalNodes>\n          <leafValues>\n            9.2606216669082642e-02 8.5221147537231445e-01\n            5.1379078626632690e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 592 -6.6017331555485725e-03 -1 -2 593\n            2.5578640401363373e-02</internalNodes>\n          <leafValues>\n            5.4590600728988647e-01 5.2193528413772583e-01\n            1.9271859526634216e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 594 1.1447439901530743e-02 -1 -2 595\n            7.2427501436322927e-04</internalNodes>\n          <leafValues>\n            1.9160020351409912e-01 5.2315711975097656e-01\n            3.5353401303291321e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 596 9.7127500921487808e-03 -1 -2 597\n            -1.1337569914758205e-02</internalNodes>\n          <leafValues>\n            6.4641010761260986e-01 7.3830378055572510e-01\n            4.9647438526153564e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 598 -8.1453882157802582e-03 -1 -2 599\n            -8.5570756345987320e-03</internalNodes>\n          <leafValues>\n            3.6117058992385864e-01 3.4219071269035339e-01\n            5.9435117244720459e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 600 2.2993308957666159e-03 -1 -2 601\n            3.8430930580943823e-03</internalNodes>\n          <leafValues>\n            4.5501041412353516e-01 4.7168621420860291e-01\n            6.6561907529830933e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 602 -9.9116540513932705e-04 -1 -2 603\n            2.5496469810605049e-02</internalNodes>\n          <leafValues>\n            4.5927169919013977e-01 6.5634012222290039e-01\n            1.2588350474834442e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 604 -1.5748359262943268e-02 -1 -2 605\n            -1.8046120181679726e-02</internalNodes>\n          <leafValues>\n            5.2395021915435791e-01 8.0158519744873047e-01\n            5.0079578161239624e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 606 1.0323390364646912e-02 -1 -2 607\n            1.6452240524813533e-03</internalNodes>\n          <leafValues>\n            2.2748200595378876e-01 4.3519461154937744e-01\n            5.8676278591156006e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 608 1.5881149098277092e-02 -1 -2 609\n            1.0586519725620747e-02</internalNodes>\n          <leafValues>\n            4.4650518894195557e-01 4.5444580912590027e-01\n            5.7071107625961304e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 610 -2.1531689912080765e-02 -1 -2 611\n            5.2480469457805157e-03</internalNodes>\n          <leafValues>\n            6.5276437997817993e-01 3.4447279572486877e-01\n            5.3246361017227173e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>67</maxWeakCount>\n      <stageThreshold>3.2647129058837891e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 612 1.8219340126961470e-03 -1 -2 613\n            8.1313941627740860e-03</internalNodes>\n          <leafValues>\n            3.1087881326675415e-01 3.1332370638847351e-01\n            6.6458672285079956e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 614 1.7055979697033763e-03 -1 -2 615\n            -7.4483548814896494e-05</internalNodes>\n          <leafValues>\n            2.6401311159133911e-01 5.6472051143646240e-01\n            3.4853729605674744e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 616 3.8342390325851738e-04 -1 -2 617\n            3.1868910882622004e-03</internalNodes>\n          <leafValues>\n            3.1406548619270325e-01 6.4891988039016724e-01\n            3.8877290487289429e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 618 1.6044320166110992e-01 -1 -2 619\n            -6.7285560071468353e-03</internalNodes>\n          <leafValues>\n            7.2165298461914062e-01 1.6531379520893097e-01\n            5.1398259401321411e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 620 7.2638481469766703e-06 -1 -2 621\n            5.5551197146996856e-04</internalNodes>\n          <leafValues>\n            3.1406199932098389e-01 5.9936988353729248e-01\n            3.3173981308937073e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 622 -1.0822320356965065e-02 -1 -2 623\n            -4.5834020711481571e-03</internalNodes>\n          <leafValues>\n            2.6529380679130554e-01 1.8495689332485199e-01\n            5.3139579296112061e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 624 -3.0205070506781340e-03 -1 -2 625\n            7.7864617109298706e-02</internalNodes>\n          <leafValues>\n            4.0400999784469604e-01 6.1581897735595703e-01\n            1.7864869534969330e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 626 2.6494380086660385e-02 -1 -2 627\n            3.6912109702825546e-02</internalNodes>\n          <leafValues>\n            4.5110899209976196e-01 4.5282199978828430e-01\n            5.9722828865051270e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 628 5.7857790961861610e-03 -1 -2 629\n            9.3849771656095982e-04</internalNodes>\n          <leafValues>\n            2.5338920950889587e-01 3.4104120731353760e-01\n            5.9236437082290649e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 630 -1.1003199964761734e-02 -1 -2 631\n            -1.1737640015780926e-03</internalNodes>\n          <leafValues>\n            6.9580441713333130e-01 3.8510841131210327e-01\n            5.4081892967224121e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 632 -3.6596669815480709e-03 -1 -2 633\n            -2.4822750128805637e-03</internalNodes>\n          <leafValues>\n            2.0093089342117310e-01 6.2953931093215942e-01\n            4.3950408697128296e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 634 -4.4606071896851063e-03 -1 -2 635\n            -3.5969649907201529e-03</internalNodes>\n          <leafValues>\n            2.4052999913692474e-01 5.4501742124557495e-01\n            3.7823578715324402e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 636 -3.6222559865564108e-03 -1 -2 637\n            1.2059339787811041e-03</internalNodes>\n          <leafValues>\n            3.0338969826698303e-01 4.6337789297103882e-01\n            6.3359522819519043e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 638 4.3124938383698463e-03 -1 -2 639\n            -4.4961250387132168e-03</internalNodes>\n          <leafValues>\n            6.5988260507583618e-01 6.6216969490051270e-01\n            4.7552469372749329e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 640 -1.3860689941793680e-03 -1 -2 641\n            -5.1588460337370634e-04</internalNodes>\n          <leafValues>\n            2.8012010455131531e-01 3.8294890522956848e-01\n            5.6236267089843750e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 642 7.0330002927221358e-05 -1 -2 643\n            -2.0976549421902746e-04</internalNodes>\n          <leafValues>\n            4.5363429188728333e-01 5.6081390380859375e-01\n            4.2657798528671265e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 644 1.3642259873449802e-03 -1 -2 645\n            1.5483660390600562e-03</internalNodes>\n          <leafValues>\n            2.6370918750762939e-01 4.1707509756088257e-01\n            5.9329879283905029e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 646 1.9179609417915344e-01 -1 -2 647\n            -4.4776909053325653e-03</internalNodes>\n          <leafValues>\n            5.2567642927169800e-01 6.6326218843460083e-01\n            4.8925888538360596e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 648 -1.2649179995059967e-01 -1 -2 649\n            6.5253327193204314e-05</internalNodes>\n          <leafValues>\n            1.4997789263725281e-01 4.2333200573921204e-01\n            5.7560402154922485e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 650 4.1856421157717705e-03 -1 -2 651\n            2.7478230185806751e-04</internalNodes>\n          <leafValues>\n            5.2888268232345581e-01 4.5240178704261780e-01\n            5.6041252613067627e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 652 -2.2906810045242310e-03 -1 -2 653\n            1.6744500026106834e-03</internalNodes>\n          <leafValues>\n            5.5782741308212280e-01 3.3230578899383545e-01\n            5.5587881803512573e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 654 1.2349759927019477e-03 -1 -2 655\n            -8.7158754467964172e-03</internalNodes>\n          <leafValues>\n            3.6539471149444580e-01 1.9245339930057526e-01\n            5.3136497735977173e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 656 4.6613621525466442e-03 -1 -2 657\n            -8.5815992206335068e-03</internalNodes>\n          <leafValues>\n            2.0277309417724609e-01 7.6360601186752319e-01\n            5.1408261060714722e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 658 1.4352120459079742e-02 -1 -2 659\n            -7.7948719263076782e-03</internalNodes>\n          <leafValues>\n            5.2529758214950562e-01 2.6329371333122253e-01\n            5.3286892175674438e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 660 -3.4155680332332850e-03 -1 -2 661\n            -4.2639090679585934e-03</internalNodes>\n          <leafValues>\n            2.4160879850387573e-01 3.9365449547767639e-01\n            5.4787421226501465e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 662 8.7177697569131851e-03 -1 -2 663\n            -3.2232629600912333e-03</internalNodes>\n          <leafValues>\n            4.7881990671157837e-01 3.6316120624542236e-01\n            5.2883160114288330e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 664 -4.2188368737697601e-02 -1 -2 665\n            1.9875749945640564e-02</internalNodes>\n          <leafValues>\n            6.9311392307281494e-01 4.5201000571250916e-01\n            6.8550550937652588e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 666 -3.1134510412812233e-02 -1 -2 667\n            5.7032387703657150e-03</internalNodes>\n          <leafValues>\n            5.3004240989685059e-01 5.6068921089172363e-01\n            4.2306229472160339e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 668 5.2733682096004486e-03 -1 -2 669\n            -3.1231069006025791e-03</internalNodes>\n          <leafValues>\n            3.2472288608551025e-01 1.9856959581375122e-01\n            5.3498727083206177e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 670 4.6453849063254893e-04 -1 -2 671\n            3.0355889350175858e-02</internalNodes>\n          <leafValues>\n            4.2075088620185852e-01 5.1534587144851685e-01\n            3.1181010603904724e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 672 -4.2992769740521908e-03 -1 -2 673\n            1.9509199773892760e-04</internalNodes>\n          <leafValues>\n            3.2745069265365601e-01 5.9530782699584961e-01\n            4.2255210876464844e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 674 -7.7784480527043343e-03 -1 -2 675\n            1.6917599365115166e-02</internalNodes>\n          <leafValues>\n            7.2111797332763672e-01 4.9365919828414917e-01\n            7.0302772521972656e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 676 -5.1948569715023041e-02 -1 -2 677\n            -5.4751220159232616e-03</internalNodes>\n          <leafValues>\n            1.4255349338054657e-01 6.0593318939208984e-01\n            4.3939951062202454e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 678 1.5210839592327829e-05 -1 -2 679\n            1.0235579684376717e-03</internalNodes>\n          <leafValues>\n            4.4888499379158020e-01 4.2565500736236572e-01\n            5.7954382896423340e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 680 -1.0427719826111570e-04 -1 -2 681\n            8.7853781878948212e-03</internalNodes>\n          <leafValues>\n            4.2460399866104126e-01 4.9580091238021851e-01\n            6.7594307661056519e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 682 3.4012699034065008e-03 -1 -2 683\n            5.8582378551363945e-04</internalNodes>\n          <leafValues>\n            5.4234808683395386e-01 3.6365428566932678e-01\n            5.4643487930297852e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 684 -2.2973360028117895e-03 -1 -2 685\n            -1.4330189675092697e-02</internalNodes>\n          <leafValues>\n            2.5488188862800598e-01 6.5876567363739014e-01\n            4.5328021049499512e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 686 9.8565965890884399e-04 -1 -2 687\n            -4.6640761196613312e-02</internalNodes>\n          <leafValues>\n            3.8227710127830505e-01 3.0773219466209412e-01\n            5.2441328763961792e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 688 -1.1907300353050232e-01 -1 -2 689\n            1.9333280622959137e-02</internalNodes>\n          <leafValues>\n            1.0338629782199860e-01 5.5547451972961426e-01\n            3.2213169336318970e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 690 3.1427849084138870e-02 -1 -2 691\n            2.0082130504306406e-04</internalNodes>\n          <leafValues>\n            4.6823790669441223e-01 5.3730702400207520e-01\n            3.8006669282913208e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 692 -6.2584900297224522e-03 -1 -2 693\n            8.2861045375466347e-03</internalNodes>\n          <leafValues>\n            1.7992070317268372e-01 5.0950688123703003e-01\n            7.5446051359176636e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 694 2.0529709290713072e-03 -1 -2 695\n            3.2524869311600924e-03</internalNodes>\n          <leafValues>\n            5.6286448240280151e-01 4.8016890883445740e-01\n            5.8021020889282227e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 696 -3.1884901225566864e-02 -1 -2 697\n            1.8379340181127191e-03</internalNodes>\n          <leafValues>\n            1.7427450418472290e-01 3.4665969014167786e-01\n            5.1071548461914062e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 698 -4.8512680223211646e-04 -1 -2 699\n            -2.5407879147678614e-03</internalNodes>\n          <leafValues>\n            5.3260862827301025e-01 6.3427752256393433e-01\n            4.9926930665969849e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 700 -5.1559060811996460e-03 -1 -2 701\n            -4.4968750327825546e-02</internalNodes>\n          <leafValues>\n            3.4334290027618408e-01 1.8681369721889496e-01\n            5.2154648303985596e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 702 5.8984281495213509e-03 -1 -2 703\n            3.2763120252639055e-03</internalNodes>\n          <leafValues>\n            6.2293052673339844e-01 4.9357721209526062e-01\n            7.2179448604583740e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 704 -1.0161520185647532e-04 -1 -2 705\n            -1.6290300118271261e-04</internalNodes>\n          <leafValues>\n            5.0079762935638428e-01 6.0241490602493286e-01\n            2.3295080661773682e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 706 9.0541364625096321e-03 -1 -2 707\n            3.5398490726947784e-02</internalNodes>\n          <leafValues>\n            4.5104169845581055e-01 5.1419967412948608e-01\n            2.8602918982505798e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 708 5.6469351984560490e-03 -1 -2 709\n            -2.4807190056890249e-03</internalNodes>\n          <leafValues>\n            4.7049251198768616e-01 4.1798511147499084e-01\n            6.7266470193862915e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 710 -4.1088787838816643e-03 -1 -2 711\n            -2.0714469719678164e-03</internalNodes>\n          <leafValues>\n            5.8098018169403076e-01 6.0747838020324707e-01\n            4.5240598917007446e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 712 -2.8939060866832733e-03 -1 -2 713\n            1.3467279495671391e-03</internalNodes>\n          <leafValues>\n            3.3835199475288391e-01 5.6969100236892700e-01\n            3.9708450436592102e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 714 -9.0779133141040802e-02 -1 -2 715\n            -8.3171762526035309e-02</internalNodes>\n          <leafValues>\n            1.5027019381523132e-01 7.5736707448959351e-01\n            4.9364370107650757e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 716 -1.4107000315561891e-03 -1 -2 717\n            5.5668760091066360e-02</internalNodes>\n          <leafValues>\n            3.3909329771995544e-01 5.0250971317291260e-01\n            7.4220830202102661e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 718 5.7701539248228073e-02 -1 -2 719\n            -4.2503291368484497e-01</internalNodes>\n          <leafValues>\n            5.1973718404769897e-01 9.7346916794776917e-02\n            5.1857399940490723e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 720 -4.4380719191394746e-04 -1 -2 721\n            1.7924769781529903e-04</internalNodes>\n          <leafValues>\n            3.6493501067161560e-01 5.6192791461944580e-01\n            3.7602970004081726e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 722 5.0382469780743122e-03 -1 -2 723\n            1.5191170386970043e-02</internalNodes>\n          <leafValues>\n            6.3284450769424438e-01 4.9360820651054382e-01\n            7.4265247583389282e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 724 -1.2300389818847179e-02 -1 -2 725\n            1.5168030513450503e-03</internalNodes>\n          <leafValues>\n            1.3893499970436096e-01 5.0919622182846069e-01\n            3.4826481342315674e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 726 9.5754547510296106e-04 -1 -2 727\n            -1.8962200731039047e-02</internalNodes>\n          <leafValues>\n            6.0363167524337769e-01 2.3191730678081512e-01\n            5.1166528463363647e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 728 -2.2272260859608650e-02 -1 -2 729\n            -2.5145230814814568e-02</internalNodes>\n          <leafValues>\n            6.5550220012664795e-01 1.3260710239410400e-01\n            4.6740341186523438e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 730 1.9533900544047356e-02 -1 -2 731\n            -1.1231349781155586e-03</internalNodes>\n          <leafValues>\n            5.1820272207260132e-01 6.3182431459426880e-01\n            4.8255190253257751e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 732 -1.4861139934509993e-03 -1 -2 733\n            3.5002888762392104e-04</internalNodes>\n          <leafValues>\n            2.9186710715293884e-01 5.6213712692260742e-01\n            4.2492130398750305e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 734 -1.1231349781155586e-03 -1 -2 735\n            1.0409739799797535e-02</internalNodes>\n          <leafValues>\n            4.8137450218200684e-01 5.1840060949325562e-01\n            2.0512230694293976e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 736 -8.7832562625408173e-02 -1 -2 737\n            1.6584879485890269e-03</internalNodes>\n          <leafValues>\n            1.1799219995737076e-01 4.9878111481666565e-01\n            6.9737559556961060e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 738 -2.3008750285953283e-03 -1 -2 739\n            3.3026169985532761e-02</internalNodes>\n          <leafValues>\n            5.3398311138153076e-01 5.0332891941070557e-01\n            6.8519067764282227e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 740 -1.3585069682449102e-03 -1 -2 741\n            7.8067491995170712e-04</internalNodes>\n          <leafValues>\n            3.0028221011161804e-01 4.5930838584899902e-01\n            6.4400452375411987e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 742 -1.8025759607553482e-02 -1 -2 743\n            1.2354910140857100e-03</internalNodes>\n          <leafValues>\n            5.3112912178039551e-01 4.7291061282157898e-01\n            5.7214611768722534e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 744 -9.2583027435466647e-04 -1 -2 745\n            8.0123997759073973e-04</internalNodes>\n          <leafValues>\n            3.6623328924179077e-01 5.3619897365570068e-01\n            3.0086329579353333e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>63</maxWeakCount>\n      <stageThreshold>3.0672130584716797e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 746 2.4914839304983616e-03 -1 -2 747\n            -5.0488598644733429e-02</internalNodes>\n          <leafValues>\n            3.4223890304565430e-01 7.7034580707550049e-01\n            4.5163908600807190e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 748 -7.7838351717218757e-04 -1 -2 749\n            2.3572890495415777e-04</internalNodes>\n          <leafValues>\n            3.2563421130180359e-01 3.4065559506416321e-01\n            5.8970272541046143e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 750 4.5575071126222610e-03 -1 -2 751\n            8.1241987645626068e-03</internalNodes>\n          <leafValues>\n            4.3065789341926575e-01 7.1495872735977173e-01\n            4.3456849455833435e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 752 -4.4612158671952784e-04 -1 -2 753\n            -2.8972938889637589e-04</internalNodes>\n          <leafValues>\n            3.2959741353988647e-01 5.8456200361251831e-01\n            3.5266879200935364e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 754 7.1604831646254752e-06 -1 -2 755\n            -3.8497708737850189e-04</internalNodes>\n          <leafValues>\n            4.0819549560546875e-01 4.2031130194664001e-01\n            6.6341269016265869e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 756 1.9489860278554261e-04 -1 -2 757\n            -1.7083849757909775e-02</internalNodes>\n          <leafValues>\n            3.9424669742584229e-01 2.2940720617771149e-01\n            5.2389609813690186e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 758 8.3513697609305382e-04 -1 -2 759\n            7.5499608647078276e-04</internalNodes>\n          <leafValues>\n            3.0260318517684937e-01 6.0321962833404541e-01\n            3.4124588966369629e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 760 8.0216713249683380e-03 -1 -2 761\n            -3.8930509239435196e-02</internalNodes>\n          <leafValues>\n            7.3062407970428467e-01 3.5993251204490662e-01\n            5.2343809604644775e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 762 -7.0348767621908337e-05 -1 -2 763\n            -8.5350573062896729e-03</internalNodes>\n          <leafValues>\n            3.4937581419944763e-01 2.7461090683937073e-01\n            5.6265860795974731e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 764 1.0854450054466724e-02 -1 -2 765\n            4.5329501153901219e-04</internalNodes>\n          <leafValues>\n            5.2822262048721313e-01 4.5220491290092468e-01\n            6.0543018579483032e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 766 1.8117150466423482e-04 -1 -2 767\n            4.6641560038551688e-04</internalNodes>\n          <leafValues>\n            3.3068621158599854e-01 1.4550000429153442e-01\n            5.3849279880523682e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 768 -8.4854792803525925e-03 -1 -2 769\n            -1.8934309482574463e-02</internalNodes>\n          <leafValues>\n            4.8141559958457947e-01 3.5637411475181580e-01\n            5.4051452875137329e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 770 4.9814549274742603e-03 -1 -2 771\n            3.4286780282855034e-03</internalNodes>\n          <leafValues>\n            6.9577431678771973e-01 5.0508928298950195e-01\n            2.3169949650764465e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 772 4.4203791185282171e-04 -1 -2 773\n            2.3822550429031253e-04</internalNodes>\n          <leafValues>\n            6.0185819864273071e-01 4.7550821304321289e-01\n            5.5852377414703369e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 774 -6.4261639490723610e-03 -1 -2 775\n            9.9637769162654877e-03</internalNodes>\n          <leafValues>\n            2.2824659943580627e-01 4.0405881404876709e-01\n            5.6501698493957520e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 776 1.3654050417244434e-02 -1 -2 777\n            -9.9892877042293549e-03</internalNodes>\n          <leafValues>\n            5.2677392959594727e-01 6.7940497398376465e-01\n            4.7970339655876160e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 778 3.6558631807565689e-02 -1 -2 779\n            4.8999379941960797e-05</internalNodes>\n          <leafValues>\n            8.8425733149051666e-02 4.0207880735397339e-01\n            5.4573321342468262e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 780 1.3654050417244434e-02 -1 -2 781\n            1.8802779959514737e-03</internalNodes>\n          <leafValues>\n            5.2676129341125488e-01 4.8060521483421326e-01\n            6.3943648338317871e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 782 -1.3654050417244434e-02 -1 -2 783\n            1.2778700329363346e-03</internalNodes>\n          <leafValues>\n            1.7248100042343140e-01 4.4798240065574646e-01\n            6.3100087642669678e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 784 9.8843395244330168e-04 -1 -2 785\n            1.4511500012304168e-05</internalNodes>\n          <leafValues>\n            5.9481692314147949e-01 4.8541748523712158e-01\n            5.3093612194061279e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 786 -2.2775429533794522e-04 -1 -2 787\n            -1.4753740280866623e-02</internalNodes>\n          <leafValues>\n            3.1836318969726562e-01 3.0849760770797729e-01\n            5.3520262241363525e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 788 -3.4148250706493855e-03 -1 -2 789\n            7.5806681998074055e-03</internalNodes>\n          <leafValues>\n            6.1153268814086914e-01 4.9516460299491882e-01\n            7.0613312721252441e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 790 -5.7734688743948936e-03 -1 -2 791\n            7.4033669079653919e-05</internalNodes>\n          <leafValues>\n            3.7542209029197693e-01 4.1155171394348145e-01\n            5.8894449472427368e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 792 -8.2278084009885788e-03 -1 -2 793\n            5.3380909375846386e-03</internalNodes>\n          <leafValues>\n            9.5610566437244415e-02 5.3005087375640869e-01\n            3.9618980884552002e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 794 -2.7049109339714050e-03 -1 -2 795\n            7.7341338619589806e-03</internalNodes>\n          <leafValues>\n            6.4818692207336426e-01 5.1104402542114258e-01\n            3.1215190887451172e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 796 1.0886609554290771e-02 -1 -2 797\n            1.1038660071790218e-02</internalNodes>\n          <leafValues>\n            4.8014289140701294e-01 5.4297101497650146e-01\n            4.1623631119728088e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 798 -1.0054199956357479e-02 -1 -2 799\n            7.7072880230844021e-03</internalNodes>\n          <leafValues>\n            7.3293352127075195e-01 5.3568720817565918e-01\n            3.4555470943450928e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 800 -5.8278098003938794e-04 -1 -2 801\n            -2.5739220436662436e-03</internalNodes>\n          <leafValues>\n            3.6550220847129822e-01 3.7767601013183594e-01\n            5.3917747735977173e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 802 -7.0167761296033859e-03 -1 -2 803\n            -1.7727289814502001e-03</internalNodes>\n          <leafValues>\n            4.0393048524856567e-01 6.9504439830780029e-01\n            4.9811169505119324e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 804 -1.6318289563059807e-02 -1 -2 805\n            -1.1663000099360943e-02</internalNodes>\n          <leafValues>\n            5.2967327833175659e-01 5.8426398038864136e-01\n            4.7895029187202454e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 806 2.5881489273160696e-03 -1 -2 807\n            -3.7328999023884535e-03</internalNodes>\n          <leafValues>\n            6.0921788215637207e-01 6.7217427492141724e-01\n            4.0668940544128418e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 808 -1.4355930034071207e-03 -1 -2 809\n            1.8340899841859937e-03</internalNodes>\n          <leafValues>\n            3.5850879549980164e-01 5.3711581230163574e-01\n            4.0335071086883545e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 810 1.2280289828777313e-01 -1 -2 811\n            5.0228700041770935e-02</internalNodes>\n          <leafValues>\n            1.5475720167160034e-01 5.4338437318801880e-01\n            8.4292672574520111e-02</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 812 -2.1437000483274460e-02 -1 -2 813\n            -3.1009620055556297e-02</internalNodes>\n          <leafValues>\n            4.8600539565086365e-01 1.8330100178718567e-01\n            5.2075541019439697e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 814 -1.2973720207810402e-02 -1 -2 815\n            1.5818020328879356e-03</internalNodes>\n          <leafValues>\n            7.0482409000396729e-01 4.1705870628356934e-01\n            5.8651638031005859e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 816 -9.7806248813867569e-03 -1 -2 817\n            1.1735740117728710e-03</internalNodes>\n          <leafValues>\n            5.3079181909561157e-01 5.5224531888961792e-01\n            3.5071650147438049e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 818 1.4651629608124495e-03 -1 -2 819\n            2.3532148916274309e-03</internalNodes>\n          <leafValues>\n            3.0426511168479919e-01 5.3393232822418213e-01\n            2.8062361478805542e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 820 -6.1809681355953217e-03 -1 -2 821\n            6.5688649192452431e-04</internalNodes>\n          <leafValues>\n            6.4101332426071167e-01 5.6208711862564087e-01\n            4.3903189897537231e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 822 2.6228010654449463e-02 -1 -2 823\n            -1.7958110198378563e-02</internalNodes>\n          <leafValues>\n            6.4455568790435791e-01 2.0027139782905579e-01\n            4.6246650815010071e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 824 -7.6468721963465214e-03 -1 -2 825\n            -2.7482809964567423e-03</internalNodes>\n          <leafValues>\n            5.2632009983062744e-01 5.8739811182022095e-01\n            4.8366001248359680e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 826 1.3851850293576717e-02 -1 -2 827\n            2.6369190309196711e-03</internalNodes>\n          <leafValues>\n            1.5661309659481049e-01 4.2701789736747742e-01\n            5.8066600561141968e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 828 -3.1513599678874016e-03 -1 -2 829\n            -1.4788460248382762e-05</internalNodes>\n          <leafValues>\n            6.2158662080764771e-01 5.5766427516937256e-01\n            4.1220021247863770e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 830 -7.3676988482475281e-02 -1 -2 831\n            -3.0912780202925205e-03</internalNodes>\n          <leafValues>\n            1.5367099642753601e-01 6.3442689180374146e-01\n            4.5074120163917542e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 832 7.9240966588258743e-03 -1 -2 833\n            8.5778040811419487e-03</internalNodes>\n          <leafValues>\n            5.4579752683639526e-01 5.4016572237014771e-01\n            3.8907998800277710e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 834 5.5403169244527817e-03 -1 -2 835\n            -1.1886510037584230e-04</internalNodes>\n          <leafValues>\n            3.5556110739707947e-01 5.8367502689361572e-01\n            4.2743161320686340e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 836 -1.8408369272947311e-02 -1 -2 837\n            -2.3490579333156347e-03</internalNodes>\n          <leafValues>\n            5.8604401350021362e-01 4.4989579916000366e-01\n            5.4981988668441772e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 838 -7.6157399453222752e-03 -1 -2 839\n            -3.3190969843417406e-03</internalNodes>\n          <leafValues>\n            4.1009929776191711e-01 6.7013788223266602e-01\n            4.3530011177062988e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 840 -9.4642979092895985e-04 -1 -2 841\n            8.7858550250530243e-03</internalNodes>\n          <leafValues>\n            5.3911769390106201e-01 5.5040502548217773e-01\n            3.9909350872039795e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 842 1.6395459533669055e-04 -1 -2 843\n            -2.3508940357714891e-03</internalNodes>\n          <leafValues>\n            3.5929331183433533e-01 4.0341728925704956e-01\n            5.8060771226882935e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 844 7.5449963333085179e-05 -1 -2 845\n            2.7018489316105843e-02</internalNodes>\n          <leafValues>\n            5.4123848676681519e-01 4.9449229240417480e-01\n            5.5894362926483154e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 846 8.4561208495870233e-04 -1 -2 847\n            -1.1687109945341945e-03</internalNodes>\n          <leafValues>\n            5.8092182874679565e-01 4.7469571232795715e-01\n            2.8458958864212036e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 848 2.2897500544786453e-02 -1 -2 849\n            7.0879262685775757e-01</internalNodes>\n          <leafValues>\n            2.4144110083580017e-01 5.1957648992538452e-01\n            1.0300920158624649e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 850 3.7483830004930496e-02 -1 -2 851\n            1.2827500468119979e-03</internalNodes>\n          <leafValues>\n            1.8146389722824097e-01 4.2460718750953674e-01\n            5.7079732418060303e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 852 -5.1718312315642834e-03 -1 -2 853\n            2.7545939665287733e-03</internalNodes>\n          <leafValues>\n            6.1433231830596924e-01 5.2056711912155151e-01\n            4.2204418778419495e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 854 -3.6072919610887766e-03 -1 -2 855\n            -2.5258748792111874e-04</internalNodes>\n          <leafValues>\n            3.1825920939445496e-01 5.7104682922363281e-01\n            4.2260938882827759e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 856 -7.0514748804271221e-03 -1 -2 857\n            -5.4323761723935604e-03</internalNodes>\n          <leafValues>\n            5.1628297567367554e-01 2.6662889122962952e-01\n            5.2146798372268677e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 858 -1.4652940080850385e-05 -1 -2 859\n            -1.8556920113041997e-03</internalNodes>\n          <leafValues>\n            3.9817610383033752e-01 3.3227631449699402e-01\n            5.7058340311050415e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 860 4.7609540633857250e-03 -1 -2 861\n            1.5676260227337480e-03</internalNodes>\n          <leafValues>\n            6.6365581750869751e-01 5.5055677890777588e-01\n            4.4206619262695312e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 862 5.4239919409155846e-03 -1 -2 863\n            -6.4692399464547634e-03</internalNodes>\n          <leafValues>\n            5.9599381685256958e-01 5.3695940971374512e-01\n            3.7443399429321289e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 864 -7.8038539504632354e-04 -1 -2 865\n            4.5086450874805450e-02</internalNodes>\n          <leafValues>\n            4.1035950183868408e-01 5.1775068044662476e-01\n            1.8781000375747681e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 866 -5.1405387930572033e-03 -1 -2 867\n            -2.1236129105091095e-02</internalNodes>\n          <leafValues>\n            2.3528920114040375e-01 1.7087510228157043e-01\n            5.4249739646911621e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 868 -2.3763340432196856e-03 -1 -2 869\n            5.4122589528560638e-02</internalNodes>\n          <leafValues>\n            5.8365309238433838e-01 5.1174330711364746e-01\n            1.8659310042858124e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 870 -5.3492980077862740e-04 -1 -2 871\n            -5.8454048121348023e-04</internalNodes>\n          <leafValues>\n            5.1086932420730591e-01 4.7754910588264465e-01\n            2.4398539960384369e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>71</maxWeakCount>\n      <stageThreshold>3.4677078247070312e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 872 3.0031939968466759e-03 -1 -2 873\n            6.9161207647994161e-04</internalNodes>\n          <leafValues>\n            3.3496499061584473e-01 4.5183679461479187e-01\n            7.2893542051315308e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 874 1.1212790384888649e-02 -1 -2 875\n            -7.6108198845759034e-04</internalNodes>\n          <leafValues>\n            2.9508009552955627e-01 5.6690549850463867e-01\n            2.8308510780334473e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 876 1.1984579759882763e-04 -1 -2 877\n            -1.9725349557120353e-04</internalNodes>\n          <leafValues>\n            4.0905779600143433e-01 6.9514942169189453e-01\n            4.6378681063652039e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 878 -5.5180420167744160e-03 -1 -2 879\n            1.2148249661549926e-03</internalNodes>\n          <leafValues>\n            3.1676751375198364e-01 3.3167061209678650e-01\n            5.3963977098464966e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 880 -4.2497441172599792e-03 -1 -2 881\n            -9.4915721565485001e-03</internalNodes>\n          <leafValues>\n            2.6005738973617554e-01 7.4842947721481323e-01\n            5.0731921195983887e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 882 6.5378600265830755e-04 -1 -2 883\n            -4.9741100519895554e-04</internalNodes>\n          <leafValues>\n            3.9520108699798584e-01 5.8802747726440430e-01\n            3.5521200299263000e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 884 -4.3079249560832977e-02 -1 -2 885\n            -5.1999092102050781e-04</internalNodes>\n          <leafValues>\n            2.4348780512809753e-01 3.1955629587173462e-01\n            5.5854547023773193e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 886 -4.5451628975570202e-03 -1 -2 887\n            -7.9610403627157211e-03</internalNodes>\n          <leafValues>\n            4.8452898859977722e-01 3.8011810183525085e-01\n            5.3585118055343628e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 888 -3.1919340835884213e-04 -1 -2 889\n            -1.9223889335989952e-02</internalNodes>\n          <leafValues>\n            4.3563291430473328e-01 2.6130661368370056e-01\n            6.1554962396621704e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 890 -1.3076990144327283e-03 -1 -2 891\n            1.9825039431452751e-02</internalNodes>\n          <leafValues>\n            5.9420621395111084e-01 4.9454280734062195e-01\n            7.3848551511764526e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 892 -2.2013280540704727e-03 -1 -2 893\n            -7.8596705570816994e-03</internalNodes>\n          <leafValues>\n            2.2144819796085358e-01 3.6009770631790161e-01\n            5.2985501289367676e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 894 1.4142199652269483e-03 -1 -2 895\n            -1.1232759803533554e-02</internalNodes>\n          <leafValues>\n            5.7765662670135498e-01 6.9344568252563477e-01\n            4.8272070288658142e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 896 2.9746301006525755e-03 -1 -2 897\n            5.3283828310668468e-04</internalNodes>\n          <leafValues>\n            3.2166770100593567e-01 3.9625000953674316e-01\n            5.6803637742996216e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 898 1.0105259716510773e-02 -1 -2 899\n            -1.1653699912130833e-02</internalNodes>\n          <leafValues>\n            7.5674182176589966e-01 6.5235567092895508e-01\n            5.0270539522171021e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 900 -7.0609981194138527e-03 -1 -2 901\n            2.2343141026794910e-03</internalNodes>\n          <leafValues>\n            2.5387701392173767e-01 4.3872770667076111e-01\n            6.1776322126388550e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 902 -2.9802279546856880e-02 -1 -2 903\n            1.1611840454861522e-03</internalNodes>\n          <leafValues>\n            5.2011400461196899e-01 4.6479099988937378e-01\n            6.1842548847198486e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 904 9.4824447296559811e-04 -1 -2 905\n            4.1284630424343050e-04</internalNodes>\n          <leafValues>\n            3.0409941077232361e-01 4.5188081264495850e-01\n            6.2457829713821411e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 906 -3.1203540042042732e-02 -1 -2 907\n            2.7652881108224392e-03</internalNodes>\n          <leafValues>\n            2.7889358997344971e-01 4.6985000371932983e-01\n            6.5024542808532715e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 908 2.5644779205322266e-02 -1 -2 909\n            -7.5331530533730984e-03</internalNodes>\n          <leafValues>\n            1.8051710724830627e-01 3.2080689072608948e-01\n            5.5220228433609009e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 910 3.2047149725258350e-03 -1 -2 911\n            -2.4282479716930538e-04</internalNodes>\n          <leafValues>\n            6.4369338750839233e-01 5.6767052412033081e-01\n            4.5091038942337036e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 912 -6.1979342717677355e-04 -1 -2 913\n            -8.0101029016077518e-04</internalNodes>\n          <leafValues>\n            3.1221461296081543e-01 2.9651939868927002e-01\n            5.2304947376251221e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 914 -9.1816839994862676e-04 -1 -2 915\n            1.2239529751241207e-03</internalNodes>\n          <leafValues>\n            5.4647117853164673e-01 4.6185028553009033e-01\n            5.6795489788055420e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 916 -6.8743730662390590e-04 -1 -2 917\n            -1.8252469599246979e-03</internalNodes>\n          <leafValues>\n            5.4308801889419556e-01 5.4336231946945190e-01\n            3.3852210640907288e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 918 -7.4570789001882076e-03 -1 -2 919\n            5.3775748237967491e-03</internalNodes>\n          <leafValues>\n            5.2655947208404541e-01 4.8572158813476562e-01\n            6.8151241540908813e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 920 3.7602309603244066e-03 -1 -2 921\n            8.7752222316339612e-04</internalNodes>\n          <leafValues>\n            2.8321608901023865e-01 3.9668309688568115e-01\n            5.5124807357788086e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 922 5.5084479972720146e-03 -1 -2 923\n            -7.5949047459289432e-04</internalNodes>\n          <leafValues>\n            6.7846202850341797e-01 3.9065030217170715e-01\n            5.4572027921676636e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 924 1.6352660022675991e-03 -1 -2 925\n            -1.2750849418807775e-04</internalNodes>\n          <leafValues>\n            3.6402040719985962e-01 5.8297240734100342e-01\n            4.1949799656867981e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 926 2.2067610174417496e-02 -1 -2 927\n            -1.9203789532184601e-02</internalNodes>\n          <leafValues>\n            4.6067029237747192e-01 3.2614830136299133e-01\n            5.2360808849334717e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 928 -1.2998109683394432e-02 -1 -2 929\n            -3.1332690268754959e-03</internalNodes>\n          <leafValues>\n            7.0221120119094849e-01 2.8704708814620972e-01\n            5.0764769315719604e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 930 -5.2937557920813560e-03 -1 -2 931\n            2.1857069805264473e-03</internalNodes>\n          <leafValues>\n            4.7095209360122681e-01 4.7082918882369995e-01\n            6.1698418855667114e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 932 -4.5750709250569344e-03 -1 -2 933\n            -4.5152138918638229e-02</internalNodes>\n          <leafValues>\n            3.1142529845237732e-01 1.8514350056648254e-01\n            5.5048149824142456e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 934 -2.7783559635281563e-03 -1 -2 935\n            -2.5752480141818523e-03</internalNodes>\n          <leafValues>\n            4.9373480677604675e-01 6.1529481410980225e-01\n            4.7354999184608459e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 936 1.1614130344241858e-03 -1 -2 937\n            2.3350189439952374e-03</internalNodes>\n          <leafValues>\n            6.5105718374252319e-01 4.0883418917655945e-01\n            5.6841522455215454e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 938 3.8499289657920599e-03 -1 -2 939\n            2.4529630318284035e-03</internalNodes>\n          <leafValues>\n            3.0258288979530334e-01 5.2325028181076050e-01\n            2.0176209509372711e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 940 3.6731390282511711e-03 -1 -2 941\n            2.1937100682407618e-03</internalNodes>\n          <leafValues>\n            6.4284259080886841e-01 4.3288651108741760e-01\n            6.4205098152160645e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 942 -6.4666871912777424e-03 -1 -2 943\n            -5.7186251506209373e-03</internalNodes>\n          <leafValues>\n            5.2540659904479980e-01 2.4909840524196625e-01\n            5.2876192331314087e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 944 9.9941878579556942e-04 -1 -2 945\n            -7.8276498243212700e-04</internalNodes>\n          <leafValues>\n            3.3297958970069885e-01 3.5983449220657349e-01\n            5.4983407258987427e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 946 4.3231188319623470e-03 -1 -2 947\n            4.0838290005922318e-03</internalNodes>\n          <leafValues>\n            4.8187050223350525e-01 5.2663302421569824e-01\n            3.1057891249656677e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 948 3.0515898833982646e-04 -1 -2 949\n            1.2640280183404684e-03</internalNodes>\n          <leafValues>\n            3.9952918887138367e-01 3.2284379005432129e-01\n            5.8192151784896851e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 950 -1.0152660310268402e-02 -1 -2 951\n            -2.6863690000027418e-03</internalNodes>\n          <leafValues>\n            8.0260711908340454e-01 3.8756170868873596e-01\n            5.4665708541870117e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 952 -9.0515613555908203e-03 -1 -2 953\n            -6.3204211182892323e-03</internalNodes>\n          <leafValues>\n            4.3720579147338867e-01 1.1265510320663452e-01\n            6.3954162597656250e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 954 2.6117300149053335e-03 -1 -2 955\n            1.4339019544422626e-02</internalNodes>\n          <leafValues>\n            5.4239892959594727e-01 4.9792730808258057e-01\n            6.0422360897064209e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 956 2.8452780097723007e-03 -1 -2 957\n            1.4783289771003183e-05</internalNodes>\n          <leafValues>\n            3.4910920262336731e-01 4.1950678825378418e-01\n            5.7759660482406616e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 958 8.1814555451273918e-03 -1 -2 959\n            6.6321990452706814e-03</internalNodes>\n          <leafValues>\n            4.8859870433807373e-01 5.4444682598114014e-01\n            4.4209951162338257e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 960 -2.2483461070805788e-03 -1 -2 961\n            1.2374560348689556e-02</internalNodes>\n          <leafValues>\n            6.6997921466827393e-01 4.4786059856414795e-01\n            6.5648937225341797e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 962 -6.6516688093543053e-03 -1 -2 963\n            -8.5750613361597061e-03</internalNodes>\n          <leafValues>\n            5.5118787288665771e-01 4.0174451470375061e-01\n            5.4055362939834595e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 964 6.5078441984951496e-03 -1 -2 965\n            2.8675209730863571e-02</internalNodes>\n          <leafValues>\n            2.2943930327892303e-01 5.1779001951217651e-01\n            3.5677561163902283e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 966 7.0673860609531403e-03 -1 -2 967\n            1.2367829913273454e-03</internalNodes>\n          <leafValues>\n            5.5646997690200806e-01 3.6276981234550476e-01\n            5.5724138021469116e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 968 7.4818679131567478e-03 -1 -2 969\n            4.7109839506447315e-03</internalNodes>\n          <leafValues>\n            6.7849111557006836e-01 4.1212528944015503e-01\n            6.0722357034683228e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 970 -6.9405790418386459e-03 -1 -2 971\n            3.3302098512649536e-02</internalNodes>\n          <leafValues>\n            5.4597669839859009e-01 5.2767068147659302e-01\n            2.3749159276485443e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 972 3.6104630678892136e-02 -1 -2 973\n            1.9674649462103844e-02</internalNodes>\n          <leafValues>\n            7.2492793202400208e-02 4.6263459324836731e-01\n            8.2089632749557495e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 974 3.4766150638461113e-03 -1 -2 975\n            1.3987369602546096e-03</internalNodes>\n          <leafValues>\n            5.2087318897247314e-01 5.4844141006469727e-01\n            4.2300349473953247e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 976 4.0974249131977558e-03 -1 -2 977\n            2.6973790954798460e-03</internalNodes>\n          <leafValues>\n            2.7805531024932861e-01 5.4038310050964355e-01\n            3.7909889221191406e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 978 -5.6591699831187725e-03 -1 -2 979\n            3.9460969856008887e-04</internalNodes>\n          <leafValues>\n            4.7983360290527344e-01 3.7669500708580017e-01\n            5.4292291402816772e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 980 2.1750570740550756e-03 -1 -2 981\n            1.4614439569413662e-03</internalNodes>\n          <leafValues>\n            6.2071627378463745e-01 3.3579450845718384e-01\n            5.1426321268081665e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 982 -5.3006567759439349e-04 -1 -2 983\n            1.4869309961795807e-01</internalNodes>\n          <leafValues>\n            5.3446400165557861e-01 5.1596081256866455e-01\n            2.5618231296539307e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 984 -5.8816498494707048e-05 -1 -2 985\n            -1.6275369562208652e-03</internalNodes>\n          <leafValues>\n            5.1230919361114502e-01 6.0176461935043335e-01\n            3.1093719601631165e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 986 -1.2881809845566750e-02 -1 -2 987\n            9.4982917653396726e-04</internalNodes>\n          <leafValues>\n            2.7122870087623596e-01 5.4424422979354858e-01\n            4.0288880467414856e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 988 -1.2315999716520309e-02 -1 -2 989\n            9.0286601334810257e-03</internalNodes>\n          <leafValues>\n            4.7360658645629883e-01 7.4514347314834595e-01\n            3.4879919886589050e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 990 -8.6876116693019867e-02 -1 -2 991\n            -1.5107560102478601e-05</internalNodes>\n          <leafValues>\n            2.2903330624103546e-01 5.5178898572921753e-01\n            4.3931490182876587e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 992 -1.7457660287618637e-02 -1 -2 993\n            -2.5219470262527466e-03</internalNodes>\n          <leafValues>\n            9.0167902410030365e-02 6.2335401773452759e-01\n            4.7894591093063354e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 994 1.0656520025804639e-03 -1 -2 995\n            -4.2540300637483597e-03</internalNodes>\n          <leafValues>\n            5.4896962642669678e-01 5.5798089504241943e-01\n            4.3758779764175415e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 996 -9.0349102392792702e-03 -1 -2 997\n            -1.5230999561026692e-03</internalNodes>\n          <leafValues>\n            3.5791561007499695e-01 5.6136602163314819e-01\n            3.9390438795089722e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 998 2.8441150207072496e-03 -1 -2 999\n            -3.2824429217725992e-03</internalNodes>\n          <leafValues>\n            3.9015549421310425e-01 4.5286190509796143e-01\n            5.4413431882858276e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1000 3.2161718991119415e-05 -1 -2 1001\n            3.0118400900391862e-05</internalNodes>\n          <leafValues>\n            5.8031117916107178e-01 3.3368501067161560e-01\n            5.5048561096191406e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1002 -5.6150099262595177e-03 -1 -2 1003\n            -1.7389209941029549e-02</internalNodes>\n          <leafValues>\n            6.1247891187667847e-01 8.7271630764007568e-02\n            5.2045881748199463e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1004 -4.4361080654198304e-05 -1 -2 1005\n            1.0354899859521538e-04</internalNodes>\n          <leafValues>\n            3.9353290200233459e-01 5.9188538789749146e-01\n            4.1196140646934509e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1006 1.5939630102366209e-03 -1 -2 1007\n            2.5440789759159088e-03</internalNodes>\n          <leafValues>\n            4.8396238684654236e-01 4.7873649001121521e-01\n            6.3606631755828857e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1008 1.5083180187502876e-05 -1 -2 1009\n            -9.9282202427275479e-05</internalNodes>\n          <leafValues>\n            4.2311170697212219e-01 4.2745891213417053e-01\n            6.0940480232238770e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1010 5.5371708003804088e-04 -1 -2 1011\n            1.9186759600415826e-03</internalNodes>\n          <leafValues>\n            4.2719879746437073e-01 4.4971078634262085e-01\n            5.5491220951080322e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1012 -5.0764222396537662e-04 -1 -2 1013\n            1.7236480489373207e-03</internalNodes>\n          <leafValues>\n            5.4771959781646729e-01 2.8829228878021240e-01\n            5.6151270866394043e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>75</maxWeakCount>\n      <stageThreshold>3.6726501464843750e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 1014 1.3092169538140297e-02 -1 -2 1015\n            4.1446479735895991e-04</internalNodes>\n          <leafValues>\n            3.3388701081275940e-01 3.0993521213531494e-01\n            6.6774922609329224e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1016 2.1835729479789734e-02 -1 -2 1017\n            4.8323940485715866e-02</internalNodes>\n          <leafValues>\n            4.3690490722656250e-01 4.3017241358757019e-01\n            6.1538851261138916e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1018 1.6091950237751007e-03 -1 -2 1019\n            1.3469760306179523e-03</internalNodes>\n          <leafValues>\n            3.3873260021209717e-01 6.2487137317657471e-01\n            3.5941308736801147e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1020 1.7729059618432075e-04 -1 -2 1021\n            3.6743620876222849e-04</internalNodes>\n          <leafValues>\n            3.8684248924255371e-01 4.4093450903892517e-01\n            5.4764741659164429e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1022 -1.2352119665592909e-03 -1 -2 1023\n            1.1705530341714621e-03</internalNodes>\n          <leafValues>\n            3.2601711153984070e-01 4.1113489866256714e-01\n            6.0881638526916504e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1024 -2.9695429475395940e-05 -1 -2 1025\n            2.7050738572143018e-04</internalNodes>\n          <leafValues>\n            4.2694228887557983e-01 4.3064668774604797e-01\n            5.8105140924453735e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1026 -7.9626210208516568e-05 -1 -2 1027\n            3.3152441028505564e-04</internalNodes>\n          <leafValues>\n            3.6691430211067200e-01 4.6106639504432678e-01\n            6.2905901670455933e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1028 -5.2305828779935837e-02 -1 -2 1029\n            2.6880469173192978e-02</internalNodes>\n          <leafValues>\n            5.3286898136138916e-01 5.2132612466812134e-01\n            3.2312199473381042e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1030 -2.4203000066336244e-04 -1 -2 1031\n            -1.6424639616161585e-03</internalNodes>\n          <leafValues>\n            3.5685700178146362e-01 3.4406611323356628e-01\n            5.6256049871444702e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1032 -2.6830288697965443e-04 -1 -2 1033\n            -2.2649629972875118e-03</internalNodes>\n          <leafValues>\n            4.5611730217933655e-01 5.3213518857955933e-01\n            3.6741548776626587e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1034 1.5627209097146988e-02 -1 -2 1035\n            1.6211320459842682e-01</internalNodes>\n          <leafValues>\n            2.0293539762496948e-01 5.5630332231521606e-01\n            2.6188498735427856e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1036 -3.7391691002994776e-03 -1 -2 1037\n            -2.0878419745713472e-03</internalNodes>\n          <leafValues>\n            6.0621947050094604e-01 5.9507638216018677e-01\n            4.5451170206069946e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1038 2.3334210272878408e-03 -1 -2 1039\n            6.5116386394947767e-05</internalNodes>\n          <leafValues>\n            6.4355242252349854e-01 3.5207340121269226e-01\n            5.1797789335250854e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1040 7.4625718407332897e-03 -1 -2 1041\n            -2.2032689303159714e-02</internalNodes>\n          <leafValues>\n            5.3266882896423340e-01 3.4919810295104980e-01\n            5.4292368888854980e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1042 -8.3081610500812531e-03 -1 -2 1043\n            -4.3259368976578116e-04</internalNodes>\n          <leafValues>\n            2.0840230584144592e-01 3.9652720093727112e-01\n            5.4254537820816040e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1044 -3.2209228724241257e-02 -1 -2 1045\n            -9.0424838708713651e-04</internalNodes>\n          <leafValues>\n            5.3064119815826416e-01 5.4503858089447021e-01\n            4.2566969990730286e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1046 2.2727500181645155e-03 -1 -2 1047\n            5.9820008464157581e-03</internalNodes>\n          <leafValues>\n            5.9686112403869629e-01 4.7581401467323303e-01\n            3.1509441137313843e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1048 -5.8856618124991655e-04 -1 -2 1049\n            -8.8227191008627415e-04</internalNodes>\n          <leafValues>\n            4.8477488756179810e-01 5.4263162612915039e-01\n            4.3383410573005676e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1050 -7.4473457061685622e-05 -1 -2 1051\n            3.9148979703895748e-04</internalNodes>\n          <leafValues>\n            4.2875099182128906e-01 6.3451850414276123e-01\n            4.1018518805503845e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1052 -3.6939629353582859e-03 -1 -2 1053\n            -1.1207849718630314e-02</internalNodes>\n          <leafValues>\n            4.8491048812866211e-01 4.1463369131088257e-01\n            5.4712641239166260e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1054 -1.0337409563362598e-02 -1 -2 1055\n            3.6883640568703413e-03</internalNodes>\n          <leafValues>\n            2.8771838545799255e-01 5.1019018888473511e-01\n            7.2169512510299683e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1056 -3.8984280545264482e-03 -1 -2 1057\n            -5.9986729174852371e-03</internalNodes>\n          <leafValues>\n            5.2761822938919067e-01 6.6184598207473755e-01\n            4.8416310548782349e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1058 4.5043681748211384e-03 -1 -2 1059\n            1.7799530178308487e-02</internalNodes>\n          <leafValues>\n            1.8741579353809357e-01 4.6169349551200867e-01\n            7.0889657735824585e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1060 -1.8462570384144783e-02 -1 -2 1061\n            1.4931300029275008e-05</internalNodes>\n          <leafValues>\n            3.0019798874855042e-01 4.5618081092834473e-01\n            5.6107878684997559e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1062 -8.6021229624748230e-02 -1 -2 1063\n            -6.0818758356617764e-05</internalNodes>\n          <leafValues>\n            2.3417009413242340e-01 5.6722861528396606e-01\n            4.1999641060829163e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1064 1.2670679716393352e-03 -1 -2 1065\n            1.3699879636988044e-03</internalNodes>\n          <leafValues>\n            6.2074822187423706e-01 5.3949588537216187e-01\n            3.8238629698753357e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1066 3.3162781037390232e-03 -1 -2 1067\n            -1.4532039640471339e-03</internalNodes>\n          <leafValues>\n            7.0616811513900757e-01 3.0655130743980408e-01\n            4.8273730278015137e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1068 -7.1492061018943787e-02 -1 -2 1069\n            1.9857978913933039e-03</internalNodes>\n          <leafValues>\n            5.1931220293045044e-01 4.6424350142478943e-01\n            5.8076947927474976e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1070 6.2516499310731888e-03 -1 -2 1071\n            2.7005500160157681e-03</internalNodes>\n          <leafValues>\n            2.9498139023780823e-01 4.5858868956565857e-01\n            6.0223537683486938e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1072 1.1130389757454395e-02 -1 -2 1073\n            1.5092849731445312e-02</internalNodes>\n          <leafValues>\n            4.3578410148620605e-01 4.5615398883819580e-01\n            6.1190617084503174e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1074 -2.7943300083279610e-02 -1 -2 1075\n            4.4036991312168539e-05</internalNodes>\n          <leafValues>\n            6.5371441841125488e-01 3.4747231006622314e-01\n            5.3369677066802979e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1076 -1.2232770211994648e-02 -1 -2 1077\n            -6.8591412855312228e-04</internalNodes>\n          <leafValues>\n            3.7316760420799255e-01 5.7172292470932007e-01\n            4.7933790087699890e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1078 -3.8992990739643574e-03 -1 -2 1079\n            4.9113907152786851e-04</internalNodes>\n          <leafValues>\n            4.0564361214637756e-01 6.1740481853485107e-01\n            4.4717541337013245e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1080 8.2117747515439987e-03 -1 -2 1081\n            -4.5564480125904083e-02</internalNodes>\n          <leafValues>\n            6.1796981096267700e-01 2.2854949533939362e-01\n            5.2495658397674561e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1082 -5.3631910122931004e-03 -1 -2 1083\n            -1.2274970300495625e-02</internalNodes>\n          <leafValues>\n            1.7849500477313995e-01 7.2619527578353882e-01\n            4.5503988862037659e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1084 5.4185991175472736e-03 -1 -2 1085\n            8.1846961984410882e-04</internalNodes>\n          <leafValues>\n            5.2529907226562500e-01 5.4452222585678101e-01\n            3.2722181081771851e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1086 4.1358140297234058e-03 -1 -2 1087\n            3.9578010910190642e-04</internalNodes>\n          <leafValues>\n            7.0138317346572876e-01 4.9659439921379089e-01\n            3.2955980300903320e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1088 4.6887691132724285e-03 -1 -2 1089\n            -1.8255440518260002e-02</internalNodes>\n          <leafValues>\n            5.3626418113708496e-01 6.4961087703704834e-01\n            4.7571370005607605e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1090 -6.2736468389630318e-03 -1 -2 1091\n            2.4320168886333704e-03</internalNodes>\n          <leafValues>\n            2.3437410593032837e-01 4.6201181411743164e-01\n            6.8984192609786987e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1092 -4.9617629498243332e-02 -1 -2 1093\n            1.1701210169121623e-03</internalNodes>\n          <leafValues>\n            2.1007199585437775e-01 4.6215289831161499e-01\n            5.7971358299255371e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1094 -4.5237291604280472e-02 -1 -2 1095\n            4.7563421539962292e-03</internalNodes>\n          <leafValues>\n            2.1182620525360107e-01 4.8846149444580078e-01\n            6.8724989891052246e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1096 -1.4835969544947147e-02 -1 -2 1097\n            7.7436608262360096e-04</internalNodes>\n          <leafValues>\n            5.2751058340072632e-01 4.1723209619522095e-01\n            5.4911398887634277e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1098 1.4835969544947147e-02 -1 -2 1099\n            -8.0892542609944940e-04</internalNodes>\n          <leafValues>\n            2.1248769760131836e-01 5.4952150583267212e-01\n            4.2077958583831787e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1100 7.7517668250948191e-04 -1 -2 1101\n            -6.7618978209793568e-03</internalNodes>\n          <leafValues>\n            3.3219420909881592e-01 2.2129580378532410e-01\n            5.2326530218124390e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1102 -4.0135860443115234e-02 -1 -2 1103\n            -3.3651469275355339e-03</internalNodes>\n          <leafValues>\n            1.1017960309982300e-01 3.8101008534431458e-01\n            5.6172919273376465e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1104 7.4713007779791951e-04 -1 -2 1105\n            -4.2727389372885227e-03</internalNodes>\n          <leafValues>\n            5.7950568199157715e-01 6.3922691345214844e-01\n            4.7114381194114685e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1106 3.6202510818839073e-03 -1 -2 1107\n            4.7307618660852313e-04</internalNodes>\n          <leafValues>\n            3.4098839759826660e-01 3.6593028903007507e-01\n            5.3881710767745972e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1108 3.3094909042119980e-02 -1 -2 1109\n            -1.1544119566679001e-02</internalNodes>\n          <leafValues>\n            7.1703857183456421e-01 6.3868182897567749e-01\n            4.6813040971755981e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1110 -7.4234469793736935e-03 -1 -2 1111\n            -4.2252950370311737e-03</internalNodes>\n          <leafValues>\n            3.2637009024620056e-01 5.7678192853927612e-01\n            4.3464180827140808e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1112 1.8133109435439110e-02 -1 -2 1113\n            7.0903049781918526e-03</internalNodes>\n          <leafValues>\n            4.6978279948234558e-01 4.4373890757560730e-01\n            6.0616689920425415e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1114 -1.3272940181195736e-02 -1 -2 1115\n            1.4632199599873275e-04</internalNodes>\n          <leafValues>\n            6.5585112571716309e-01 3.3763539791107178e-01\n            5.0916552543640137e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1116 -3.5790191031992435e-03 -1 -2 1117\n            -4.6997101162560284e-04</internalNodes>\n          <leafValues>\n            2.9478839039802551e-01 5.5569821596145630e-01\n            4.6654561161994934e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1118 -4.8179440200328827e-02 -1 -2 1119\n            -9.2581362696364522e-04</internalNodes>\n          <leafValues>\n            7.3383557796478271e-01 3.5438719391822815e-01\n            5.2851498126983643e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1120 -1.4780730009078979e-02 -1 -2 1121\n            -1.0027450323104858e-01</internalNodes>\n          <leafValues>\n            1.9444419443607330e-01 9.9049292504787445e-02\n            5.1398539543151855e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1122 -9.3848101096227765e-04 -1 -2 1123\n            -2.8861360624432564e-03</internalNodes>\n          <leafValues>\n            5.8271098136901855e-01 3.4414279460906982e-01\n            5.1488387584686279e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1124 -4.3682761490345001e-02 -1 -2 1125\n            2.6115700602531433e-03</internalNodes>\n          <leafValues>\n            5.2079981565475464e-01 4.8355031013488770e-01\n            6.3222199678421021e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1126 4.3682761490345001e-02 -1 -2 1127\n            1.7179530113935471e-03</internalNodes>\n          <leafValues>\n            1.3645380735397339e-01 4.5373201370239258e-01\n            6.0667508840560913e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1128 -3.3964909613132477e-02 -1 -2 1129\n            -1.0993590112775564e-03</internalNodes>\n          <leafValues>\n            4.9683749675750732e-01 5.8316808938980103e-01\n            4.6882399916648865e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1130 5.4301079362630844e-02 -1 -2 1131\n            1.0993590112775564e-03</internalNodes>\n          <leafValues>\n            7.5682890415191650e-01 4.3301481008529663e-01\n            5.7684689760208130e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1132 -1.4954120160837192e-05 -1 -2 1133\n            3.1415868550539017e-02</internalNodes>\n          <leafValues>\n            4.4432818889617920e-01 5.2744728326797485e-01\n            3.0378559231758118e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1134 1.0831849649548531e-02 -1 -2 1135\n            8.6545711383223534e-04</internalNodes>\n          <leafValues>\n            3.5817208886146545e-01 5.9375840425491333e-01\n            4.2946299910545349e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1136 2.2743160370737314e-03 -1 -2 1137\n            3.9340821094810963e-03</internalNodes>\n          <leafValues>\n            5.9545767307281494e-01 4.7922229766845703e-01\n            5.8561331033706665e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1138 8.1451907753944397e-03 -1 -2 1139\n            -5.2763288840651512e-03</internalNodes>\n          <leafValues>\n            3.5734778642654419e-01 4.0260228514671326e-01\n            5.7647430896759033e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1140 -8.3787851035594940e-03 -1 -2 1141\n            1.5621910570189357e-03</internalNodes>\n          <leafValues>\n            4.9813330173492432e-01 4.7365880012512207e-01\n            5.5836081504821777e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1142 3.2318739686161280e-03 -1 -2 1143\n            6.6804019734263420e-03</internalNodes>\n          <leafValues>\n            6.1674368381500244e-01 4.1314241290092468e-01\n            6.2806951999664307e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1144 -3.3396480139344931e-03 -1 -2 1145\n            -2.0933480560779572e-01</internalNodes>\n          <leafValues>\n            3.4463581442832947e-01 1.0386580228805542e-01\n            5.2044892311096191e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1146 6.3805822283029556e-03 -1 -2 1147\n            -6.0137799009680748e-03</internalNodes>\n          <leafValues>\n            2.1674020588397980e-01 6.7383992671966553e-01\n            4.8966509103775024e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1148 -8.1756077706813812e-03 -1 -2 1149\n            6.3951779156923294e-04</internalNodes>\n          <leafValues>\n            5.1779150962829590e-01 4.8196458816528320e-01\n            5.4644381999969482e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1150 1.0127760469913483e-03 -1 -2 1151\n            4.9784599104896188e-04</internalNodes>\n          <leafValues>\n            3.4235960245132446e-01 4.4884610176086426e-01\n            5.9126710891723633e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1152 1.3596490316558629e-04 -1 -2 1153\n            1.3571660034358501e-02</internalNodes>\n          <leafValues>\n            5.5688631534576416e-01 5.1610678434371948e-01\n            1.7130009829998016e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1154 3.0259079721872695e-05 -1 -2 1155\n            -3.2625840976834297e-03</internalNodes>\n          <leafValues>\n            4.9162039160728455e-01 6.4046627283096313e-01\n            2.8590849041938782e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1156 -1.9217010412830859e-04 -1 -2 1157\n            2.1993879228830338e-02</internalNodes>\n          <leafValues>\n            5.4592829942703247e-01 4.7157138586044312e-01\n            5.6900751590728760e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1158 7.8907777788117528e-04 -1 -2 1159\n            5.0893891602754593e-04</internalNodes>\n          <leafValues>\n            3.2798269391059875e-01 4.3020078539848328e-01\n            5.6960451602935791e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1160 1.1662710312521085e-04 -1 -2 1161\n            8.0604078248143196e-03</internalNodes>\n          <leafValues>\n            5.3872352838516235e-01 5.0214231014251709e-01\n            5.9653222560882568e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1162 9.5925969071686268e-04 -1 -2 1163\n            -1.9526129588484764e-02</internalNodes>\n          <leafValues>\n            3.4734940528869629e-01 6.4755451679229736e-01\n            4.6437820792198181e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>78</maxWeakCount>\n      <stageThreshold>3.8236038208007812e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 1164 4.1242439299821854e-02 -1 -2 1165\n            1.5626709908246994e-02</internalNodes>\n          <leafValues>\n            3.3933150768280029e-01 5.1041001081466675e-01\n            7.7728152275085449e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1166 2.9947189614176750e-04 -1 -2 1167\n            -1.0037609608843923e-03</internalNodes>\n          <leafValues>\n            3.6646738648414612e-01 5.4056507349014282e-01\n            3.9262050390243530e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1168 6.8128242855891585e-04 -1 -2 1169\n            1.3098999625071883e-04</internalNodes>\n          <leafValues>\n            4.2515191435813904e-01 4.1351449489593506e-01\n            6.9257462024688721e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1170 3.1696720980107784e-03 -1 -2 1171\n            -2.0587369799613953e-03</internalNodes>\n          <leafValues>\n            3.4558731317520142e-01 2.2341939806938171e-01\n            5.2861189842224121e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1172 -4.6395038953050971e-04 -1 -2 1173\n            3.5089480224996805e-03</internalNodes>\n          <leafValues>\n            4.2065200209617615e-01 6.5029817819595337e-01\n            4.1175979375839233e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1174 -2.3975980002433062e-03 -1 -2 1175\n            1.0901279747486115e-03</internalNodes>\n          <leafValues>\n            3.6733010411262512e-01 2.9062381386756897e-01\n            5.4451119899749756e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1176 -1.6524370585102588e-04 -1 -2 1177\n            -4.1602319106459618e-04</internalNodes>\n          <leafValues>\n            4.2335158586502075e-01 3.8863611221313477e-01\n            6.2691658735275269e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1178 -2.3739910102449358e-04 -1 -2 1179\n            2.4739760905504227e-02</internalNodes>\n          <leafValues>\n            5.5244511365890503e-01 4.9600958824157715e-01\n            5.3734910488128662e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1180 -1.5342839993536472e-02 -1 -2 1181\n            1.1540469713509083e-02</internalNodes>\n          <leafValues>\n            6.8494051694869995e-01 4.0372350811958313e-01\n            6.7869400978088379e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1182 6.4230621792376041e-03 -1 -2 1183\n            1.2977809645235538e-02</internalNodes>\n          <leafValues>\n            3.8146761059761047e-01 5.5270588397979736e-01\n            3.7449559569358826e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1184 1.1063399724662304e-03 -1 -2 1185\n            1.3743690215051174e-03</internalNodes>\n          <leafValues>\n            3.5209289193153381e-01 5.6419032812118530e-01\n            3.0750259757041931e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1186 1.6233779489994049e-02 -1 -2 1187\n            -8.1519351806491613e-04</internalNodes>\n          <leafValues>\n            4.8888280987739563e-01 5.4563212394714355e-01\n            4.7435501217842102e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1188 -9.0782493352890015e-02 -1 -2 1189\n            1.1665210127830505e-02</internalNodes>\n          <leafValues>\n            2.9252481460571289e-01 4.6884548664093018e-01\n            6.2303477525711060e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1190 -2.3286409676074982e-02 -1 -2 1191\n            2.1559339947998524e-03</internalNodes>\n          <leafValues>\n            6.8958431482315063e-01 5.3558021783828735e-01\n            3.4234660863876343e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1192 -4.3167220428586006e-03 -1 -2 1193\n            1.5610599657520652e-03</internalNodes>\n          <leafValues>\n            5.9370762109756470e-01 4.7086599469184875e-01\n            2.7369970083236694e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1194 1.4076639898121357e-02 -1 -2 1195\n            7.1018589660525322e-03</internalNodes>\n          <leafValues>\n            5.2871561050415039e-01 5.3361928462982178e-01\n            3.2248139381408691e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1196 -4.8221647739410400e-03 -1 -2 1197\n            -5.3852899000048637e-03</internalNodes>\n          <leafValues>\n            2.9839101433753967e-01 5.6239992380142212e-01\n            4.2959120869636536e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1198 7.3483278974890709e-03 -1 -2 1199\n            -3.5707519855350256e-03</internalNodes>\n          <leafValues>\n            6.8139612674713135e-01 5.8579689264297485e-01\n            4.6034291386604309e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1200 2.3340100888162851e-03 -1 -2 1201\n            4.7432780265808105e-03</internalNodes>\n          <leafValues>\n            2.7448511123657227e-01 5.0475269556045532e-01\n            2.3627419769763947e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1202 6.5055489540100098e-03 -1 -2 1203\n            1.2589249759912491e-02</internalNodes>\n          <leafValues>\n            5.2422481775283813e-01 4.8236909508705139e-01\n            6.7525368928909302e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1204 -6.3358368352055550e-03 -1 -2 1205\n            -5.7639651931822300e-03</internalNodes>\n          <leafValues>\n            1.7346349358558655e-01 6.3543808460235596e-01\n            4.5874750614166260e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1206 1.3599749654531479e-03 -1 -2 1207\n            2.8404260054230690e-02</internalNodes>\n          <leafValues>\n            4.5803809165954590e-01 5.1763808727264404e-01\n            1.2043850123882294e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1208 -9.2958156019449234e-03 -1 -2 1209\n            -1.1800320353358984e-03</internalNodes>\n          <leafValues>\n            2.3379570245742798e-01 3.9028140902519226e-01\n            5.6529301404953003e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1210 -2.0948140881955624e-03 -1 -2 1211\n            4.1679958812892437e-03</internalNodes>\n          <leafValues>\n            5.5120289325714111e-01 5.4559761285781860e-01\n            4.7989490628242493e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1212 5.4458891972899437e-03 -1 -2 1213\n            -1.2766510481014848e-03</internalNodes>\n          <leafValues>\n            6.1270868778228760e-01 5.3171318769454956e-01\n            3.8509321212768555e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1214 5.9404270723462105e-04 -1 -2 1215\n            4.2309608310461044e-02</internalNodes>\n          <leafValues>\n            5.4464370012283325e-01 5.2346438169479370e-01\n            2.2130440175533295e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1216 5.6189671158790588e-03 -1 -2 1217\n            7.2401198558509350e-03</internalNodes>\n          <leafValues>\n            4.9161979556083679e-01 1.4714759588241577e-01\n            4.8528939485549927e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1218 -4.5610670931637287e-03 -1 -2 1219\n            4.5506159949582070e-05</internalNodes>\n          <leafValues>\n            2.7737739682197571e-01 4.6264618635177612e-01\n            5.7680791616439819e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1220 -6.1903791502118111e-03 -1 -2 1221\n            8.1186462193727493e-04</internalNodes>\n          <leafValues>\n            1.6442899405956268e-01 4.7785910964012146e-01\n            6.2618649005889893e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1222 1.3779809698462486e-02 -1 -2 1223\n            1.1290319962427020e-03</internalNodes>\n          <leafValues>\n            5.2573078870773315e-01 5.4980480670928955e-01\n            3.9831069111824036e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1224 -1.0610350000206381e-04 -1 -2 1225\n            1.6695790691301227e-04</internalNodes>\n          <leafValues>\n            4.0335190296173096e-01 4.1493400931358337e-01\n            5.7953411340713501e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1226 1.1290319962427020e-03 -1 -2 1227\n            -1.2019349634647369e-01</internalNodes>\n          <leafValues>\n            3.9341148734092712e-01 7.3400482535362244e-02\n            5.2025860548019409e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1228 -1.5230740420520306e-02 -1 -2 1229\n            3.5759829916059971e-03</internalNodes>\n          <leafValues>\n            3.7495058774948120e-01 5.0781500339508057e-01\n            6.6060662269592285e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1230 1.3479460030794144e-02 -1 -2 1231\n            -2.1162950433790684e-03</internalNodes>\n          <leafValues>\n            4.5477110147476196e-01 3.3110061287879944e-01\n            5.3842592239379883e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1232 -1.7877709120512009e-02 -1 -2 1233\n            1.0931970318779349e-03</internalNodes>\n          <leafValues>\n            6.5132528543472290e-01 5.2647650241851807e-01\n            3.4569910168647766e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1234 -3.0553159303963184e-03 -1 -2 1235\n            3.6365049891173840e-03</internalNodes>\n          <leafValues>\n            6.2686139345169067e-01 5.3992128372192383e-01\n            4.3453970551490784e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1236 9.7896481747739017e-05 -1 -2 1237\n            -3.2714448752813041e-04</internalNodes>\n          <leafValues>\n            3.8356059789657593e-01 3.3376678824424744e-01\n            5.5391657352447510e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1238 4.3425030889920890e-04 -1 -2 1239\n            1.4005579985678196e-02</internalNodes>\n          <leafValues>\n            5.7882702350616455e-01 5.2750778198242188e-01\n            2.7011251449584961e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1240 -9.2654931358993053e-04 -1 -2 1241\n            3.9504268206655979e-03</internalNodes>\n          <leafValues>\n            5.8522802591323853e-01 4.7283369302749634e-01\n            3.3139181137084961e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1242 -5.8086868375539780e-04 -1 -2 1243\n            -1.2018020264804363e-02</internalNodes>\n          <leafValues>\n            4.2588108777999878e-01 5.6097871065139771e-01\n            4.8951920866966248e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1244 -1.4521540701389313e-01 -1 -2 1245\n            -6.6049019806087017e-03</internalNodes>\n          <leafValues>\n            4.3894480913877487e-02 4.2291709780693054e-01\n            5.6162929534912109e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1246 -3.4909751266241074e-02 -1 -2 1247\n            3.7478420417755842e-03</internalNodes>\n          <leafValues>\n            4.7881281375885010e-01 4.8002821207046509e-01\n            5.8013892173767090e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1248 3.3038031309843063e-02 -1 -2 1249\n            3.6872599739581347e-03</internalNodes>\n          <leafValues>\n            7.0781761407852173e-01 4.4496241211891174e-01\n            5.9577310085296631e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1250 -4.5311939902603626e-03 -1 -2 1251\n            4.1058510541915894e-03</internalNodes>\n          <leafValues>\n            4.1770470142364502e-01 5.3729480504989624e-01\n            3.7369269132614136e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1252 -8.7599847465753555e-03 -1 -2 1253\n            -2.3003309965133667e-02</internalNodes>\n          <leafValues>\n            6.6588079929351807e-01 2.6479220390319824e-01\n            5.1018178462982178e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1254 5.3664818406105042e-03 -1 -2 1255\n            3.8971770554780960e-02</internalNodes>\n          <leafValues>\n            4.5486348867416382e-01 5.1570618152618408e-01\n            3.4364390373229980e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1256 -2.7767190709710121e-02 -1 -2 1257\n            -9.8894089460372925e-03</internalNodes>\n          <leafValues>\n            2.3543910682201385e-01 6.8877410888671875e-01\n            5.1110517978668213e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1258 -3.2073140610009432e-03 -1 -2 1259\n            -6.7484978353604674e-04</internalNodes>\n          <leafValues>\n            5.4388678073883057e-01 5.4511487483978271e-01\n            4.8313531279563904e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1260 -5.1947520114481449e-03 -1 -2 1261\n            -2.6169899501837790e-04</internalNodes>\n          <leafValues>\n            2.1134190261363983e-01 5.2736818790435791e-01\n            3.9925870299339294e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1262 2.2421479225158691e-03 -1 -2 1263\n            -1.2139769969508052e-03</internalNodes>\n          <leafValues>\n            4.6882608532905579e-01 5.5042350292205811e-01\n            4.3848711252212524e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1264 -2.9469770379364491e-03 -1 -2 1265\n            -3.9291830034926534e-04</internalNodes>\n          <leafValues>\n            3.8928470015525818e-01 6.0017228126525879e-01\n            4.5616629719734192e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1266 6.2550729513168335e-01 -1 -2 1267\n            9.7744520753622055e-03</internalNodes>\n          <leafValues>\n            6.8125613033771515e-02 4.8130258917808533e-01\n            5.6206572055816650e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1268 9.4378247857093811e-02 -1 -2 1269\n            -1.9560910295695066e-03</internalNodes>\n          <leafValues>\n            6.6632293164730072e-02 3.5882329940795898e-01\n            5.2954071760177612e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1270 9.0652769431471825e-03 -1 -2 1271\n            4.2138071148656309e-04</internalNodes>\n          <leafValues>\n            4.8226881027221680e-01 4.6703329682350159e-01\n            5.6831127405166626e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1272 -4.4220191193744540e-04 -1 -2 1273\n            -4.7313501127064228e-03</internalNodes>\n          <leafValues>\n            5.3607952594757080e-01 6.1372458934783936e-01\n            3.1880891323089600e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1274 1.5395509544759989e-03 -1 -2 1275\n            2.4315000046044588e-03</internalNodes>\n          <leafValues>\n            4.4877201318740845e-01 4.8941668868064880e-01\n            6.7166537046432495e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1276 -1.5581619925796986e-02 -1 -2 1277\n            1.0816920548677444e-03</internalNodes>\n          <leafValues>\n            3.3367419242858887e-01 4.7182199358940125e-01\n            5.9606271982192993e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1278 -2.2197659127414227e-03 -1 -2 1279\n            -9.3048671260476112e-04</internalNodes>\n          <leafValues>\n            3.5885548591613770e-01 6.2187129259109497e-01\n            4.8173001408576965e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1280 -4.7418707981705666e-03 -1 -2 1281\n            -6.2950369901955128e-03</internalNodes>\n          <leafValues>\n            2.5500270724296570e-01 6.7280787229537964e-01\n            5.0510638952255249e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1282 3.5216049291193485e-03 -1 -2 1283\n            -2.4289379362016916e-03</internalNodes>\n          <leafValues>\n            5.4019099473953247e-01 5.4194617271423340e-01\n            4.3471428751945496e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1284 -2.5261470582336187e-03 -1 -2 1285\n            -1.4817339833825827e-03</internalNodes>\n          <leafValues>\n            6.9706249237060547e-01 3.2634168863296509e-01\n            4.9178731441497803e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1286 -2.2474530339241028e-01 -1 -2 1287\n            2.8342509176582098e-03</internalNodes>\n          <leafValues>\n            7.2937291115522385e-03 4.5792299509048462e-01\n            5.3798812627792358e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1288 -2.0821610465645790e-02 -1 -2 1289\n            1.4896340144332498e-04</internalNodes>\n          <leafValues>\n            6.0240888595581055e-01 3.3361440896987915e-01\n            4.9628159403800964e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1290 -3.3524499740451574e-03 -1 -2 1291\n            -3.7279881536960602e-02</internalNodes>\n          <leafValues>\n            3.5587510466575623e-01 1.6985629498958588e-01\n            5.2089858055114746e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1292 1.3896770542487502e-04 -1 -2 1293\n            -3.1912620761431754e-04</internalNodes>\n          <leafValues>\n            5.5906862020492554e-01 5.8487337827682495e-01\n            3.7958368659019470e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1294 5.4003461264073849e-04 -1 -2 1295\n            3.8956850767135620e-03</internalNodes>\n          <leafValues>\n            5.6702882051467896e-01 5.1826947927474976e-01\n            3.3277091383934021e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1296 1.6084529925137758e-03 -1 -2 1297\n            -5.7474587811157107e-04</internalNodes>\n          <leafValues>\n            5.4104858636856079e-01 6.0226422548294067e-01\n            3.6446440219879150e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1298 1.3435039669275284e-02 -1 -2 1299\n            2.1368139423429966e-03</internalNodes>\n          <leafValues>\n            3.4412819147109985e-01 5.2924340963363647e-01\n            2.7470758557319641e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1300 1.4157629571855068e-02 -1 -2 1301\n            5.3884391672909260e-03</internalNodes>\n          <leafValues>\n            8.0278682708740234e-01 5.2223151922225952e-01\n            3.5867279767990112e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1302 8.8013410568237305e-03 -1 -2 1303\n            3.8858849438838661e-04</internalNodes>\n          <leafValues>\n            4.9003869295120239e-01 4.6810561418533325e-01\n            5.7219529151916504e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1304 -2.2143588867038488e-03 -1 -2 1305\n            -8.4642972797155380e-03</internalNodes>\n          <leafValues>\n            5.3888058662414551e-01 6.6755378246307373e-01\n            3.4484419226646423e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1306 1.5044390223920345e-02 -1 -2 1307\n            7.6346402056515217e-03</internalNodes>\n          <leafValues>\n            9.2396140098571777e-01 4.8848968744277954e-01\n            6.3060528039932251e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1308 3.3895121305249631e-04 -1 -2 1309\n            2.1157610171940178e-04</internalNodes>\n          <leafValues>\n            3.9974310994148254e-01 5.6639820337295532e-01\n            3.9729809761047363e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1310 -2.7514949440956116e-02 -1 -2 1311\n            5.1603060215711594e-02</internalNodes>\n          <leafValues>\n            5.2010637521743774e-01 5.1407301425933838e-01\n            1.2451309710741043e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1312 3.7510651163756847e-03 -1 -2 1313\n            -2.1457639522850513e-03</internalNodes>\n          <leafValues>\n            3.8020950555801392e-01 3.3094480633735657e-01\n            5.4745388031005859e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1314 -5.8178009930998087e-04 -1 -2 1315\n            -9.3638541875407100e-04</internalNodes>\n          <leafValues>\n            4.8926019668579102e-01 5.9373992681503296e-01\n            4.6646690368652344e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1316 4.1667491197586060e-02 -1 -2 1317\n            -6.7763780243694782e-03</internalNodes>\n          <leafValues>\n            7.0213532447814941e-01 3.2227510213851929e-01\n            5.0683951377868652e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1318 -2.9170580673962831e-03 -1 -2 1319\n            3.2789530814625323e-04</internalNodes>\n          <leafValues>\n            4.7177010774612427e-01 4.5093831419944763e-01\n            5.6511628627777100e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>91</maxWeakCount>\n      <stageThreshold>4.4682968139648438e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 1320 1.1729800142347813e-02 -1 -2 1321\n            1.1712179984897375e-03</internalNodes>\n          <leafValues>\n            3.8052248954772949e-01 3.1400179862976074e-01\n            6.8581461906433105e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1322 9.3555096536874771e-03 -1 -2 1323\n            1.6570610459893942e-03</internalNodes>\n          <leafValues>\n            6.8346732854843140e-01 2.9924729466438293e-01\n            5.4756778478622437e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1324 -1.3387809740379453e-03 -1 -2 1325\n            1.7580550047568977e-04</internalNodes>\n          <leafValues>\n            2.9414069652557373e-01 3.8969779014587402e-01\n            5.8729708194732666e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1326 -2.9473248869180679e-03 -1 -2 1327\n            8.3220899105072021e-03</internalNodes>\n          <leafValues>\n            3.5765719413757324e-01 5.2324008941650391e-01\n            3.2310879230499268e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1328 7.4366689659655094e-03 -1 -2 1329\n            -2.1322889369912446e-04</internalNodes>\n          <leafValues>\n            6.7156732082366943e-01 5.4705417156219482e-01\n            3.8633960485458374e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1330 -7.8024631366133690e-03 -1 -2 1331\n            5.6611228501424193e-04</internalNodes>\n          <leafValues>\n            2.7714601159095764e-01 4.6891361474990845e-01\n            5.8519637584686279e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1332 -9.2346500605344772e-03 -1 -2 1333\n            -1.4676499631605111e-05</internalNodes>\n          <leafValues>\n            2.7043971419334412e-01 5.6225502490997314e-01\n            3.5793170332908630e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1334 9.7007937729358673e-03 -1 -2 1335\n            -3.5320650786161423e-03</internalNodes>\n          <leafValues>\n            4.1738718748092651e-01 4.1950130462646484e-01\n            5.5494689941406250e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1336 2.1616410464048386e-02 -1 -2 1337\n            3.4567608963698149e-03</internalNodes>\n          <leafValues>\n            2.8573909401893616e-01 6.0245329141616821e-01\n            4.3775078654289246e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1338 2.2914320230484009e-02 -1 -2 1339\n            3.4328910987824202e-03</internalNodes>\n          <leafValues>\n            4.6893501281738281e-01 4.6646049618721008e-01\n            5.7625621557235718e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1340 -8.6510833352804184e-03 -1 -2 1341\n            1.4510039472952485e-03</internalNodes>\n          <leafValues>\n            6.3817399740219116e-01 3.7114879488945007e-01\n            5.5307507514953613e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1342 7.8191719949245453e-03 -1 -2 1343\n            2.0798550394829363e-04</internalNodes>\n          <leafValues>\n            5.2643620967864990e-01 3.7305128574371338e-01\n            5.4457312822341919e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1344 -3.9962218143045902e-03 -1 -2 1345\n            -1.5010139577498194e-05</internalNodes>\n          <leafValues>\n            2.4381700158119202e-01 5.3246712684631348e-01\n            3.6829888820648193e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1346 -4.2428788729012012e-03 -1 -2 1347\n            9.1374982148408890e-03</internalNodes>\n          <leafValues>\n            6.4814740419387817e-01 4.8961588740348816e-01\n            6.5588432550430298e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1348 8.8254585862159729e-03 -1 -2 1349\n            9.4092212384566665e-04</internalNodes>\n          <leafValues>\n            3.6138701438903809e-01 5.5028957128524780e-01\n            3.6325180530548096e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1350 -1.2503350153565407e-02 -1 -2 1351\n            8.6759645491838455e-03</internalNodes>\n          <leafValues>\n            2.2611320018768311e-01 4.9878901243209839e-01\n            6.8471962213516235e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1352 -1.0416760109364986e-02 -1 -2 1353\n            2.7432460337877274e-03</internalNodes>\n          <leafValues>\n            2.4462990462779999e-01 3.5115250945091248e-01\n            5.3998267650604248e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1354 -4.2385691776871681e-03 -1 -2 1355\n            1.8325870856642723e-02</internalNodes>\n          <leafValues>\n            6.8236732482910156e-01 4.8915800452232361e-01\n            7.1356189250946045e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1356 -2.4334540590643883e-02 -1 -2 1357\n            4.6469361404888332e-04</internalNodes>\n          <leafValues>\n            3.5225218534469604e-01 4.0498688817024231e-01\n            5.5158257484436035e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1358 3.4260009415447712e-03 -1 -2 1359\n            -2.5827318895608187e-03</internalNodes>\n          <leafValues>\n            4.1267699003219604e-01 2.8994289040565491e-01\n            5.3864318132400513e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1360 1.0545699624344707e-03 -1 -2 1361\n            -9.1257691383361816e-04</internalNodes>\n          <leafValues>\n            3.7713441252708435e-01 5.8273869752883911e-01\n            4.2675569653511047e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1362 2.6589010376483202e-03 -1 -2 1363\n            4.8598358407616615e-03</internalNodes>\n          <leafValues>\n            4.6881249547004700e-01 4.8539221286773682e-01\n            6.1636447906494141e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1364 8.0638676881790161e-03 -1 -2 1365\n            -7.5898370705544949e-03</internalNodes>\n          <leafValues>\n            1.7491950094699860e-01 6.8261897563934326e-01\n            4.8940700292587280e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1366 3.6368070868775249e-04 -1 -2 1367\n            6.2594950199127197e-02</internalNodes>\n          <leafValues>\n            4.6145960688591003e-01 5.1830172538757324e-01\n            2.6866960525512695e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1368 -4.9753207713365555e-03 -1 -2 1369\n            -2.0880119409412146e-03</internalNodes>\n          <leafValues>\n            1.7584669589996338e-01 6.3693821430206299e-01\n            4.9300441145896912e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1370 9.5644511748105288e-04 -1 -2 1371\n            -3.1721461564302444e-02</internalNodes>\n          <leafValues>\n            4.1393989324569702e-01 6.0455572605133057e-01\n            4.8163640499114990e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1372 1.2898689601570368e-03 -1 -2 1373\n            9.8405163735151291e-03</internalNodes>\n          <leafValues>\n            5.4508107900619507e-01 2.9240009188652039e-01\n            6.6996061801910400e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1374 1.2237089686095715e-03 -1 -2 1375\n            -8.4232585504651070e-03</internalNodes>\n          <leafValues>\n            6.2828367948532104e-01 5.9865701198577881e-01\n            4.8525801301002502e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1376 -7.2726322105154395e-04 -1 -2 1377\n            4.6842931769788265e-03</internalNodes>\n          <leafValues>\n            3.3400490880012512e-01 5.1689237356185913e-01\n            2.6794800162315369e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1378 -1.0379579616710544e-03 -1 -2 1379\n            9.1342730447649956e-03</internalNodes>\n          <leafValues>\n            5.9257918596267700e-01 5.4377281665802002e-01\n            4.3468001484870911e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1380 1.4971119817346334e-03 -1 -2 1381\n            1.5762320253998041e-03</internalNodes>\n          <leafValues>\n            4.1295009851455688e-01 4.5228740572929382e-01\n            6.5562921762466431e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1382 8.7496247142553329e-03 -1 -2 1383\n            -8.5103599121794105e-04</internalNodes>\n          <leafValues>\n            4.5320340991020203e-01 3.7859839200973511e-01\n            5.4169750213623047e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1384 -1.7325570806860924e-02 -1 -2 1385\n            -8.3266440778970718e-03</internalNodes>\n          <leafValues>\n            6.8842482566833496e-01 3.0913260579109192e-01\n            5.2436548471450806e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1386 1.5157909729168750e-05 -1 -2 1387\n            1.8041470320895314e-03</internalNodes>\n          <leafValues>\n            4.7657939791679382e-01 4.7253859043121338e-01\n            5.7165551185607910e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1388 3.0691560823470354e-03 -1 -2 1389\n            -5.2225510444259271e-05</internalNodes>\n          <leafValues>\n            2.1433599293231964e-01 5.6532102823257446e-01\n            4.3851110339164734e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1390 1.0072169970953837e-04 -1 -2 1391\n            1.3573700562119484e-04</internalNodes>\n          <leafValues>\n            5.9247761964797974e-01 4.5734488964080811e-01\n            5.7693827152252197e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1392 9.2137878527864814e-04 -1 -2 1393\n            3.0316581251099706e-04</internalNodes>\n          <leafValues>\n            5.9926092624664307e-01 3.6100810766220093e-01\n            5.0493258237838745e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1394 3.9582479745149612e-02 -1 -2 1395\n            4.7519680112600327e-02</internalNodes>\n          <leafValues>\n            1.5384890139102936e-01 5.2161407470703125e-01\n            1.4283910393714905e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1396 1.8871759995818138e-02 -1 -2 1397\n            -3.9876459049992263e-04</internalNodes>\n          <leafValues>\n            2.8255069255828857e-01 4.0350168943405151e-01\n            5.4377931356430054e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1398 4.6556600136682391e-04 -1 -2 1399\n            6.7090610973536968e-03</internalNodes>\n          <leafValues>\n            4.6689969301223755e-01 5.3313547372817993e-01\n            4.1365718841552734e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1400 -1.8931160448119044e-03 -1 -2 1401\n            -1.3056949712336063e-02</internalNodes>\n          <leafValues>\n            7.1551632881164551e-01 3.1178998947143555e-01\n            5.2084398269653320e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1402 -1.9484119547996670e-04 -1 -2 1403\n            1.5093220099515747e-05</internalNodes>\n          <leafValues>\n            4.6376588940620422e-01 4.5616531372070312e-01\n            5.4452341794967651e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1404 -7.1617960202274844e-06 -1 -2 1405\n            3.0164679628796875e-04</internalNodes>\n          <leafValues>\n            4.1931080818176270e-01 5.9662377834320068e-01\n            4.1005000472068787e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1406 4.4195181690156460e-03 -1 -2 1407\n            -7.3984181508421898e-03</internalNodes>\n          <leafValues>\n            4.8450559377670288e-01 6.2068462371826172e-01\n            4.9312090873718262e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1408 -7.8031201846897602e-03 -1 -2 1409\n            -1.0731429792940617e-02</internalNodes>\n          <leafValues>\n            5.2824628353118896e-01 9.1048341989517212e-01\n            3.4559220075607300e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1410 1.4246780192479491e-03 -1 -2 1411\n            -8.2717568147927523e-05</internalNodes>\n          <leafValues>\n            4.7085541486740112e-01 5.6516230106353760e-01\n            4.7310239076614380e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1412 4.4803409837186337e-03 -1 -2 1413\n            3.0789140146225691e-03</internalNodes>\n          <leafValues>\n            6.1758869886398315e-01 5.1395332813262939e-01\n            3.4230878949165344e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1414 -1.1310289846733212e-03 -1 -2 1415\n            -1.0410690447315574e-03</internalNodes>\n          <leafValues>\n            4.9182820320129395e-01 5.9420871734619141e-01\n            4.9230429530143738e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1416 1.1648540385067463e-03 -1 -2 1417\n            9.0057362103834748e-04</internalNodes>\n          <leafValues>\n            6.4052718877792358e-01 4.5043969154357910e-01\n            6.1920768022537231e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1418 6.8781538866460323e-03 -1 -2 1419\n            -3.5283900797367096e-02</internalNodes>\n          <leafValues>\n            5.3748130798339844e-01 2.2471010684967041e-01\n            5.2171707153320312e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1420 -1.3320200378075242e-03 -1 -2 1421\n            -2.3177571129053831e-03</internalNodes>\n          <leafValues>\n            2.5547030568122864e-01 3.7925159931182861e-01\n            5.2432268857955933e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1422 2.1332940377760679e-04 -1 -2 1423\n            1.3467900454998016e-02</internalNodes>\n          <leafValues>\n            3.8603371381759644e-01 5.3806877136230469e-01\n            4.1783639788627625e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1424 -1.2829169863834977e-03 -1 -2 1425\n            5.1571638323366642e-04</internalNodes>\n          <leafValues>\n            6.1336231231689453e-01 4.0285378694534302e-01\n            5.5368518829345703e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1426 3.9254198782145977e-03 -1 -2 1427\n            -3.3780589699745178e-02</internalNodes>\n          <leafValues>\n            5.2799212932586670e-01 2.3346750438213348e-01\n            5.1759117841720581e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1428 -3.7853721529245377e-02 -1 -2 1429\n            -4.0752900531515479e-04</internalNodes>\n          <leafValues>\n            1.0748530179262161e-01 5.3459298610687256e-01\n            4.1989380121231079e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1430 -3.1193809118121862e-03 -1 -2 1431\n            -1.5714969485998154e-02</internalNodes>\n          <leafValues>\n            3.8558250665664673e-01 3.3351901173591614e-01\n            5.2632021903991699e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1432 -7.8525702701881528e-04 -1 -2 1433\n            -2.8750501223839819e-04</internalNodes>\n          <leafValues>\n            5.8603972196578979e-01 5.4377847909927368e-01\n            3.7161049246788025e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1434 2.8016859665513039e-02 -1 -2 1435\n            -1.9018839811906219e-03</internalNodes>\n          <leafValues>\n            3.3307549357414246e-01 5.3665977716445923e-01\n            4.6937939524650574e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1436 2.0647559314966202e-02 -1 -2 1437\n            4.3002571910619736e-03</internalNodes>\n          <leafValues>\n            1.0069560259580612e-01 4.8160359263420105e-01\n            6.2156772613525391e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1438 1.3459140434861183e-02 -1 -2 1439\n            -1.0320040397346020e-02</internalNodes>\n          <leafValues>\n            5.4619538784027100e-01 4.5784530043601990e-01\n            5.4193097352981567e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1440 3.1990748643875122e-01 -1 -2 1441\n            9.2198798665776849e-04</internalNodes>\n          <leafValues>\n            2.0080469548702240e-01 5.1932811737060547e-01\n            3.9121940732002258e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1442 4.1852539288811386e-04 -1 -2 1443\n            3.5891108564101160e-04</internalNodes>\n          <leafValues>\n            4.2997440695762634e-01 4.3445029854774475e-01\n            5.5319738388061523e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1444 -2.0992439985275269e-01 -1 -2 1445\n            -4.9328152090311050e-03</internalNodes>\n          <leafValues>\n            1.0757210105657578e-01 5.7627969980239868e-01\n            4.5746439695358276e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1446 2.3409130517393351e-03 -1 -2 1447\n            4.7120270319283009e-03</internalNodes>\n          <leafValues>\n            7.4768078327178955e-01 5.2617651224136353e-01\n            4.5055508613586426e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1448 2.8713190928101540e-02 -1 -2 1449\n            -2.6156550738960505e-03</internalNodes>\n          <leafValues>\n            4.4071030616760254e-01 4.2442709207534790e-01\n            6.8929767608642578e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1450 -1.3558969832956791e-02 -1 -2 1451\n            -3.0331799644045532e-04</internalNodes>\n          <leafValues>\n            1.2522679567337036e-01 4.0777918696403503e-01\n            5.4428178071975708e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1452 -5.5601762142032385e-04 -1 -2 1453\n            2.4025330785661936e-03</internalNodes>\n          <leafValues>\n            5.3780037164688110e-01 3.1665799021720886e-01\n            5.2857381105422974e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1454 -3.4089901018887758e-03 -1 -2 1455\n            8.0019602319225669e-04</internalNodes>\n          <leafValues>\n            4.9052149057388306e-01 4.5227360725402832e-01\n            5.5806142091751099e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1456 2.1901070140302181e-03 -1 -2 1457\n            3.3745369873940945e-03</internalNodes>\n          <leafValues>\n            6.6126817464828491e-01 5.1077651977539062e-01\n            3.3869299292564392e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1458 8.0019602319225669e-04 -1 -2 1459\n            1.7346069216728210e-02</internalNodes>\n          <leafValues>\n            5.7075601816177368e-01 5.0160211324691772e-01\n            6.3064599037170410e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1460 -1.9568449351936579e-03 -1 -2 1461\n            -1.1229019612073898e-02</internalNodes>\n          <leafValues>\n            3.0178061127662659e-01 6.2938511371612549e-01\n            4.5204889774322510e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1462 -2.6608388870954514e-03 -1 -2 1463\n            -1.1615100316703320e-02</internalNodes>\n          <leafValues>\n            3.3440071344375610e-01 2.8253790736198425e-01\n            5.1509708166122437e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1464 -9.5248602330684662e-02 -1 -2 1465\n            7.3701781220734119e-03</internalNodes>\n          <leafValues>\n            1.3982650637626648e-01 5.2939987182617188e-01\n            2.3317280411720276e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1466 -1.4953900128602982e-02 -1 -2 1467\n            5.7038792874664068e-04</internalNodes>\n          <leafValues>\n            4.9404659867286682e-01 5.4665708541870117e-01\n            4.6267679333686829e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1468 5.8516198769211769e-03 -1 -2 1469\n            2.1150549582671374e-04</internalNodes>\n          <leafValues>\n            6.2700408697128296e-01 5.5081409215927124e-01\n            4.0618729591369629e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1470 -6.9679190346505493e-06 -1 -2 1471\n            -7.9677387839183211e-04</internalNodes>\n          <leafValues>\n            4.0965679287910461e-01 5.6155568361282349e-01\n            4.6668860316276550e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1472 1.9459480419754982e-02 -1 -2 1473\n            -1.1160830035805702e-02</internalNodes>\n          <leafValues>\n            2.3114809393882751e-01 3.0870118737220764e-01\n            5.5146622657775879e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1474 1.4056149870157242e-02 -1 -2 1475\n            -3.2958350493572652e-04</internalNodes>\n          <leafValues>\n            7.0050561428070068e-01 5.7974857091903687e-01\n            4.6916508674621582e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1476 -5.4636420682072639e-03 -1 -2 1477\n            5.8881669247057289e-05</internalNodes>\n          <leafValues>\n            5.9285950660705566e-01 3.7413978576660156e-01\n            5.1701688766479492e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1478 6.6343429498374462e-03 -1 -2 1479\n            4.5263409614562988e-02</internalNodes>\n          <leafValues>\n            5.4149878025054932e-01 5.1803272962570190e-01\n            1.5296840667724609e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1480 -8.0646127462387085e-03 -1 -2 1481\n            4.7389548853971064e-04</internalNodes>\n          <leafValues>\n            2.5154680013656616e-01 5.1219987869262695e-01\n            3.7259489297866821e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1482 1.4877359717502259e-05 -1 -2 1483\n            2.4321159347891808e-02</internalNodes>\n          <leafValues>\n            5.5324357748031616e-01 4.9607661366462708e-01\n            5.9833151102066040e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1484 6.9931396865285933e-05 -1 -2 1485\n            2.6287760119885206e-03</internalNodes>\n          <leafValues>\n            4.1639530658721924e-01 5.8801448345184326e-01\n            3.3996629714965820e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1486 3.8190539926290512e-03 -1 -2 1487\n            -2.5989150628447533e-02</internalNodes>\n          <leafValues>\n            7.8466212749481201e-01 3.2881140708923340e-01\n            5.1550877094268799e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1488 1.2062400346621871e-03 -1 -2 1489\n            -1.5557400183752179e-03</internalNodes>\n          <leafValues>\n            4.5960599184036255e-01 3.1269869208335876e-01\n            7.1833992004394531e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1490 -2.2691930644214153e-03 -1 -2 1491\n            2.3287249496206641e-04</internalNodes>\n          <leafValues>\n            5.2740061283111572e-01 4.8786661028862000e-01\n            5.6151527166366577e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1492 -5.5999699980020523e-03 -1 -2 1493\n            -1.0496189817786217e-02</internalNodes>\n          <leafValues>\n            5.1608121395111084e-01 5.7016140222549438e-01\n            3.2048508524894714e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1494 -1.4814930182183161e-05 -1 -2 1495\n            -6.4287078566849232e-04</internalNodes>\n          <leafValues>\n            5.5388379096984863e-01 5.3494292497634888e-01\n            4.4721511006355286e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1496 -1.8891949730459601e-04 -1 -2 1497\n            -9.0413521975278854e-03</internalNodes>\n          <leafValues>\n            5.0128370523452759e-01 2.5629359483718872e-01\n            4.5033830404281616e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1498 7.9534705728292465e-03 -1 -2 1499\n            -2.7908999472856522e-03</internalNodes>\n          <leafValues>\n            2.6304998993873596e-01 5.7565087080001831e-01\n            4.8548638820648193e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1500 3.2857100013643503e-03 -1 -2 1501\n            7.7063008211553097e-04</internalNodes>\n          <leafValues>\n            4.0847519040107727e-01 4.0733560919761658e-01\n            5.9202408790588379e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>97</maxWeakCount>\n      <stageThreshold>4.7763450622558594e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 1502 6.3021942973136902e-02 -1 -2 1503\n            -2.8374609537422657e-03</internalNodes>\n          <leafValues>\n            3.4193828701972961e-01 6.8295639753341675e-01\n            4.4045230746269226e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1504 4.6461950987577438e-02 -1 -2 1505\n            2.9152540490031242e-02</internalNodes>\n          <leafValues>\n            4.3917450308799744e-01 4.6010631322860718e-01\n            6.3579368591308594e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1506 -1.4000290320836939e-05 -1 -2 1507\n            -1.2757079675793648e-03</internalNodes>\n          <leafValues>\n            3.7300100922584534e-01 3.0938240885734558e-01\n            5.9013700485229492e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1508 1.3596529606729746e-03 -1 -2 1509\n            1.7991929780691862e-04</internalNodes>\n          <leafValues>\n            4.3375650048255920e-01 4.2175039649009705e-01\n            5.8468478918075562e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1510 -1.4166639630275313e-05 -1 -2 1511\n            6.0252390539972112e-05</internalNodes>\n          <leafValues>\n            4.0846911072731018e-01 5.0872868299484253e-01\n            7.2771841287612915e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1512 6.4320368692278862e-03 -1 -2 1513\n            4.6682319953106344e-04</internalNodes>\n          <leafValues>\n            2.9679030179977417e-01 4.1104629635810852e-01\n            5.5812197923660278e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1514 5.7436279021203518e-03 -1 -2 1515\n            3.2019240316003561e-03</internalNodes>\n          <leafValues>\n            4.2873099446296692e-01 4.2661958932876587e-01\n            6.4440459012985229e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1516 -5.7637941790744662e-04 -1 -2 1517\n            -3.7901920732110739e-03</internalNodes>\n          <leafValues>\n            4.0848249197006226e-01 3.1819209456443787e-01\n            5.2306932210922241e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1518 4.8914109356701374e-03 -1 -2 1519\n            4.6459292061626911e-03</internalNodes>\n          <leafValues>\n            3.5483568906784058e-01 5.6105977296829224e-01\n            2.6938489079475403e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1520 -6.8799369037151337e-03 -1 -2 1521\n            -1.8147470429539680e-02</internalNodes>\n          <leafValues>\n            6.2354081869125366e-01 2.8619819879531860e-01\n            5.2268481254577637e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1522 1.1409220314817503e-04 -1 -2 1523\n            -5.4334272863343358e-04</internalNodes>\n          <leafValues>\n            3.2578331232070923e-01 3.8829690217971802e-01\n            5.3411662578582764e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1524 -2.7602489572018385e-03 -1 -2 1525\n            -1.9730569329112768e-03</internalNodes>\n          <leafValues>\n            6.3539659976959229e-01 5.8807611465454102e-01\n            4.5930901169776917e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1526 2.4565239436924458e-03 -1 -2 1527\n            1.9392010290175676e-04</internalNodes>\n          <leafValues>\n            3.1340101361274719e-01 5.2771317958831787e-01\n            3.6041069030761719e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1528 7.8643016517162323e-02 -1 -2 1529\n            6.5276869572699070e-03</internalNodes>\n          <leafValues>\n            5.2903419733047485e-01 4.6544799208641052e-01\n            6.0449051856994629e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1530 -7.8716799616813660e-02 -1 -2 1531\n            5.7298499159514904e-03</internalNodes>\n          <leafValues>\n            2.5411269068717957e-01 4.3669191002845764e-01\n            5.8228862285614014e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1532 6.2386557692661881e-04 -1 -2 1533\n            -8.5267230868339539e-02</internalNodes>\n          <leafValues>\n            5.4726922512054443e-01 1.4616079628467560e-01\n            5.1818108558654785e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1534 4.0981110185384750e-02 -1 -2 1535\n            7.7135749161243439e-03</internalNodes>\n          <leafValues>\n            1.2701350450515747e-01 4.8326849937438965e-01\n            2.2235789895057678e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1536 -6.8663940764963627e-03 -1 -2 1537\n            1.4559639617800713e-02</internalNodes>\n          <leafValues>\n            5.9189289808273315e-01 4.7615069150924683e-01\n            5.7272237539291382e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1538 -1.0064310394227505e-02 -1 -2 1539\n            3.6274080630391836e-03</internalNodes>\n          <leafValues>\n            3.6367309093475342e-01 5.2717310190200806e-01\n            2.7405250072479248e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1540 -2.3421540390700102e-03 -1 -2 1541\n            -2.4686409160494804e-02</internalNodes>\n          <leafValues>\n            5.4977840185165405e-01 6.0598951578140259e-01\n            4.9603140354156494e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1542 1.9456120207905769e-04 -1 -2 1543\n            3.1714211218059063e-04</internalNodes>\n          <leafValues>\n            3.7694650888442993e-01 4.0623620152473450e-01\n            5.6682151556015015e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1544 2.0793990697711706e-03 -1 -2 1545\n            1.7982709687203169e-03</internalNodes>\n          <leafValues>\n            4.6186569333076477e-01 4.8675051331520081e-01\n            6.5184497833251953e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1546 -2.2287059982772917e-04 -1 -2 1547\n            3.2623921288177371e-04</internalNodes>\n          <leafValues>\n            5.6775957345962524e-01 3.7107339501380920e-01\n            5.6766051054000854e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1548 -6.6792681813240051e-02 -1 -2 1549\n            -1.4869889710098505e-03</internalNodes>\n          <leafValues>\n            2.5115218758583069e-01 3.8867509365081787e-01\n            5.2622538805007935e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1550 -5.0454870797693729e-03 -1 -2 1551\n            -4.8297587782144547e-03</internalNodes>\n          <leafValues>\n            6.5574729442596436e-01 5.9341061115264893e-01\n            4.2859220504760742e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1552 -1.0722599690780044e-03 -1 -2 1553\n            8.7901195511221886e-03</internalNodes>\n          <leafValues>\n            5.4260587692260742e-01 5.3513032197952271e-01\n            4.8342779278755188e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1554 -7.1750381030142307e-03 -1 -2 1555\n            1.1251230025663972e-03</internalNodes>\n          <leafValues>\n            2.0671689510345459e-01 5.1122522354125977e-01\n            3.4687140583992004e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1556 1.0634710080921650e-02 -1 -2 1557\n            -1.1763219721615314e-02</internalNodes>\n          <leafValues>\n            4.4790080189704895e-01 6.2539017200469971e-01\n            4.9689871072769165e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1558 9.2324063181877136e-02 -1 -2 1559\n            1.8991080578416586e-03</internalNodes>\n          <leafValues>\n            2.0313039422035217e-01 5.6187218427658081e-01\n            4.0465721487998962e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1560 -1.0510340332984924e-02 -1 -2 1561\n            -7.4531312566250563e-04</internalNodes>\n          <leafValues>\n            4.9432641267776489e-01 5.6134277582168579e-01\n            3.8453319668769836e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1562 8.0041000619530678e-03 -1 -2 1563\n            5.8110528625547886e-03</internalNodes>\n          <leafValues>\n            7.7598422765731812e-01 4.6247330307960510e-01\n            6.2862771749496460e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1564 -2.7918580919504166e-02 -1 -2 1565\n            2.1739399526268244e-03</internalNodes>\n          <leafValues>\n            2.4093140661716461e-01 5.3455048799514771e-01\n            3.5079580545425415e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1566 -4.0639587678015232e-03 -1 -2 1567\n            6.0017139185220003e-04</internalNodes>\n          <leafValues>\n            6.6471010446548462e-01 4.9985098838806152e-01\n            3.0221650004386902e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1568 1.9214770291000605e-03 -1 -2 1569\n            -1.3860830105841160e-02</internalNodes>\n          <leafValues>\n            5.9191507101058960e-01 6.3517677783966064e-01\n            4.9933108687400818e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1570 2.3006850853562355e-02 -1 -2 1571\n            -1.3857929734513164e-03</internalNodes>\n          <leafValues>\n            1.9023360311985016e-01 5.2533692121505737e-01\n            3.9858600497245789e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1572 1.2637410545721650e-03 -1 -2 1573\n            -1.4675210230052471e-02</internalNodes>\n          <leafValues>\n            4.6661040186882019e-01 3.8231649994850159e-01\n            5.3266328573226929e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1574 -2.9535070061683655e-03 -1 -2 1575\n            -1.7189770005643368e-03</internalNodes>\n          <leafValues>\n            7.0636558532714844e-01 3.8134628534317017e-01\n            5.2467352151870728e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1576 -4.2484089499339461e-04 -1 -2 1577\n            -8.5248658433556557e-04</internalNodes>\n          <leafValues>\n            4.7916388511657715e-01 4.4912180304527283e-01\n            5.3709012269973755e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1578 8.9034568518400192e-03 -1 -2 1579\n            1.4895649655954912e-05</internalNodes>\n          <leafValues>\n            2.0764739811420441e-01 4.4476351141929626e-01\n            5.6671631336212158e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1580 -4.7091601300053298e-04 -1 -2 1581\n            4.3084810022264719e-04</internalNodes>\n          <leafValues>\n            5.4650712013244629e-01 5.4932618141174316e-01\n            4.5807081460952759e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1582 -6.3893961487337947e-04 -1 -2 1583\n            -7.3733746830839664e-05</internalNodes>\n          <leafValues>\n            5.5015718936920166e-01 5.0857907533645630e-01\n            3.3056980371475220e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1584 -8.8991485536098480e-03 -1 -2 1585\n            -1.0253350250422955e-02</internalNodes>\n          <leafValues>\n            4.2764690518379211e-01 1.1232180148363113e-01\n            5.1527231931686401e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1586 -5.9637490659952164e-02 -1 -2 1587\n            2.1707199513912201e-02</internalNodes>\n          <leafValues>\n            7.3867720365524292e-01 4.9962919950485229e-01\n            1.3394139707088470e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1588 9.9107045680284500e-03 -1 -2 1589\n            -1.0998300276696682e-02</internalNodes>\n          <leafValues>\n            4.6790120005607605e-01 6.9286561012268066e-01\n            5.0120681524276733e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1590 7.4608891736716032e-04 -1 -2 1591\n            2.9539171373471618e-04</internalNodes>\n          <leafValues>\n            5.8335822820663452e-01 3.8263911008834839e-01\n            5.5663508176803589e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1592 5.0054129213094711e-02 -1 -2 1593\n            -7.2330660186707973e-03</internalNodes>\n          <leafValues>\n            3.0027210712432861e-01 5.9080427885055542e-01\n            5.0008708238601685e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1594 -2.6863380335271358e-03 -1 -2 1595\n            -1.0195849463343620e-03</internalNodes>\n          <leafValues>\n            3.9750349521636963e-01 3.6976858973503113e-01\n            5.7561928033828735e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1596 -2.0204920321702957e-02 -1 -2 1597\n            2.1340379025787115e-03</internalNodes>\n          <leafValues>\n            6.3752681016921997e-01 5.3632658720016479e-01\n            4.4331708550453186e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1598 -1.8348889425396919e-03 -1 -2 1599\n            -5.9489468112587929e-03</internalNodes>\n          <leafValues>\n            5.8289992809295654e-01 2.6806709170341492e-01\n            4.6428859233856201e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1600 -2.3030120064504445e-04 -1 -2 1601\n            5.0581009127199650e-03</internalNodes>\n          <leafValues>\n            5.4753202199935913e-01 5.3208339214324951e-01\n            4.6464928984642029e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1602 -5.1950011402368546e-04 -1 -2 1603\n            -6.8620947422459722e-04</internalNodes>\n          <leafValues>\n            5.2327448129653931e-01 4.9350860714912415e-01\n            3.1031179428100586e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1604 -7.4936267919838428e-03 -1 -2 1605\n            -1.5682930126786232e-02</internalNodes>\n          <leafValues>\n            2.8830468654632568e-01 3.6403131484985352e-01\n            5.3687548637390137e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1606 -3.2649750355631113e-03 -1 -2 1607\n            3.8463930832222104e-04</internalNodes>\n          <leafValues>\n            6.4686310291290283e-01 5.2596598863601685e-01\n            3.8314279913902283e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1608 4.4492390006780624e-03 -1 -2 1609\n            2.3118320852518082e-02</internalNodes>\n          <leafValues>\n            2.0868189632892609e-01 4.9785330891609192e-01\n            5.9612572193145752e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1610 2.0835159812122583e-03 -1 -2 1611\n            1.1513150529935956e-03</internalNodes>\n          <leafValues>\n            5.7464218139648438e-01 3.5868450999259949e-01\n            5.3634738922119141e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1612 3.6104708909988403e-02 -1 -2 1613\n            3.6256198654882610e-04</internalNodes>\n          <leafValues>\n            2.8331369161605835e-01 5.4777222871780396e-01\n            4.1105321049690247e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1614 -3.4635469783097506e-03 -1 -2 1615\n            -2.8796829283237457e-03</internalNodes>\n          <leafValues>\n            5.9903860092163086e-01 5.7252532243728638e-01\n            4.1495120525360107e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1616 -8.1119500100612640e-03 -1 -2 1617\n            4.5932079665362835e-03</internalNodes>\n          <leafValues>\n            5.3963518142700195e-01 5.3797042369842529e-01\n            3.8913029432296753e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1618 7.0014740340411663e-03 -1 -2 1619\n            8.0169539432972670e-04</internalNodes>\n          <leafValues>\n            3.7146711349487305e-01 5.5295670032501221e-01\n            3.7558048963546753e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1620 -8.6652329191565514e-03 -1 -2 1621\n            -2.7315050829201937e-03</internalNodes>\n          <leafValues>\n            5.0257730484008789e-01 5.8503222465515137e-01\n            4.6175739169120789e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1622 1.3301590224727988e-03 -1 -2 1623\n            -4.2648240923881531e-03</internalNodes>\n          <leafValues>\n            5.9377008676528931e-01 5.6453680992126465e-01\n            3.9376249909400940e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1624 6.3251499086618423e-03 -1 -2 1625\n            -3.0753740575164557e-03</internalNodes>\n          <leafValues>\n            5.1821058988571167e-01 3.0074161291122437e-01\n            5.1964038610458374e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1626 -7.3622138006612659e-04 -1 -2 1627\n            3.0082479497650638e-05</internalNodes>\n          <leafValues>\n            3.6975800991058350e-01 4.3275931477546692e-01\n            5.7158088684082031e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1628 -3.8722730241715908e-03 -1 -2 1629\n            6.2879058532416821e-04</internalNodes>\n          <leafValues>\n            3.4737130999565125e-01 5.4382592439651489e-01\n            4.4539061188697815e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1630 1.3411579420790076e-03 -1 -2 1631\n            -8.3681922405958176e-03</internalNodes>\n          <leafValues>\n            6.5117138624191284e-01 1.4432950317859650e-01\n            4.8881998658180237e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1632 9.3305751215666533e-04 -1 -2 1633\n            -1.0746510233730078e-03</internalNodes>\n          <leafValues>\n            3.9511090517044067e-01 3.9102658629417419e-01\n            5.3495037555694580e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1634 -1.8610050901770592e-02 -1 -2 1635\n            1.3651419430971146e-03</internalNodes>\n          <leafValues>\n            1.2757439911365509e-01 5.0382888317108154e-01\n            6.9513040781021118e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1636 7.3744421824812889e-03 -1 -2 1637\n            8.4163323044776917e-03</internalNodes>\n          <leafValues>\n            5.2534431219100952e-01 5.0112438201904297e-01\n            7.3113328218460083e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1638 5.1413988694548607e-03 -1 -2 1639\n            4.5847031287848949e-03</internalNodes>\n          <leafValues>\n            4.9535360932350159e-01 2.5355559587478638e-01\n            6.4624428749084473e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1640 2.8565239161252975e-02 -1 -2 1641\n            4.3958800961263478e-04</internalNodes>\n          <leafValues>\n            2.3307220637798309e-01 4.7022441029548645e-01\n            5.5445492267608643e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1642 3.1459458172321320e-02 -1 -2 1643\n            5.6011630222201347e-03</internalNodes>\n          <leafValues>\n            3.3689688891172409e-02 4.7871211171150208e-01\n            6.3383519649505615e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1644 7.1835669223219156e-04 -1 -2 1645\n            -5.5303089320659637e-03</internalNodes>\n          <leafValues>\n            5.4314869642257690e-01 4.1058328747749329e-01\n            5.4039907455444336e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1646 1.4129279879853129e-03 -1 -2 1647\n            2.5530709535814822e-04</internalNodes>\n          <leafValues>\n            3.1055399775505066e-01 4.2544719576835632e-01\n            5.4471540451049805e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1648 3.1966410460881889e-04 -1 -2 1649\n            5.0411392003297806e-03</internalNodes>\n          <leafValues>\n            6.1183619499206543e-01 5.2900421619415283e-01\n            4.2247870564460754e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1650 7.7617880888283253e-03 -1 -2 1651\n            2.9374631121754646e-03</internalNodes>\n          <leafValues>\n            4.3153458833694458e-01 6.6292631626129150e-01\n            3.0289649963378906e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1652 -1.6497720498591661e-03 -1 -2 1653\n            -5.8834417723119259e-03</internalNodes>\n          <leafValues>\n            5.4918527603149414e-01 3.1885540485382080e-01\n            5.1842892169952393e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1654 8.7459187489002943e-04 -1 -2 1655\n            -1.5308779664337635e-02</internalNodes>\n          <leafValues>\n            3.3288308978080750e-01 3.9236080646514893e-01\n            5.2351391315460205e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1656 3.2292451709508896e-02 -1 -2 1657\n            -4.3842519517056644e-04</internalNodes>\n          <leafValues>\n            5.9776467084884644e-01 4.5416879653930664e-01\n            5.3694289922714233e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1658 1.5429529594257474e-03 -1 -2 1659\n            -2.4733028840273619e-03</internalNodes>\n          <leafValues>\n            6.3181412220001221e-01 3.4906330704689026e-01\n            4.7590249776840210e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1660 2.0994939841330051e-03 -1 -2 1661\n            -5.7541108690202236e-03</internalNodes>\n          <leafValues>\n            5.8871978521347046e-01 5.9613317251205444e-01\n            4.8419830203056335e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1662 -1.0233130306005478e-02 -1 -2 1663\n            2.2554509341716766e-01</internalNodes>\n          <leafValues>\n            1.7054040729999542e-01 4.7793799638748169e-01\n            9.7879663109779358e-02</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1664 2.9666559770703316e-02 -1 -2 1665\n            -2.8518449980765581e-03</internalNodes>\n          <leafValues>\n            5.8222240209579468e-01 5.4596269130706787e-01\n            4.6100661158561707e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1666 9.7465328872203827e-04 -1 -2 1667\n            1.4044740055396687e-05</internalNodes>\n          <leafValues>\n            3.6703228950500488e-01 4.3023860454559326e-01\n            5.6917107105255127e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1668 -1.7579430714249611e-02 -1 -2 1669\n            -5.2381679415702820e-02</internalNodes>\n          <leafValues>\n            6.9173210859298706e-01 7.1100401878356934e-01\n            5.0601547956466675e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1670 -1.1242110282182693e-02 -1 -2 1671\n            -3.6728400737047195e-03</internalNodes>\n          <leafValues>\n            8.7691891193389893e-01 6.5191918611526489e-01\n            4.5460689067840576e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1672 3.5082760732620955e-03 -1 -2 1673\n            6.1679710634052753e-03</internalNodes>\n          <leafValues>\n            5.3298658132553101e-01 5.2204591035842896e-01\n            2.9535189270973206e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1674 -9.7009900491684675e-04 -1 -2 1675\n            -1.0957010090351105e-02</internalNodes>\n          <leafValues>\n            5.0486332178115845e-01 5.8373582363128662e-01\n            3.0200859904289246e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1676 -8.3272513002157211e-03 -1 -2 1677\n            2.9798380637657829e-05</internalNodes>\n          <leafValues>\n            3.1580638885498047e-01 4.3863898515701294e-01\n            5.4432111978530884e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1678 2.8244039276614785e-04 -1 -2 1679\n            -8.1364117795601487e-04</internalNodes>\n          <leafValues>\n            5.6253957748413086e-01 5.2811980247497559e-01\n            3.4014078974723816e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1680 1.8008040497079492e-03 -1 -2 1681\n            -6.9944779388606548e-03</internalNodes>\n          <leafValues>\n            3.4716591238975525e-01 4.4816970825195312e-01\n            5.3857702016830444e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1682 4.5625398342963308e-05 -1 -2 1683\n            -7.3189922841265798e-04</internalNodes>\n          <leafValues>\n            4.4925129413604736e-01 4.1673120856285095e-01\n            6.0211020708084106e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1684 -2.9980219551362097e-04 -1 -2 1685\n            -2.9060940505587496e-05</internalNodes>\n          <leafValues>\n            4.1484281420707703e-01 5.5920898914337158e-01\n            4.0732109546661377e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1686 -5.9742690064013004e-04 -1 -2 1687\n            1.4831830048933625e-04</internalNodes>\n          <leafValues>\n            6.0889142751693726e-01 5.2983051538467407e-01\n            3.7619501352310181e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1688 -2.9441029764711857e-03 -1 -2 1689\n            1.3741210103034973e-01</internalNodes>\n          <leafValues>\n            4.7160848975181580e-01 5.1013368368148804e-01\n            4.6746801584959030e-02</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1690 -8.8414177298545837e-02 -1 -2 1691\n            7.0610277354717255e-02</internalNodes>\n          <leafValues>\n            1.1818689852952957e-01 5.1190632581710815e-01\n            7.7784419059753418e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1692 -7.7188978902995586e-03 -1 -2 1693\n            1.5115399844944477e-02</internalNodes>\n          <leafValues>\n            1.8741349875926971e-01 4.9800279736518860e-01\n            7.0058178901672363e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1694 1.0671879863366485e-03 -1 -2 1695\n            7.0487911580130458e-04</internalNodes>\n          <leafValues>\n            4.4822388887405396e-01 6.2657529115676880e-01\n            4.4026550650596619e-01</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>90</maxWeakCount>\n      <stageThreshold>4.4251281738281250e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            1 0 1696 -9.8690733313560486e-02 -1 -2 1697\n            6.2373418360948563e-02</internalNodes>\n          <leafValues>\n            3.9994749426841736e-01 5.2477848529815674e-01\n            8.1935757398605347e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1698 1.9496519817039371e-03 -1 -2 1699\n            -8.9139147894456983e-04</internalNodes>\n          <leafValues>\n            3.5298168659210205e-01 5.8527278900146484e-01\n            3.2459780573844910e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1700 -5.5150408297777176e-04 -1 -2 1701\n            -1.1721949558705091e-03</internalNodes>\n          <leafValues>\n            3.8928169012069702e-01 4.3350520730018616e-01\n            6.5206241607666016e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1702 -7.4480642797425389e-04 -1 -2 1703\n            -2.6264840271323919e-03</internalNodes>\n          <leafValues>\n            4.0411350131034851e-01 5.6249821186065674e-01\n            3.9675250649452209e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1704 -3.9712688885629177e-04 -1 -2 1705\n            3.5984949208796024e-03</internalNodes>\n          <leafValues>\n            3.8561120629310608e-01 5.9978890419006348e-01\n            4.2416140437126160e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1706 5.3080618381500244e-03 -1 -2 1707\n            9.6319877775385976e-04</internalNodes>\n          <leafValues>\n            6.6601687669754028e-01 4.4813790917396545e-01\n            5.5834877490997314e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1708 5.0776469288393855e-04 -1 -2 1709\n            3.6223160568624735e-03</internalNodes>\n          <leafValues>\n            3.5354590415954590e-01 3.4098070859909058e-01\n            5.4206877946853638e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1710 -6.2061410397291183e-02 -1 -2 1711\n            6.4387189922854304e-04</internalNodes>\n          <leafValues>\n            1.9340839982032776e-01 4.0836268663406372e-01\n            5.4902219772338867e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1712 2.6239909231662750e-02 -1 -2 1713\n            8.1940297968685627e-04</internalNodes>\n          <leafValues>\n            2.2857080399990082e-01 4.6486678719520569e-01\n            6.0173559188842773e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1714 2.3833119485061616e-04 -1 -2 1715\n            -1.5869759954512119e-03</internalNodes>\n          <leafValues>\n            3.5980388522148132e-01 4.2596510052680969e-01\n            5.4764348268508911e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1716 -6.7263417877256870e-03 -1 -2 1717\n            1.1006110347807407e-02</internalNodes>\n          <leafValues>\n            6.5072381496429443e-01 5.1494097709655762e-01\n            3.3629849553108215e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1718 7.1445819921791553e-03 -1 -2 1719\n            -4.7233798541128635e-03</internalNodes>\n          <leafValues>\n            2.6729300618171692e-01 5.6521821022033691e-01\n            4.2981448769569397e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1720 9.8437406122684479e-03 -1 -2 1721\n            1.5124640412977897e-05</internalNodes>\n          <leafValues>\n            1.1518859863281250e-01 4.3735980987548828e-01\n            5.6121289730072021e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1722 3.9908871054649353e-02 -1 -2 1723\n            5.3903679363429546e-03</internalNodes>\n          <leafValues>\n            5.2046489715576172e-01 4.8134678602218628e-01\n            6.3612091541290283e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1724 -3.9908871054649353e-02 -1 -2 1725\n            5.3903679363429546e-03</internalNodes>\n          <leafValues>\n            1.5068709850311279e-01 4.5816949009895325e-01\n            6.2002408504486084e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1726 6.7005190066993237e-03 -1 -2 1727\n            -1.2623789720237255e-02</internalNodes>\n          <leafValues>\n            3.4322351217269897e-01 3.0882269144058228e-01\n            5.2267378568649292e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1728 1.1806610040366650e-02 -1 -2 1729\n            -3.4257229417562485e-03</internalNodes>\n          <leafValues>\n            7.1879392862319946e-01 3.1208148598670959e-01\n            5.0658440589904785e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1730 3.9385299896821380e-04 -1 -2 1731\n            3.4388188272714615e-02</internalNodes>\n          <leafValues>\n            4.7545841336250305e-01 5.2616578340530396e-01\n            3.3501741290092468e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1732 -7.5009986758232117e-02 -1 -2 1733\n            4.9022492021322250e-04</internalNodes>\n          <leafValues>\n            1.7134809494018555e-01 4.7258019447326660e-01\n            5.9564691781997681e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1734 -8.5525289177894592e-03 -1 -2 1735\n            1.3135520566720515e-04</internalNodes>\n          <leafValues>\n            6.5582227706909180e-01 4.8354008793830872e-01\n            5.5869138240814209e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1736 4.7948658466339111e-03 -1 -2 1737\n            2.0124691072851419e-03</internalNodes>\n          <leafValues>\n            2.6457059383392334e-01 3.6579450964927673e-01\n            5.1247721910476685e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1738 -1.1785479635000229e-01 -1 -2 1739\n            1.5575019642710686e-03</internalNodes>\n          <leafValues>\n            2.3856540024280548e-01 5.4904741048812866e-01\n            4.2747479677200317e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1740 -1.5573759563267231e-02 -1 -2 1741\n            -2.1854790393263102e-03</internalNodes>\n          <leafValues>\n            6.9389009475708008e-01 3.6459881067276001e-01\n            5.0925260782241821e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1742 2.9272339306771755e-03 -1 -2 1743\n            6.4663668163120747e-03</internalNodes>\n          <leafValues>\n            4.6858081221580505e-01 4.9734100699424744e-01\n            7.7260971069335938e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1744 -7.6140360906720161e-03 -1 -2 1745\n            4.1512572206556797e-03</internalNodes>\n          <leafValues>\n            6.8774658441543579e-01 4.7885251045227051e-01\n            6.9216579198837280e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1746 2.7711640577763319e-03 -1 -2 1747\n            -1.2836109846830368e-02</internalNodes>\n          <leafValues>\n            5.4818397760391235e-01 3.8001629710197449e-01\n            5.2044928073883057e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1748 -2.4380050599575043e-03 -1 -2 1749\n            2.1713329479098320e-03</internalNodes>\n          <leafValues>\n            2.5824350118637085e-01 4.9611631035804749e-01\n            3.2152029871940613e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1750 6.2800728483125567e-04 -1 -2 1751\n            -9.7982389852404594e-03</internalNodes>\n          <leafValues>\n            5.4604238271713257e-01 6.0465437173843384e-01\n            4.9399220943450928e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1752 7.3543828912079334e-03 -1 -2 1753\n            -1.4665040187537670e-02</internalNodes>\n          <leafValues>\n            5.2910941839218140e-01 5.4461228847503662e-01\n            3.5673621296882629e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1754 3.0244510620832443e-02 -1 -2 1755\n            -5.6660208851099014e-02</internalNodes>\n          <leafValues>\n            5.5183291435241699e-01 6.9309788942337036e-01\n            5.0933879613876343e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1756 -5.6967479176819324e-03 -1 -2 1757\n            3.0806770548224449e-02</internalNodes>\n          <leafValues>\n            3.2015261054039001e-01 4.9892461299896240e-01\n            2.2770540416240692e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1758 2.2748769260942936e-03 -1 -2 1759\n            2.0436900667846203e-03</internalNodes>\n          <leafValues>\n            4.8109310865402222e-01 5.2838671207427979e-01\n            3.2559248805046082e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1760 -8.6277956143021584e-03 -1 -2 1761\n            6.5113382879644632e-04</internalNodes>\n          <leafValues>\n            6.2665361166000366e-01 5.0971370935440063e-01\n            3.1919100880622864e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1762 8.8188261725008488e-04 -1 -2 1763\n            -1.4594909735023975e-02</internalNodes>\n          <leafValues>\n            4.5495858788490295e-01 2.6450389623641968e-01\n            5.1538681983947754e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1764 -1.2304580304771662e-03 -1 -2 1765\n            -2.1867299801670015e-04</internalNodes>\n          <leafValues>\n            6.1975848674774170e-01 5.4691988229751587e-01\n            4.2068558931350708e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1766 -1.0909959673881531e-03 -1 -2 1767\n            3.5210378700867295e-04</internalNodes>\n          <leafValues>\n            4.1407600045204163e-01 5.4766088724136353e-01\n            4.1550210118293762e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1768 -7.2563779540359974e-03 -1 -2 1769\n            1.4701850013807416e-03</internalNodes>\n          <leafValues>\n            7.1604692935943604e-01 5.2408081293106079e-01\n            3.7296628952026367e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1770 1.1472719779703766e-04 -1 -2 1771\n            3.0506469774991274e-03</internalNodes>\n          <leafValues>\n            4.0337988734245300e-01 5.2639859914779663e-01\n            3.5600930452346802e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1772 2.6269949739798903e-04 -1 -2 1773\n            -3.6365550477057695e-03</internalNodes>\n          <leafValues>\n            4.5697999000549316e-01 3.0425709486007690e-01\n            5.8682537078857422e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1774 -8.4893293678760529e-03 -1 -2 1775\n            5.8107408694922924e-03</internalNodes>\n          <leafValues>\n            4.9141570925712585e-01 4.9185299873352051e-01\n            6.2669628858566284e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1776 7.5583951547741890e-04 -1 -2 1777\n            -2.2017690353095531e-03</internalNodes>\n          <leafValues>\n            5.6332361698150635e-01 5.5539160966873169e-01\n            3.8276460766792297e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1778 2.7908938936889172e-03 -1 -2 1779\n            -1.8228569533675909e-03</internalNodes>\n          <leafValues>\n            5.4986977577209473e-01 4.3822830915451050e-01\n            5.4240328073501587e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1780 -7.2495508939027786e-03 -1 -2 1781\n            -6.8744522286579013e-04</internalNodes>\n          <leafValues>\n            2.8881219029426575e-01 3.4726551175117493e-01\n            5.0763708353042603e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1782 2.5174440816044807e-03 -1 -2 1783\n            -1.0151379741728306e-02</internalNodes>\n          <leafValues>\n            4.6612051129341125e-01 3.7447750568389893e-01\n            5.2940011024475098e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1784 -4.1399952024221420e-03 -1 -2 1785\n            -4.7078551724553108e-03</internalNodes>\n          <leafValues>\n            4.6604850888252258e-01 4.1750618815422058e-01\n            6.9163060188293457e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1786 4.1981041431427002e-02 -1 -2 1787\n            -1.4272999949753284e-02</internalNodes>\n          <leafValues>\n            2.0182150602340698e-01 7.5111979246139526e-01\n            5.0320839881896973e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1788 4.0869521908462048e-03 -1 -2 1789\n            1.7606799956411123e-03</internalNodes>\n          <leafValues>\n            2.5045138597488403e-01 3.3014011383056641e-01\n            5.2183371782302856e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1790 1.2550549581646919e-04 -1 -2 1791\n            -2.9503209516406059e-03</internalNodes>\n          <leafValues>\n            4.6144428849220276e-01 4.6199500560760498e-01\n            5.2470302581787109e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1792 -1.1312420247122645e-03 -1 -2 1793\n            -1.6983180539682508e-03</internalNodes>\n          <leafValues>\n            6.3143682479858398e-01 3.4013068675994873e-01\n            5.0555270910263062e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1794 -1.1457820422947407e-02 -1 -2 1795\n            -8.4962565451860428e-03</internalNodes>\n          <leafValues>\n            4.9399960041046143e-01 2.9654508829116821e-01\n            5.1943677663803101e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1796 1.1919089592993259e-02 -1 -2 1797\n            6.4416420646011829e-03</internalNodes>\n          <leafValues>\n            7.8869980573654175e-01 5.1069867610931396e-01\n            2.9671460390090942e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1798 -8.7857811013236642e-04 -1 -2 1799\n            -2.0312711130827665e-03</internalNodes>\n          <leafValues>\n            5.7143712043762207e-01 4.4812008738517761e-01\n            5.3849118947982788e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1800 -1.5262430533766747e-03 -1 -2 1801\n            4.2860880494117737e-03</internalNodes>\n          <leafValues>\n            6.1935687065124512e-01 4.3398851156234741e-01\n            7.6972991228103638e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1802 3.5010920837521553e-03 -1 -2 1803\n            1.2587670236825943e-02</internalNodes>\n          <leafValues>\n            3.1713891029357910e-01 5.2466988563537598e-01\n            4.2412081360816956e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1804 2.6207490009255707e-04 -1 -2 1805\n            4.4701730075757951e-05</internalNodes>\n          <leafValues>\n            4.2318999767303467e-01 4.1741389036178589e-01\n            5.9196037054061890e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1806 7.8084698179736733e-04 -1 -2 1807\n            8.8851212058216333e-04</internalNodes>\n          <leafValues>\n            4.2773890495300293e-01 3.7201610207557678e-01\n            5.2268189191818237e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1808 2.3369069676846266e-03 -1 -2 1809\n            1.6688359901309013e-03</internalNodes>\n          <leafValues>\n            5.4780668020248413e-01 3.6286789178848267e-01\n            6.1500048637390137e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1810 3.0844469438306987e-04 -1 -2 1811\n            3.4617560449987650e-03</internalNodes>\n          <leafValues>\n            4.7470751404762268e-01 4.5801380276679993e-01\n            5.5856817960739136e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1812 1.8961310386657715e-02 -1 -2 1813\n            1.7347310483455658e-01</internalNodes>\n          <leafValues>\n            5.2988010644912720e-01 3.6983850598335266e-01\n            8.4986197948455811e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1814 2.0020549709443003e-04 -1 -2 1815\n            1.0967060225084424e-03</internalNodes>\n          <leafValues>\n            5.5656617879867554e-01 4.7957131266593933e-01\n            6.2862598896026611e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1816 1.5107099898159504e-04 -1 -2 1817\n            -3.4463501069694757e-03</internalNodes>\n          <leafValues>\n            4.0524059534072876e-01 6.1730152368545532e-01\n            4.4142639636993408e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1818 8.5176620632410049e-03 -1 -2 1819\n            -3.5812109708786011e-02</internalNodes>\n          <leafValues>\n            3.5705709457397461e-01 3.1513288617134094e-01\n            5.2527028322219849e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1820 -2.1155400201678276e-02 -1 -2 1821\n            8.9890940580517054e-04</internalNodes>\n          <leafValues>\n            6.1247211694717407e-01 5.1699757575988770e-01\n            3.5962718725204468e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1822 -1.5613760333508253e-03 -1 -2 1823\n            6.7120860330760479e-04</internalNodes>\n          <leafValues>\n            4.9149879813194275e-01 4.5462110638618469e-01\n            5.3958117961883545e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1824 -2.1597029641270638e-02 -1 -2 1825\n            -2.4947229772806168e-02</internalNodes>\n          <leafValues>\n            1.9031339883804321e-01 6.9740772247314453e-01\n            4.9677160382270813e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1826 1.8725979607552290e-03 -1 -2 1827\n            6.3912719488143921e-03</internalNodes>\n          <leafValues>\n            4.7489479184150696e-01 5.1801782846450806e-01\n            2.9243218898773193e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1828 -9.1552399098873138e-03 -1 -2 1829\n            2.1715660113841295e-03</internalNodes>\n          <leafValues>\n            7.6658701896667480e-01 5.2155512571334839e-01\n            3.3657190203666687e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1830 1.2330369791015983e-03 -1 -2 1831\n            -4.0785901364870369e-04</internalNodes>\n          <leafValues>\n            6.2609577178955078e-01 4.5335099101066589e-01\n            5.3864890336990356e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1832 4.6437609125860035e-04 -1 -2 1833\n            -1.1600199650274590e-04</internalNodes>\n          <leafValues>\n            4.1034960746765137e-01 5.8303910493850708e-01\n            4.3041059374809265e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1834 -1.2718720361590385e-02 -1 -2 1835\n            8.9431880041956902e-05</internalNodes>\n          <leafValues>\n            2.1325829625129700e-01 4.8728910088539124e-01\n            5.4589152336120605e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1836 -3.3913689549081028e-04 -1 -2 1837\n            -1.8026340752840042e-02</internalNodes>\n          <leafValues>\n            3.9743649959564209e-01 7.5685507059097290e-01\n            5.0456118583679199e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1838 6.9179181009531021e-03 -1 -2 1839\n            -1.1839679791592062e-04</internalNodes>\n          <leafValues>\n            3.9662998914718628e-01 4.1980829834938049e-01\n            5.4358041286468506e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1840 -3.9474181830883026e-03 -1 -2 1841\n            6.0050919273635373e-05</internalNodes>\n          <leafValues>\n            6.3694578409194946e-01 5.2695667743682861e-01\n            3.8122430443763733e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1842 9.1423643752932549e-03 -1 -2 1843\n            2.1305440168362111e-04</internalNodes>\n          <leafValues>\n            4.1567629575729370e-01 3.5235330462455750e-01\n            5.3494542837142944e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1844 -2.0855850016232580e-04 -1 -2 1845\n            1.3130389852449298e-03</internalNodes>\n          <leafValues>\n            4.4033220410346985e-01 6.0581612586975098e-01\n            4.4682189822196960e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1846 -2.9134768992662430e-03 -1 -2 1847\n            2.9645769391208887e-03</internalNodes>\n          <leafValues>\n            4.8257058858871460e-01 4.8359981179237366e-01\n            6.0392779111862183e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1848 1.7772549763321877e-03 -1 -2 1849\n            -7.7136349864304066e-03</internalNodes>\n          <leafValues>\n            6.8718272447586060e-01 2.8422209620475769e-01\n            5.1454281806945801e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1850 5.1027478184551001e-04 -1 -2 1851\n            1.7460630042478442e-03</internalNodes>\n          <leafValues>\n            6.0244262218475342e-01 4.7566100955009460e-01\n            5.7211542129516602e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1852 3.8068278809078038e-04 -1 -2 1853\n            2.8228890150785446e-03</internalNodes>\n          <leafValues>\n            4.9310690164566040e-01 3.3116981387138367e-01\n            6.2275981903076172e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1854 -5.3000478073954582e-03 -1 -2 1855\n            4.4951299059903249e-05</internalNodes>\n          <leafValues>\n            5.2320927381515503e-01 3.9952319860458374e-01\n            5.3147977590560913e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1856 3.2752458937466145e-03 -1 -2 1857\n            -2.8162579983472824e-03</internalNodes>\n          <leafValues>\n            4.4816198945045471e-01 3.9079719781875610e-01\n            6.6716408729553223e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1858 1.4112279750406742e-03 -1 -2 1859\n            8.3062034100294113e-03</internalNodes>\n          <leafValues>\n            5.3570109605789185e-01 4.7709658741950989e-01\n            5.5700999498367310e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1860 2.2164839319884777e-03 -1 -2 1861\n            -4.9868631176650524e-03</internalNodes>\n          <leafValues>\n            4.9471241235733032e-01 5.2413070201873779e-01\n            2.5126549601554871e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1862 -3.6664260551333427e-03 -1 -2 1863\n            -1.0581229813396931e-02</internalNodes>\n          <leafValues>\n            4.6195539832115173e-01 6.3017189502716064e-01\n            4.9730318784713745e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1864 7.3366491124033928e-03 -1 -2 1865\n            -3.9318940252996981e-04</internalNodes>\n          <leafValues>\n            2.8709700703620911e-01 4.2528051137924194e-01\n            5.5792468786239624e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1866 -8.1375334411859512e-03 -1 -2 1867\n            2.4809150490909815e-03</internalNodes>\n          <leafValues>\n            5.7473158836364746e-01 5.2033740282058716e-01\n            3.9035668969154358e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1868 8.8749779388308525e-04 -1 -2 1869\n            -4.2194919660687447e-04</internalNodes>\n          <leafValues>\n            5.5343210697174072e-01 5.3380441665649414e-01\n            3.9258408546447754e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1870 -7.9790111631155014e-03 -1 -2 1871\n            1.1439629597589374e-03</internalNodes>\n          <leafValues>\n            4.1443160176277161e-01 4.7013729810714722e-01\n            5.2817362546920776e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1872 7.5542130507528782e-03 -1 -2 1873\n            1.0288399644196033e-03</internalNodes>\n          <leafValues>\n            2.5272560119628906e-01 5.6051462888717651e-01\n            4.2978560924530029e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1874 -1.7234670231118798e-03 -1 -2 1875\n            5.7586699724197388e-01</internalNodes>\n          <leafValues>\n            4.8396828770637512e-01 5.1105028390884399e-01\n            8.0489329993724823e-02</leafValues></_></weakClassifiers></_>\n    <_>\n      <maxWeakCount>109</maxWeakCount>\n      <stageThreshold>5.3755569458007812e+01</stageThreshold>\n      <weakClassifiers>\n        <_>\n          <internalNodes>\n            0 1 1876 6.6640521399676800e-03 -1 -2 1877\n            8.9905522763729095e-03</internalNodes>\n          <leafValues>\n            3.8289201259613037e-01 4.8584291338920593e-01\n            7.3549592494964600e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1878 5.7154200039803982e-03 -1 -2 1879\n            1.1257929727435112e-03</internalNodes>\n          <leafValues>\n            6.7232239246368408e-01 4.4295778870582581e-01\n            6.0707777738571167e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1880 -9.1789010912179947e-04 -1 -2 1881\n            -1.0492859873920679e-03</internalNodes>\n          <leafValues>\n            3.0763450264930725e-01 5.5936437845230103e-01\n            3.6510229110717773e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1882 3.5453929740469903e-05 -1 -2 1883\n            2.9015709878876805e-04</internalNodes>\n          <leafValues>\n            4.2779681086540222e-01 4.5835450291633606e-01\n            5.2846831083297729e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1884 1.6071660502348095e-04 -1 -2 1885\n            -5.2961107576265931e-04</internalNodes>\n          <leafValues>\n            3.7981921434402466e-01 3.8504371047019958e-01\n            5.9396880865097046e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1886 2.6682569296099246e-04 -1 -2 1887\n            -1.3492540165316314e-04</internalNodes>\n          <leafValues>\n            4.1230249404907227e-01 5.7605999708175659e-01\n            4.2376458644866943e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1888 -1.0841679759323597e-02 -1 -2 1889\n            1.2077829800546169e-02</internalNodes>\n          <leafValues>\n            3.9299210906028748e-01 5.7619231939315796e-01\n            2.7804449200630188e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1890 2.2128869313746691e-03 -1 -2 1891\n            -1.5266190283000469e-02</internalNodes>\n          <leafValues>\n            4.7945070266723633e-01 7.4055880308151245e-02\n            5.1535779237747192e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1892 6.7929533543065190e-05 -1 -2 1893\n            1.7633590323384851e-04</internalNodes>\n          <leafValues>\n            5.8587378263473511e-01 3.5676109790802002e-01\n            5.5989629030227661e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1894 8.1311381654813886e-04 -1 -2 1895\n            3.2630451023578644e-03</internalNodes>\n          <leafValues>\n            5.3468507528305054e-01 4.7825369238853455e-01\n            5.4567539691925049e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1896 -3.9503918960690498e-03 -1 -2 1897\n            -3.9864578866399825e-04</internalNodes>\n          <leafValues>\n            2.8318119049072266e-01 5.4852157831192017e-01\n            4.1596978902816772e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1898 -1.1432520113885403e-02 -1 -2 1899\n            5.3339172154664993e-03</internalNodes>\n          <leafValues>\n            5.6391012668609619e-01 4.5969840884208679e-01\n            5.9312427043914795e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1900 8.3193257451057434e-03 -1 -2 1901\n            -4.2479918920435011e-04</internalNodes>\n          <leafValues>\n            3.2306200265884399e-01 3.7952938675880432e-01\n            5.4086112976074219e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1902 -1.1189430207014084e-01 -1 -2 1903\n            -7.5553781352937222e-03</internalNodes>\n          <leafValues>\n            1.1322979629039764e-01 6.3393700122833252e-01\n            4.8387709259986877e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1904 -7.0337029173970222e-03 -1 -2 1905\n            -1.4833680354058743e-02</internalNodes>\n          <leafValues>\n            5.6652551889419556e-01 6.7514181137084961e-01\n            4.1409450769424438e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1906 8.7506724521517754e-03 -1 -2 1907\n            1.6645010327920318e-03</internalNodes>\n          <leafValues>\n            3.5612589120864868e-01 5.3472799062728882e-01\n            3.6497798562049866e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1908 9.4900820404291153e-03 -1 -2 1909\n            1.1133110383525491e-03</internalNodes>\n          <leafValues>\n            2.7546560764312744e-01 4.2259928584098816e-01\n            5.6291788816452026e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1910 9.4940755516290665e-03 -1 -2 1911\n            -1.5396620146930218e-03</internalNodes>\n          <leafValues>\n            4.9060368537902832e-01 4.0070518851280212e-01\n            5.3807091712951660e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1912 1.3434959948062897e-01 -1 -2 1913\n            -9.4940755516290665e-03</internalNodes>\n          <leafValues>\n            2.2146719694137573e-01 7.3531562089920044e-01\n            5.0050330162048340e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1914 2.0011790096759796e-02 -1 -2 1915\n            -1.8875009845942259e-03</internalNodes>\n          <leafValues>\n            3.3279061317443848e-01 3.9152890443801880e-01\n            5.4018497467041016e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1916 7.1842782199382782e-03 -1 -2 1917\n            1.6976969782263041e-03</internalNodes>\n          <leafValues>\n            7.1766048669815063e-01 4.5269781351089478e-01\n            6.0769128799438477e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1918 4.9219978973269463e-03 -1 -2 1919\n            1.1803199537098408e-02</internalNodes>\n          <leafValues>\n            2.5698339939117432e-01 4.9996379017829895e-01\n            5.9582281112670898e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1920 -9.7703449428081512e-03 -1 -2 1921\n            2.1174899302423000e-03</internalNodes>\n          <leafValues>\n            3.4590938687324524e-01 4.5151269435882568e-01\n            5.8297157287597656e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1922 9.4801411032676697e-03 -1 -2 1923\n            -2.6078789960592985e-03</internalNodes>\n          <leafValues>\n            4.8073920607566833e-01 3.4622168540954590e-01\n            5.2015948295593262e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1924 -5.7252747938036919e-03 -1 -2 1925\n            -8.2325618714094162e-03</internalNodes>\n          <leafValues>\n            6.5998530387878418e-01 2.8218281269073486e-01\n            5.1252847909927368e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1926 8.9571950957179070e-04 -1 -2 1927\n            -1.5021569561213255e-04</internalNodes>\n          <leafValues>\n            4.8838189244270325e-01 4.8299181461334229e-01\n            5.4287171363830566e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1928 4.8489659093320370e-04 -1 -2 1929\n            -9.6192650496959686e-02</internalNodes>\n          <leafValues>\n            4.4345989823341370e-01 2.2566360235214233e-01\n            5.9562277793884277e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1930 -1.1053519556298852e-03 -1 -2 1931\n            -1.0215040296316147e-01</internalNodes>\n          <leafValues>\n            4.5272240042686462e-01 2.8443491458892822e-01\n            5.1864528656005859e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1932 3.0147889629006386e-03 -1 -2 1933\n            7.6131648384034634e-03</internalNodes>\n          <leafValues>\n            3.8089990615844727e-01 5.7186990976333618e-01\n            4.2625638842582703e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1934 1.5197630273178220e-03 -1 -2 1935\n            -1.4197279699146748e-02</internalNodes>\n          <leafValues>\n            5.9427189826965332e-01 7.7311038970947266e-01\n            4.9976539611816406e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1936 -1.3818879611790180e-02 -1 -2 1937\n            -5.0701329018920660e-04</internalNodes>\n          <leafValues>\n            6.6811382770538330e-01 3.3056080341339111e-01\n            4.7499749064445496e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1938 -9.3537531793117523e-03 -1 -2 1939\n            -9.4771059229969978e-03</internalNodes>\n          <leafValues>\n            2.8609329462051392e-01 6.1888831853866577e-01\n            4.8421001434326172e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1940 1.6923650400713086e-03 -1 -2 1941\n            5.8652542065829039e-04</internalNodes>\n          <leafValues>\n            6.0702490806579590e-01 3.7826898694038391e-01\n            5.3681969642639160e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1942 -2.5826620403677225e-03 -1 -2 1943\n            -2.7307639829814434e-03</internalNodes>\n          <leafValues>\n            3.6902099847793579e-01 3.8571149110794067e-01\n            5.3181087970733643e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1944 2.1871570497751236e-02 -1 -2 1945\n            -1.5010299648565706e-05</internalNodes>\n          <leafValues>\n            2.3270089924335480e-01 5.5607229471206665e-01\n            4.3014100193977356e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1946 5.3583700209856033e-03 -1 -2 1947\n            5.0057549960911274e-03</internalNodes>\n          <leafValues>\n            6.7676377296447754e-01 5.1949042081832886e-01\n            3.6128538846969604e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1948 -1.9030070398002863e-03 -1 -2 1949\n            -7.8506693243980408e-03</internalNodes>\n          <leafValues>\n            3.2378450036048889e-01 1.1948519945144653e-01\n            4.9917238950729370e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1950 -2.7093670796602964e-03 -1 -2 1951\n            1.4138079714030027e-03</internalNodes>\n          <leafValues>\n            4.8549601435661316e-01 4.8723229765892029e-01\n            5.9035778045654297e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1952 9.0300198644399643e-03 -1 -2 1953\n            -9.7925681620836258e-04</internalNodes>\n          <leafValues>\n            6.5473157167434692e-01 5.8492732048034668e-01\n            4.5542308688163757e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1954 1.3984439428895712e-03 -1 -2 1955\n            8.3372107474133372e-04</internalNodes>\n          <leafValues>\n            4.0646260976791382e-01 5.3995430469512939e-01\n            4.1528099775314331e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1956 1.0551059618592262e-02 -1 -2 1957\n            8.8344102550763637e-05</internalNodes>\n          <leafValues>\n            1.7966809868812561e-01 4.2518630623817444e-01\n            5.4135227203369141e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1958 -4.1022308170795441e-02 -1 -2 1959\n            7.5065628625452518e-03</internalNodes>\n          <leafValues>\n            5.2281248569488525e-01 4.8537430167198181e-01\n            6.0934442281723022e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1960 4.1022308170795441e-02 -1 -2 1961\n            -5.3961377125233412e-04</internalNodes>\n          <leafValues>\n            2.2050240635871887e-01 5.6927317380905151e-01\n            4.4687569141387939e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1962 -6.8696036934852600e-02 -1 -2 1963\n            -1.8447940237820148e-03</internalNodes>\n          <leafValues>\n            1.4833140373229980e-01 6.2112838029861450e-01\n            4.9666011333465576e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1964 -6.0959919355809689e-03 -1 -2 1965\n            -4.2068301700055599e-03</internalNodes>\n          <leafValues>\n            2.2946719825267792e-01 6.4070910215377808e-01\n            4.7485628724098206e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1966 -7.1332789957523346e-04 -1 -2 1967\n            1.1756779998540878e-01</internalNodes>\n          <leafValues>\n            5.3549361228942871e-01 5.1369780302047729e-01\n            1.0595739819109440e-02</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1968 5.9354289987822995e-05 -1 -2 1969\n            -6.3173691742122173e-03</internalNodes>\n          <leafValues>\n            3.7118038535118103e-01 1.7120739817619324e-01\n            5.0617581605911255e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1970 1.4941499568521976e-02 -1 -2 1971\n            -2.0789399277418852e-03</internalNodes>\n          <leafValues>\n            6.7291188240051270e-01 4.4106459617614746e-01\n            5.4440277814865112e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1972 -7.0736219640821218e-04 -1 -2 1973\n            -3.1247111037373543e-03</internalNodes>\n          <leafValues>\n            5.5689108371734619e-01 5.0238692760467529e-01\n            3.5624051094055176e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1974 -7.8919378574937582e-04 -1 -2 1975\n            1.0179580189287663e-02</internalNodes>\n          <leafValues>\n            5.4567861557006836e-01 5.5451387166976929e-01\n            4.6223109960556030e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1976 -2.7506109327077866e-03 -1 -2 1977\n            1.0601329617202282e-02</internalNodes>\n          <leafValues>\n            4.9425360560417175e-01 2.9612338542938232e-01\n            5.9643387794494629e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1978 5.1466780714690685e-03 -1 -2 1979\n            7.6321147382259369e-02</internalNodes>\n          <leafValues>\n            5.4952287673950195e-01 5.1739591360092163e-01\n            2.9402169585227966e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1980 -1.5027689514681697e-03 -1 -2 1981\n            1.2266670353710651e-02</internalNodes>\n          <leafValues>\n            3.1062999367713928e-01 4.6511501073837280e-01\n            6.8466138839721680e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1982 -3.1118579208850861e-02 -1 -2 1983\n            2.8905589133501053e-02</internalNodes>\n          <leafValues>\n            5.2260571718215942e-01 5.1822441816329956e-01\n            2.7054280042648315e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1984 4.7598380595445633e-02 -1 -2 1985\n            3.0808549374341965e-02</internalNodes>\n          <leafValues>\n            1.1095120012760162e-01 4.9386250972747803e-01\n            1.4041109383106232e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1986 -2.1277810446918011e-04 -1 -2 1987\n            7.8969962894916534e-02</internalNodes>\n          <leafValues>\n            4.3923568725585938e-01 5.2165520191192627e-01\n            2.2941139340400696e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1988 -1.0257950052618980e-02 -1 -2 1989\n            1.2604889925569296e-03</internalNodes>\n          <leafValues>\n            6.1766529083251953e-01 5.2362227439880371e-01\n            3.3289659023284912e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1990 -3.3490460366010666e-02 -1 -2 1991\n            -5.9202767442911863e-04</internalNodes>\n          <leafValues>\n            4.8661869764328003e-01 4.1164070367813110e-01\n            5.3956401348114014e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1992 3.0320750738610514e-05 -1 -2 1993\n            -5.4369680583477020e-04</internalNodes>\n          <leafValues>\n            5.6107360124588013e-01 5.6213891506195068e-01\n            3.4612038731575012e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1994 -3.3490460366010666e-02 -1 -2 1995\n            -5.9202767442911863e-04</internalNodes>\n          <leafValues>\n            4.8967620730400085e-01 4.3054041266441345e-01\n            5.3407138586044312e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 1996 2.0550889894366264e-03 -1 -2 1997\n            -4.4353571720421314e-03</internalNodes>\n          <leafValues>\n            5.5449998378753662e-01 6.0385400056838989e-01\n            3.7465929985046387e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 1998 -8.4170423448085785e-02 -1 -2 1999\n            6.7419027909636497e-03</internalNodes>\n          <leafValues>\n            5.0073480606079102e-01 5.2980971336364746e-01\n            4.7161450982093811e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2000 1.0278150439262390e-02 -1 -2 2001\n            5.8800862170755863e-03</internalNodes>\n          <leafValues>\n            6.2693750858306885e-01 5.1548278331756592e-01\n            3.8130408525466919e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2002 -6.9679190346505493e-06 -1 -2 2003\n            8.2419527461752295e-04</internalNodes>\n          <leafValues>\n            4.4402399659156799e-01 4.6975341439247131e-01\n            5.4855042695999146e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2004 -5.5268318392336369e-03 -1 -2 2005\n            9.6128671430051327e-04</internalNodes>\n          <leafValues>\n            5.5136048793792725e-01 3.6186391115188599e-01\n            5.8384567499160767e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2006 2.4810510221868753e-03 -1 -2 2007\n            -1.0480589699000120e-03</internalNodes>\n          <leafValues>\n            2.5232228636741638e-01 4.1172578930854797e-01\n            5.3929960727691650e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2008 -6.1287907883524895e-03 -1 -2 2009\n            1.1682329932227731e-04</internalNodes>\n          <leafValues>\n            6.7263299226760864e-01 5.0411927700042725e-01\n            3.6077290773391724e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2010 -3.9909478276968002e-02 -1 -2 2011\n            1.5859459526836872e-03</internalNodes>\n          <leafValues>\n            1.5637390315532684e-01 4.8919808864593506e-01\n            5.7798451185226440e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2012 -2.2690229117870331e-02 -1 -2 2013\n            2.0916070789098740e-03</internalNodes>\n          <leafValues>\n            2.1868790686130524e-01 4.7715771198272705e-01\n            6.0992312431335449e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2014 -2.4715419858694077e-02 -1 -2 2015\n            -1.3419450260698795e-02</internalNodes>\n          <leafValues>\n            3.4639969468116760e-01 3.6306929588317871e-01\n            5.2521961927413940e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2016 -6.0629472136497498e-03 -1 -2 2017\n            -2.0921030081808567e-03</internalNodes>\n          <leafValues>\n            6.6663217544555664e-01 3.3995470404624939e-01\n            5.0356978178024292e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2018 2.5961859151721001e-02 -1 -2 2019\n            1.7908669542521238e-04</internalNodes>\n          <leafValues>\n            5.0368028879165649e-01 5.4185307025909424e-01\n            4.3189769983291626e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2020 -3.1546850223094225e-03 -1 -2 2021\n            -1.1397759662941098e-03</internalNodes>\n          <leafValues>\n            7.2210252285003662e-01 3.3209729194641113e-01\n            5.0244337320327759e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2022 -4.7840211540460587e-02 -1 -2 2023\n            4.1577088995836675e-04</internalNodes>\n          <leafValues>\n            1.9387650489807129e-01 4.8021888732910156e-01\n            5.7307147979736328e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2024 -4.4247039477340877e-04 -1 -2 2025\n            1.4479350065812469e-03</internalNodes>\n          <leafValues>\n            4.2625150084495544e-01 5.7191711664199829e-01\n            4.0641531348228455e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2026 1.5701510012149811e-02 -1 -2 2027\n            2.7805729769170284e-04</internalNodes>\n          <leafValues>\n            4.9957260489463806e-01 5.2892869710922241e-01\n            4.5817288756370544e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2028 -2.9010509606450796e-03 -1 -2 2029\n            2.0830519497394562e-04</internalNodes>\n          <leafValues>\n            6.0121482610702515e-01 5.0579768419265747e-01\n            3.5994321107864380e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2030 -5.1530029624700546e-02 -1 -2 2031\n            1.7163449956569821e-04</internalNodes>\n          <leafValues>\n            4.9917969107627869e-01 4.6754699945449829e-01\n            5.3747731447219849e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2032 2.3614279925823212e-02 -1 -2 2033\n            -5.6427798699587584e-04</internalNodes>\n          <leafValues>\n            6.5864789485931396e-01 3.8532960414886475e-01\n            5.1960402727127075e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2034 6.6903959959745407e-03 -1 -2 2035\n            -4.8789530992507935e-03</internalNodes>\n          <leafValues>\n            6.0042357444763184e-01 3.2932278513908386e-01\n            5.2452367544174194e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2036 -6.8537332117557526e-03 -1 -2 2037\n            9.9893810693174601e-04</internalNodes>\n          <leafValues>\n            2.5659140944480896e-01 4.6154940128326416e-01\n            5.9424322843551636e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2038 -1.3354700058698654e-04 -1 -2 2039\n            1.0165109997615218e-03</internalNodes>\n          <leafValues>\n            5.4873758554458618e-01 4.5783591270446777e-01\n            5.4269278049468994e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2040 9.1216771397739649e-04 -1 -2 2041\n            1.0080259526148438e-03</internalNodes>\n          <leafValues>\n            3.9394611120223999e-01 4.0497899055480957e-01\n            5.5207037925720215e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2042 -1.3102490629535168e-04 -1 -2 2043\n            5.5228749988600612e-04</internalNodes>\n          <leafValues>\n            4.8790889978408813e-01 4.8449438810348511e-01\n            5.5128258466720581e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2044 -1.2130969844292849e-04 -1 -2 2045\n            -1.5112989785848185e-05</internalNodes>\n          <leafValues>\n            4.3679711222648621e-01 6.4259552955627441e-01\n            4.8818269371986389e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2046 -4.0125829400494695e-04 -1 -2 2047\n            -6.5766851184889674e-04</internalNodes>\n          <leafValues>\n            5.3720992803573608e-01 5.8345532417297363e-01\n            4.8690780997276306e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2048 6.2220421386882663e-04 -1 -2 2049\n            1.4663359615951777e-03</internalNodes>\n          <leafValues>\n            3.8246369361877441e-01 4.8134881258010864e-01\n            6.9667392969131470e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2050 -4.9547709524631500e-02 -1 -2 2051\n            1.3017569435760379e-03</internalNodes>\n          <leafValues>\n            5.3927659988403320e-02 5.3374558687210083e-01\n            4.1607481241226196e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2052 -4.4914530590176582e-03 -1 -2 2053\n            1.6592369647696614e-03</internalNodes>\n          <leafValues>\n            5.9974372386932373e-01 3.7271851301193237e-01\n            5.1156342029571533e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2054 6.4695458859205246e-03 -1 -2 2055\n            4.9810269847512245e-03</internalNodes>\n          <leafValues>\n            5.2520352602005005e-01 5.2567178010940552e-01\n            3.9344060420989990e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2056 -3.8536980748176575e-02 -1 -2 2057\n            -2.8275650739669800e-01</internalNodes>\n          <leafValues>\n            2.0619249343872070e-01 6.1883211135864258e-02\n            4.9250578880310059e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2058 -9.0301828458905220e-03 -1 -2 2059\n            -4.3866269290447235e-02</internalNodes>\n          <leafValues>\n            3.1575900316238403e-01 2.0336820185184479e-01\n            5.1647698879241943e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2060 -4.5701069757342339e-03 -1 -2 2061\n            -2.3362410720437765e-03</internalNodes>\n          <leafValues>\n            6.6111832857131958e-01 2.8077891469001770e-01\n            4.9628761410713196e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2062 5.3960331715643406e-03 -1 -2 2063\n            -2.6297608856111765e-03</internalNodes>\n          <leafValues>\n            5.1463878154754639e-01 6.2844878435134888e-01\n            4.9555888772010803e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2064 -3.8577478844672441e-03 -1 -2 2065\n            1.3963800156489015e-03</internalNodes>\n          <leafValues>\n            1.4867480099201202e-01 4.7013381123542786e-01\n            6.3209718465805054e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2066 -8.8699469342827797e-03 -1 -2 2067\n            -7.0626288652420044e-04</internalNodes>\n          <leafValues>\n            5.2868181467056274e-01 4.6483701467514038e-01\n            5.3332102298736572e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2068 4.2645810171961784e-03 -1 -2 2069\n            6.1572100967168808e-02</internalNodes>\n          <leafValues>\n            5.0848782062530518e-01 3.6296251416206360e-01\n            8.7571567296981812e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2070 -4.5381980016827583e-03 -1 -2 2071\n            -4.0877899155020714e-03</internalNodes>\n          <leafValues>\n            4.8566961288452148e-01 4.5841160416603088e-01\n            5.4202407598495483e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2072 6.4308601431548595e-03 -1 -2 2073\n            7.0455260574817657e-03</internalNodes>\n          <leafValues>\n            2.7073028683662415e-01 5.0574868917465210e-01\n            7.0265239477157593e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2074 -2.3246440105140209e-03 -1 -2 2075\n            6.0276601288933307e-05</internalNodes>\n          <leafValues>\n            4.8272788524627686e-01 4.2472490668296814e-01\n            5.5087631940841675e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2076 1.8084559589624405e-02 -1 -2 2077\n            8.4693520329892635e-04</internalNodes>\n          <leafValues>\n            8.1048011779785156e-01 5.1546192169189453e-01\n            3.5143798589706421e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2078 -2.6931039988994598e-02 -1 -2 2079\n            -4.2346641421318054e-03</internalNodes>\n          <leafValues>\n            4.8868888616561890e-01 4.6223780512809753e-01\n            5.3824782371520996e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2080 2.6947110891342163e-02 -1 -2 2081\n            4.6446882188320160e-03</internalNodes>\n          <leafValues>\n            6.3665962219238281e-01 5.3685069084167480e-01\n            3.7654298543930054e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2082 -6.9577661342918873e-03 -1 -2 2083\n            8.7609712500125170e-04</internalNodes>\n          <leafValues>\n            4.2346870899200439e-01 4.6724060177803040e-01\n            5.3506839275360107e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2084 1.6103329835459590e-03 -1 -2 2085\n            -1.2848590267822146e-03</internalNodes>\n          <leafValues>\n            5.7327628135681152e-01 5.4817992448806763e-01\n            3.7845930457115173e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2086 1.0243539698421955e-02 -1 -2 2087\n            2.6889349101111293e-04</internalNodes>\n          <leafValues>\n            5.1559072732925415e-01 5.3531897068023682e-01\n            4.3871539831161499e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2088 3.7903659977018833e-03 -1 -2 2089\n            -2.9369680210947990e-02</internalNodes>\n          <leafValues>\n            5.0320029258728027e-01 5.8735388517379761e-01\n            2.2154450416564941e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            1 0 2090 6.0743088833987713e-03 -1 -2 2091\n            -1.2710720300674438e-02</internalNodes>\n          <leafValues>\n            5.4170298576354980e-01 6.0565119981765747e-01\n            4.9851819872856140e-01</leafValues></_>\n        <_>\n          <internalNodes>\n            0 1 2092 -5.9445449151098728e-03 -1 -2 2093\n            -2.8927479870617390e-03</internalNodes>\n          <leafValues>\n            3.3520698547363281e-01 6.9292408227920532e-01\n            4.7782200574874878e-01</leafValues></_></weakClassifiers></_></stages>\n  <features>\n    <_>\n      <rects>\n        <_>\n          2 7 16 4 -1.</_>\n        <_>\n          2 9 16 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 3 14 -1.</_>\n        <_>\n          8 11 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 6 1 6 -1.</_>\n        <_>\n          13 9 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 2 12 8 -1.</_>\n        <_>\n          8 2 4 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 1 9 -1.</_>\n        <_>\n          6 6 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 7 14 9 -1.</_>\n        <_>\n          3 10 14 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 4 4 -1.</_>\n        <_>\n          4 9 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 2 16 -1.</_>\n        <_>\n          9 12 2 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 18 5 -1.</_>\n        <_>\n          7 1 6 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 13 8 -1.</_>\n        <_>\n          4 9 13 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 7 16 9 -1.</_>\n        <_>\n          1 10 16 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 0 15 4 -1.</_>\n        <_>\n          2 2 15 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 6 4 -1.</_>\n        <_>\n          9 5 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 8 9 -1.</_>\n        <_>\n          6 6 8 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 3 8 -1.</_>\n        <_>\n          8 16 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 16 2 2 -1.</_>\n        <_>\n          3 17 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 1 6 12 -1.</_>\n        <_>\n          14 1 3 12 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 12 6 -1.</_>\n        <_>\n          8 4 4 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 15 -1.</_>\n        <_>\n          3 2 3 15 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 9 6 -1.</_>\n        <_>\n          5 6 9 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 11 6 3 -1.</_>\n        <_>\n          13 12 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 12 6 4 -1.</_>\n        <_>\n          12 14 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 11 6 3 -1.</_>\n        <_>\n          1 12 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 5 5 8 -1.</_>\n        <_>\n          2 9 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 10 4 -1.</_>\n        <_>\n          5 6 10 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 4 16 12 -1.</_>\n        <_>\n          2 8 16 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 12 6 -1.</_>\n        <_>\n          8 5 4 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 2 9 -1.</_>\n        <_>\n          13 10 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 2 9 -1.</_>\n        <_>\n          5 10 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 6 8 -1.</_>\n        <_>\n          9 1 2 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 0 4 12 -1.</_>\n        <_>\n          14 0 2 6 2.</_>\n        <_>\n          12 6 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 10 2 -1.</_>\n        <_>\n          5 9 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 6 4 -1.</_>\n        <_>\n          7 1 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 9 12 -1.</_>\n        <_>\n          3 3 3 12 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 12 -1.</_>\n        <_>\n          9 12 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 20 15 -1.</_>\n        <_>\n          0 10 20 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 2 6 8 -1.</_>\n        <_>\n          2 2 3 4 2.</_>\n        <_>\n          5 6 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 6 2 -1.</_>\n        <_>\n          2 2 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 15 6 4 -1.</_>\n        <_>\n          13 15 3 2 2.</_>\n        <_>\n          10 17 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 14 2 6 -1.</_>\n        <_>\n          12 16 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 15 4 4 -1.</_>\n        <_>\n          5 15 2 2 2.</_>\n        <_>\n          7 17 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 18 1 2 -1.</_>\n        <_>\n          7 19 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 12 10 -1.</_>\n        <_>\n          10 5 6 5 2.</_>\n        <_>\n          4 10 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 8 12 -1.</_>\n        <_>\n          11 4 4 6 2.</_>\n        <_>\n          7 10 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 2 3 -1.</_>\n        <_>\n          9 12 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 3 12 12 -1.</_>\n        <_>\n          3 3 6 6 2.</_>\n        <_>\n          9 9 6 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 11 5 3 -1.</_>\n        <_>\n          15 12 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 3 2 -1.</_>\n        <_>\n          11 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 11 5 3 -1.</_>\n        <_>\n          0 12 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 18 3 2 -1.</_>\n        <_>\n          8 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 8 16 2 -1.</_>\n        <_>\n          2 9 16 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 5 12 -1.</_>\n        <_>\n          9 12 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 8 6 -1.</_>\n        <_>\n          6 6 8 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 2 -1.</_>\n        <_>\n          8 7 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 9 6 8 -1.</_>\n        <_>\n          10 13 6 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 5 3 10 -1.</_>\n        <_>\n          12 10 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 3 9 -1.</_>\n        <_>\n          4 9 3 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 6 4 -1.</_>\n        <_>\n          9 4 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 3 8 3 -1.</_>\n        <_>\n          12 3 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 0 3 6 -1.</_>\n        <_>\n          15 3 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 12 10 8 -1.</_>\n        <_>\n          2 12 5 4 2.</_>\n        <_>\n          7 16 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 6 8 -1.</_>\n        <_>\n          5 9 6 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 3 8 3 -1.</_>\n        <_>\n          12 3 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 0 3 6 -1.</_>\n        <_>\n          15 3 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 8 3 -1.</_>\n        <_>\n          4 3 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 4 4 -1.</_>\n        <_>\n          2 3 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 2 3 2 -1.</_>\n        <_>\n          11 2 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 3 1 -1.</_>\n        <_>\n          11 3 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 3 4 -1.</_>\n        <_>\n          7 17 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 13 3 6 -1.</_>\n        <_>\n          4 15 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 5 1 14 -1.</_>\n        <_>\n          10 12 1 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 10 6 -1.</_>\n        <_>\n          5 6 10 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 6 3 -1.</_>\n        <_>\n          7 0 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 3 5 -1.</_>\n        <_>\n          7 0 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 6 5 -1.</_>\n        <_>\n          9 15 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 2 6 -1.</_>\n        <_>\n          9 12 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 17 3 2 -1.</_>\n        <_>\n          9 17 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 12 7 6 -1.</_>\n        <_>\n          1 14 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 3 7 -1.</_>\n        <_>\n          10 6 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 3 4 9 -1.</_>\n        <_>\n          16 6 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 3 7 -1.</_>\n        <_>\n          9 6 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 18 8 -1.</_>\n        <_>\n          0 5 9 4 2.</_>\n        <_>\n          9 9 9 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 5 2 10 -1.</_>\n        <_>\n          13 10 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 10 2 6 -1.</_>\n        <_>\n          12 13 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 3 5 -1.</_>\n        <_>\n          8 0 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 8 6 -1.</_>\n        <_>\n          6 7 8 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 6 14 -1.</_>\n        <_>\n          13 3 3 7 2.</_>\n        <_>\n          10 10 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 5 1 8 -1.</_>\n        <_>\n          13 9 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 6 14 -1.</_>\n        <_>\n          4 3 3 7 2.</_>\n        <_>\n          7 10 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 1 8 -1.</_>\n        <_>\n          6 9 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 1 6 -1.</_>\n        <_>\n          8 3 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 0 15 2 -1.</_>\n        <_>\n          2 1 15 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 20 6 -1.</_>\n        <_>\n          0 9 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 10 6 8 -1.</_>\n        <_>\n          10 14 6 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 3 2 -1.</_>\n        <_>\n          8 1 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 2 2 -1.</_>\n        <_>\n          9 1 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 12 9 -1.</_>\n        <_>\n          4 6 12 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 9 5 -1.</_>\n        <_>\n          9 5 3 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 9 5 -1.</_>\n        <_>\n          8 5 3 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 6 12 -1.</_>\n        <_>\n          4 10 6 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 0 6 18 -1.</_>\n        <_>\n          13 0 3 18 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 1 12 -1.</_>\n        <_>\n          10 12 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 2 6 10 -1.</_>\n        <_>\n          3 2 3 5 2.</_>\n        <_>\n          6 7 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 4 6 -1.</_>\n        <_>\n          3 2 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 18 3 2 -1.</_>\n        <_>\n          10 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 3 2 -1.</_>\n        <_>\n          11 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 8 2 6 -1.</_>\n        <_>\n          2 10 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 6 6 -1.</_>\n        <_>\n          7 7 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 19 6 1 -1.</_>\n        <_>\n          9 19 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 3 2 -1.</_>\n        <_>\n          11 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 3 1 -1.</_>\n        <_>\n          9 3 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 2 16 2 -1.</_>\n        <_>\n          2 2 8 1 2.</_>\n        <_>\n          10 3 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 5 3 -1.</_>\n        <_>\n          8 12 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 3 -1.</_>\n        <_>\n          7 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 6 15 -1.</_>\n        <_>\n          2 1 2 15 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 12 2 3 -1.</_>\n        <_>\n          2 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 13 1 3 -1.</_>\n        <_>\n          16 14 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 6 4 -1.</_>\n        <_>\n          16 7 3 2 2.</_>\n        <_>\n          13 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 3 6 -1.</_>\n        <_>\n          7 16 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 1 14 -1.</_>\n        <_>\n          7 12 1 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 12 2 3 -1.</_>\n        <_>\n          15 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 5 3 14 -1.</_>\n        <_>\n          10 12 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 2 6 -1.</_>\n        <_>\n          6 13 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 1 8 -1.</_>\n        <_>\n          6 9 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 11 2 1 -1.</_>\n        <_>\n          13 11 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 1 6 10 -1.</_>\n        <_>\n          15 1 3 5 2.</_>\n        <_>\n          12 6 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 2 3 -1.</_>\n        <_>\n          3 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 18 2 1 -1.</_>\n        <_>\n          10 18 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 17 9 -1.</_>\n        <_>\n          1 3 17 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 8 8 -1.</_>\n        <_>\n          1 2 4 4 2.</_>\n        <_>\n          5 6 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 6 4 -1.</_>\n        <_>\n          9 5 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 9 7 10 -1.</_>\n        <_>\n          10 14 7 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 6 4 -1.</_>\n        <_>\n          8 5 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 20 6 -1.</_>\n        <_>\n          0 9 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 9 10 -1.</_>\n        <_>\n          6 10 9 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 4 12 -1.</_>\n        <_>\n          8 10 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 8 3 -1.</_>\n        <_>\n          6 7 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 13 10 6 -1.</_>\n        <_>\n          3 13 5 3 2.</_>\n        <_>\n          8 16 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 1 4 11 -1.</_>\n        <_>\n          15 1 2 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 10 10 -1.</_>\n        <_>\n          10 7 5 5 2.</_>\n        <_>\n          5 12 5 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 4 11 -1.</_>\n        <_>\n          3 1 2 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 5 8 12 -1.</_>\n        <_>\n          1 11 8 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 6 4 -1.</_>\n        <_>\n          16 7 3 2 2.</_>\n        <_>\n          13 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 10 7 4 -1.</_>\n        <_>\n          11 12 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 20 12 -1.</_>\n        <_>\n          0 4 10 6 2.</_>\n        <_>\n          10 10 10 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 5 6 15 -1.</_>\n        <_>\n          1 10 6 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 10 3 8 -1.</_>\n        <_>\n          11 14 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 12 7 6 -1.</_>\n        <_>\n          11 14 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 2 3 -1.</_>\n        <_>\n          9 12 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 3 -1.</_>\n        <_>\n          8 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 14 14 4 -1.</_>\n        <_>\n          10 14 7 2 2.</_>\n        <_>\n          3 16 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 7 2 4 -1.</_>\n        <_>\n          18 9 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 6 6 -1.</_>\n        <_>\n          3 14 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 3 6 -1.</_>\n        <_>\n          0 6 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 3 3 -1.</_>\n        <_>\n          9 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 7 10 4 -1.</_>\n        <_>\n          15 7 5 2 2.</_>\n        <_>\n          10 9 5 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 2 6 8 -1.</_>\n        <_>\n          7 6 6 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 6 2 -1.</_>\n        <_>\n          8 3 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 6 3 5 -1.</_>\n        <_>\n          11 6 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 6 19 -1.</_>\n        <_>\n          11 0 2 19 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 1 2 -1.</_>\n        <_>\n          3 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 5 3 -1.</_>\n        <_>\n          7 15 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 18 4 -1.</_>\n        <_>\n          11 1 9 2 2.</_>\n        <_>\n          2 3 9 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 5 3 8 -1.</_>\n        <_>\n          11 5 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 18 4 -1.</_>\n        <_>\n          0 1 9 2 2.</_>\n        <_>\n          9 3 9 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 3 8 -1.</_>\n        <_>\n          8 5 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 6 -1.</_>\n        <_>\n          9 7 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 5 2 -1.</_>\n        <_>\n          10 9 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 10 15 1 -1.</_>\n        <_>\n          7 10 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 7 2 6 -1.</_>\n        <_>\n          2 9 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 3 3 -1.</_>\n        <_>\n          9 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 4 10 -1.</_>\n        <_>\n          9 12 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 8 2 -1.</_>\n        <_>\n          0 8 4 1 2.</_>\n        <_>\n          4 9 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 10 8 -1.</_>\n        <_>\n          5 9 5 4 2.</_>\n        <_>\n          10 13 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 4 -1.</_>\n        <_>\n          9 7 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 3 4 -1.</_>\n        <_>\n          10 6 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 2 1 -1.</_>\n        <_>\n          9 3 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 3 4 -1.</_>\n        <_>\n          9 6 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 0 4 14 -1.</_>\n        <_>\n          14 0 2 7 2.</_>\n        <_>\n          12 7 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 5 6 9 -1.</_>\n        <_>\n          12 5 3 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 16 -1.</_>\n        <_>\n          3 2 3 16 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 12 4 2 -1.</_>\n        <_>\n          1 13 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 6 1 -1.</_>\n        <_>\n          9 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 4 9 -1.</_>\n        <_>\n          8 6 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 10 4 6 -1.</_>\n        <_>\n          12 13 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 8 16 -1.</_>\n        <_>\n          12 1 4 8 2.</_>\n        <_>\n          8 9 4 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 3 6 -1.</_>\n        <_>\n          4 9 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 3 6 2 -1.</_>\n        <_>\n          4 3 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 12 -1.</_>\n        <_>\n          9 12 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 9 7 10 -1.</_>\n        <_>\n          10 14 7 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 9 7 10 -1.</_>\n        <_>\n          3 14 7 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 1 14 -1.</_>\n        <_>\n          7 12 1 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 14 1 6 -1.</_>\n        <_>\n          13 16 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 3 6 -1.</_>\n        <_>\n          14 14 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 14 1 6 -1.</_>\n        <_>\n          6 16 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 3 6 -1.</_>\n        <_>\n          3 14 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 5 3 -1.</_>\n        <_>\n          8 14 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 2 3 -1.</_>\n        <_>\n          9 15 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 10 8 -1.</_>\n        <_>\n          5 1 5 4 2.</_>\n        <_>\n          10 5 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 4 5 4 -1.</_>\n        <_>\n          6 6 5 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 10 18 1 -1.</_>\n        <_>\n          7 10 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 10 4 3 -1.</_>\n        <_>\n          11 10 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 6 1 -1.</_>\n        <_>\n          7 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 13 2 3 -1.</_>\n        <_>\n          3 14 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 12 3 4 -1.</_>\n        <_>\n          12 14 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 10 5 6 -1.</_>\n        <_>\n          11 12 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 16 2 -1.</_>\n        <_>\n          0 9 16 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 3 4 -1.</_>\n        <_>\n          2 3 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 3 -1.</_>\n        <_>\n          10 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 12 6 -1.</_>\n        <_>\n          9 6 4 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 3 -1.</_>\n        <_>\n          9 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 6 12 6 -1.</_>\n        <_>\n          7 6 4 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 5 6 5 -1.</_>\n        <_>\n          12 5 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 10 2 -1.</_>\n        <_>\n          5 7 5 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 6 5 -1.</_>\n        <_>\n          6 5 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 3 2 10 -1.</_>\n        <_>\n          9 8 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 16 2 -1.</_>\n        <_>\n          11 1 8 1 2.</_>\n        <_>\n          3 2 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 3 2 -1.</_>\n        <_>\n          9 10 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 16 2 -1.</_>\n        <_>\n          1 1 8 1 2.</_>\n        <_>\n          9 2 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 1 3 -1.</_>\n        <_>\n          8 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 12 10 -1.</_>\n        <_>\n          10 5 6 5 2.</_>\n        <_>\n          4 10 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 6 -1.</_>\n        <_>\n          10 13 3 3 2.</_>\n        <_>\n          7 16 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 9 3 2 -1.</_>\n        <_>\n          8 10 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 2 6 4 -1.</_>\n        <_>\n          9 2 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 9 3 -1.</_>\n        <_>\n          6 7 9 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 7 6 1 -1.</_>\n        <_>\n          12 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 18 6 -1.</_>\n        <_>\n          6 0 6 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 2 6 -1.</_>\n        <_>\n          6 13 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 12 3 6 -1.</_>\n        <_>\n          11 15 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 12 12 -1.</_>\n        <_>\n          10 4 6 6 2.</_>\n        <_>\n          4 10 6 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 3 6 -1.</_>\n        <_>\n          2 2 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 5 3 7 -1.</_>\n        <_>\n          2 5 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 13 12 4 -1.</_>\n        <_>\n          10 13 6 2 2.</_>\n        <_>\n          4 15 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 3 17 12 -1.</_>\n        <_>\n          3 9 17 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 3 14 12 -1.</_>\n        <_>\n          3 3 7 6 2.</_>\n        <_>\n          10 9 7 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 11 16 9 -1.</_>\n        <_>\n          2 14 16 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 3 6 -1.</_>\n        <_>\n          9 17 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 6 -1.</_>\n        <_>\n          10 14 2 3 2.</_>\n        <_>\n          8 17 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 2 6 1 -1.</_>\n        <_>\n          8 2 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 5 -1.</_>\n        <_>\n          10 5 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 5 -1.</_>\n        <_>\n          10 8 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 6 1 -1.</_>\n        <_>\n          9 12 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 3 5 -1.</_>\n        <_>\n          9 8 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 4 3 -1.</_>\n        <_>\n          8 10 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 20 6 -1.</_>\n        <_>\n          0 6 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 3 8 6 -1.</_>\n        <_>\n          1 3 4 3 2.</_>\n        <_>\n          5 6 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 6 4 -1.</_>\n        <_>\n          7 17 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 10 14 10 -1.</_>\n        <_>\n          3 15 14 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 4 4 4 -1.</_>\n        <_>\n          8 4 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 20 10 -1.</_>\n        <_>\n          0 9 20 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 2 14 -1.</_>\n        <_>\n          9 11 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 0 16 4 -1.</_>\n        <_>\n          2 2 16 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 12 6 8 -1.</_>\n        <_>\n          4 12 3 4 2.</_>\n        <_>\n          7 16 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 6 7 -1.</_>\n        <_>\n          3 5 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 7 10 4 -1.</_>\n        <_>\n          15 7 5 2 2.</_>\n        <_>\n          10 9 5 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 12 1 -1.</_>\n        <_>\n          9 8 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 2 2 -1.</_>\n        <_>\n          9 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 2 4 -1.</_>\n        <_>\n          9 6 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 3 6 -1.</_>\n        <_>\n          10 6 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 6 4 -1.</_>\n        <_>\n          15 7 3 2 2.</_>\n        <_>\n          12 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 3 6 -1.</_>\n        <_>\n          9 6 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 6 18 6 -1.</_>\n        <_>\n          1 6 9 3 2.</_>\n        <_>\n          10 9 9 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 1 3 3 -1.</_>\n        <_>\n          10 1 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 5 2 -1.</_>\n        <_>\n          10 9 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 3 3 -1.</_>\n        <_>\n          9 1 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 5 2 -1.</_>\n        <_>\n          5 9 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 8 8 -1.</_>\n        <_>\n          12 6 4 4 2.</_>\n        <_>\n          8 10 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 10 2 -1.</_>\n        <_>\n          5 7 5 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 12 10 -1.</_>\n        <_>\n          4 5 6 5 2.</_>\n        <_>\n          10 10 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 2 3 -1.</_>\n        <_>\n          5 6 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 6 3 -1.</_>\n        <_>\n          7 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 3 3 -1.</_>\n        <_>\n          9 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 3 3 -1.</_>\n        <_>\n          8 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 10 8 9 -1.</_>\n        <_>\n          1 13 8 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 3 -1.</_>\n        <_>\n          9 8 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 3 3 3 -1.</_>\n        <_>\n          13 3 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 3 3 -1.</_>\n        <_>\n          6 3 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 2 12 -1.</_>\n        <_>\n          5 10 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 11 18 4 -1.</_>\n        <_>\n          10 11 9 2 2.</_>\n        <_>\n          1 13 9 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 6 2 -1.</_>\n        <_>\n          7 13 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 3 6 -1.</_>\n        <_>\n          7 0 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 11 18 4 -1.</_>\n        <_>\n          0 11 9 2 2.</_>\n        <_>\n          9 13 9 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 6 2 -1.</_>\n        <_>\n          7 13 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 3 3 -1.</_>\n        <_>\n          9 13 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 2 3 -1.</_>\n        <_>\n          9 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 4 3 -1.</_>\n        <_>\n          8 12 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 3 4 2 -1.</_>\n        <_>\n          13 4 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 0 12 2 -1.</_>\n        <_>\n          4 1 12 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 9 8 8 -1.</_>\n        <_>\n          6 9 4 4 2.</_>\n        <_>\n          10 13 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 11 6 2 -1.</_>\n        <_>\n          1 12 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 5 18 8 -1.</_>\n        <_>\n          11 5 9 4 2.</_>\n        <_>\n          2 9 9 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 6 10 -1.</_>\n        <_>\n          7 6 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 3 6 -1.</_>\n        <_>\n          0 5 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 4 3 -1.</_>\n        <_>\n          4 6 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          19 3 1 6 -1.</_>\n        <_>\n          19 5 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 15 8 2 -1.</_>\n        <_>\n          6 16 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 1 6 -1.</_>\n        <_>\n          0 5 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 3 3 -1.</_>\n        <_>\n          5 6 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 4 3 -1.</_>\n        <_>\n          8 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 6 6 3 -1.</_>\n        <_>\n          12 6 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 2 6 -1.</_>\n        <_>\n          8 16 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 2 8 -1.</_>\n        <_>\n          9 15 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 6 6 3 -1.</_>\n        <_>\n          12 6 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 15 15 5 -1.</_>\n        <_>\n          10 15 5 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 14 2 2 -1.</_>\n        <_>\n          2 15 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 6 2 -1.</_>\n        <_>\n          6 7 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 6 1 -1.</_>\n        <_>\n          10 3 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 18 12 -1.</_>\n        <_>\n          7 0 6 12 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 14 8 6 -1.</_>\n        <_>\n          4 14 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 15 15 5 -1.</_>\n        <_>\n          5 15 5 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 6 1 -1.</_>\n        <_>\n          10 3 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 11 3 6 -1.</_>\n        <_>\n          11 14 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 6 1 -1.</_>\n        <_>\n          8 3 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 11 3 6 -1.</_>\n        <_>\n          6 14 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 3 4 -1.</_>\n        <_>\n          10 6 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 10 4 7 -1.</_>\n        <_>\n          12 10 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 3 4 -1.</_>\n        <_>\n          9 6 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 4 7 -1.</_>\n        <_>\n          6 6 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 4 12 -1.</_>\n        <_>\n          10 3 2 12 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 3 4 -1.</_>\n        <_>\n          11 8 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 18 14 -1.</_>\n        <_>\n          7 0 6 14 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 8 6 11 -1.</_>\n        <_>\n          5 8 3 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 4 15 4 -1.</_>\n        <_>\n          1 6 15 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 10 8 -1.</_>\n        <_>\n          5 9 10 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 2 6 8 -1.</_>\n        <_>\n          14 2 3 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 6 6 14 -1.</_>\n        <_>\n          14 6 3 7 2.</_>\n        <_>\n          11 13 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 12 -1.</_>\n        <_>\n          9 11 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 7 4 6 -1.</_>\n        <_>\n          3 9 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 3 6 6 -1.</_>\n        <_>\n          14 3 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 2 4 4 -1.</_>\n        <_>\n          15 4 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 7 -1.</_>\n        <_>\n          3 2 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 6 6 14 -1.</_>\n        <_>\n          3 6 3 7 2.</_>\n        <_>\n          6 13 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 16 8 -1.</_>\n        <_>\n          4 10 16 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 12 2 8 -1.</_>\n        <_>\n          10 16 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 6 20 -1.</_>\n        <_>\n          9 0 2 20 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 7 16 12 -1.</_>\n        <_>\n          1 7 8 6 2.</_>\n        <_>\n          9 13 8 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 3 3 -1.</_>\n        <_>\n          9 12 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 9 4 5 -1.</_>\n        <_>\n          11 9 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 3 1 2 -1.</_>\n        <_>\n          3 4 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 17 5 3 -1.</_>\n        <_>\n          7 18 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 8 -1.</_>\n        <_>\n          10 12 2 4 2.</_>\n        <_>\n          8 16 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 10 12 -1.</_>\n        <_>\n          12 4 5 6 2.</_>\n        <_>\n          7 10 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 3 -1.</_>\n        <_>\n          8 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 4 5 -1.</_>\n        <_>\n          7 9 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 8 2 -1.</_>\n        <_>\n          9 9 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 15 5 2 -1.</_>\n        <_>\n          14 16 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 2 3 -1.</_>\n        <_>\n          9 15 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 7 8 4 -1.</_>\n        <_>\n          1 7 4 2 2.</_>\n        <_>\n          5 9 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          19 3 1 2 -1.</_>\n        <_>\n          19 4 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 2 3 -1.</_>\n        <_>\n          9 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 14 14 4 -1.</_>\n        <_>\n          3 14 7 2 2.</_>\n        <_>\n          10 16 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 10 2 -1.</_>\n        <_>\n          5 1 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 4 6 -1.</_>\n        <_>\n          11 16 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 6 3 -1.</_>\n        <_>\n          7 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 6 -1.</_>\n        <_>\n          7 13 3 3 2.</_>\n        <_>\n          10 16 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 1 6 -1.</_>\n        <_>\n          0 4 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 8 2 -1.</_>\n        <_>\n          6 8 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 6 1 -1.</_>\n        <_>\n          9 7 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 6 10 -1.</_>\n        <_>\n          7 6 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 2 -1.</_>\n        <_>\n          0 3 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 2 4 -1.</_>\n        <_>\n          11 4 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 10 3 6 -1.</_>\n        <_>\n          11 13 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 9 8 2 -1.</_>\n        <_>\n          7 9 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 4 6 -1.</_>\n        <_>\n          2 0 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 6 2 -1.</_>\n        <_>\n          9 0 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 15 2 3 -1.</_>\n        <_>\n          9 16 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 1 2 -1.</_>\n        <_>\n          3 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 11 3 -1.</_>\n        <_>\n          4 6 11 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 2 4 -1.</_>\n        <_>\n          11 4 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 6 3 -1.</_>\n        <_>\n          10 3 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 2 4 -1.</_>\n        <_>\n          8 4 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 6 3 -1.</_>\n        <_>\n          8 3 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 4 3 -1.</_>\n        <_>\n          11 5 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 8 2 8 -1.</_>\n        <_>\n          11 12 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 5 -1.</_>\n        <_>\n          9 7 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 5 -1.</_>\n        <_>\n          10 7 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 11 1 6 -1.</_>\n        <_>\n          14 13 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 4 3 -1.</_>\n        <_>\n          8 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 2 2 -1.</_>\n        <_>\n          0 4 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 14 5 6 -1.</_>\n        <_>\n          4 16 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 4 3 -1.</_>\n        <_>\n          11 5 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 3 3 -1.</_>\n        <_>\n          12 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 4 3 -1.</_>\n        <_>\n          5 5 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 15 4 2 -1.</_>\n        <_>\n          7 15 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 1 5 9 -1.</_>\n        <_>\n          15 4 5 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 3 3 -1.</_>\n        <_>\n          9 11 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 6 2 6 -1.</_>\n        <_>\n          1 8 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 4 8 15 -1.</_>\n        <_>\n          2 9 8 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 3 2 -1.</_>\n        <_>\n          9 13 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 3 3 -1.</_>\n        <_>\n          9 13 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 6 3 5 -1.</_>\n        <_>\n          8 6 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 6 2 -1.</_>\n        <_>\n          7 3 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 8 10 -1.</_>\n        <_>\n          10 1 4 5 2.</_>\n        <_>\n          6 6 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 20 10 -1.</_>\n        <_>\n          10 0 10 5 2.</_>\n        <_>\n          0 5 10 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 3 1 -1.</_>\n        <_>\n          7 3 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 8 -1.</_>\n        <_>\n          2 2 2 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 10 3 4 -1.</_>\n        <_>\n          11 12 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 6 3 8 -1.</_>\n        <_>\n          12 10 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 3 4 -1.</_>\n        <_>\n          6 12 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 3 8 -1.</_>\n        <_>\n          5 10 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 6 18 6 -1.</_>\n        <_>\n          11 6 9 3 2.</_>\n        <_>\n          2 9 9 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 7 3 -1.</_>\n        <_>\n          7 15 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 2 12 -1.</_>\n        <_>\n          1 0 1 12 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 18 16 -1.</_>\n        <_>\n          1 10 18 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 5 3 -1.</_>\n        <_>\n          9 14 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 3 -1.</_>\n        <_>\n          8 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 18 6 -1.</_>\n        <_>\n          0 6 9 3 2.</_>\n        <_>\n          9 9 9 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 3 -1.</_>\n        <_>\n          7 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 4 1 3 -1.</_>\n        <_>\n          17 5 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 1 9 -1.</_>\n        <_>\n          12 14 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 4 1 3 -1.</_>\n        <_>\n          2 5 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 2 3 -1.</_>\n        <_>\n          5 5 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 18 3 -1.</_>\n        <_>\n          7 2 6 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 20 6 -1.</_>\n        <_>\n          0 3 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 6 3 -1.</_>\n        <_>\n          9 5 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 6 4 -1.</_>\n        <_>\n          16 7 3 2 2.</_>\n        <_>\n          13 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 4 10 -1.</_>\n        <_>\n          3 1 2 5 2.</_>\n        <_>\n          5 6 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 19 10 -1.</_>\n        <_>\n          0 9 19 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 12 -1.</_>\n        <_>\n          9 12 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 18 5 2 -1.</_>\n        <_>\n          11 19 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 16 6 4 -1.</_>\n        <_>\n          5 16 3 2 2.</_>\n        <_>\n          8 18 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 18 3 2 -1.</_>\n        <_>\n          5 19 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 11 3 2 -1.</_>\n        <_>\n          13 12 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 5 8 4 -1.</_>\n        <_>\n          8 5 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 18 6 -1.</_>\n        <_>\n          1 2 9 3 2.</_>\n        <_>\n          10 5 9 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 5 14 6 -1.</_>\n        <_>\n          3 7 14 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 1 2 6 -1.</_>\n        <_>\n          18 3 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 6 1 -1.</_>\n        <_>\n          11 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 11 -1.</_>\n        <_>\n          3 2 3 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 12 2 3 -1.</_>\n        <_>\n          4 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 12 9 2 -1.</_>\n        <_>\n          9 12 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 6 15 -1.</_>\n        <_>\n          9 4 3 15 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 6 1 -1.</_>\n        <_>\n          7 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 6 15 -1.</_>\n        <_>\n          8 4 3 15 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 6 7 -1.</_>\n        <_>\n          14 12 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 3 2 9 -1.</_>\n        <_>\n          18 6 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 3 1 -1.</_>\n        <_>\n          9 1 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 12 6 7 -1.</_>\n        <_>\n          3 12 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 6 4 -1.</_>\n        <_>\n          16 7 3 2 2.</_>\n        <_>\n          13 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 0 10 2 -1.</_>\n        <_>\n          8 1 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 7 6 4 -1.</_>\n        <_>\n          1 7 3 2 2.</_>\n        <_>\n          4 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 3 3 -1.</_>\n        <_>\n          1 3 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 4 3 -1.</_>\n        <_>\n          9 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 13 7 2 -1.</_>\n        <_>\n          12 14 7 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 12 9 2 -1.</_>\n        <_>\n          8 12 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 4 8 -1.</_>\n        <_>\n          6 14 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 18 4 -1.</_>\n        <_>\n          7 0 6 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 0 5 2 -1.</_>\n        <_>\n          12 1 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 1 12 -1.</_>\n        <_>\n          7 13 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 2 3 4 -1.</_>\n        <_>\n          7 2 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 13 20 6 -1.</_>\n        <_>\n          0 15 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 5 12 2 -1.</_>\n        <_>\n          14 5 6 1 2.</_>\n        <_>\n          8 6 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 2 3 -1.</_>\n        <_>\n          8 15 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 3 -1.</_>\n        <_>\n          8 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 13 7 6 -1.</_>\n        <_>\n          12 15 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 8 12 -1.</_>\n        <_>\n          10 0 4 6 2.</_>\n        <_>\n          6 6 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 15 9 4 -1.</_>\n        <_>\n          0 17 9 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 2 5 -1.</_>\n        <_>\n          10 0 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 6 -1.</_>\n        <_>\n          9 5 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 2 3 6 -1.</_>\n        <_>\n          17 4 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 11 2 3 -1.</_>\n        <_>\n          3 12 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 3 3 -1.</_>\n        <_>\n          7 14 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 5 3 -1.</_>\n        <_>\n          14 13 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 8 14 3 -1.</_>\n        <_>\n          4 9 14 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 12 5 3 -1.</_>\n        <_>\n          1 13 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 15 12 2 -1.</_>\n        <_>\n          1 15 6 1 2.</_>\n        <_>\n          7 16 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 4 2 -1.</_>\n        <_>\n          12 12 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 5 -1.</_>\n        <_>\n          10 8 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 6 -1.</_>\n        <_>\n          10 5 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 3 6 -1.</_>\n        <_>\n          0 4 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 4 2 -1.</_>\n        <_>\n          12 12 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 5 -1.</_>\n        <_>\n          10 7 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 11 4 2 -1.</_>\n        <_>\n          4 12 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 3 5 -1.</_>\n        <_>\n          9 8 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 3 3 1 -1.</_>\n        <_>\n          10 3 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 5 3 8 -1.</_>\n        <_>\n          17 5 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 3 1 -1.</_>\n        <_>\n          9 3 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 5 3 8 -1.</_>\n        <_>\n          2 5 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 1 3 3 -1.</_>\n        <_>\n          11 1 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 5 2 4 -1.</_>\n        <_>\n          17 5 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 8 14 3 -1.</_>\n        <_>\n          2 9 14 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 1 3 -1.</_>\n        <_>\n          9 8 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 8 10 -1.</_>\n        <_>\n          6 6 8 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 0 6 8 -1.</_>\n        <_>\n          16 0 3 4 2.</_>\n        <_>\n          13 4 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 5 2 4 -1.</_>\n        <_>\n          2 5 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 2 12 2 -1.</_>\n        <_>\n          4 3 12 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 4 4 -1.</_>\n        <_>\n          8 10 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 12 4 -1.</_>\n        <_>\n          9 6 4 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 8 1 -1.</_>\n        <_>\n          5 2 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 6 10 -1.</_>\n        <_>\n          3 1 2 10 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 8 2 -1.</_>\n        <_>\n          8 6 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 7 6 6 -1.</_>\n        <_>\n          12 7 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 8 2 -1.</_>\n        <_>\n          8 6 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 6 6 -1.</_>\n        <_>\n          6 7 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 14 16 4 -1.</_>\n        <_>\n          3 16 16 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 2 -1.</_>\n        <_>\n          8 13 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 3 3 -1.</_>\n        <_>\n          8 13 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 12 6 1 -1.</_>\n        <_>\n          8 12 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 10 2 3 -1.</_>\n        <_>\n          18 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 8 4 6 -1.</_>\n        <_>\n          16 10 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 2 1 -1.</_>\n        <_>\n          9 3 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 3 9 -1.</_>\n        <_>\n          8 1 1 9 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 11 6 -1.</_>\n        <_>\n          5 14 11 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 2 3 14 -1.</_>\n        <_>\n          12 9 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 3 -1.</_>\n        <_>\n          9 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 5 12 5 -1.</_>\n        <_>\n          7 5 4 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 6 3 -1.</_>\n        <_>\n          4 2 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 6 10 -1.</_>\n        <_>\n          5 5 3 5 2.</_>\n        <_>\n          8 10 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 18 2 2 -1.</_>\n        <_>\n          16 18 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 18 2 2 -1.</_>\n        <_>\n          16 18 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 2 5 -1.</_>\n        <_>\n          9 4 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 1 4 -1.</_>\n        <_>\n          8 6 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 12 4 -1.</_>\n        <_>\n          13 15 6 2 2.</_>\n        <_>\n          7 17 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 18 6 2 -1.</_>\n        <_>\n          11 19 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 4 10 -1.</_>\n        <_>\n          7 12 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 10 8 -1.</_>\n        <_>\n          5 10 10 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 1 6 12 -1.</_>\n        <_>\n          14 1 3 6 2.</_>\n        <_>\n          11 7 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 12 1 -1.</_>\n        <_>\n          9 8 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 3 6 -1.</_>\n        <_>\n          4 9 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 11 3 4 -1.</_>\n        <_>\n          4 13 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 16 2 2 -1.</_>\n        <_>\n          14 17 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 15 2 2 -1.</_>\n        <_>\n          15 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 6 2 -1.</_>\n        <_>\n          7 13 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 2 -1.</_>\n        <_>\n          8 14 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 1 6 12 -1.</_>\n        <_>\n          14 1 3 6 2.</_>\n        <_>\n          11 7 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 2 4 2 -1.</_>\n        <_>\n          12 3 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 10 12 6 -1.</_>\n        <_>\n          3 10 6 3 2.</_>\n        <_>\n          9 13 6 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 6 12 -1.</_>\n        <_>\n          3 1 3 6 2.</_>\n        <_>\n          6 7 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 6 4 14 -1.</_>\n        <_>\n          18 6 2 7 2.</_>\n        <_>\n          16 13 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 10 8 -1.</_>\n        <_>\n          10 1 5 4 2.</_>\n        <_>\n          5 5 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 4 14 -1.</_>\n        <_>\n          0 6 2 7 2.</_>\n        <_>\n          2 13 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 15 12 4 -1.</_>\n        <_>\n          1 15 6 2 2.</_>\n        <_>\n          7 17 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 17 3 3 -1.</_>\n        <_>\n          11 17 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 2 2 6 -1.</_>\n        <_>\n          12 2 1 3 2.</_>\n        <_>\n          11 5 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 17 3 3 -1.</_>\n        <_>\n          8 17 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 4 3 -1.</_>\n        <_>\n          8 16 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 15 4 2 -1.</_>\n        <_>\n          12 15 2 1 2.</_>\n        <_>\n          10 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 13 4 3 -1.</_>\n        <_>\n          13 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 13 4 3 -1.</_>\n        <_>\n          3 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 2 2 6 -1.</_>\n        <_>\n          7 2 1 3 2.</_>\n        <_>\n          8 5 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 16 3 -1.</_>\n        <_>\n          2 2 16 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 15 4 2 -1.</_>\n        <_>\n          12 15 2 1 2.</_>\n        <_>\n          10 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 15 4 2 -1.</_>\n        <_>\n          6 15 2 1 2.</_>\n        <_>\n          8 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 0 13 3 -1.</_>\n        <_>\n          3 1 13 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 9 20 3 -1.</_>\n        <_>\n          0 10 20 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 9 2 -1.</_>\n        <_>\n          6 8 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 3 6 -1.</_>\n        <_>\n          9 14 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 2 2 -1.</_>\n        <_>\n          9 11 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 5 -1.</_>\n        <_>\n          9 7 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 10 3 -1.</_>\n        <_>\n          5 6 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 5 -1.</_>\n        <_>\n          10 7 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 10 3 -1.</_>\n        <_>\n          10 6 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 9 2 2 -1.</_>\n        <_>\n          13 9 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 12 11 -1.</_>\n        <_>\n          8 3 4 11 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 2 7 -1.</_>\n        <_>\n          8 1 1 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 3 8 -1.</_>\n        <_>\n          8 4 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 9 2 2 -1.</_>\n        <_>\n          13 9 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 6 2 2 -1.</_>\n        <_>\n          12 6 1 1 2.</_>\n        <_>\n          11 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 2 3 -1.</_>\n        <_>\n          5 5 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 1 3 -1.</_>\n        <_>\n          6 6 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 9 2 2 -1.</_>\n        <_>\n          13 9 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 14 3 3 -1.</_>\n        <_>\n          16 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 2 2 -1.</_>\n        <_>\n          6 9 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 14 3 3 -1.</_>\n        <_>\n          1 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 1 1 6 -1.</_>\n        <_>\n          13 3 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 3 7 2 -1.</_>\n        <_>\n          13 4 7 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 20 14 -1.</_>\n        <_>\n          0 13 20 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 3 6 -1.</_>\n        <_>\n          0 6 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 1 9 6 -1.</_>\n        <_>\n          10 3 9 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 0 12 5 -1.</_>\n        <_>\n          8 0 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 18 5 -1.</_>\n        <_>\n          6 0 6 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 9 6 -1.</_>\n        <_>\n          1 3 9 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 15 2 2 -1.</_>\n        <_>\n          15 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 16 3 4 -1.</_>\n        <_>\n          13 18 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 15 2 2 -1.</_>\n        <_>\n          3 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 16 3 4 -1.</_>\n        <_>\n          4 18 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 1 3 -1.</_>\n        <_>\n          11 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 5 3 -1.</_>\n        <_>\n          9 14 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 3 6 -1.</_>\n        <_>\n          0 2 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 1 6 3 -1.</_>\n        <_>\n          6 1 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 4 3 -1.</_>\n        <_>\n          9 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 5 3 -1.</_>\n        <_>\n          8 16 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 3 2 -1.</_>\n        <_>\n          9 3 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 8 18 2 -1.</_>\n        <_>\n          1 9 18 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 1 3 -1.</_>\n        <_>\n          11 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 6 3 -1.</_>\n        <_>\n          8 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 1 3 -1.</_>\n        <_>\n          8 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 13 12 4 -1.</_>\n        <_>\n          4 13 6 2 2.</_>\n        <_>\n          10 15 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 7 2 2 -1.</_>\n        <_>\n          10 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 4 2 8 -1.</_>\n        <_>\n          14 4 1 4 2.</_>\n        <_>\n          13 8 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 4 6 -1.</_>\n        <_>\n          0 7 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 2 2 -1.</_>\n        <_>\n          9 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 0 3 7 -1.</_>\n        <_>\n          14 0 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 2 2 14 -1.</_>\n        <_>\n          11 2 1 14 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 0 3 7 -1.</_>\n        <_>\n          5 0 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 8 12 -1.</_>\n        <_>\n          5 5 4 6 2.</_>\n        <_>\n          9 11 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 6 3 -1.</_>\n        <_>\n          11 5 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 3 4 3 -1.</_>\n        <_>\n          12 4 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 10 12 -1.</_>\n        <_>\n          5 5 5 6 2.</_>\n        <_>\n          10 11 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 6 12 3 -1.</_>\n        <_>\n          9 6 6 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 7 -1.</_>\n        <_>\n          9 6 1 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 4 -1.</_>\n        <_>\n          9 5 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 3 -1.</_>\n        <_>\n          9 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 6 4 -1.</_>\n        <_>\n          7 1 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 16 7 3 -1.</_>\n        <_>\n          13 17 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 3 3 -1.</_>\n        <_>\n          12 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 16 7 3 -1.</_>\n        <_>\n          0 17 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 3 3 -1.</_>\n        <_>\n          5 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 9 8 10 -1.</_>\n        <_>\n          12 9 4 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 10 12 5 -1.</_>\n        <_>\n          12 10 4 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 9 8 10 -1.</_>\n        <_>\n          4 9 4 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 10 12 5 -1.</_>\n        <_>\n          4 10 4 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 3 6 2 -1.</_>\n        <_>\n          5 3 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 17 9 -1.</_>\n        <_>\n          0 3 17 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 2 -1.</_>\n        <_>\n          8 7 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 4 6 4 -1.</_>\n        <_>\n          12 4 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 10 20 4 -1.</_>\n        <_>\n          0 12 20 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 6 5 -1.</_>\n        <_>\n          6 3 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 18 4 -1.</_>\n        <_>\n          7 1 6 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 9 2 3 -1.</_>\n        <_>\n          13 9 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 15 7 4 -1.</_>\n        <_>\n          6 17 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 17 4 2 -1.</_>\n        <_>\n          3 18 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 8 10 -1.</_>\n        <_>\n          9 9 8 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 3 2 -1.</_>\n        <_>\n          10 17 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 2 4 8 -1.</_>\n        <_>\n          8 6 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 4 14 12 -1.</_>\n        <_>\n          3 4 7 6 2.</_>\n        <_>\n          10 10 7 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 6 4 -1.</_>\n        <_>\n          9 7 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 9 4 -1.</_>\n        <_>\n          6 9 9 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 10 3 3 -1.</_>\n        <_>\n          2 11 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 2 9 -1.</_>\n        <_>\n          4 9 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 3 3 -1.</_>\n        <_>\n          9 12 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 15 2 -1.</_>\n        <_>\n          3 2 15 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 2 3 -1.</_>\n        <_>\n          9 9 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 5 -1.</_>\n        <_>\n          10 6 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 3 -1.</_>\n        <_>\n          9 8 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 10 12 10 -1.</_>\n        <_>\n          4 15 12 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 10 4 2 -1.</_>\n        <_>\n          0 11 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 15 9 2 -1.</_>\n        <_>\n          5 16 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 6 3 -1.</_>\n        <_>\n          8 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 16 4 3 -1.</_>\n        <_>\n          8 17 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 9 4 2 -1.</_>\n        <_>\n          8 10 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 3 14 2 -1.</_>\n        <_>\n          3 4 14 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 12 1 2 -1.</_>\n        <_>\n          11 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 12 12 1 -1.</_>\n        <_>\n          8 12 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 1 2 -1.</_>\n        <_>\n          0 3 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 4 6 -1.</_>\n        <_>\n          9 4 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 20 14 -1.</_>\n        <_>\n          10 2 10 7 2.</_>\n        <_>\n          0 9 10 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 6 1 3 -1.</_>\n        <_>\n          14 7 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 20 12 -1.</_>\n        <_>\n          0 4 10 6 2.</_>\n        <_>\n          10 10 10 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 1 2 -1.</_>\n        <_>\n          8 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 18 3 2 -1.</_>\n        <_>\n          10 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 6 2 -1.</_>\n        <_>\n          11 17 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 2 3 -1.</_>\n        <_>\n          5 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 3 3 -1.</_>\n        <_>\n          5 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 15 3 2 -1.</_>\n        <_>\n          14 16 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 3 3 4 -1.</_>\n        <_>\n          12 3 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 15 3 2 -1.</_>\n        <_>\n          3 16 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 2 3 -1.</_>\n        <_>\n          9 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 3 7 -1.</_>\n        <_>\n          10 13 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 12 5 3 -1.</_>\n        <_>\n          12 13 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 18 3 2 -1.</_>\n        <_>\n          9 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 4 -1.</_>\n        <_>\n          4 7 6 2 2.</_>\n        <_>\n          10 9 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 19 14 1 -1.</_>\n        <_>\n          6 19 7 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 14 3 2 -1.</_>\n        <_>\n          16 15 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 6 10 -1.</_>\n        <_>\n          1 0 3 5 2.</_>\n        <_>\n          4 5 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 4 10 -1.</_>\n        <_>\n          1 0 2 5 2.</_>\n        <_>\n          3 5 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 3 5 6 -1.</_>\n        <_>\n          15 5 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 15 -1.</_>\n        <_>\n          9 10 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 5 6 -1.</_>\n        <_>\n          0 5 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 3 2 -1.</_>\n        <_>\n          7 0 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 8 8 2 -1.</_>\n        <_>\n          16 8 4 1 2.</_>\n        <_>\n          12 9 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 12 1 -1.</_>\n        <_>\n          9 8 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 13 3 3 -1.</_>\n        <_>\n          3 14 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 13 3 2 -1.</_>\n        <_>\n          5 14 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 15 3 3 -1.</_>\n        <_>\n          9 16 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 7 3 -1.</_>\n        <_>\n          7 16 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 14 11 6 -1.</_>\n        <_>\n          3 16 11 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 19 14 1 -1.</_>\n        <_>\n          7 19 7 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 6 2 -1.</_>\n        <_>\n          11 17 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 6 2 -1.</_>\n        <_>\n          14 11 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 17 6 2 -1.</_>\n        <_>\n          7 17 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 9 10 -1.</_>\n        <_>\n          3 1 3 10 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 1 3 3 -1.</_>\n        <_>\n          11 1 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 6 4 -1.</_>\n        <_>\n          9 5 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 3 3 -1.</_>\n        <_>\n          8 1 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 4 11 -1.</_>\n        <_>\n          2 4 2 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 6 4 -1.</_>\n        <_>\n          9 5 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 8 10 -1.</_>\n        <_>\n          10 0 4 5 2.</_>\n        <_>\n          6 5 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 5 14 -1.</_>\n        <_>\n          6 13 5 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 5 4 14 -1.</_>\n        <_>\n          8 12 4 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 6 5 -1.</_>\n        <_>\n          9 7 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 3 3 9 -1.</_>\n        <_>\n          9 6 3 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 3 3 -1.</_>\n        <_>\n          9 1 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 4 -1.</_>\n        <_>\n          10 6 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 6 9 -1.</_>\n        <_>\n          10 8 3 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 4 3 8 -1.</_>\n        <_>\n          17 4 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 10 6 -1.</_>\n        <_>\n          5 9 5 3 2.</_>\n        <_>\n          10 12 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 6 4 -1.</_>\n        <_>\n          8 5 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 4 2 -1.</_>\n        <_>\n          9 9 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 7 2 2 -1.</_>\n        <_>\n          11 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 8 -1.</_>\n        <_>\n          8 12 2 4 2.</_>\n        <_>\n          10 16 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 4 9 -1.</_>\n        <_>\n          0 4 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 3 3 -1.</_>\n        <_>\n          9 11 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 4 2 -1.</_>\n        <_>\n          8 12 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 4 2 -1.</_>\n        <_>\n          7 9 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 6 1 -1.</_>\n        <_>\n          9 8 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 0 4 9 -1.</_>\n        <_>\n          16 0 2 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 0 3 6 -1.</_>\n        <_>\n          16 3 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 4 9 -1.</_>\n        <_>\n          2 0 2 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 3 6 -1.</_>\n        <_>\n          1 3 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 6 9 -1.</_>\n        <_>\n          11 7 2 9 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 6 3 6 -1.</_>\n        <_>\n          11 6 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 18 2 -1.</_>\n        <_>\n          1 2 9 1 2.</_>\n        <_>\n          10 3 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 6 8 -1.</_>\n        <_>\n          7 8 2 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 6 16 -1.</_>\n        <_>\n          11 0 2 16 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 1 6 18 -1.</_>\n        <_>\n          17 1 3 9 2.</_>\n        <_>\n          14 10 3 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 9 2 3 -1.</_>\n        <_>\n          2 10 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 6 18 -1.</_>\n        <_>\n          0 1 3 9 2.</_>\n        <_>\n          3 10 3 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 8 4 12 -1.</_>\n        <_>\n          11 8 2 12 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 18 18 -1.</_>\n        <_>\n          2 10 18 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 3 1 -1.</_>\n        <_>\n          7 3 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 12 2 2 -1.</_>\n        <_>\n          4 13 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 5 3 -1.</_>\n        <_>\n          8 14 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 3 -1.</_>\n        <_>\n          8 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 5 3 -1.</_>\n        <_>\n          3 13 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 3 4 -1.</_>\n        <_>\n          7 3 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 10 2 2 -1.</_>\n        <_>\n          12 10 1 1 2.</_>\n        <_>\n          11 11 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 12 1 -1.</_>\n        <_>\n          9 8 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 4 8 -1.</_>\n        <_>\n          10 4 2 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 8 5 -1.</_>\n        <_>\n          10 6 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 4 6 4 -1.</_>\n        <_>\n          12 4 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 2 2 -1.</_>\n        <_>\n          13 7 1 1 2.</_>\n        <_>\n          12 8 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 5 10 8 -1.</_>\n        <_>\n          3 9 10 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 2 12 -1.</_>\n        <_>\n          7 7 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 2 2 -1.</_>\n        <_>\n          13 7 1 1 2.</_>\n        <_>\n          12 8 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 13 1 6 -1.</_>\n        <_>\n          11 16 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 6 15 -1.</_>\n        <_>\n          7 1 2 15 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 2 2 -1.</_>\n        <_>\n          6 7 1 1 2.</_>\n        <_>\n          7 8 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 5 2 2 -1.</_>\n        <_>\n          17 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 4 10 -1.</_>\n        <_>\n          12 3 2 5 2.</_>\n        <_>\n          10 8 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 5 2 2 -1.</_>\n        <_>\n          1 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 10 2 2 -1.</_>\n        <_>\n          7 10 1 1 2.</_>\n        <_>\n          8 11 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 14 4 -1.</_>\n        <_>\n          10 12 7 2 2.</_>\n        <_>\n          3 14 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 15 3 2 -1.</_>\n        <_>\n          9 16 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 13 3 3 -1.</_>\n        <_>\n          1 14 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 1 2 -1.</_>\n        <_>\n          0 4 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 6 1 -1.</_>\n        <_>\n          9 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 16 6 -1.</_>\n        <_>\n          0 6 16 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 3 2 14 -1.</_>\n        <_>\n          9 10 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 0 4 3 -1.</_>\n        <_>\n          12 0 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 18 12 2 -1.</_>\n        <_>\n          8 18 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 10 12 4 -1.</_>\n        <_>\n          8 10 4 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 2 2 -1.</_>\n        <_>\n          9 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 1 2 8 -1.</_>\n        <_>\n          15 1 1 4 2.</_>\n        <_>\n          14 5 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 4 9 1 -1.</_>\n        <_>\n          6 4 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 3 4 2 -1.</_>\n        <_>\n          3 4 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 15 2 4 -1.</_>\n        <_>\n          11 17 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 13 2 6 -1.</_>\n        <_>\n          14 15 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 1 6 -1.</_>\n        <_>\n          6 9 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 8 8 -1.</_>\n        <_>\n          6 14 8 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 3 -1.</_>\n        <_>\n          8 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 11 4 8 -1.</_>\n        <_>\n          10 15 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 6 1 -1.</_>\n        <_>\n          7 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 6 10 -1.</_>\n        <_>\n          8 4 3 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 2 6 3 -1.</_>\n        <_>\n          14 3 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 3 2 -1.</_>\n        <_>\n          9 13 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 4 6 -1.</_>\n        <_>\n          8 3 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 5 13 8 -1.</_>\n        <_>\n          3 9 13 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 5 5 3 -1.</_>\n        <_>\n          12 6 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 14 15 6 -1.</_>\n        <_>\n          5 16 15 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 5 5 3 -1.</_>\n        <_>\n          3 6 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 2 6 -1.</_>\n        <_>\n          9 14 1 3 2.</_>\n        <_>\n          10 17 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 3 2 -1.</_>\n        <_>\n          9 13 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 3 2 -1.</_>\n        <_>\n          9 14 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 3 -1.</_>\n        <_>\n          0 3 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 9 11 -1.</_>\n        <_>\n          3 1 3 11 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 6 -1.</_>\n        <_>\n          10 13 2 3 2.</_>\n        <_>\n          8 16 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 3 -1.</_>\n        <_>\n          7 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 14 4 -1.</_>\n        <_>\n          3 12 7 2 2.</_>\n        <_>\n          10 14 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 1 4 -1.</_>\n        <_>\n          7 16 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 6 -1.</_>\n        <_>\n          10 13 2 3 2.</_>\n        <_>\n          8 16 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 14 1 3 -1.</_>\n        <_>\n          10 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 6 -1.</_>\n        <_>\n          8 13 2 3 2.</_>\n        <_>\n          10 16 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 1 3 -1.</_>\n        <_>\n          9 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 15 2 3 -1.</_>\n        <_>\n          10 16 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 16 1 2 -1.</_>\n        <_>\n          11 17 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 2 2 -1.</_>\n        <_>\n          9 1 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 5 8 -1.</_>\n        <_>\n          0 5 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 14 2 3 -1.</_>\n        <_>\n          10 15 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 13 2 3 -1.</_>\n        <_>\n          10 14 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 16 6 -1.</_>\n        <_>\n          0 6 16 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 1 2 2 -1.</_>\n        <_>\n          5 1 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 3 -1.</_>\n        <_>\n          9 8 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 2 12 -1.</_>\n        <_>\n          10 12 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 2 -1.</_>\n        <_>\n          10 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 6 8 -1.</_>\n        <_>\n          7 0 2 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 6 -1.</_>\n        <_>\n          10 7 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 10 8 -1.</_>\n        <_>\n          8 16 10 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 6 -1.</_>\n        <_>\n          9 7 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 2 -1.</_>\n        <_>\n          10 7 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 8 3 -1.</_>\n        <_>\n          8 6 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 15 3 3 -1.</_>\n        <_>\n          16 16 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 12 3 -1.</_>\n        <_>\n          10 6 6 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 3 5 -1.</_>\n        <_>\n          8 8 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 10 20 2 -1.</_>\n        <_>\n          10 10 10 1 2.</_>\n        <_>\n          0 11 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 16 9 4 -1.</_>\n        <_>\n          14 16 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 3 4 -1.</_>\n        <_>\n          1 5 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 4 2 -1.</_>\n        <_>\n          8 15 2 1 2.</_>\n        <_>\n          10 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 8 19 3 -1.</_>\n        <_>\n          1 9 19 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 16 3 3 -1.</_>\n        <_>\n          15 17 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 20 10 -1.</_>\n        <_>\n          0 4 10 5 2.</_>\n        <_>\n          10 9 10 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 14 7 6 -1.</_>\n        <_>\n          2 16 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 6 6 -1.</_>\n        <_>\n          10 6 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 4 4 6 -1.</_>\n        <_>\n          16 6 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 3 -1.</_>\n        <_>\n          7 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 4 3 -1.</_>\n        <_>\n          7 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 13 6 2 -1.</_>\n        <_>\n          13 14 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 2 3 -1.</_>\n        <_>\n          14 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 13 6 2 -1.</_>\n        <_>\n          1 14 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 12 2 3 -1.</_>\n        <_>\n          4 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 4 3 5 -1.</_>\n        <_>\n          18 4 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 14 8 -1.</_>\n        <_>\n          12 5 7 4 2.</_>\n        <_>\n          5 9 7 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 8 6 5 -1.</_>\n        <_>\n          8 8 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 4 6 -1.</_>\n        <_>\n          0 6 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 1 3 6 -1.</_>\n        <_>\n          10 1 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 4 6 3 -1.</_>\n        <_>\n          10 5 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 3 6 -1.</_>\n        <_>\n          9 1 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 6 3 -1.</_>\n        <_>\n          4 5 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 3 3 -1.</_>\n        <_>\n          12 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 4 2 -1.</_>\n        <_>\n          12 12 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 20 6 -1.</_>\n        <_>\n          0 2 10 3 2.</_>\n        <_>\n          10 5 10 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 3 3 -1.</_>\n        <_>\n          5 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 10 16 4 -1.</_>\n        <_>\n          10 10 8 2 2.</_>\n        <_>\n          2 12 8 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 10 16 6 -1.</_>\n        <_>\n          11 10 8 3 2.</_>\n        <_>\n          3 13 8 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 10 16 6 -1.</_>\n        <_>\n          1 10 8 3 2.</_>\n        <_>\n          9 13 8 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 2 4 -1.</_>\n        <_>\n          5 7 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 16 9 4 -1.</_>\n        <_>\n          14 16 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 16 14 4 -1.</_>\n        <_>\n          10 16 7 2 2.</_>\n        <_>\n          3 18 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 16 9 4 -1.</_>\n        <_>\n          3 16 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 14 6 6 -1.</_>\n        <_>\n          1 14 3 3 2.</_>\n        <_>\n          4 17 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 2 1 -1.</_>\n        <_>\n          9 0 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 8 10 -1.</_>\n        <_>\n          10 7 4 5 2.</_>\n        <_>\n          6 12 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 15 1 2 -1.</_>\n        <_>\n          2 16 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 14 7 6 -1.</_>\n        <_>\n          0 16 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 6 2 -1.</_>\n        <_>\n          7 9 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 2 2 15 -1.</_>\n        <_>\n          9 7 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 2 2 -1.</_>\n        <_>\n          5 7 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 8 3 -1.</_>\n        <_>\n          6 7 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 13 5 6 -1.</_>\n        <_>\n          12 15 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 20 18 -1.</_>\n        <_>\n          0 9 20 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 6 6 -1.</_>\n        <_>\n          7 1 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 4 9 -1.</_>\n        <_>\n          7 1 2 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 19 18 1 -1.</_>\n        <_>\n          7 19 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 16 5 2 -1.</_>\n        <_>\n          14 17 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 15 10 -1.</_>\n        <_>\n          0 10 15 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 4 2 -1.</_>\n        <_>\n          7 15 2 1 2.</_>\n        <_>\n          9 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 11 2 2 -1.</_>\n        <_>\n          14 12 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 3 -1.</_>\n        <_>\n          9 9 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 11 2 2 -1.</_>\n        <_>\n          4 12 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 3 3 -1.</_>\n        <_>\n          8 9 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 2 3 -1.</_>\n        <_>\n          9 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 4 3 -1.</_>\n        <_>\n          8 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 9 4 10 -1.</_>\n        <_>\n          1 9 2 5 2.</_>\n        <_>\n          3 14 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 12 6 8 -1.</_>\n        <_>\n          2 12 2 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 1 4 2 -1.</_>\n        <_>\n          11 1 2 1 2.</_>\n        <_>\n          9 2 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 13 7 6 -1.</_>\n        <_>\n          12 15 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 2 3 -1.</_>\n        <_>\n          7 1 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 6 3 -1.</_>\n        <_>\n          9 14 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 6 4 -1.</_>\n        <_>\n          11 6 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 10 8 3 -1.</_>\n        <_>\n          8 10 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 4 3 -1.</_>\n        <_>\n          8 10 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 8 3 5 -1.</_>\n        <_>\n          7 8 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 8 1 -1.</_>\n        <_>\n          4 4 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 2 2 6 -1.</_>\n        <_>\n          8 2 1 3 2.</_>\n        <_>\n          9 5 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 20 6 -1.</_>\n        <_>\n          0 9 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 10 3 6 -1.</_>\n        <_>\n          12 13 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 1 4 -1.</_>\n        <_>\n          8 17 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 16 2 4 -1.</_>\n        <_>\n          5 18 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 2 8 12 -1.</_>\n        <_>\n          6 6 8 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 2 -1.</_>\n        <_>\n          8 7 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 6 1 -1.</_>\n        <_>\n          9 0 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 3 3 -1.</_>\n        <_>\n          8 12 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 3 6 -1.</_>\n        <_>\n          12 14 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 2 6 10 -1.</_>\n        <_>\n          14 2 3 5 2.</_>\n        <_>\n          11 7 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 10 12 -1.</_>\n        <_>\n          5 7 5 6 2.</_>\n        <_>\n          10 13 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 2 10 -1.</_>\n        <_>\n          4 9 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 3 -1.</_>\n        <_>\n          9 7 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 9 6 2 -1.</_>\n        <_>\n          11 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 2 2 -1.</_>\n        <_>\n          5 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 4 6 -1.</_>\n        <_>\n          0 4 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 7 3 4 -1.</_>\n        <_>\n          11 7 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 5 -1.</_>\n        <_>\n          10 7 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 1 1 3 -1.</_>\n        <_>\n          9 2 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 16 6 -1.</_>\n        <_>\n          0 6 8 3 2.</_>\n        <_>\n          8 9 8 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 15 3 3 -1.</_>\n        <_>\n          10 16 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 4 3 -1.</_>\n        <_>\n          9 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 2 6 10 -1.</_>\n        <_>\n          3 2 3 5 2.</_>\n        <_>\n          6 7 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 0 14 2 -1.</_>\n        <_>\n          3 1 14 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 3 3 -1.</_>\n        <_>\n          9 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 15 3 3 -1.</_>\n        <_>\n          10 16 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 2 6 -1.</_>\n        <_>\n          9 16 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 3 -1.</_>\n        <_>\n          7 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 3 6 -1.</_>\n        <_>\n          12 14 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 5 2 -1.</_>\n        <_>\n          8 13 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 3 6 -1.</_>\n        <_>\n          5 14 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 3 2 -1.</_>\n        <_>\n          8 13 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 13 7 6 -1.</_>\n        <_>\n          11 15 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 6 3 -1.</_>\n        <_>\n          7 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 13 14 4 -1.</_>\n        <_>\n          3 13 7 2 2.</_>\n        <_>\n          10 15 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 6 -1.</_>\n        <_>\n          8 14 2 3 2.</_>\n        <_>\n          10 17 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 4 3 -1.</_>\n        <_>\n          8 16 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 16 6 2 -1.</_>\n        <_>\n          9 16 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 6 2 -1.</_>\n        <_>\n          7 8 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 9 13 3 -1.</_>\n        <_>\n          3 10 13 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 4 -1.</_>\n        <_>\n          9 10 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 10 4 3 -1.</_>\n        <_>\n          8 11 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 3 4 -1.</_>\n        <_>\n          8 7 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 5 -1.</_>\n        <_>\n          9 7 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 3 3 4 -1.</_>\n        <_>\n          13 3 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 3 -1.</_>\n        <_>\n          9 7 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 3 4 -1.</_>\n        <_>\n          6 3 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 7 12 1 -1.</_>\n        <_>\n          7 7 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 5 3 3 -1.</_>\n        <_>\n          12 6 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 2 6 2 -1.</_>\n        <_>\n          11 3 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 2 14 2 -1.</_>\n        <_>\n          3 2 7 1 2.</_>\n        <_>\n          10 3 7 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 7 14 -1.</_>\n        <_>\n          6 8 7 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 0 12 5 -1.</_>\n        <_>\n          8 0 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 9 18 1 -1.</_>\n        <_>\n          7 9 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 10 5 -1.</_>\n        <_>\n          5 0 5 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 5 8 15 -1.</_>\n        <_>\n          2 10 8 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 5 3 3 -1.</_>\n        <_>\n          12 6 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 4 2 3 -1.</_>\n        <_>\n          13 5 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 15 4 3 -1.</_>\n        <_>\n          2 16 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 10 3 -1.</_>\n        <_>\n          10 6 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 6 2 2 -1.</_>\n        <_>\n          12 6 1 1 2.</_>\n        <_>\n          11 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 4 3 -1.</_>\n        <_>\n          12 5 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 6 2 2 -1.</_>\n        <_>\n          7 6 1 1 2.</_>\n        <_>\n          8 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 4 3 -1.</_>\n        <_>\n          4 5 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 3 3 -1.</_>\n        <_>\n          12 4 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 3 2 1 -1.</_>\n        <_>\n          9 3 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 5 3 -1.</_>\n        <_>\n          4 6 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 4 3 -1.</_>\n        <_>\n          4 7 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 3 3 -1.</_>\n        <_>\n          12 4 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 4 3 -1.</_>\n        <_>\n          8 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 4 3 3 -1.</_>\n        <_>\n          7 4 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 14 1 3 -1.</_>\n        <_>\n          4 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 3 -1.</_>\n        <_>\n          9 7 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 0 3 2 -1.</_>\n        <_>\n          17 1 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 10 2 9 -1.</_>\n        <_>\n          8 13 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 18 2 -1.</_>\n        <_>\n          0 9 18 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 15 2 3 -1.</_>\n        <_>\n          9 16 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 4 3 -1.</_>\n        <_>\n          8 8 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 14 6 6 -1.</_>\n        <_>\n          1 14 3 3 2.</_>\n        <_>\n          4 17 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 18 6 2 -1.</_>\n        <_>\n          0 19 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 9 4 3 -1.</_>\n        <_>\n          12 9 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 8 -1.</_>\n        <_>\n          10 8 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 9 4 3 -1.</_>\n        <_>\n          6 9 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 18 6 1 -1.</_>\n        <_>\n          6 18 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 2 -1.</_>\n        <_>\n          10 7 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 8 12 -1.</_>\n        <_>\n          10 7 4 6 2.</_>\n        <_>\n          6 13 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 2 -1.</_>\n        <_>\n          9 7 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 6 -1.</_>\n        <_>\n          9 7 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 16 14 4 -1.</_>\n        <_>\n          10 16 7 2 2.</_>\n        <_>\n          3 18 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 14 18 4 -1.</_>\n        <_>\n          10 14 9 2 2.</_>\n        <_>\n          1 16 9 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 3 -1.</_>\n        <_>\n          8 8 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 20 12 -1.</_>\n        <_>\n          0 4 10 6 2.</_>\n        <_>\n          10 10 10 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 10 12 -1.</_>\n        <_>\n          10 5 5 6 2.</_>\n        <_>\n          5 11 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 2 4 7 -1.</_>\n        <_>\n          10 2 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 4 3 -1.</_>\n        <_>\n          8 12 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 3 3 -1.</_>\n        <_>\n          8 13 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 13 5 6 -1.</_>\n        <_>\n          13 15 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 6 6 -1.</_>\n        <_>\n          9 0 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 13 5 6 -1.</_>\n        <_>\n          2 15 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 2 12 -1.</_>\n        <_>\n          0 4 1 6 2.</_>\n        <_>\n          1 10 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 19 3 1 -1.</_>\n        <_>\n          10 19 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 0 2 6 -1.</_>\n        <_>\n          18 2 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 1 6 -1.</_>\n        <_>\n          0 5 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 3 6 -1.</_>\n        <_>\n          0 2 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 2 3 7 -1.</_>\n        <_>\n          18 2 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 4 7 -1.</_>\n        <_>\n          10 3 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 3 7 -1.</_>\n        <_>\n          1 2 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 2 4 8 -1.</_>\n        <_>\n          8 2 2 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 0 1 4 -1.</_>\n        <_>\n          13 2 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 12 5 -1.</_>\n        <_>\n          9 1 4 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 1 4 -1.</_>\n        <_>\n          6 2 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 12 5 -1.</_>\n        <_>\n          7 1 4 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 3 8 -1.</_>\n        <_>\n          10 12 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 1 -1.</_>\n        <_>\n          9 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 6 3 -1.</_>\n        <_>\n          7 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 16 7 3 -1.</_>\n        <_>\n          5 17 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 12 20 6 -1.</_>\n        <_>\n          0 14 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 18 14 2 -1.</_>\n        <_>\n          4 19 14 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 3 8 -1.</_>\n        <_>\n          9 12 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 3 3 -1.</_>\n        <_>\n          7 14 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 12 10 -1.</_>\n        <_>\n          11 5 6 5 2.</_>\n        <_>\n          5 10 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 5 10 -1.</_>\n        <_>\n          8 6 5 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 9 12 -1.</_>\n        <_>\n          5 10 9 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 6 -1.</_>\n        <_>\n          7 15 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 5 16 -1.</_>\n        <_>\n          8 12 5 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 6 -1.</_>\n        <_>\n          8 15 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 2 2 -1.</_>\n        <_>\n          7 13 1 1 2.</_>\n        <_>\n          8 14 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 2 2 -1.</_>\n        <_>\n          7 12 1 1 2.</_>\n        <_>\n          8 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 0 2 14 -1.</_>\n        <_>\n          18 0 1 14 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 7 2 -1.</_>\n        <_>\n          12 12 7 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 18 1 2 -1.</_>\n        <_>\n          1 19 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 18 1 2 -1.</_>\n        <_>\n          2 19 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 1 -1.</_>\n        <_>\n          9 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 3 -1.</_>\n        <_>\n          9 6 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 2 2 -1.</_>\n        <_>\n          4 1 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 0 3 2 -1.</_>\n        <_>\n          3 1 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 10 3 4 -1.</_>\n        <_>\n          12 12 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 8 2 -1.</_>\n        <_>\n          7 8 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 3 4 -1.</_>\n        <_>\n          8 10 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 6 3 -1.</_>\n        <_>\n          7 13 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 10 3 -1.</_>\n        <_>\n          5 2 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 20 6 -1.</_>\n        <_>\n          0 3 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 6 6 3 -1.</_>\n        <_>\n          9 6 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 7 14 4 -1.</_>\n        <_>\n          3 9 14 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 3 6 -1.</_>\n        <_>\n          5 9 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 3 12 -1.</_>\n        <_>\n          8 12 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 6 2 -1.</_>\n        <_>\n          12 17 3 1 2.</_>\n        <_>\n          9 18 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 17 4 3 -1.</_>\n        <_>\n          10 18 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 2 4 2 -1.</_>\n        <_>\n          4 3 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 3 6 14 -1.</_>\n        <_>\n          9 3 2 14 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 13 1 6 -1.</_>\n        <_>\n          15 16 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 14 2 6 -1.</_>\n        <_>\n          13 16 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 11 5 6 -1.</_>\n        <_>\n          4 14 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 17 4 2 -1.</_>\n        <_>\n          6 17 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 20 2 -1.</_>\n        <_>\n          0 6 10 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 10 12 -1.</_>\n        <_>\n          11 5 5 6 2.</_>\n        <_>\n          6 11 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 0 2 12 -1.</_>\n        <_>\n          4 0 1 6 2.</_>\n        <_>\n          5 6 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 1 6 2 -1.</_>\n        <_>\n          6 1 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 2 1 -1.</_>\n        <_>\n          13 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 15 6 -1.</_>\n        <_>\n          5 7 15 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 10 18 2 -1.</_>\n        <_>\n          1 10 9 1 2.</_>\n        <_>\n          10 11 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 6 15 7 -1.</_>\n        <_>\n          6 6 5 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 3 -1.</_>\n        <_>\n          8 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 3 3 -1.</_>\n        <_>\n          9 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 3 -1.</_>\n        <_>\n          8 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 3 2 -1.</_>\n        <_>\n          8 14 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 14 5 3 -1.</_>\n        <_>\n          15 15 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 14 20 1 -1.</_>\n        <_>\n          0 14 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 14 6 3 -1.</_>\n        <_>\n          0 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 4 2 -1.</_>\n        <_>\n          5 4 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 20 1 -1.</_>\n        <_>\n          0 6 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 10 14 -1.</_>\n        <_>\n          11 3 5 7 2.</_>\n        <_>\n          6 10 5 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 2 -1.</_>\n        <_>\n          8 13 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 8 6 -1.</_>\n        <_>\n          6 3 4 3 2.</_>\n        <_>\n          10 6 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 2 1 -1.</_>\n        <_>\n          13 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 10 14 -1.</_>\n        <_>\n          11 3 5 7 2.</_>\n        <_>\n          6 10 5 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 2 1 -1.</_>\n        <_>\n          6 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 10 14 -1.</_>\n        <_>\n          4 3 5 7 2.</_>\n        <_>\n          9 10 5 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 2 -1.</_>\n        <_>\n          9 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 20 1 -1.</_>\n        <_>\n          0 3 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 10 3 -1.</_>\n        <_>\n          2 2 10 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 2 -1.</_>\n        <_>\n          10 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 3 2 -1.</_>\n        <_>\n          10 17 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 6 -1.</_>\n        <_>\n          10 7 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 17 3 2 -1.</_>\n        <_>\n          9 17 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 6 -1.</_>\n        <_>\n          9 7 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 3 4 6 -1.</_>\n        <_>\n          16 5 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 6 2 12 -1.</_>\n        <_>\n          16 6 1 6 2.</_>\n        <_>\n          15 12 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 4 18 10 -1.</_>\n        <_>\n          1 4 9 5 2.</_>\n        <_>\n          10 9 9 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 2 4 -1.</_>\n        <_>\n          9 6 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 5 3 2 -1.</_>\n        <_>\n          12 6 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 12 10 4 -1.</_>\n        <_>\n          5 14 10 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 3 2 -1.</_>\n        <_>\n          5 6 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 12 6 -1.</_>\n        <_>\n          8 6 4 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 4 6 6 -1.</_>\n        <_>\n          14 6 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 0 4 6 -1.</_>\n        <_>\n          18 0 2 3 2.</_>\n        <_>\n          16 3 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 6 6 -1.</_>\n        <_>\n          0 6 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 4 6 -1.</_>\n        <_>\n          0 0 2 3 2.</_>\n        <_>\n          2 3 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 0 8 5 -1.</_>\n        <_>\n          12 0 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 0 4 17 -1.</_>\n        <_>\n          16 0 2 17 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 18 20 -1.</_>\n        <_>\n          7 0 6 20 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 2 5 -1.</_>\n        <_>\n          7 0 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 20 1 -1.</_>\n        <_>\n          0 6 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 6 4 -1.</_>\n        <_>\n          10 7 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 16 4 -1.</_>\n        <_>\n          1 1 8 2 2.</_>\n        <_>\n          9 3 8 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 2 4 2 -1.</_>\n        <_>\n          7 2 2 1 2.</_>\n        <_>\n          9 3 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 9 3 -1.</_>\n        <_>\n          7 5 9 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 4 5 12 -1.</_>\n        <_>\n          10 10 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 2 3 -1.</_>\n        <_>\n          3 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 3 5 -1.</_>\n        <_>\n          9 8 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 9 2 3 -1.</_>\n        <_>\n          13 9 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 11 2 2 -1.</_>\n        <_>\n          15 12 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 2 3 -1.</_>\n        <_>\n          5 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 11 6 2 -1.</_>\n        <_>\n          2 12 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 11 4 3 -1.</_>\n        <_>\n          15 12 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 0 4 17 -1.</_>\n        <_>\n          16 0 2 17 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 11 4 3 -1.</_>\n        <_>\n          1 12 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 1 3 -1.</_>\n        <_>\n          9 12 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 9 6 7 -1.</_>\n        <_>\n          10 9 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 4 2 -1.</_>\n        <_>\n          8 16 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 9 6 7 -1.</_>\n        <_>\n          7 9 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 2 3 -1.</_>\n        <_>\n          9 15 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 20 2 -1.</_>\n        <_>\n          10 2 10 1 2.</_>\n        <_>\n          0 3 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 8 2 -1.</_>\n        <_>\n          6 8 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 20 2 -1.</_>\n        <_>\n          0 2 10 1 2.</_>\n        <_>\n          10 3 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 2 10 -1.</_>\n        <_>\n          3 1 1 5 2.</_>\n        <_>\n          4 6 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 4 1 10 -1.</_>\n        <_>\n          13 9 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 4 3 -1.</_>\n        <_>\n          9 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 11 16 4 -1.</_>\n        <_>\n          2 11 8 2 2.</_>\n        <_>\n          10 13 8 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 3 5 -1.</_>\n        <_>\n          6 1 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 2 3 -1.</_>\n        <_>\n          9 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 2 2 -1.</_>\n        <_>\n          9 12 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 10 20 2 -1.</_>\n        <_>\n          0 11 20 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 7 6 4 -1.</_>\n        <_>\n          1 7 3 2 2.</_>\n        <_>\n          4 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 0 8 8 -1.</_>\n        <_>\n          16 0 4 4 2.</_>\n        <_>\n          12 4 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 1 6 4 -1.</_>\n        <_>\n          16 1 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 2 14 -1.</_>\n        <_>\n          6 10 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 7 12 -1.</_>\n        <_>\n          6 7 7 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 15 5 -1.</_>\n        <_>\n          10 0 5 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 0 4 10 -1.</_>\n        <_>\n          15 0 2 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 18 3 -1.</_>\n        <_>\n          7 0 6 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 17 2 -1.</_>\n        <_>\n          0 1 17 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 0 3 3 -1.</_>\n        <_>\n          11 0 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 0 3 12 -1.</_>\n        <_>\n          11 0 1 12 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 3 4 16 -1.</_>\n        <_>\n          1 3 2 8 2.</_>\n        <_>\n          3 11 2 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 3 3 -1.</_>\n        <_>\n          8 0 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 2 6 -1.</_>\n        <_>\n          9 16 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 6 13 -1.</_>\n        <_>\n          11 0 2 13 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 3 2 -1.</_>\n        <_>\n          8 7 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 2 1 12 -1.</_>\n        <_>\n          8 6 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 10 12 6 -1.</_>\n        <_>\n          10 10 6 3 2.</_>\n        <_>\n          4 13 6 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 5 2 3 -1.</_>\n        <_>\n          13 6 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 10 12 6 -1.</_>\n        <_>\n          4 10 6 3 2.</_>\n        <_>\n          10 13 6 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 2 3 -1.</_>\n        <_>\n          5 6 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 6 7 -1.</_>\n        <_>\n          10 6 2 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 4 -1.</_>\n        <_>\n          9 6 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 6 7 -1.</_>\n        <_>\n          8 6 2 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 4 -1.</_>\n        <_>\n          10 6 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 9 2 3 -1.</_>\n        <_>\n          12 9 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 20 1 -1.</_>\n        <_>\n          0 6 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 10 2 -1.</_>\n        <_>\n          10 7 5 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 16 4 3 -1.</_>\n        <_>\n          1 17 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 3 3 -1.</_>\n        <_>\n          12 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 5 3 -1.</_>\n        <_>\n          10 4 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 9 14 8 -1.</_>\n        <_>\n          3 9 7 4 2.</_>\n        <_>\n          10 13 7 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 8 8 10 -1.</_>\n        <_>\n          6 8 4 5 2.</_>\n        <_>\n          10 13 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 3 3 -1.</_>\n        <_>\n          12 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 5 3 -1.</_>\n        <_>\n          10 4 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 3 3 -1.</_>\n        <_>\n          5 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 5 3 -1.</_>\n        <_>\n          5 4 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 16 2 3 -1.</_>\n        <_>\n          13 17 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 20 6 -1.</_>\n        <_>\n          0 7 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 14 3 3 -1.</_>\n        <_>\n          3 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 5 3 -1.</_>\n        <_>\n          7 16 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 9 2 3 -1.</_>\n        <_>\n          12 9 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 13 2 6 -1.</_>\n        <_>\n          15 13 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 9 2 3 -1.</_>\n        <_>\n          7 9 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 13 2 6 -1.</_>\n        <_>\n          4 13 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 2 4 -1.</_>\n        <_>\n          11 4 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 4 2 5 -1.</_>\n        <_>\n          13 4 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 2 4 -1.</_>\n        <_>\n          8 4 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 2 5 -1.</_>\n        <_>\n          6 4 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          19 6 1 2 -1.</_>\n        <_>\n          19 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 8 13 -1.</_>\n        <_>\n          12 7 4 13 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 1 2 -1.</_>\n        <_>\n          0 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 15 4 3 -1.</_>\n        <_>\n          6 16 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 8 2 2 -1.</_>\n        <_>\n          11 9 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 7 2 4 -1.</_>\n        <_>\n          11 7 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 13 2 3 -1.</_>\n        <_>\n          4 14 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 17 18 3 -1.</_>\n        <_>\n          6 17 6 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 18 5 -1.</_>\n        <_>\n          7 0 6 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 3 4 -1.</_>\n        <_>\n          5 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 6 2 2 -1.</_>\n        <_>\n          10 6 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 4 14 4 -1.</_>\n        <_>\n          13 4 7 2 2.</_>\n        <_>\n          6 6 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 16 6 4 -1.</_>\n        <_>\n          5 16 3 2 2.</_>\n        <_>\n          8 18 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 2 4 -1.</_>\n        <_>\n          7 17 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 5 5 14 -1.</_>\n        <_>\n          8 12 5 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 2 2 -1.</_>\n        <_>\n          9 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 3 7 -1.</_>\n        <_>\n          8 5 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 3 9 -1.</_>\n        <_>\n          0 3 3 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 8 8 -1.</_>\n        <_>\n          12 6 4 4 2.</_>\n        <_>\n          8 10 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 8 13 2 -1.</_>\n        <_>\n          4 9 13 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 6 1 -1.</_>\n        <_>\n          6 3 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 1 2 6 -1.</_>\n        <_>\n          9 3 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 5 6 4 -1.</_>\n        <_>\n          12 5 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 12 -1.</_>\n        <_>\n          9 9 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 3 -1.</_>\n        <_>\n          8 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 3 -1.</_>\n        <_>\n          8 13 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 6 7 -1.</_>\n        <_>\n          12 3 2 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 10 16 6 -1.</_>\n        <_>\n          3 12 16 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 3 10 -1.</_>\n        <_>\n          5 10 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 3 6 -1.</_>\n        <_>\n          6 13 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 2 2 12 -1.</_>\n        <_>\n          17 2 1 12 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 6 2 14 -1.</_>\n        <_>\n          16 13 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 11 12 9 -1.</_>\n        <_>\n          3 14 12 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 4 12 -1.</_>\n        <_>\n          2 2 2 12 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 0 2 18 -1.</_>\n        <_>\n          18 0 1 18 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 12 3 2 -1.</_>\n        <_>\n          16 13 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 2 15 -1.</_>\n        <_>\n          1 2 1 15 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 10 2 4 -1.</_>\n        <_>\n          1 12 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 1 2 18 -1.</_>\n        <_>\n          11 1 1 18 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 2 14 2 -1.</_>\n        <_>\n          10 2 7 1 2.</_>\n        <_>\n          3 3 7 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 2 18 -1.</_>\n        <_>\n          8 1 1 18 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 8 12 -1.</_>\n        <_>\n          6 7 8 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 4 3 -1.</_>\n        <_>\n          8 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 6 3 -1.</_>\n        <_>\n          7 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 13 5 2 -1.</_>\n        <_>\n          0 14 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 2 6 -1.</_>\n        <_>\n          9 0 1 3 2.</_>\n        <_>\n          10 3 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 2 6 -1.</_>\n        <_>\n          10 0 1 3 2.</_>\n        <_>\n          9 3 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 6 -1.</_>\n        <_>\n          10 7 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 2 6 -1.</_>\n        <_>\n          9 0 1 3 2.</_>\n        <_>\n          10 3 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 6 -1.</_>\n        <_>\n          9 7 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 6 -1.</_>\n        <_>\n          9 6 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 4 3 -1.</_>\n        <_>\n          9 4 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 4 3 -1.</_>\n        <_>\n          0 5 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 4 2 -1.</_>\n        <_>\n          8 8 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 6 6 3 -1.</_>\n        <_>\n          12 6 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 3 12 -1.</_>\n        <_>\n          9 10 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 2 3 -1.</_>\n        <_>\n          5 5 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 1 3 -1.</_>\n        <_>\n          5 7 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 3 2 -1.</_>\n        <_>\n          10 17 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 20 2 -1.</_>\n        <_>\n          0 8 20 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 6 7 -1.</_>\n        <_>\n          6 3 2 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 10 6 10 -1.</_>\n        <_>\n          5 10 3 5 2.</_>\n        <_>\n          8 15 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 3 2 -1.</_>\n        <_>\n          10 17 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 2 2 -1.</_>\n        <_>\n          9 11 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 17 3 2 -1.</_>\n        <_>\n          9 17 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 1 3 -1.</_>\n        <_>\n          5 7 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 20 2 -1.</_>\n        <_>\n          10 1 10 1 2.</_>\n        <_>\n          0 2 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 2 6 9 -1.</_>\n        <_>\n          14 5 6 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 3 2 -1.</_>\n        <_>\n          5 4 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 4 2 -1.</_>\n        <_>\n          7 4 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 2 6 9 -1.</_>\n        <_>\n          14 5 6 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 12 20 6 -1.</_>\n        <_>\n          0 14 20 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 2 16 4 -1.</_>\n        <_>\n          2 2 8 2 2.</_>\n        <_>\n          10 4 8 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 5 3 -1.</_>\n        <_>\n          7 13 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 9 6 10 -1.</_>\n        <_>\n          14 9 3 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 6 3 2 -1.</_>\n        <_>\n          16 7 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 9 6 10 -1.</_>\n        <_>\n          3 9 3 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 16 5 2 -1.</_>\n        <_>\n          0 17 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 2 3 -1.</_>\n        <_>\n          9 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 12 -1.</_>\n        <_>\n          9 11 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 2 6 2 -1.</_>\n        <_>\n          5 2 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 1 1 2 -1.</_>\n        <_>\n          4 2 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 15 1 2 -1.</_>\n        <_>\n          11 16 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 16 2 -1.</_>\n        <_>\n          11 1 8 1 2.</_>\n        <_>\n          3 2 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 6 2 2 -1.</_>\n        <_>\n          3 6 1 1 2.</_>\n        <_>\n          4 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 10 6 -1.</_>\n        <_>\n          5 11 5 3 2.</_>\n        <_>\n          10 14 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 11 4 6 -1.</_>\n        <_>\n          10 14 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 9 6 11 -1.</_>\n        <_>\n          16 9 2 11 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 9 6 11 -1.</_>\n        <_>\n          2 9 2 11 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 11 16 6 -1.</_>\n        <_>\n          2 11 8 3 2.</_>\n        <_>\n          10 14 8 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 0 8 10 -1.</_>\n        <_>\n          16 0 4 5 2.</_>\n        <_>\n          12 5 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 2 6 4 -1.</_>\n        <_>\n          16 2 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 8 10 -1.</_>\n        <_>\n          0 0 4 5 2.</_>\n        <_>\n          4 5 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 4 -1.</_>\n        <_>\n          2 2 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 9 15 2 -1.</_>\n        <_>\n          9 9 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 3 4 8 -1.</_>\n        <_>\n          14 3 2 4 2.</_>\n        <_>\n          12 7 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 2 2 9 -1.</_>\n        <_>\n          10 2 1 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 20 1 -1.</_>\n        <_>\n          10 2 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 1 4 5 -1.</_>\n        <_>\n          16 1 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 0 4 6 -1.</_>\n        <_>\n          16 3 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 6 4 -1.</_>\n        <_>\n          6 3 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 18 5 -1.</_>\n        <_>\n          6 0 6 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 2 12 14 -1.</_>\n        <_>\n          12 2 6 7 2.</_>\n        <_>\n          6 9 6 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 8 3 5 -1.</_>\n        <_>\n          12 8 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 12 2 2 -1.</_>\n        <_>\n          5 13 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 10 4 3 -1.</_>\n        <_>\n          7 10 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 9 15 2 -1.</_>\n        <_>\n          9 9 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 7 6 2 -1.</_>\n        <_>\n          12 7 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 9 15 2 -1.</_>\n        <_>\n          6 9 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 2 10 -1.</_>\n        <_>\n          5 0 1 5 2.</_>\n        <_>\n          6 5 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 20 14 -1.</_>\n        <_>\n          0 7 20 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 8 4 -1.</_>\n        <_>\n          12 7 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 8 4 -1.</_>\n        <_>\n          4 7 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 3 3 -1.</_>\n        <_>\n          9 1 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 4 -1.</_>\n        <_>\n          10 7 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 3 1 -1.</_>\n        <_>\n          10 9 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 9 3 2 -1.</_>\n        <_>\n          8 10 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 2 8 -1.</_>\n        <_>\n          8 4 1 4 2.</_>\n        <_>\n          9 8 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 12 3 -1.</_>\n        <_>\n          5 9 12 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 1 3 -1.</_>\n        <_>\n          11 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 3 6 -1.</_>\n        <_>\n          6 12 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 17 8 3 -1.</_>\n        <_>\n          4 18 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 6 2 3 -1.</_>\n        <_>\n          17 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 2 2 -1.</_>\n        <_>\n          10 12 1 1 2.</_>\n        <_>\n          9 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 2 4 -1.</_>\n        <_>\n          9 13 1 2 2.</_>\n        <_>\n          10 15 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 2 3 -1.</_>\n        <_>\n          9 12 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 12 10 -1.</_>\n        <_>\n          11 5 6 5 2.</_>\n        <_>\n          5 10 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 12 12 -1.</_>\n        <_>\n          12 3 6 6 2.</_>\n        <_>\n          6 9 6 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 2 2 -1.</_>\n        <_>\n          5 7 1 1 2.</_>\n        <_>\n          6 8 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 3 2 -1.</_>\n        <_>\n          5 3 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 2 12 14 -1.</_>\n        <_>\n          12 2 6 7 2.</_>\n        <_>\n          6 9 6 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 2 12 3 -1.</_>\n        <_>\n          9 2 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 18 17 -1.</_>\n        <_>\n          7 1 6 17 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 9 10 1 -1.</_>\n        <_>\n          5 9 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 8 4 3 -1.</_>\n        <_>\n          16 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 6 -1.</_>\n        <_>\n          7 16 6 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 14 1 6 -1.</_>\n        <_>\n          6 16 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 17 4 2 -1.</_>\n        <_>\n          6 18 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 6 2 -1.</_>\n        <_>\n          13 18 3 1 2.</_>\n        <_>\n          10 19 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 8 1 3 -1.</_>\n        <_>\n          16 9 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 3 -1.</_>\n        <_>\n          8 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 15 1 2 -1.</_>\n        <_>\n          9 16 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 0 3 12 -1.</_>\n        <_>\n          14 0 1 12 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 11 1 3 -1.</_>\n        <_>\n          15 12 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 3 3 -1.</_>\n        <_>\n          8 16 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 0 3 12 -1.</_>\n        <_>\n          5 0 1 12 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 3 -1.</_>\n        <_>\n          10 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 3 1 -1.</_>\n        <_>\n          10 9 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 2 12 14 -1.</_>\n        <_>\n          2 2 6 7 2.</_>\n        <_>\n          8 9 6 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 2 12 3 -1.</_>\n        <_>\n          8 2 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 18 2 2 -1.</_>\n        <_>\n          18 18 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 2 3 8 -1.</_>\n        <_>\n          18 2 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 18 2 2 -1.</_>\n        <_>\n          1 18 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 11 2 6 -1.</_>\n        <_>\n          6 14 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 10 5 6 -1.</_>\n        <_>\n          13 12 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 15 3 -1.</_>\n        <_>\n          5 9 15 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 10 5 6 -1.</_>\n        <_>\n          2 12 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 15 3 -1.</_>\n        <_>\n          0 9 15 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 2 3 1 -1.</_>\n        <_>\n          17 2 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 4 3 2 -1.</_>\n        <_>\n          18 4 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 8 12 -1.</_>\n        <_>\n          0 8 4 6 2.</_>\n        <_>\n          4 14 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 7 8 6 -1.</_>\n        <_>\n          1 7 4 3 2.</_>\n        <_>\n          5 10 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 1 6 2 -1.</_>\n        <_>\n          16 1 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 0 4 4 -1.</_>\n        <_>\n          17 0 2 2 2.</_>\n        <_>\n          15 2 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 4 11 -1.</_>\n        <_>\n          3 1 2 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 1 8 -1.</_>\n        <_>\n          5 9 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 6 1 -1.</_>\n        <_>\n          9 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 2 -1.</_>\n        <_>\n          8 7 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 4 4 -1.</_>\n        <_>\n          8 6 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 4 9 1 -1.</_>\n        <_>\n          5 4 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 2 8 -1.</_>\n        <_>\n          9 16 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 8 14 12 -1.</_>\n        <_>\n          3 14 14 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 13 7 3 -1.</_>\n        <_>\n          6 14 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 6 3 -1.</_>\n        <_>\n          7 9 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 1 6 3 -1.</_>\n        <_>\n          12 2 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 6 2 -1.</_>\n        <_>\n          8 13 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 18 2 -1.</_>\n        <_>\n          0 2 9 1 2.</_>\n        <_>\n          9 3 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 3 6 -1.</_>\n        <_>\n          6 13 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 0 6 6 -1.</_>\n        <_>\n          14 0 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 0 5 8 -1.</_>\n        <_>\n          15 4 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 16 6 4 -1.</_>\n        <_>\n          9 16 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 11 14 4 -1.</_>\n        <_>\n          2 11 7 2 2.</_>\n        <_>\n          9 13 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 10 6 10 -1.</_>\n        <_>\n          14 10 3 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 10 12 -1.</_>\n        <_>\n          14 8 5 6 2.</_>\n        <_>\n          9 14 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 10 6 10 -1.</_>\n        <_>\n          3 10 3 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 8 10 12 -1.</_>\n        <_>\n          1 8 5 6 2.</_>\n        <_>\n          6 14 5 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 3 6 1 -1.</_>\n        <_>\n          11 3 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 6 3 -1.</_>\n        <_>\n          9 4 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 6 1 -1.</_>\n        <_>\n          7 3 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 6 3 -1.</_>\n        <_>\n          6 5 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 16 3 3 -1.</_>\n        <_>\n          9 17 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 6 3 -1.</_>\n        <_>\n          8 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 8 12 -1.</_>\n        <_>\n          6 0 4 6 2.</_>\n        <_>\n          10 6 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 12 2 3 -1.</_>\n        <_>\n          4 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 16 6 3 -1.</_>\n        <_>\n          12 17 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 7 2 -1.</_>\n        <_>\n          7 13 7 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 16 6 3 -1.</_>\n        <_>\n          2 17 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 16 6 -1.</_>\n        <_>\n          0 10 16 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 3 -1.</_>\n        <_>\n          10 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 5 -1.</_>\n        <_>\n          10 7 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 20 10 -1.</_>\n        <_>\n          0 5 10 5 2.</_>\n        <_>\n          10 10 10 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 4 2 -1.</_>\n        <_>\n          5 1 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 6 8 10 -1.</_>\n        <_>\n          11 6 4 5 2.</_>\n        <_>\n          7 11 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 6 3 2 -1.</_>\n        <_>\n          17 7 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 8 10 -1.</_>\n        <_>\n          5 6 4 5 2.</_>\n        <_>\n          9 11 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 12 10 6 -1.</_>\n        <_>\n          5 14 10 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 3 -1.</_>\n        <_>\n          10 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 3 2 6 -1.</_>\n        <_>\n          11 3 1 3 2.</_>\n        <_>\n          10 6 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 3 3 -1.</_>\n        <_>\n          0 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 16 8 4 -1.</_>\n        <_>\n          3 16 4 2 2.</_>\n        <_>\n          7 18 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 5 2 -1.</_>\n        <_>\n          8 14 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 4 12 -1.</_>\n        <_>\n          8 11 4 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 2 2 -1.</_>\n        <_>\n          6 9 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 15 2 3 -1.</_>\n        <_>\n          9 16 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 9 2 3 -1.</_>\n        <_>\n          13 9 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 0 6 17 -1.</_>\n        <_>\n          16 0 2 17 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 10 2 2 -1.</_>\n        <_>\n          6 10 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 9 9 1 -1.</_>\n        <_>\n          5 9 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 2 3 -1.</_>\n        <_>\n          9 12 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 11 6 3 -1.</_>\n        <_>\n          7 12 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 3 2 -1.</_>\n        <_>\n          0 7 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 6 1 -1.</_>\n        <_>\n          9 0 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 16 3 3 -1.</_>\n        <_>\n          9 17 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 13 17 6 -1.</_>\n        <_>\n          2 16 17 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 3 3 7 -1.</_>\n        <_>\n          2 3 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 6 4 -1.</_>\n        <_>\n          3 1 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 1 6 5 -1.</_>\n        <_>\n          14 1 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 2 3 2 -1.</_>\n        <_>\n          13 3 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 6 5 -1.</_>\n        <_>\n          3 1 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 3 2 6 -1.</_>\n        <_>\n          2 5 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 3 2 -1.</_>\n        <_>\n          9 11 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 3 -1.</_>\n        <_>\n          8 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 3 1 -1.</_>\n        <_>\n          7 3 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 2 3 12 -1.</_>\n        <_>\n          8 6 3 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 12 1 2 -1.</_>\n        <_>\n          11 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 12 2 2 -1.</_>\n        <_>\n          12 12 1 1 2.</_>\n        <_>\n          11 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 2 2 -1.</_>\n        <_>\n          5 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 1 3 -1.</_>\n        <_>\n          5 5 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 11 16 4 -1.</_>\n        <_>\n          11 11 8 2 2.</_>\n        <_>\n          3 13 8 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 10 20 3 -1.</_>\n        <_>\n          0 11 20 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 11 16 4 -1.</_>\n        <_>\n          1 11 8 2 2.</_>\n        <_>\n          9 13 8 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 2 4 2 -1.</_>\n        <_>\n          4 3 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 6 2 2 -1.</_>\n        <_>\n          13 6 1 1 2.</_>\n        <_>\n          12 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 6 6 -1.</_>\n        <_>\n          12 13 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 2 2 -1.</_>\n        <_>\n          6 6 1 1 2.</_>\n        <_>\n          7 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 4 4 16 -1.</_>\n        <_>\n          8 4 2 16 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 18 3 2 -1.</_>\n        <_>\n          11 19 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 6 2 -1.</_>\n        <_>\n          12 17 3 1 2.</_>\n        <_>\n          9 18 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 13 5 2 -1.</_>\n        <_>\n          2 14 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 15 2 2 -1.</_>\n        <_>\n          3 16 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 3 -1.</_>\n        <_>\n          10 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 6 -1.</_>\n        <_>\n          9 6 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 14 7 6 -1.</_>\n        <_>\n          1 16 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 2 11 -1.</_>\n        <_>\n          9 1 1 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 4 -1.</_>\n        <_>\n          9 7 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 10 2 1 -1.</_>\n        <_>\n          11 10 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 3 9 -1.</_>\n        <_>\n          1 3 1 9 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 3 6 -1.</_>\n        <_>\n          0 5 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 15 2 2 -1.</_>\n        <_>\n          12 15 1 1 2.</_>\n        <_>\n          11 16 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 2 2 -1.</_>\n        <_>\n          12 14 1 1 2.</_>\n        <_>\n          11 15 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 2 2 -1.</_>\n        <_>\n          7 15 1 1 2.</_>\n        <_>\n          8 16 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 2 2 -1.</_>\n        <_>\n          7 14 1 1 2.</_>\n        <_>\n          8 15 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 6 -1.</_>\n        <_>\n          10 13 2 3 2.</_>\n        <_>\n          8 16 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 14 16 4 -1.</_>\n        <_>\n          10 14 8 2 2.</_>\n        <_>\n          2 16 8 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 2 2 -1.</_>\n        <_>\n          9 9 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 5 3 -1.</_>\n        <_>\n          7 8 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 6 2 -1.</_>\n        <_>\n          9 5 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 1 6 18 -1.</_>\n        <_>\n          11 1 2 18 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 3 4 -1.</_>\n        <_>\n          9 6 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 5 2 4 -1.</_>\n        <_>\n          8 5 1 2 2.</_>\n        <_>\n          9 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 2 6 -1.</_>\n        <_>\n          10 13 1 3 2.</_>\n        <_>\n          9 16 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 0 3 18 -1.</_>\n        <_>\n          12 0 1 18 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 3 18 -1.</_>\n        <_>\n          7 0 1 18 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 15 4 2 -1.</_>\n        <_>\n          7 15 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 9 18 1 -1.</_>\n        <_>\n          7 9 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 20 3 -1.</_>\n        <_>\n          0 1 20 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 2 4 -1.</_>\n        <_>\n          10 6 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 6 2 -1.</_>\n        <_>\n          8 10 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 20 1 -1.</_>\n        <_>\n          0 7 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 3 5 4 -1.</_>\n        <_>\n          11 5 5 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 10 1 -1.</_>\n        <_>\n          10 7 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 10 3 3 -1.</_>\n        <_>\n          8 11 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 0 16 8 -1.</_>\n        <_>\n          10 0 8 4 2.</_>\n        <_>\n          2 4 8 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 0 9 10 -1.</_>\n        <_>\n          11 5 9 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 8 18 -1.</_>\n        <_>\n          4 2 4 18 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 2 6 -1.</_>\n        <_>\n          0 2 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 9 2 -1.</_>\n        <_>\n          6 1 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 1 12 2 -1.</_>\n        <_>\n          4 2 12 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 16 14 -1.</_>\n        <_>\n          2 8 16 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 8 12 -1.</_>\n        <_>\n          5 7 8 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 2 2 -1.</_>\n        <_>\n          9 12 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 5 6 -1.</_>\n        <_>\n          9 12 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 0 13 8 -1.</_>\n        <_>\n          3 4 13 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 5 8 -1.</_>\n        <_>\n          6 11 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 3 -1.</_>\n        <_>\n          9 6 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 8 8 3 -1.</_>\n        <_>\n          6 9 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 2 7 6 -1.</_>\n        <_>\n          2 5 7 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 14 4 -1.</_>\n        <_>\n          2 1 7 2 2.</_>\n        <_>\n          9 3 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 1 3 -1.</_>\n        <_>\n          11 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 15 8 2 -1.</_>\n        <_>\n          6 16 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 1 3 -1.</_>\n        <_>\n          8 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 2 8 -1.</_>\n        <_>\n          8 15 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 15 8 2 -1.</_>\n        <_>\n          6 16 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 16 8 3 -1.</_>\n        <_>\n          7 17 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 16 2 2 -1.</_>\n        <_>\n          0 17 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 16 8 4 -1.</_>\n        <_>\n          1 16 4 2 2.</_>\n        <_>\n          5 18 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 9 16 3 -1.</_>\n        <_>\n          2 10 16 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 11 2 4 -1.</_>\n        <_>\n          13 11 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 13 16 6 -1.</_>\n        <_>\n          0 15 16 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 2 4 -1.</_>\n        <_>\n          6 11 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 2 2 18 -1.</_>\n        <_>\n          19 2 1 9 2.</_>\n        <_>\n          18 11 1 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          19 7 1 9 -1.</_>\n        <_>\n          19 10 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 2 18 -1.</_>\n        <_>\n          0 2 1 9 2.</_>\n        <_>\n          1 11 1 9 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 1 9 -1.</_>\n        <_>\n          0 10 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 2 2 -1.</_>\n        <_>\n          14 13 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 2 3 -1.</_>\n        <_>\n          11 15 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 6 2 -1.</_>\n        <_>\n          7 9 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 4 6 -1.</_>\n        <_>\n          7 12 2 3 2.</_>\n        <_>\n          9 15 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 5 3 -1.</_>\n        <_>\n          8 14 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 14 2 2 -1.</_>\n        <_>\n          13 14 1 1 2.</_>\n        <_>\n          12 15 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 3 -1.</_>\n        <_>\n          7 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 5 2 -1.</_>\n        <_>\n          7 14 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 10 16 4 -1.</_>\n        <_>\n          10 10 8 2 2.</_>\n        <_>\n          2 12 8 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 0 6 6 -1.</_>\n        <_>\n          9 0 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 6 3 -1.</_>\n        <_>\n          7 2 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 12 6 2 -1.</_>\n        <_>\n          0 13 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 11 2 -1.</_>\n        <_>\n          6 4 11 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 0 8 6 -1.</_>\n        <_>\n          16 0 4 3 2.</_>\n        <_>\n          12 3 4 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 1 2 -1.</_>\n        <_>\n          8 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 1 12 -1.</_>\n        <_>\n          8 12 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 11 2 2 -1.</_>\n        <_>\n          12 11 1 1 2.</_>\n        <_>\n          11 12 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 3 13 -1.</_>\n        <_>\n          13 7 1 13 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 11 2 2 -1.</_>\n        <_>\n          7 11 1 1 2.</_>\n        <_>\n          8 12 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 13 1 3 -1.</_>\n        <_>\n          3 14 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 3 2 -1.</_>\n        <_>\n          11 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 11 2 1 -1.</_>\n        <_>\n          11 11 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 10 5 9 -1.</_>\n        <_>\n          1 13 5 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 8 6 4 -1.</_>\n        <_>\n          6 8 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 12 1 4 -1.</_>\n        <_>\n          13 14 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 3 4 14 -1.</_>\n        <_>\n          13 3 2 7 2.</_>\n        <_>\n          11 10 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 12 1 4 -1.</_>\n        <_>\n          6 14 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 4 14 -1.</_>\n        <_>\n          5 3 2 7 2.</_>\n        <_>\n          7 10 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 3 2 -1.</_>\n        <_>\n          11 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 3 3 -1.</_>\n        <_>\n          9 13 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 2 12 6 -1.</_>\n        <_>\n          2 2 6 3 2.</_>\n        <_>\n          8 5 6 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 6 2 -1.</_>\n        <_>\n          9 6 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 18 12 -1.</_>\n        <_>\n          7 0 6 12 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 6 4 -1.</_>\n        <_>\n          5 7 3 2 2.</_>\n        <_>\n          8 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 10 4 -1.</_>\n        <_>\n          5 9 10 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 6 4 -1.</_>\n        <_>\n          9 7 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 2 -1.</_>\n        <_>\n          9 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 2 2 -1.</_>\n        <_>\n          9 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 17 8 3 -1.</_>\n        <_>\n          6 18 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 17 6 2 -1.</_>\n        <_>\n          12 17 3 1 2.</_>\n        <_>\n          9 18 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 12 2 2 -1.</_>\n        <_>\n          4 13 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 9 2 -1.</_>\n        <_>\n          3 13 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 6 1 -1.</_>\n        <_>\n          10 3 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 3 4 6 -1.</_>\n        <_>\n          11 3 2 3 2.</_>\n        <_>\n          9 6 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 6 5 -1.</_>\n        <_>\n          3 3 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 0 2 18 -1.</_>\n        <_>\n          2 6 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 2 4 9 -1.</_>\n        <_>\n          14 5 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 3 2 -1.</_>\n        <_>\n          11 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 2 4 9 -1.</_>\n        <_>\n          2 5 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 18 3 2 -1.</_>\n        <_>\n          8 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 14 3 3 -1.</_>\n        <_>\n          10 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 12 2 6 -1.</_>\n        <_>\n          10 15 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 3 6 -1.</_>\n        <_>\n          7 7 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 3 6 2 -1.</_>\n        <_>\n          3 4 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 7 3 -1.</_>\n        <_>\n          8 5 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 6 2 3 -1.</_>\n        <_>\n          13 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 2 12 -1.</_>\n        <_>\n          8 12 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 8 14 -1.</_>\n        <_>\n          5 4 4 7 2.</_>\n        <_>\n          9 11 4 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 20 8 -1.</_>\n        <_>\n          10 1 10 4 2.</_>\n        <_>\n          0 5 10 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 0 12 2 -1.</_>\n        <_>\n          4 1 12 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 1 20 8 -1.</_>\n        <_>\n          0 1 10 4 2.</_>\n        <_>\n          10 5 10 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 0 12 2 -1.</_>\n        <_>\n          4 1 12 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 6 3 -1.</_>\n        <_>\n          9 5 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 10 6 -1.</_>\n        <_>\n          8 15 10 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 6 3 -1.</_>\n        <_>\n          8 5 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 3 6 1 -1.</_>\n        <_>\n          8 3 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 18 9 2 -1.</_>\n        <_>\n          14 18 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 11 6 7 -1.</_>\n        <_>\n          13 11 3 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 12 10 -1.</_>\n        <_>\n          4 6 6 5 2.</_>\n        <_>\n          10 11 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 17 3 3 -1.</_>\n        <_>\n          9 17 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 18 9 2 -1.</_>\n        <_>\n          14 18 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 11 6 8 -1.</_>\n        <_>\n          13 11 3 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 16 2 2 -1.</_>\n        <_>\n          4 17 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 4 4 -1.</_>\n        <_>\n          7 17 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 3 3 -1.</_>\n        <_>\n          12 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 6 2 3 -1.</_>\n        <_>\n          13 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 6 1 -1.</_>\n        <_>\n          7 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 10 3 1 -1.</_>\n        <_>\n          8 10 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 12 20 4 -1.</_>\n        <_>\n          0 14 20 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 2 3 2 -1.</_>\n        <_>\n          10 3 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 3 3 -1.</_>\n        <_>\n          5 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 4 3 -1.</_>\n        <_>\n          5 6 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 4 3 -1.</_>\n        <_>\n          8 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 4 2 12 -1.</_>\n        <_>\n          10 8 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 4 3 -1.</_>\n        <_>\n          0 4 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 3 2 3 -1.</_>\n        <_>\n          1 4 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 1 4 11 -1.</_>\n        <_>\n          16 1 2 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 2 2 16 -1.</_>\n        <_>\n          19 2 1 8 2.</_>\n        <_>\n          18 10 1 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 8 6 12 -1.</_>\n        <_>\n          3 8 2 12 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 2 6 2 -1.</_>\n        <_>\n          7 2 3 1 2.</_>\n        <_>\n          10 3 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 8 2 -1.</_>\n        <_>\n          16 4 4 1 2.</_>\n        <_>\n          12 5 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 6 6 2 -1.</_>\n        <_>\n          12 6 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 8 2 -1.</_>\n        <_>\n          0 4 4 1 2.</_>\n        <_>\n          4 5 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 3 3 5 -1.</_>\n        <_>\n          2 3 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 3 4 6 -1.</_>\n        <_>\n          16 5 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 4 3 -1.</_>\n        <_>\n          8 7 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 1 3 -1.</_>\n        <_>\n          8 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 11 1 2 -1.</_>\n        <_>\n          4 12 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 6 3 -1.</_>\n        <_>\n          8 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 7 3 -1.</_>\n        <_>\n          7 16 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 2 8 -1.</_>\n        <_>\n          9 16 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 6 2 -1.</_>\n        <_>\n          6 6 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 4 2 -1.</_>\n        <_>\n          12 8 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 13 10 -1.</_>\n        <_>\n          5 8 13 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 4 2 -1.</_>\n        <_>\n          4 8 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 16 2 -1.</_>\n        <_>\n          0 8 8 1 2.</_>\n        <_>\n          8 9 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 8 2 5 -1.</_>\n        <_>\n          11 8 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 0 6 13 -1.</_>\n        <_>\n          10 0 3 13 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 6 4 2 -1.</_>\n        <_>\n          1 7 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 2 1 -1.</_>\n        <_>\n          5 3 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 8 2 5 -1.</_>\n        <_>\n          11 8 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 10 4 8 -1.</_>\n        <_>\n          12 10 2 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 2 5 -1.</_>\n        <_>\n          8 8 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 10 4 8 -1.</_>\n        <_>\n          6 10 2 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 9 12 -1.</_>\n        <_>\n          9 7 3 12 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 13 2 3 -1.</_>\n        <_>\n          11 13 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 10 6 10 -1.</_>\n        <_>\n          10 10 3 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 4 8 -1.</_>\n        <_>\n          8 11 2 4 2.</_>\n        <_>\n          10 15 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 1 4 11 -1.</_>\n        <_>\n          16 1 2 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 2 2 4 -1.</_>\n        <_>\n          18 2 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 6 2 -1.</_>\n        <_>\n          5 6 3 1 2.</_>\n        <_>\n          8 7 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 1 3 -1.</_>\n        <_>\n          5 5 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 1 4 14 -1.</_>\n        <_>\n          11 1 2 14 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 2 12 3 -1.</_>\n        <_>\n          8 2 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 4 14 -1.</_>\n        <_>\n          7 1 2 14 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 3 6 2 -1.</_>\n        <_>\n          9 3 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 0 18 4 -1.</_>\n        <_>\n          8 0 6 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 10 -1.</_>\n        <_>\n          9 10 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 3 4 -1.</_>\n        <_>\n          9 6 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 9 11 -1.</_>\n        <_>\n          8 5 3 11 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 6 3 5 -1.</_>\n        <_>\n          11 6 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 9 6 5 -1.</_>\n        <_>\n          8 9 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 6 3 5 -1.</_>\n        <_>\n          8 6 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 6 3 -1.</_>\n        <_>\n          9 10 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 0 3 7 -1.</_>\n        <_>\n          11 0 1 7 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 20 12 -1.</_>\n        <_>\n          0 9 20 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 2 -1.</_>\n        <_>\n          10 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 4 1 -1.</_>\n        <_>\n          7 9 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 13 3 2 -1.</_>\n        <_>\n          13 14 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 9 4 6 -1.</_>\n        <_>\n          16 9 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 6 3 -1.</_>\n        <_>\n          7 16 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 16 7 3 -1.</_>\n        <_>\n          6 17 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 9 6 -1.</_>\n        <_>\n          11 16 9 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          19 14 1 3 -1.</_>\n        <_>\n          19 15 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 9 6 6 -1.</_>\n        <_>\n          3 9 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 19 9 1 -1.</_>\n        <_>\n          3 19 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 14 9 6 -1.</_>\n        <_>\n          11 16 9 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 12 6 6 -1.</_>\n        <_>\n          12 14 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 14 8 6 -1.</_>\n        <_>\n          1 16 8 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 1 3 2 -1.</_>\n        <_>\n          9 1 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 2 2 4 -1.</_>\n        <_>\n          18 2 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 0 6 3 -1.</_>\n        <_>\n          16 0 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 2 4 -1.</_>\n        <_>\n          1 2 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 6 3 -1.</_>\n        <_>\n          2 0 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 3 2 -1.</_>\n        <_>\n          10 0 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 1 2 2 -1.</_>\n        <_>\n          12 1 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 0 3 2 -1.</_>\n        <_>\n          9 0 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 2 2 -1.</_>\n        <_>\n          7 1 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 2 3 -1.</_>\n        <_>\n          10 9 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 15 6 2 -1.</_>\n        <_>\n          13 16 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 2 2 -1.</_>\n        <_>\n          8 12 1 1 2.</_>\n        <_>\n          9 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 3 5 -1.</_>\n        <_>\n          9 15 1 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 4 12 -1.</_>\n        <_>\n          8 12 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 6 7 8 -1.</_>\n        <_>\n          7 10 7 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 11 8 2 -1.</_>\n        <_>\n          0 12 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 2 2 -1.</_>\n        <_>\n          8 11 1 1 2.</_>\n        <_>\n          9 12 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 12 1 -1.</_>\n        <_>\n          11 7 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 3 2 -1.</_>\n        <_>\n          11 8 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 7 12 1 -1.</_>\n        <_>\n          5 7 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 8 2 -1.</_>\n        <_>\n          6 5 4 1 2.</_>\n        <_>\n          10 6 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 3 10 -1.</_>\n        <_>\n          10 10 1 10 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 0 2 4 -1.</_>\n        <_>\n          16 0 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 10 3 10 -1.</_>\n        <_>\n          9 10 1 10 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 2 3 -1.</_>\n        <_>\n          9 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 9 4 2 -1.</_>\n        <_>\n          10 9 2 1 2.</_>\n        <_>\n          8 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 14 7 6 -1.</_>\n        <_>\n          12 16 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 3 1 -1.</_>\n        <_>\n          7 1 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 0 2 4 -1.</_>\n        <_>\n          3 0 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 11 2 2 -1.</_>\n        <_>\n          12 11 1 1 2.</_>\n        <_>\n          11 12 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 12 6 6 -1.</_>\n        <_>\n          12 14 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 6 10 -1.</_>\n        <_>\n          1 0 3 5 2.</_>\n        <_>\n          4 5 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 0 2 9 -1.</_>\n        <_>\n          3 3 2 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 13 3 2 -1.</_>\n        <_>\n          14 14 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 2 3 2 -1.</_>\n        <_>\n          15 3 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 13 5 2 -1.</_>\n        <_>\n          2 14 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 4 12 10 -1.</_>\n        <_>\n          3 4 6 5 2.</_>\n        <_>\n          9 9 6 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 14 6 -1.</_>\n        <_>\n          5 3 14 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 3 3 2 -1.</_>\n        <_>\n          15 4 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 11 2 2 -1.</_>\n        <_>\n          7 11 1 1 2.</_>\n        <_>\n          8 12 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 14 6 6 -1.</_>\n        <_>\n          2 16 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 13 8 3 -1.</_>\n        <_>\n          6 14 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 19 18 1 -1.</_>\n        <_>\n          7 19 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 1 6 -1.</_>\n        <_>\n          8 15 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 14 15 -1.</_>\n        <_>\n          0 5 14 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 0 16 8 -1.</_>\n        <_>\n          3 4 16 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 8 12 -1.</_>\n        <_>\n          6 7 8 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 3 3 -1.</_>\n        <_>\n          6 3 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 3 4 -1.</_>\n        <_>\n          6 1 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 14 4 6 -1.</_>\n        <_>\n          17 14 2 3 2.</_>\n        <_>\n          15 17 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 6 8 -1.</_>\n        <_>\n          15 11 3 4 2.</_>\n        <_>\n          12 15 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 2 4 -1.</_>\n        <_>\n          9 7 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 11 3 1 -1.</_>\n        <_>\n          7 11 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 3 2 14 -1.</_>\n        <_>\n          12 3 1 14 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 6 2 -1.</_>\n        <_>\n          15 11 3 1 2.</_>\n        <_>\n          12 12 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 5 2 -1.</_>\n        <_>\n          0 3 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 15 1 -1.</_>\n        <_>\n          5 0 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 6 2 -1.</_>\n        <_>\n          15 11 3 1 2.</_>\n        <_>\n          12 12 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 5 2 2 -1.</_>\n        <_>\n          10 5 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 2 -1.</_>\n        <_>\n          10 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 2 10 -1.</_>\n        <_>\n          9 0 1 5 2.</_>\n        <_>\n          10 5 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 14 2 2 -1.</_>\n        <_>\n          18 15 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 11 4 9 -1.</_>\n        <_>\n          13 14 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 2 2 -1.</_>\n        <_>\n          8 13 1 1 2.</_>\n        <_>\n          9 14 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 4 3 -1.</_>\n        <_>\n          7 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 9 4 2 -1.</_>\n        <_>\n          8 10 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 12 4 2 -1.</_>\n        <_>\n          13 13 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 14 2 2 -1.</_>\n        <_>\n          6 14 1 1 2.</_>\n        <_>\n          7 15 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 14 2 2 -1.</_>\n        <_>\n          0 15 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 3 -1.</_>\n        <_>\n          7 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 9 10 6 -1.</_>\n        <_>\n          7 11 10 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 9 12 4 -1.</_>\n        <_>\n          6 9 4 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 9 6 11 -1.</_>\n        <_>\n          10 9 3 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 3 -1.</_>\n        <_>\n          9 8 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 4 3 -1.</_>\n        <_>\n          9 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 3 3 17 -1.</_>\n        <_>\n          3 3 1 17 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 11 6 3 -1.</_>\n        <_>\n          0 12 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 3 11 9 -1.</_>\n        <_>\n          4 6 11 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 6 11 -1.</_>\n        <_>\n          3 2 3 11 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 0 4 5 -1.</_>\n        <_>\n          13 0 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 6 4 -1.</_>\n        <_>\n          12 7 3 2 2.</_>\n        <_>\n          9 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 8 2 -1.</_>\n        <_>\n          9 7 4 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 8 15 1 -1.</_>\n        <_>\n          6 8 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 12 12 2 -1.</_>\n        <_>\n          8 12 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 0 4 10 -1.</_>\n        <_>\n          15 0 2 5 2.</_>\n        <_>\n          13 5 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 2 2 -1.</_>\n        <_>\n          9 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 9 6 2 -1.</_>\n        <_>\n          6 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 17 4 3 -1.</_>\n        <_>\n          8 18 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 3 9 2 -1.</_>\n        <_>\n          11 3 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 3 9 2 -1.</_>\n        <_>\n          6 3 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 9 14 -1.</_>\n        <_>\n          8 0 3 14 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 3 7 10 -1.</_>\n        <_>\n          7 8 7 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 8 13 3 -1.</_>\n        <_>\n          4 9 13 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 12 14 4 -1.</_>\n        <_>\n          3 12 7 2 2.</_>\n        <_>\n          10 14 7 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 2 -1.</_>\n        <_>\n          8 13 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 10 9 8 -1.</_>\n        <_>\n          6 14 9 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 12 2 8 -1.</_>\n        <_>\n          9 16 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 3 3 -1.</_>\n        <_>\n          8 13 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 4 10 -1.</_>\n        <_>\n          7 5 2 10 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 15 3 3 -1.</_>\n        <_>\n          14 16 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 13 3 -1.</_>\n        <_>\n          4 7 13 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 15 3 3 -1.</_>\n        <_>\n          3 16 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 9 4 2 -1.</_>\n        <_>\n          3 9 2 1 2.</_>\n        <_>\n          5 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 11 20 4 -1.</_>\n        <_>\n          10 11 10 2 2.</_>\n        <_>\n          0 13 10 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 4 3 -1.</_>\n        <_>\n          8 16 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 11 20 4 -1.</_>\n        <_>\n          0 11 10 2 2.</_>\n        <_>\n          10 13 10 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 15 4 3 -1.</_>\n        <_>\n          8 16 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 13 1 6 -1.</_>\n        <_>\n          10 16 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 18 2 -1.</_>\n        <_>\n          11 1 9 1 2.</_>\n        <_>\n          2 2 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 14 3 3 -1.</_>\n        <_>\n          8 15 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 1 6 1 -1.</_>\n        <_>\n          6 1 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 13 1 3 -1.</_>\n        <_>\n          11 14 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 5 2 12 -1.</_>\n        <_>\n          13 11 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 14 18 6 -1.</_>\n        <_>\n          1 16 18 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 1 3 -1.</_>\n        <_>\n          8 14 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 13 6 3 -1.</_>\n        <_>\n          7 14 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 3 2 -1.</_>\n        <_>\n          9 11 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 3 3 -1.</_>\n        <_>\n          6 1 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 6 5 -1.</_>\n        <_>\n          8 5 3 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 6 14 -1.</_>\n        <_>\n          7 12 6 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 16 6 2 -1.</_>\n        <_>\n          9 16 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 2 12 -1.</_>\n        <_>\n          1 2 1 12 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 5 3 -1.</_>\n        <_>\n          1 1 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 3 3 -1.</_>\n        <_>\n          12 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 6 3 3 -1.</_>\n        <_>\n          12 7 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 3 3 -1.</_>\n        <_>\n          5 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 3 3 -1.</_>\n        <_>\n          5 7 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 8 -1.</_>\n        <_>\n          10 12 2 4 2.</_>\n        <_>\n          8 16 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 17 18 2 -1.</_>\n        <_>\n          11 17 9 1 2.</_>\n        <_>\n          2 18 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 3 2 2 -1.</_>\n        <_>\n          9 4 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 5 4 6 -1.</_>\n        <_>\n          8 7 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 8 6 -1.</_>\n        <_>\n          9 2 8 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 18 4 -1.</_>\n        <_>\n          7 0 6 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 4 8 -1.</_>\n        <_>\n          2 0 2 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 6 9 -1.</_>\n        <_>\n          2 4 2 9 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 4 18 2 -1.</_>\n        <_>\n          7 4 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 16 12 4 -1.</_>\n        <_>\n          14 16 6 2 2.</_>\n        <_>\n          8 18 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 18 2 -1.</_>\n        <_>\n          0 0 9 1 2.</_>\n        <_>\n          9 1 9 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 0 3 18 -1.</_>\n        <_>\n          4 0 1 18 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 9 4 7 -1.</_>\n        <_>\n          14 9 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 14 2 2 -1.</_>\n        <_>\n          15 15 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 9 4 7 -1.</_>\n        <_>\n          4 9 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 14 2 2 -1.</_>\n        <_>\n          3 15 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 0 6 6 -1.</_>\n        <_>\n          11 2 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 0 2 6 -1.</_>\n        <_>\n          15 0 1 3 2.</_>\n        <_>\n          14 3 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 11 2 2 -1.</_>\n        <_>\n          7 11 1 1 2.</_>\n        <_>\n          8 12 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 10 2 2 -1.</_>\n        <_>\n          8 10 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 2 6 -1.</_>\n        <_>\n          9 17 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 18 4 2 -1.</_>\n        <_>\n          12 19 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 17 4 3 -1.</_>\n        <_>\n          8 18 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 18 8 2 -1.</_>\n        <_>\n          2 19 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 9 16 3 -1.</_>\n        <_>\n          2 10 16 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 2 2 -1.</_>\n        <_>\n          9 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 14 2 4 -1.</_>\n        <_>\n          5 14 1 2 2.</_>\n        <_>\n          6 16 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 9 4 2 -1.</_>\n        <_>\n          8 9 2 1 2.</_>\n        <_>\n          10 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 5 -1.</_>\n        <_>\n          9 5 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 9 3 2 -1.</_>\n        <_>\n          10 9 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 9 3 2 -1.</_>\n        <_>\n          9 9 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 3 6 -1.</_>\n        <_>\n          9 8 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 4 8 -1.</_>\n        <_>\n          10 12 2 4 2.</_>\n        <_>\n          8 16 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 17 16 2 -1.</_>\n        <_>\n          10 17 8 1 2.</_>\n        <_>\n          2 18 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 3 8 -1.</_>\n        <_>\n          9 12 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 10 1 3 -1.</_>\n        <_>\n          3 11 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 10 6 -1.</_>\n        <_>\n          14 14 5 3 2.</_>\n        <_>\n          9 17 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 13 3 6 -1.</_>\n        <_>\n          14 15 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 19 18 1 -1.</_>\n        <_>\n          7 19 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 10 15 2 -1.</_>\n        <_>\n          7 10 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 17 16 3 -1.</_>\n        <_>\n          4 18 16 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 6 4 9 -1.</_>\n        <_>\n          8 9 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 16 2 4 -1.</_>\n        <_>\n          9 16 1 2 2.</_>\n        <_>\n          10 18 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 10 8 -1.</_>\n        <_>\n          5 9 10 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 1 4 2 -1.</_>\n        <_>\n          13 1 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 0 3 6 -1.</_>\n        <_>\n          14 2 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 2 2 -1.</_>\n        <_>\n          6 7 1 1 2.</_>\n        <_>\n          7 8 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 1 6 1 -1.</_>\n        <_>\n          9 1 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 11 3 3 -1.</_>\n        <_>\n          9 12 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 9 3 3 -1.</_>\n        <_>\n          13 9 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 3 3 -1.</_>\n        <_>\n          8 12 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 3 3 -1.</_>\n        <_>\n          6 9 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 11 1 3 -1.</_>\n        <_>\n          10 12 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 9 6 4 -1.</_>\n        <_>\n          10 9 3 2 2.</_>\n        <_>\n          7 11 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 2 2 -1.</_>\n        <_>\n          4 7 1 1 2.</_>\n        <_>\n          5 8 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 3 1 -1.</_>\n        <_>\n          6 7 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 3 2 3 -1.</_>\n        <_>\n          18 4 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 1 4 2 -1.</_>\n        <_>\n          13 1 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 1 4 2 -1.</_>\n        <_>\n          5 1 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 0 5 2 -1.</_>\n        <_>\n          3 1 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 7 6 4 -1.</_>\n        <_>\n          17 7 3 2 2.</_>\n        <_>\n          14 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 8 16 2 -1.</_>\n        <_>\n          4 9 16 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 11 5 6 -1.</_>\n        <_>\n          2 13 5 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 16 2 4 -1.</_>\n        <_>\n          5 16 1 2 2.</_>\n        <_>\n          6 18 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 6 2 12 -1.</_>\n        <_>\n          16 6 1 6 2.</_>\n        <_>\n          15 12 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 3 6 16 -1.</_>\n        <_>\n          15 3 2 16 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 12 12 -1.</_>\n        <_>\n          4 5 6 6 2.</_>\n        <_>\n          10 11 6 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 1 10 13 -1.</_>\n        <_>\n          10 1 5 13 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 5 2 2 -1.</_>\n        <_>\n          12 5 1 1 2.</_>\n        <_>\n          11 6 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 5 1 3 -1.</_>\n        <_>\n          13 6 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 4 2 4 -1.</_>\n        <_>\n          7 4 1 2 2.</_>\n        <_>\n          8 6 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 6 4 -1.</_>\n        <_>\n          10 5 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 4 6 -1.</_>\n        <_>\n          14 4 2 3 2.</_>\n        <_>\n          12 7 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 11 7 6 -1.</_>\n        <_>\n          12 13 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 6 6 -1.</_>\n        <_>\n          7 6 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 2 2 -1.</_>\n        <_>\n          9 9 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 6 2 2 -1.</_>\n        <_>\n          16 6 1 1 2.</_>\n        <_>\n          15 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 7 4 4 -1.</_>\n        <_>\n          16 7 2 2 2.</_>\n        <_>\n          14 9 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 6 2 -1.</_>\n        <_>\n          7 5 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 19 18 1 -1.</_>\n        <_>\n          7 19 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 3 3 3 -1.</_>\n        <_>\n          12 4 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 0 2 3 -1.</_>\n        <_>\n          16 1 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 3 3 -1.</_>\n        <_>\n          5 4 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 0 2 3 -1.</_>\n        <_>\n          2 1 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 6 2 2 -1.</_>\n        <_>\n          16 6 1 1 2.</_>\n        <_>\n          15 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 13 1 6 -1.</_>\n        <_>\n          10 16 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 7 10 2 -1.</_>\n        <_>\n          0 7 5 1 2.</_>\n        <_>\n          5 8 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 10 6 2 -1.</_>\n        <_>\n          3 11 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 18 4 2 -1.</_>\n        <_>\n          12 19 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 18 2 2 -1.</_>\n        <_>\n          13 18 1 1 2.</_>\n        <_>\n          12 19 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 19 2 1 -1.</_>\n        <_>\n          7 19 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 2 16 -1.</_>\n        <_>\n          0 4 1 8 2.</_>\n        <_>\n          1 12 1 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 1 4 9 -1.</_>\n        <_>\n          16 4 4 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 2 1 2 -1.</_>\n        <_>\n          10 3 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 14 4 6 -1.</_>\n        <_>\n          4 14 2 3 2.</_>\n        <_>\n          6 17 2 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 15 1 4 -1.</_>\n        <_>\n          4 17 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 20 4 -1.</_>\n        <_>\n          10 2 10 2 2.</_>\n        <_>\n          0 4 10 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 5 2 8 -1.</_>\n        <_>\n          14 9 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 12 4 5 -1.</_>\n        <_>\n          7 12 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 13 9 6 -1.</_>\n        <_>\n          0 15 9 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 11 3 -1.</_>\n        <_>\n          9 15 11 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 7 3 -1.</_>\n        <_>\n          7 15 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 6 2 2 -1.</_>\n        <_>\n          3 6 1 1 2.</_>\n        <_>\n          4 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 2 7 -1.</_>\n        <_>\n          7 7 1 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 5 1 3 -1.</_>\n        <_>\n          14 6 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 4 4 3 -1.</_>\n        <_>\n          13 5 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 7 4 4 -1.</_>\n        <_>\n          2 7 2 2 2.</_>\n        <_>\n          4 9 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 9 13 6 -1.</_>\n        <_>\n          2 12 13 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 1 3 4 -1.</_>\n        <_>\n          11 1 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 5 2 -1.</_>\n        <_>\n          9 9 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 14 11 3 -1.</_>\n        <_>\n          0 15 11 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 11 2 8 -1.</_>\n        <_>\n          8 15 2 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 10 6 -1.</_>\n        <_>\n          5 14 10 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 13 15 5 -1.</_>\n        <_>\n          10 13 5 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 10 1 10 -1.</_>\n        <_>\n          8 15 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 14 6 2 -1.</_>\n        <_>\n          6 14 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 7 3 -1.</_>\n        <_>\n          7 15 7 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 16 9 3 -1.</_>\n        <_>\n          7 17 9 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 3 -1.</_>\n        <_>\n          8 8 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 5 1 6 -1.</_>\n        <_>\n          3 8 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 5 11 2 -1.</_>\n        <_>\n          6 6 11 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 3 2 -1.</_>\n        <_>\n          10 0 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 1 3 -1.</_>\n        <_>\n          5 6 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 2 -1.</_>\n        <_>\n          9 7 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 2 10 6 -1.</_>\n        <_>\n          10 2 5 3 2.</_>\n        <_>\n          5 5 5 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 6 4 -1.</_>\n        <_>\n          8 4 3 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 16 3 4 -1.</_>\n        <_>\n          9 16 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 13 2 6 -1.</_>\n        <_>\n          9 13 1 3 2.</_>\n        <_>\n          10 16 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 1 -1.</_>\n        <_>\n          10 8 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 5 18 15 -1.</_>\n        <_>\n          2 10 18 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 3 6 2 -1.</_>\n        <_>\n          4 3 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 6 6 2 -1.</_>\n        <_>\n          9 6 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 17 4 3 -1.</_>\n        <_>\n          8 18 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 13 2 3 -1.</_>\n        <_>\n          10 14 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 10 20 4 -1.</_>\n        <_>\n          0 12 20 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 6 4 -1.</_>\n        <_>\n          5 7 3 2 2.</_>\n        <_>\n          8 9 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 12 1 2 -1.</_>\n        <_>\n          11 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 10 2 3 -1.</_>\n        <_>\n          10 11 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 5 2 2 -1.</_>\n        <_>\n          9 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 1 10 -1.</_>\n        <_>\n          4 9 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 18 4 2 -1.</_>\n        <_>\n          11 18 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 18 3 2 -1.</_>\n        <_>\n          12 19 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 6 16 6 -1.</_>\n        <_>\n          0 6 8 3 2.</_>\n        <_>\n          8 9 8 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 6 4 12 -1.</_>\n        <_>\n          7 12 4 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 18 4 2 -1.</_>\n        <_>\n          11 18 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 18 3 2 -1.</_>\n        <_>\n          12 19 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 12 1 2 -1.</_>\n        <_>\n          8 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 1 3 -1.</_>\n        <_>\n          8 14 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 18 4 2 -1.</_>\n        <_>\n          11 18 2 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 4 6 -1.</_>\n        <_>\n          14 12 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 0 3 4 -1.</_>\n        <_>\n          7 0 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 0 2 8 -1.</_>\n        <_>\n          4 0 1 4 2.</_>\n        <_>\n          5 4 1 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 17 9 3 -1.</_>\n        <_>\n          14 17 3 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 2 4 5 -1.</_>\n        <_>\n          16 2 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 5 9 -1.</_>\n        <_>\n          0 5 5 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 2 3 2 -1.</_>\n        <_>\n          8 2 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 17 9 3 -1.</_>\n        <_>\n          14 17 3 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 2 4 5 -1.</_>\n        <_>\n          16 2 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 17 9 3 -1.</_>\n        <_>\n          3 17 3 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 4 5 -1.</_>\n        <_>\n          2 2 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 11 10 9 -1.</_>\n        <_>\n          5 14 10 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 6 3 3 -1.</_>\n        <_>\n          9 7 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 17 5 3 -1.</_>\n        <_>\n          3 18 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 5 4 7 -1.</_>\n        <_>\n          9 5 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 2 5 -1.</_>\n        <_>\n          9 8 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 2 18 2 -1.</_>\n        <_>\n          2 3 18 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 8 15 6 -1.</_>\n        <_>\n          7 8 5 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 2 5 -1.</_>\n        <_>\n          10 8 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 10 4 6 -1.</_>\n        <_>\n          12 12 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 3 6 2 -1.</_>\n        <_>\n          14 4 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 2 3 -1.</_>\n        <_>\n          5 6 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 6 3 3 -1.</_>\n        <_>\n          4 7 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 3 3 -1.</_>\n        <_>\n          14 13 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 12 11 3 -1.</_>\n        <_>\n          6 13 11 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 3 6 -1.</_>\n        <_>\n          1 4 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 4 7 -1.</_>\n        <_>\n          3 0 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 8 3 4 -1.</_>\n        <_>\n          10 8 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 9 2 2 -1.</_>\n        <_>\n          10 10 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 8 3 4 -1.</_>\n        <_>\n          9 8 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 10 10 -1.</_>\n        <_>\n          4 9 10 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 3 2 -1.</_>\n        <_>\n          10 10 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 10 3 2 -1.</_>\n        <_>\n          9 11 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 10 3 2 -1.</_>\n        <_>\n          9 10 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 4 14 12 -1.</_>\n        <_>\n          2 4 7 6 2.</_>\n        <_>\n          9 10 7 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 12 1 6 -1.</_>\n        <_>\n          10 15 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 3 8 16 -1.</_>\n        <_>\n          11 3 4 8 2.</_>\n        <_>\n          7 11 4 8 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 6 8 10 -1.</_>\n        <_>\n          5 6 4 5 2.</_>\n        <_>\n          9 11 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 2 8 8 -1.</_>\n        <_>\n          6 2 4 4 2.</_>\n        <_>\n          10 6 4 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 5 4 2 -1.</_>\n        <_>\n          12 5 2 1 2.</_>\n        <_>\n          10 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 3 3 -1.</_>\n        <_>\n          12 5 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 19 12 1 -1.</_>\n        <_>\n          8 19 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 2 3 1 -1.</_>\n        <_>\n          9 2 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 17 4 3 -1.</_>\n        <_>\n          13 18 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 6 3 -1.</_>\n        <_>\n          7 15 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 2 3 -1.</_>\n        <_>\n          9 15 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 6 3 -1.</_>\n        <_>\n          7 16 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 3 2 -1.</_>\n        <_>\n          11 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 2 3 -1.</_>\n        <_>\n          14 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 10 4 6 -1.</_>\n        <_>\n          4 12 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 13 3 2 -1.</_>\n        <_>\n          4 14 3 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 16 2 3 -1.</_>\n        <_>\n          9 17 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 18 3 2 -1.</_>\n        <_>\n          11 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 18 3 2 -1.</_>\n        <_>\n          8 18 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 10 4 2 -1.</_>\n        <_>\n          1 11 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 4 6 3 -1.</_>\n        <_>\n          12 5 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 4 1 3 -1.</_>\n        <_>\n          14 5 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 4 6 3 -1.</_>\n        <_>\n          2 5 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 4 1 3 -1.</_>\n        <_>\n          5 5 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 3 3 -1.</_>\n        <_>\n          14 13 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 12 2 3 -1.</_>\n        <_>\n          15 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 16 4 3 -1.</_>\n        <_>\n          3 17 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 0 4 2 -1.</_>\n        <_>\n          8 1 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 20 1 -1.</_>\n        <_>\n          0 0 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 3 4 -1.</_>\n        <_>\n          10 7 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 0 20 1 -1.</_>\n        <_>\n          10 0 10 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 3 4 -1.</_>\n        <_>\n          9 7 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 6 19 3 -1.</_>\n        <_>\n          1 7 19 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 4 2 -1.</_>\n        <_>\n          12 8 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 3 3 -1.</_>\n        <_>\n          7 9 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 3 3 -1.</_>\n        <_>\n          8 7 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 9 16 3 -1.</_>\n        <_>\n          2 10 16 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 2 12 -1.</_>\n        <_>\n          9 8 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 3 2 5 -1.</_>\n        <_>\n          8 3 1 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 3 -1.</_>\n        <_>\n          9 8 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 4 3 -1.</_>\n        <_>\n          9 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 8 6 4 -1.</_>\n        <_>\n          10 8 3 2 2.</_>\n        <_>\n          7 10 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 2 2 -1.</_>\n        <_>\n          10 7 1 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 5 6 6 -1.</_>\n        <_>\n          7 5 2 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 1 3 6 -1.</_>\n        <_>\n          10 1 1 6 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 5 12 2 -1.</_>\n        <_>\n          8 5 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 2 6 4 -1.</_>\n        <_>\n          6 2 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 8 2 -1.</_>\n        <_>\n          4 8 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 6 14 6 -1.</_>\n        <_>\n          10 6 7 3 2.</_>\n        <_>\n          3 9 7 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 6 14 3 -1.</_>\n        <_>\n          3 6 7 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 2 2 -1.</_>\n        <_>\n          0 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 13 4 3 -1.</_>\n        <_>\n          8 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 0 3 20 -1.</_>\n        <_>\n          14 0 1 20 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 8 10 3 -1.</_>\n        <_>\n          10 9 10 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 0 3 20 -1.</_>\n        <_>\n          5 0 1 20 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 10 3 -1.</_>\n        <_>\n          0 9 10 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 5 3 4 -1.</_>\n        <_>\n          13 5 1 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 12 4 -1.</_>\n        <_>\n          10 7 4 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 14 6 6 -1.</_>\n        <_>\n          1 14 3 3 2.</_>\n        <_>\n          4 17 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 17 6 2 -1.</_>\n        <_>\n          1 18 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 8 6 12 -1.</_>\n        <_>\n          17 8 3 6 2.</_>\n        <_>\n          14 14 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 5 2 2 -1.</_>\n        <_>\n          18 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 16 4 2 -1.</_>\n        <_>\n          3 16 2 1 2.</_>\n        <_>\n          5 17 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 16 6 2 -1.</_>\n        <_>\n          4 16 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 8 6 12 -1.</_>\n        <_>\n          17 8 3 6 2.</_>\n        <_>\n          14 14 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 5 2 2 -1.</_>\n        <_>\n          18 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 16 9 2 -1.</_>\n        <_>\n          8 16 3 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 14 6 6 -1.</_>\n        <_>\n          3 14 3 3 2.</_>\n        <_>\n          6 17 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 8 6 12 -1.</_>\n        <_>\n          17 8 3 6 2.</_>\n        <_>\n          14 14 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 7 2 12 -1.</_>\n        <_>\n          11 11 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 6 12 -1.</_>\n        <_>\n          0 8 3 6 2.</_>\n        <_>\n          3 14 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 2 12 -1.</_>\n        <_>\n          7 11 2 4 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 1 2 -1.</_>\n        <_>\n          14 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 13 8 1 -1.</_>\n        <_>\n          12 13 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 16 6 -1.</_>\n        <_>\n          0 6 16 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 4 8 2 -1.</_>\n        <_>\n          1 4 4 1 2.</_>\n        <_>\n          5 5 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 12 1 2 -1.</_>\n        <_>\n          14 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          15 12 2 3 -1.</_>\n        <_>\n          15 13 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 16 3 3 -1.</_>\n        <_>\n          8 17 3 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 12 1 2 -1.</_>\n        <_>\n          5 13 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 4 3 15 -1.</_>\n        <_>\n          14 4 1 15 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          17 3 2 6 -1.</_>\n        <_>\n          18 3 1 3 2.</_>\n        <_>\n          17 6 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 3 15 -1.</_>\n        <_>\n          5 4 1 15 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 3 2 6 -1.</_>\n        <_>\n          1 3 1 3 2.</_>\n        <_>\n          2 6 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 15 12 4 -1.</_>\n        <_>\n          7 17 12 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 0 19 3 -1.</_>\n        <_>\n          1 1 19 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 17 10 2 -1.</_>\n        <_>\n          3 17 5 1 2.</_>\n        <_>\n          8 18 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 5 10 15 -1.</_>\n        <_>\n          2 10 10 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 8 3 4 -1.</_>\n        <_>\n          13 10 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          19 13 1 2 -1.</_>\n        <_>\n          19 14 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 8 3 4 -1.</_>\n        <_>\n          4 10 3 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 13 1 2 -1.</_>\n        <_>\n          0 14 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 2 12 -1.</_>\n        <_>\n          12 13 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 7 2 2 -1.</_>\n        <_>\n          15 7 1 1 2.</_>\n        <_>\n          14 8 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 3 8 2 -1.</_>\n        <_>\n          5 4 8 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 2 6 -1.</_>\n        <_>\n          0 4 2 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 2 2 12 -1.</_>\n        <_>\n          19 2 1 6 2.</_>\n        <_>\n          18 8 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 1 1 2 -1.</_>\n        <_>\n          18 2 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 2 2 12 -1.</_>\n        <_>\n          0 2 1 6 2.</_>\n        <_>\n          1 8 1 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 1 1 2 -1.</_>\n        <_>\n          1 2 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          16 4 4 14 -1.</_>\n        <_>\n          18 4 2 7 2.</_>\n        <_>\n          16 11 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 14 1 6 -1.</_>\n        <_>\n          10 17 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 4 4 14 -1.</_>\n        <_>\n          0 4 2 7 2.</_>\n        <_>\n          2 11 2 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 1 6 -1.</_>\n        <_>\n          9 17 1 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 4 3 -1.</_>\n        <_>\n          9 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 2 -1.</_>\n        <_>\n          8 7 4 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 8 4 3 -1.</_>\n        <_>\n          0 9 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 2 2 -1.</_>\n        <_>\n          4 7 1 1 2.</_>\n        <_>\n          5 8 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 2 1 -1.</_>\n        <_>\n          13 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 4 4 5 -1.</_>\n        <_>\n          11 4 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 8 3 3 -1.</_>\n        <_>\n          5 8 1 3 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 3 8 1 -1.</_>\n        <_>\n          4 3 4 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          13 7 2 1 -1.</_>\n        <_>\n          13 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 7 3 2 -1.</_>\n        <_>\n          15 7 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 7 2 1 -1.</_>\n        <_>\n          6 7 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 7 3 2 -1.</_>\n        <_>\n          4 7 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          18 5 2 2 -1.</_>\n        <_>\n          18 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 14 2 2 -1.</_>\n        <_>\n          13 14 1 1 2.</_>\n        <_>\n          12 15 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          0 5 2 2 -1.</_>\n        <_>\n          0 6 2 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 14 2 2 -1.</_>\n        <_>\n          6 14 1 1 2.</_>\n        <_>\n          7 15 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 12 6 5 -1.</_>\n        <_>\n          9 12 2 5 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 17 5 2 -1.</_>\n        <_>\n          12 18 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 11 6 3 -1.</_>\n        <_>\n          4 11 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 9 6 3 -1.</_>\n        <_>\n          4 9 3 3 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 7 2 12 -1.</_>\n        <_>\n          12 13 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 7 5 3 -1.</_>\n        <_>\n          8 8 5 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 2 12 -1.</_>\n        <_>\n          6 13 2 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 2 9 18 -1.</_>\n        <_>\n          4 2 3 18 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 17 5 2 -1.</_>\n        <_>\n          12 18 5 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 2 -1.</_>\n        <_>\n          4 7 6 2 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 7 6 1 -1.</_>\n        <_>\n          8 7 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 3 3 2 -1.</_>\n        <_>\n          8 3 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 4 3 1 -1.</_>\n        <_>\n          10 4 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          11 11 3 1 -1.</_>\n        <_>\n          12 11 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          8 4 3 1 -1.</_>\n        <_>\n          9 4 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 11 3 1 -1.</_>\n        <_>\n          7 11 1 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 13 6 6 -1.</_>\n        <_>\n          12 15 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          14 13 1 6 -1.</_>\n        <_>\n          14 15 1 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 13 6 6 -1.</_>\n        <_>\n          2 15 6 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 5 18 1 -1.</_>\n        <_>\n          7 5 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 12 2 -1.</_>\n        <_>\n          10 7 6 1 2.</_>\n        <_>\n          4 8 6 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 1 8 10 -1.</_>\n        <_>\n          10 1 4 5 2.</_>\n        <_>\n          6 6 4 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          3 13 4 3 -1.</_>\n        <_>\n          3 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 13 4 3 -1.</_>\n        <_>\n          6 14 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 14 4 3 -1.</_>\n        <_>\n          9 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 9 2 3 -1.</_>\n        <_>\n          12 10 2 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 14 4 3 -1.</_>\n        <_>\n          7 15 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 0 2 1 -1.</_>\n        <_>\n          10 0 1 1 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 10 5 -1.</_>\n        <_>\n          5 0 5 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 8 7 -1.</_>\n        <_>\n          6 6 4 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 10 5 -1.</_>\n        <_>\n          10 0 5 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          6 6 8 7 -1.</_>\n        <_>\n          10 6 4 7 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 9 10 8 -1.</_>\n        <_>\n          10 9 5 4 2.</_>\n        <_>\n          5 13 5 4 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 0 4 10 -1.</_>\n        <_>\n          12 0 2 5 2.</_>\n        <_>\n          10 5 2 5 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          1 4 8 3 -1.</_>\n        <_>\n          1 5 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 4 8 3 -1.</_>\n        <_>\n          4 5 8 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          9 7 4 3 -1.</_>\n        <_>\n          9 8 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          12 8 3 12 -1.</_>\n        <_>\n          12 14 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          7 7 4 3 -1.</_>\n        <_>\n          7 8 4 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 8 3 12 -1.</_>\n        <_>\n          5 14 3 6 2.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          10 0 7 6 -1.</_>\n        <_>\n          10 2 7 2 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          2 1 18 1 -1.</_>\n        <_>\n          8 1 6 1 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          5 0 3 8 -1.</_>\n        <_>\n          6 0 1 8 3.</_></rects></_>\n    <_>\n      <rects>\n        <_>\n          4 7 4 2 -1.</_>\n        <_>\n          4 8 4 1 2.</_></rects></_></features></cascade>\n</opencv_storage>\n"
  },
  {
    "path": "app/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <color name=\"colorPrimary\">#6200EE</color>\n    <color name=\"colorPrimaryDark\">#3700B3</color>\n    <color name=\"colorAccent\">#03DAC5</color>\n    <color name=\"white\">#FFFFFF</color>\n    <color name=\"light_white\">#EDE5E5</color>\n    <color name=\"black\">#000000</color>\n    <color name=\"orange\">#FF9800</color>\n    <color name=\"transparent\"> #00000000</color>\n    <color name=\"light_orange\">#FDA35D</color>\n    <color name=\"table_detail\">#FFCC80</color>\n    <color name=\"border_detail\">#6FFF5722</color>\n    <color name=\"tfe_semi_transparent\">#66000000</color>\n</resources>"
  },
  {
    "path": "app/src/main/res/values/font_certs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <array name=\"com_google_android_gms_fonts_certs\">\n        <item>@array/com_google_android_gms_fonts_certs_dev</item>\n        <item>@array/com_google_android_gms_fonts_certs_prod</item>\n    </array>\n    <string-array name=\"com_google_android_gms_fonts_certs_dev\">\n        <item>\n            MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs=\n        </item>\n    </string-array>\n    <string-array name=\"com_google_android_gms_fonts_certs_prod\">\n        <item>\n            MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK\n        </item>\n    </string-array>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/preloaded_fonts.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <array name=\"preloaded_fonts\" translatable=\"false\">\n        <item>@font/muli_black</item>\n        <item>@font/muli_extralight</item>\n        <item>@font/roboto_bold</item>\n    </array>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/strings.xml",
    "content": "<resources>\n    <string name=\"app_name\">Good Point</string>\n    <!-- TODO: Remove or change this placeholder text -->\n    <string name=\"hello_blank_fragment\">Hello blank fragment</string>\n    <string name=\"ObjectMissing\">Object Missing</string>\n    <string name=\"tfe_od_camera_error\" translation_description=\"Error regarding camera support[CHAR_LIMIT=40]\">This device doesn\\'t support Camera2 API.</string>\n    <string name=\"nav_drawer_open\">Open navigation drawer</string>\n    <string name=\"nav_drawer_close\">Close navigation drawer</string>\n    <string name=\"ItemMissing\">Item Missing</string>\n    <string name=\"dateOfMissing\">Date of missing</string>\n    <string name=\"LostItemDetails\">Lost object details</string>\n    <string name=\"TypeOfTheObject\">Type of the object</string>\n    <string name=\"Person\">Person</string>\n    <string name=\"Item\">Item</string>\n    <string name=\"AddImageOfPerson\">Add images of person</string>\n    <string name=\"AddItemDetails\">Add item details</string>\n    <string name=\"AddPersonDetails\">Add Person details</string>\n    <string name=\"SerialID\">Serial ID(optional)</string>\n    <string name=\"Match\">Match</string>\n    <string name=\"Description\">Description</string>\n    <string name=\"ColorOfObject\">Color</string>\n    <string name=\"ObjStat\">Object status</string>\n    <string name=\"signup_success\">Sign up was successful.</string>\n    <string name=\"type\">Type :<font color='#FF0000'> *</font></string>\n    <string name=\"status\">status</string>\n\n    <string name=\"hasfound\">Has found</string>\n    <string name=\"objDetails\"><a href=\"\">Object Details</a></string>\n\n    <string name=\"goToLogin\">Go To Login</string>\n    <string name=\"text_start\">You can start using the application now.</string>\n\n    <string-array name=\"Types\">\n        <item>Type</item>\n        <item>Phone</item>\n        <item>Labtop</item>\n        <item>Wallet</item>\n        <item>Bag</item>\n        <item>Watch</item>\n        <item>Money</item>\n        <item>Glasses or sunglasses</item>\n        <item>Books</item>\n        <item>Others</item>\n    </string-array>\n    <string name=\"City\">City<font color='#FF0000'> *</font></string>\n    <string name=\"Cairo\">Cairo</string>\n    <string name=\"Alexandria\">Alexandria</string>\n    <string name=\"ShubraElKheima\">Shubra El Kheima</string>\n    <string name=\"ElBeheira\">El Beheira</string>\n    <string name=\"Giza\">Giza</string>\n    <string name=\"PortSaid\">Port Said</string>\n    <string name=\"Suez\">Suez</string>\n    <string name=\"ElMahallaElKubra\">El Mahalla El Kubra</string>\n    <string name=\"Luxor\">Luxor</string>\n    <string name=\"Mansoura\">Mansoura</string>\n    <string name=\"Tanta\">Tanta</string>\n    <string name=\"Asyut\">Asyut</string>\n    <string name=\"Ismailia\">Ismailia</string>\n    <string name=\"Faiyum\">Faiyum</string>\n    <string name=\"Zagazig\">Zagazig</string>\n    <string name=\"Damietta\">Damietta</string>\n    <string name=\"Aswan\">Aswan</string>\n    <string name=\"Minya\">Minya</string>\n    <string name=\"BeniSuef\">Beni Suef</string>\n    <string name=\"Hurghada\">Hurghada</string>\n    <string name=\"Qena\">Qena</string>\n    <string name=\"Sohag\">Sohag</string>\n    <string name=\"ShibinElKom\">Shibin El Kom</string>\n    <string name=\"Banha\">Banha</string>\n    <string name=\"Arish\">Arish</string>\n    <string name=\"SharmElSheikh\">Sharm El Sheikh</string>\n    <string name=\"Red\"> Red</string>\n    <string name=\"Yellow\">Yellow</string>\n    <string name=\"Blue\">Blue</string>\n    <string name=\"Orange\">Orange</string>\n    <string name=\"Green\">Green</string>\n    <string name=\"Violet\">Violet</string>\n    <string name=\"Brown\">Brown</string>\n    <string name=\"Magenta\">Magenta</string>\n    <string name=\"Tan\">Tan</string>\n    <string name=\"Cyan\">Cyan</string>\n    <string name=\"Olive\">Olive</string>\n    <string name=\"Pink\">Pink</string>\n    <string name=\"Black\">Black</string>\n    <string name=\"White\">White</string>\n    <string name=\"Gray\">Gray</string>\n    <string name=\"Purple\">Purple</string>\n    <string name=\"TheBrand\">The brand</string>\n    <string name=\"ObjectFound\">Object found</string>\n    <string name=\"dateOfFound\">Date of found</string>\n    <string name=\"ObjectLocation\">Location</string>\n    <string name=\"FoundItemDetails\">Found object details</string>\n    <string name=\"CurrentLocation\">My current location</string>\n    <string name=\"LocatingPlace\">Locating the place</string>\n    <string name=\"title_activity_detect_location\">Map</string>\n\n    <string name=\"UserName\"> User Name<font color='#FF0000'> *</font></string>\n    <string name=\"Email\"> Email<font color='#FF0000'> *</font></string>\n    <string name=\"Email2\"> Email</string>\n    <string name=\"Password\"> Password<font color='#FF0000'> *</font></string>\n    <string name=\"Password2\"> Password</string>\n    <string name=\"PhoneNumber\"> Phone Number</string>\n    <string name=\"PhoneNumber2\"> Phone Number<font color='#FF0000'> *</font></string>\n    <string name=\"BirthOfDate\"> Birth of date</string>\n    <string name=\"CreateAccount\">Create Account</string>\n    <string name=\"GoodPoint\"> Good Point </string>\n    <string name=\"CreateNewAccount\">Create New Account</string>\n    <string name=\"SignIn\">SIGN IN</string>\n    <string name=\"RememberMe\">Remember Me</string>\n    <string name=\"or\">OR</string>\n    <string name=\"Signup\">Sign up</string>\n    <string name=\"ForgetPassword\">Forget Password?</string>\n\n    <string name=\"Home\">Home</string>\n    <string name=\"Matched\">Matched</string>\n    <string name=\"Location\">Location</string>\n    <string name=\"Profile\">Profile</string>\n    <string name=\"Add_point\"><b>Put point</b></string>\n    z\n    <string name=\"Lost\">Lost objects</string>\n    <string name=\"Found\">Found objects</string>\n    <string name=\"Hi_message\"><b></b></string>\n    <string name=\"Daily_message\">Good Evening</string>\n    <string name=\"Losses\"><b>The Losses</b></string>\n    <string name=\"Founds\">The Findings</string>\n    <string name=\"userName\"> User Name</string>\n\n    <string name=\"button_lost\"><b><i>Lost</i></b></string>\n    <string name=\"button_found\"><b><i>Found</i></b></string>\n\n    <string name=\"capture\">Capture Image</string>\n    <string name=\"choose\">Choose From Gallery</string>\n\n    <string name=\"delete\">Delete</string>\n\n\n    <string name=\"HelpOthers\">Help others easy if you found anything</string>\n    <string name=\"Skip\">Skip</string>\n    <string name=\"skip\">Skip</string>\n    <string name=\"play_again\">play_again</string>\n    <string name=\"next\">Next  ></string>\n    <string name=\"next_btn\">Next</string>\n    <string name=\"start\">Start</string>\n    <string name=\"forget_pass_details\">provide your account\\'s email for which you want to reset your password</string>\n    <string name=\"make_selection\">Make Selection</string>\n    <string name=\"via_sms\">via sms:</string>\n    <string name=\"make_selection_detail1\">+923335545644</string>\n    <string name=\"via_mail\">via mail:</string>\n    <string name=\"mak_selection_details2\">example@gmail.com</string>\n    <string name=\"forget_password2\">Forget Password</string>\n    <string name=\"new_credentials\">New credentials</string>\n    <string name=\"new_credentials_details\">Your identity has been verified set your new password</string>\n    <string name=\"password_updated\">Password Updated</string>\n    <string name=\"updated_details\">Your Password has been updated</string>\n    <string name=\"login1\">Login</string>\n    <string name=\"code\">Code</string>\n    <string name=\"code_verification\">Verification</string>\n    <string name=\"verify_code\">Verify Code</string>\n    <string name=\"find_your_missed\">Find your missed</string>\n    <string name=\"item_easy\">item easy</string>\n    <string name=\"ImageItem\">Do you have a picture for this item?</string>\n    <string name=\"PersonName\">Person name</string>\n    <string name=\"Crop\">Crop</string>\n</resources>"
  },
  {
    "path": "app/src/main/res/values/styles.xml",
    "content": "<resources>\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.DarkActionBar\">\n        <!-- Customize your theme here. -->\n        <item name=\"colorPrimary\">#151514</item>\n        <item name=\"colorPrimaryDark\">#F38E3A</item>\n        <item name=\"colorAccent\">#F38E3A</item>\n    </style>\n    <style name=\"Theme2\" parent=\"Theme.MaterialComponents.Light.NoActionBar\">\n        <item name=\"colorPrimary\">@color/orange</item>\n    </style>\n    <style name=\"NoActionBar\" parent=\"Theme.AppCompat.Light.NoActionBar\">\n        <item name=\"colorPrimary\">#FF5722</item>\n        <item name=\"colorPrimaryDark\">#F38E3A</item>\n        <item name=\"colorAccent\">#F38E3A</item>\n        <item name = \"android:windowActionBar\">false</item>\n        <item name = \"android:windowNoTitle\">true</item>\n    </style>\n\n    <style name=\"Widget.Button.White.BlueText.BlueText.FrameImage\" parent=\"@android:style/Widget.Button\">\n        <item name=\"android:background\">@drawable/ic_close</item>\n        <item name=\"android:gravity\">center</item>\n        <item name=\"android:textAppearance\">?android:attr/textAppearanceMedium</item>\n    </style>\n\n    <style name=\"ErrorTextAppearance\" parent=\"@android:style/TextAppearance\">\n        <!-- Customize your theme here. -->\n        <item name=\"android:textColor\">@android:color/black</item>\n        <item name=\"android:textSize\">14sp</item>\n    </style>\n\n    <!-- For BottomSheet style -->\n    <style name=\"BottomSheetTheme\" parent=\"Theme.Design.Light.BottomSheetDialog\">\n        <item name=\"bottomSheetStyle\">@style/BottomSheetStyle</item>\n    </style>\n    <style name=\"BottomSheetStyle\" parent=\"Widget.Design.BottomSheet.Modal\">\n        <item name=\"android:background\">@android:color/transparent</item>\n    </style>\n</resources>"
  },
  {
    "path": "app/src/release/res/values/google_maps_api.xml",
    "content": "<resources>\n    <!--\n    TODO: Before you release your application, you need a Google Maps API key.\n\n    To do this, you can either add your release key credentials to your existing\n    key, or create a new key.\n\n    Note that this file specifies the API key for the release build target.\n    If you have previously set up a key for the debug target with the debug signing certificate,\n    you will also need to set up a key for your release certificate.\n\n    Follow the directions here:\n\n    https://developers.google.com/maps/documentation/android/signup\n\n    Once you have your key (it starts with \"AIza\"), replace the \"google_maps_key\"\n    string in this file.\n    -->\n    <string name=\"google_maps_key\" templateMergeStrategy=\"preserve\" translatable=\"false\">YOUR_KEY_HERE</string>\n</resources>"
  },
  {
    "path": "app/src/test/java/com/helloworld/goodpoint/ExampleUnitTest.java",
    "content": "package com.helloworld.goodpoint;\n\nimport org.junit.Test;\n\nimport static org.junit.Assert.*;\n\n/**\n * Example local unit test, which will execute on the development machine (host).\n *\n * @see <a href=\"http://d.android.com/tools/testing\">Testing documentation</a>\n */\npublic class ExampleUnitTest {\n    @Test\n    public void addition_isCorrect() {\n        assertEquals(4, 2 + 2);\n    }\n}"
  },
  {
    "path": "backend/.idea/.gitignore",
    "content": "# Default ignored files\n/shelf/\n/workspace.xml\n"
  },
  {
    "path": "backend/.idea/inspectionProfiles/profiles_settings.xml",
    "content": "<component name=\"InspectionProjectProfileManager\">\n  <settings>\n    <option name=\"USE_PROJECT_PROFILE\" value=\"false\" />\n    <version value=\"1.0\" />\n  </settings>\n</component>"
  },
  {
    "path": "backend/.idea/misc.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n<<<<<<< HEAD\n  <component name=\"ProjectRootManager\" version=\"2\" project-jdk-name=\"Python 3.8 (first_project)\" project-jdk-type=\"Python SDK\" />\n=======\n  <component name=\"ProjectRootManager\" version=\"2\" project-jdk-name=\"Python 3.8 (backend)\" project-jdk-type=\"Python SDK\" />\n>>>>>>> 1bd05f07e19dcd3d926d80d58770fda835d45d0a\n  <component name=\"PyCharmProfessionalAdvertiser\">\n    <option name=\"shown\" value=\"true\" />\n  </component>\n</project>"
  },
  {
    "path": "backend/.idea/modules.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ProjectModuleManager\">\n    <modules>\n      <module fileurl=\"file://$PROJECT_DIR$/.idea/backend.iml\" filepath=\"$PROJECT_DIR$/.idea/backend.iml\" />\n    </modules>\n  </component>\n</project>"
  },
  {
    "path": "backend/.idea/vcs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"VcsDirectoryMappings\">\n    <mapping directory=\"$PROJECT_DIR$/..\" vcs=\"Git\" />\n  </component>\n</project>"
  },
  {
    "path": "backend/find_losts/__init__.py",
    "content": ""
  },
  {
    "path": "backend/find_losts/admin.py",
    "content": "from django.contrib import admin\nfrom .models import LostObject, LostItem\n\n\n# Register your models here.\n@admin.register(LostObject)\nclass LostObjectAdmin(admin.ModelAdmin):\n    list_display = ['id', 'date', 'city', 'user_id']\n\n\n@admin.register(LostItem)\nclass LostItemAdmin(admin.ModelAdmin):\n    list_display = ['id', 'type', 'color', 'brand', 'description', 'serial_number', 'image']\n"
  },
  {
    "path": "backend/find_losts/apps.py",
    "content": "from django.apps import AppConfig\n\n\nclass FindLostsConfig(AppConfig):\n    default_auto_field = 'django.db.models.AutoField'\n    name = 'find_losts'\n"
  },
  {
    "path": "backend/find_losts/map.txt",
    "content": "#views\nclass MapView(generics.ListAPIView):\n    queryset = FoundItem.objects.select_related('id')\n    serializer_class = MapSerializer\n\n#serializers\nclass MapSerializer(serializers.ModelSerializer):\n    longitude = serializers.DecimalField(max_digits=14, decimal_places=10, source='id.longitude')\n    latitude = serializers.DecimalField(max_digits=14, decimal_places=10, source='id.latitude')\n    user_id = serializers.IntegerField(source='id.user_id.id')\n\n    class Meta:\n        model = FoundItem\n        fields = ['longitude', 'latitude', 'user_id']\n\n\n#url\nfrom user_account import views as user_view\n\n    path('founder/<int:id>/', user_view.WhoFoundItemView.as_view(), name='who found item'),\n    path('map/',views.MapView.as_view(), name='map'),"
  },
  {
    "path": "backend/find_losts/migrations/0001_initial.py",
    "content": "# Generated by Django 3.2.3 on 2021-05-26 20:40\n\nfrom django.conf import settings\nfrom django.db import migrations, models\nimport django.db.models.deletion\nimport find_losts.models\n\n\nclass Migration(migrations.Migration):\n\n    initial = True\n\n    dependencies = [\n        migrations.swappable_dependency(settings.AUTH_USER_MODEL),\n        ('notification', '0002_notification_user_id'),\n    ]\n\n    operations = [\n        migrations.CreateModel(\n            name='FoundObject',\n            fields=[\n                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n                ('date', models.DateField()),\n                ('longitude', models.DecimalField(decimal_places=10, default=0.0, max_digits=14)),\n                ('latitude', models.DecimalField(decimal_places=10, default=0.0, max_digits=14)),\n                ('city', models.CharField(max_length=35)),\n                ('is_matched', models.BooleanField(default=False)),\n                ('user_id', models.ForeignKey(db_column='user_id', on_delete=django.db.models.deletion.CASCADE, related_name='found', to=settings.AUTH_USER_MODEL)),\n            ],\n            options={\n                'db_table': 'found_object',\n            },\n        ),\n        migrations.CreateModel(\n            name='LostObject',\n            fields=[\n                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n                ('date', models.DateField()),\n                ('city', models.CharField(max_length=35)),\n                ('is_matched', models.BooleanField(default=False)),\n                ('user_id', models.ForeignKey(db_column='user_id', on_delete=django.db.models.deletion.CASCADE, related_name='lost', to=settings.AUTH_USER_MODEL)),\n            ],\n            options={\n                'db_table': 'lost_object',\n            },\n        ),\n        migrations.CreateModel(\n            name='LostPersonImage',\n            fields=[\n                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n                ('image', models.ImageField(blank=True, null=True, upload_to=find_losts.models.lost_person_images)),\n            ],\n            options={\n                'db_table': 'lost_person_image',\n            },\n        ),\n        migrations.CreateModel(\n            name='FoundItem',\n            fields=[\n                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.foundobject')),\n                ('type', models.CharField(max_length=20)),\n                ('color', models.CharField(max_length=20)),\n                ('brand', models.CharField(max_length=50)),\n                ('description', models.CharField(max_length=700)),\n                ('serial_number', models.CharField(blank=True, max_length=100, null=True)),\n                ('image', models.ImageField(blank=True, null=True, upload_to='')),\n            ],\n            options={\n                'db_table': 'found_item',\n            },\n        ),\n        migrations.CreateModel(\n            name='FoundPerson',\n            fields=[\n                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.foundobject')),\n                ('name', models.CharField(blank=True, max_length=150, null=True)),\n                ('image', models.ImageField(blank=True, null=True, upload_to=find_losts.models.found_person_images)),\n            ],\n            options={\n                'db_table': 'found_person',\n            },\n        ),\n        migrations.CreateModel(\n            name='LostItem',\n            fields=[\n                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.lostobject')),\n                ('type', models.CharField(max_length=20)),\n                ('color', models.CharField(max_length=20)),\n                ('brand', models.CharField(max_length=50)),\n                ('description', models.CharField(max_length=700)),\n                ('serial_number', models.CharField(blank=True, max_length=100, null=True)),\n                ('image', models.ImageField(blank=True, null=True, upload_to='')),\n            ],\n            options={\n                'db_table': 'lost_item',\n            },\n        ),\n        migrations.CreateModel(\n            name='LostPerson',\n            fields=[\n                ('id', models.OneToOneField(blank=True, db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.lostobject')),\n                ('name', models.CharField(max_length=150)),\n                ('image', models.ImageField(blank=True, null=True, upload_to=find_losts.models.lost_person_images)),\n            ],\n            options={\n                'db_table': 'lost_person',\n            },\n        ),\n        migrations.CreateModel(\n            name='MatchedPerson',\n            fields=[\n                ('id_fp', models.OneToOneField(db_column='found_person_id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='match', serialize=False, to='find_losts.foundobject')),\n                ('date_of_receiving', models.DateTimeField(auto_now_add=True)),\n                ('percent', models.DecimalField(decimal_places=4, max_digits=5)),\n                ('id_lp', models.OneToOneField(db_column='lost_person_id', on_delete=django.db.models.deletion.CASCADE, related_name='match', to='find_losts.lostobject')),\n                ('notify_id_fp', models.ForeignKey(db_column='notify_id_fp', on_delete=django.db.models.deletion.CASCADE, related_name='reach_match_to_who_found', to='notification.notification')),\n                ('notify_id_lp', models.ForeignKey(db_column='notify_id_lp', on_delete=django.db.models.deletion.CASCADE, related_name='reach_match_to_who_lost', to='notification.notification')),\n            ],\n            options={\n                'db_table': 'matched_Person',\n            },\n        ),\n        migrations.CreateModel(\n            name='FoundPersonImage',\n            fields=[\n                ('id', models.OneToOneField(db_column='id', on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='find_losts.foundperson')),\n                ('image', models.ImageField(unique=True, upload_to='')),\n            ],\n            options={\n                'db_table': 'found_person_image',\n                'unique_together': {('id', 'image')},\n            },\n        ),\n        migrations.CreateModel(\n            name='Candidate',\n            fields=[\n                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n                ('percent', models.DecimalField(decimal_places=4, max_digits=5)),\n                ('is_matched', models.BooleanField(default=False)),\n                ('notify_id', models.ForeignKey(db_column='notify_id', on_delete=django.db.models.deletion.CASCADE, related_name='reach_candidates_to_who_found', to='notification.notification')),\n                ('id_fi', models.ForeignKey(db_column='found_item_id', on_delete=django.db.models.deletion.CASCADE, related_name='candidate', to='find_losts.founditem')),\n                ('id_li', models.ForeignKey(db_column='lost_item_id', on_delete=django.db.models.deletion.CASCADE, related_name='candidate', to='find_losts.lostitem')),\n            ],\n            options={\n                'db_table': 'candidate',\n                'unique_together': {('id_li', 'id_fi')},\n            },\n        ),\n    ]\n"
  },
  {
    "path": "backend/find_losts/migrations/0002_alter_matchedperson_percent.py",
    "content": "# Generated by Django 3.2.3 on 2021-06-01 05:31\n\nfrom django.db import migrations, models\n\n\nclass Migration(migrations.Migration):\n\n    dependencies = [\n        ('find_losts', '0001_initial'),\n    ]\n\n    operations = [\n        migrations.AlterField(\n            model_name='matchedperson',\n            name='percent',\n            field=models.DecimalField(decimal_places=4, max_digits=7),\n        ),\n    ]\n"
  },
  {
    "path": "backend/find_losts/migrations/__init__.py",
    "content": ""
  },
  {
    "path": "backend/find_losts/models.py",
    "content": "from django.db import models\nfrom user_account.models import User\nfrom notification.models import Notification\n\n\n# Create your models here.\n\nclass LostObject(models.Model):\n    date = models.DateField()\n    city = models.CharField(max_length=35)\n    user_id = models.ForeignKey(User, related_name='lost', on_delete=models.CASCADE, db_column='user_id')\n    is_matched = models.BooleanField(default=False)\n\n    class Meta:\n        db_table = 'lost_object'\n\n\ndef lost_person_images(instance,filename):\n    return f\"lostperson/{instance.pk}.jpg\"\n\n\nclass LostPersonImage(models.Model):\n    id_lp = models.IntegerField\n    image_number = models.IntegerField\n    image = models.ImageField(blank=True, null=True, upload_to=lost_person_images)\n\n    class Meta:\n        db_table = 'lost_person_image'\n\n\nclass LostPerson(models.Model):\n    id = models.OneToOneField(LostObject, primary_key=True, on_delete=models.CASCADE, db_column='id', blank=True)\n    name = models.CharField(max_length=150)\n    #person_image = models.ManyToManyField(LostPersonImage, db_column='images', related_name='images')\n    image = models.ImageField(blank=True, null=True, upload_to=lost_person_images)\n\n    class Meta:\n        db_table = 'lost_person'\n\n\nclass LostItem(models.Model):\n    id = models.OneToOneField(LostObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\n    type = models.CharField(max_length=20)\n    color = models.CharField(max_length=20)\n    brand = models.CharField(max_length=50)\n    description = models.CharField(max_length=700)\n    serial_number = models.CharField(max_length=100, blank=True, null=True)\n    image = models.ImageField(blank=True, null=True)\n\n    class Meta:\n        db_table = 'lost_item'\n\n\nclass FoundObject(models.Model):\n    date = models.DateField()\n    longitude = models.DecimalField(max_digits=14, decimal_places=10, default=0.0)\n    latitude = models.DecimalField(max_digits=14, decimal_places=10, default=0.0)\n    city = models.CharField(max_length=35)\n    user_id = models.ForeignKey(User, related_name='found', on_delete=models.CASCADE, db_column='user_id')\n    is_matched = models.BooleanField(default=False)\n\n    class Meta:\n        db_table = 'found_object'\n\n\ndef found_person_images(instance,filename):\n    return f\"foundperson/{instance.pk}.jpg\"\n\n\nclass FoundPerson(models.Model):\n    id = models.OneToOneField(FoundObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\n    name = models.CharField(max_length=150, blank=True, null=True)\n    image = models.ImageField(blank=True, null=True, upload_to=found_person_images)\n\n    class Meta:\n        db_table = 'found_person'\n\n\nclass FoundPersonImage(models.Model):\n    id = models.OneToOneField(FoundPerson, primary_key=True, on_delete=models.CASCADE, db_column='id')\n    image = models.ImageField(unique=True)\n\n    class Meta:\n        db_table = 'found_person_image'\n        unique_together = (('id', 'image'),)\n\n\nclass FoundItem(models.Model):\n    id = models.OneToOneField(FoundObject, primary_key=True, on_delete=models.CASCADE, db_column='id')\n    type = models.CharField(max_length=20)\n    color = models.CharField(max_length=20)\n    brand = models.CharField(max_length=50)\n    description = models.CharField(max_length=700)\n    serial_number = models.CharField(max_length=100, blank=True, null=True)\n    image = models.ImageField(null=True, blank=True)\n\n    class Meta:\n        db_table = 'found_item'\n\n\nclass Candidate(models.Model):\n    id_fi = models.ForeignKey(FoundItem, related_name='candidate', on_delete=models.CASCADE, db_column='found_item_id')\n    id_li = models.ForeignKey(LostItem, related_name='candidate', on_delete=models.CASCADE, db_column='lost_item_id')\n    percent = models.DecimalField(max_digits=5, decimal_places=4)\n    is_matched = models.BooleanField(default=False)\n    notify_id = models.ForeignKey(Notification, related_name='reach_candidates_to_who_found', on_delete=models.CASCADE,\n                                  db_column='notify_id')\n\n    class Meta:\n        db_table = 'candidate'\n        unique_together = (('id_li', 'id_fi'),)\n\n\nclass MatchedPerson(models.Model):\n    id_fp = models.OneToOneField(FoundObject, primary_key=True, unique=True, related_name='match',\n                                 on_delete=models.CASCADE, db_column='found_person_id')\n    id_lp = models.OneToOneField(LostObject, unique=True, related_name='match', on_delete=models.CASCADE,\n                                 db_column='lost_person_id')\n    date_of_receiving = models.DateTimeField(auto_now_add=True)\n    percent = models.DecimalField(max_digits=7, decimal_places=4)\n    notify_id_fp = models.ForeignKey(Notification, related_name='reach_match_to_who_found', on_delete=models.CASCADE,\n                                     db_column='notify_id_fp')\n    notify_id_lp = models.ForeignKey(Notification, related_name='reach_match_to_who_lost', on_delete=models.CASCADE,\n                                     db_column='notify_id_lp')\n\n    class Meta:\n        db_table = 'matched_Person'\n"
  },
  {
    "path": "backend/find_losts/serializers.py",
    "content": "from rest_framework import serializers\nfrom rest_framework_simplejwt.tokens import RefreshToken, TokenError\nfrom .models import *\nfrom user_account.models import User\nfrom django.db.models import Count\nimport face_recognition\nimport numpy as np\n\n\nclass LostObjectSerializer(serializers.ModelSerializer):\n    class Meta:\n        model = LostObject\n        fields = ['id', 'date', 'city', 'user_id']\n\n\nclass LostItemSerializer(serializers.ModelSerializer):\n    class Meta:\n        model = LostItem\n        fields = ['id', 'type', 'serial_number', 'brand', 'color', 'description', 'image']\n\n    def validate(self, attrs):\n        if LostPerson.objects.filter(id=attrs.get('id', '')).exists():\n            raise serializers.ValidationError({'id': {'id already exists'}})\n        return super().validate(attrs)\n\n\nclass LostPersonImageSerializer(serializers.ModelSerializer):\n    class Meta:\n        model = LostPersonImage\n        fields = ['image']\n\n\ndef match_with_found_person(pk):\n    source_img = face_recognition.load_image_file(f'media/lostperson/{pk}.jpg')\n    source_encoding = face_recognition.face_encodings(source_img)[0]\n    founds = list(FoundPerson.objects.values_list('id'))\n\n    encodings = []\n    ids = []\n    min_val = -1\n    for id_f in founds:\n        face = face_recognition.load_image_file(f'media/foundperson/{id_f[0]}.jpg')\n        encodings.append(face_recognition.face_encodings(face)[0])\n        ids.append(id_f[0])\n\n    dist = face_recognition.face_distance(encodings, source_encoding)\n    if dist.size > 0:\n        min_val = min(dist)\n\n    if 0 <= min_val <= 0.52:\n        return min_val, ids[dist.argmin()]\n    else:\n        return -1, -1\n\n\n\"\"\"\n    mini = 1.0\n    minid = -1\n    for id in ids:\n        sum_dist = 0.0\n        for img_num in range(id.number_of_images):\n            face = face_recognition.load_image_file(f'media/foundperson/{source_id.pk}/{img_num + 1}.jpg')\n            encoding = face_recognition.face_encodings(face)[0]\n            dist = list(face_recognition.face_distance(source_encodings, encoding))\n            sum_dist = sum_dist + sum(dist)\n\n        avg = sum_dist/(source_id.number_of_images*id.number_of_images)\n        if avg < mini:\n            mini = avg\n            minid = id\n\n    if 0 < mini <= 0.52:\n        return mini, minid\n    else:\n        return -1, -1\n\"\"\"\n\n\nclass LostPersonSerializer(serializers.ModelSerializer):\n    date = serializers.DateField()\n    city = serializers.CharField(max_length=35)\n    user_id = serializers.IntegerField()\n\n    class Meta:\n        model = LostPerson\n        fields = ['date', 'city', 'user_id', 'name', 'image', 'id']\n        read_only_fields = ['id']\n\n    def create(self, validated_data):\n        data = validated_data.copy()\n        # images_data = data.pop('images')\n        # self.context.get('request').data.pop('images')\n        user = User.objects.get(id=data.pop('user_id'))\n        person_id = LostObject.objects.create(date=data.pop('date'), city=data.pop('city'), user_id=user)\n        validated_data['id'] = person_id\n        print(validated_data)\n        person = None\n\n        try:\n            person = LostPerson.objects.create(id=person_id, **data)\n        except TypeError:\n            person_id.delete()\n            raise TypeError('TypeError: LostPerson.objects.create()')\n        \"\"\"\n        try:\n            cnt = 0\n            for img in images_data:\n                cnt = cnt + 1\n                image = LostPersonImage.objects.create(id_lp=person.pk, image_number=cnt, image=img)\n                person.person_image.add(image)\n        except TypeError:\n            person = LostPerson.objects.get(id=person.id)\n            obj = LostObject.objects.get(id=person.id)\n            person.delete()\n            obj.delete()\n            raise TypeError('TypeError: LostPersonImage.objects.create()')\n        \"\"\"\n\n        res_match = match_with_found_person(person.pk)\n        if res_match[1] != -1:\n            matched_person = FoundObject.objects.get(id=res_match[1])\n            if matched_person.is_matched:\n                pass\n            matched_person.is_matched = True\n            matched_person.save()\n            person_id.is_matched = True\n            person_id.save()\n            name = person.name\n            notify_l = Notification.objects.create(title=\"Matched person\", description=f\"{name} is found\", type=1,\n                                                   user_id=user, is_sent=True)\n            notify_f = Notification.objects.create(title=\"Matched person\", description=f\"The family of {name} is found\",\n                                                   type=2, user_id=matched_person.user_id)\n            MatchedPerson.objects.create(id_fp=matched_person, id_lp=person_id, percent=100 - res_match[0] * 100,\n                                         notify_id_fp=notify_f, notify_id_lp=notify_l)\n\n        return validated_data\n\n\nclass Lost_PersonSerializer(serializers.ModelSerializer):\n\n    class Meta:\n        model = LostPerson\n        fields = ['id', 'name', 'image']\n\n\nclass FoundObjectSerializer(serializers.ModelSerializer):\n    class Meta:\n        model = FoundObject\n        fields = ['id', 'date', 'longitude', 'latitude', 'city', 'user_id', 'is_matched']\n\n\nclass FoundItemSerializer(serializers.ModelSerializer):\n    class Meta:\n        model = FoundItem\n        fields = ['id', 'type', 'color', 'brand', 'description', 'serial_number', 'image']\n\n    def validate(self, attrs):\n        if FoundPerson.objects.filter(id=attrs.get('id', '')).exists():\n            raise serializers.ValidationError({'id': {'id already exists'}})\n        return super().validate(attrs)\n\n\ndef match_with_lost_person(pk):\n    source_img = face_recognition.load_image_file(f'media/foundperson/{pk}.jpg')\n    source_encoding = face_recognition.face_encodings(source_img)[0]\n    losts = list(LostPerson.objects.values_list('id'))\n    print(losts)\n    encodings = []\n    ids = []\n    for id_l in losts:\n        face = face_recognition.load_image_file(f'media/lostperson/{id_l[0]}.jpg')\n        encodings.append(face_recognition.face_encodings(face)[0])\n        ids.append(id_l[0])\n\n    dist = face_recognition.face_distance(encodings, source_encoding)\n    min_val = -1\n\n    if dist.size > 0:\n        min_val = min(dist)\n\n    if 0 <= min_val <= 0.52:\n        return min_val, ids[dist.argmin()]\n    else:\n        return -1, -1\n\n\nclass FoundPersonSerializer(serializers.ModelSerializer):\n    date = serializers.DateField()\n    longitude = serializers.DecimalField(max_digits=14, decimal_places=10, default=0.0)\n    latitude = serializers.DecimalField(max_digits=14, decimal_places=10, default=0.0)\n    city = serializers.CharField(max_length=35)\n    user_id = serializers.IntegerField()\n\n    class Meta:\n        model = FoundPerson\n        fields = ['date', 'longitude', 'latitude', 'city', 'user_id', 'name', 'image', 'id']\n        read_only_fields = ['id']\n\n    def create(self, validated_data):\n        data = validated_data.copy()\n        # images_data = data.pop('images')\n        # self.context.get('request').data.pop('images')\n        user = User.objects.get(id=data.pop('user_id'))\n        person_id = FoundObject.objects.create(date=data.pop('date'), longitude=data.pop('longitude'),\n                                               latitude=data.pop('latitude'), city=data.pop('city'), user_id=user)\n        validated_data['id'] = person_id\n        person = None\n\n        try:\n            person = FoundPerson.objects.create(id=person_id, **data)\n            print(person)\n        except TypeError:\n            person_id.delete()\n            raise TypeError('TypeError: FoundPerson.objects.create()')\n        \"\"\"\n        try:\n            cnt = 0\n            for img in images_data:\n                cnt = cnt + 1\n                image = LostPersonImage.objects.create(id_lp=person.pk, image_number=cnt, image=img)\n                person.person_image.add(image)\n        except TypeError:\n            person = LostPerson.objects.get(id=person.id)\n            obj = LostObject.objects.get(id=person.id)\n            person.delete()\n            obj.delete()\n            raise TypeError('TypeError: LostPersonImage.objects.create()')\n        \"\"\"\n\n        res_match = match_with_lost_person(person.pk)\n        if res_match[1] != -1:\n            matched_person = LostObject.objects.get(id=res_match[1])\n            if matched_person.is_matched:\n                pass\n            matched_person.is_matched = True\n            matched_person.save()\n            person_id.is_matched = True\n            person_id.save()\n            name = LostPerson.objects.get(id=res_match[1]).name\n            notify_f = Notification.objects.create(title=\"Matched person\", description=f\"The family of {name} is found\",\n                                                   type=2, user_id=user, is_sent=True)\n            notify_l = Notification.objects.create(title=\"Matched person\", description=f\"{name} is found\", type=1,\n                                                   user_id=matched_person.user_id)\n            MatchedPerson.objects.create(id_lp=matched_person, id_fp=person_id,\n                                         percent=100 - res_match[0] * 100,\n                                         notify_id_fp=notify_f, notify_id_lp=notify_l)\n\n        return validated_data\n\n\n\nclass Found_PersonSerializer(serializers.ModelSerializer):\n    class Meta:\n        model = FoundPerson\n        fields = [ 'name', 'image', 'id']\n\n\nclass FoundPersonImageSerializer(serializers.ModelSerializer):\n    class Meta:\n        model = FoundPersonImage\n        fields = ['id_image', 'image']\n\n\nclass MapSerializer(serializers.ModelSerializer):\n    longitude = serializers.DecimalField(max_digits=14, decimal_places=10, source='id.longitude')\n    latitude = serializers.DecimalField(max_digits=14, decimal_places=10, source='id.latitude')\n    user_id = serializers.IntegerField(source='id.user_id.id')\n\n    class Meta:\n        model = FoundItem\n        fields = ['longitude', 'latitude', 'user_id']\n"
  },
  {
    "path": "backend/find_losts/tests.py",
    "content": "from django.test import TestCase\n\n# Create your tests here.\n"
  },
  {
    "path": "backend/find_losts/url.py",
    "content": "from django.urls import path\nfrom . import views\nfrom user_account import views as user_view\n\n\n\nurlpatterns = [\n    path('lostobject/', views.LostObjectView.as_view(), name='lost_object'),\n    path('lostitem/', views.LostItemView.as_view()),\n    path('lostperson/', views.LostPersonView.as_view(), name='lost_object'),\n    path('lostperson_image/', views.LostPersonImageView.as_view()),\n    path('founditem/', views.FoundItemView.as_view()),\n    path('foundobject/', views.FoundObjectView.as_view()),\n    path('foundperson/', views.FoundPersonView.as_view(), name='lost_object'),\n    path('foundperson_image/', views.FoundPersonImageView.as_view(), name='lost_item'),\n    path('lostobject/<int:pk>/', views.LostObjectDetailsView.as_view(), name='lost_item'),\n    path('lostitem/<int:pk>/', views.LostItemDetailsView.as_view(), name='lost_item'),\n    path('lostperson/<int:pk>/', views.LostPersonDetailsView.as_view(), name='lost_item'),\n    path('foundobject/<int:pk>/', views.FoundObjectDetalisView.as_view(), name='lost_item'),\n    path('founditem/<int:pk>/', views.FoundItemDetailsView.as_view(), name='lost_item'),\n    path('lost_person/id=<int:id>/', views.Lost_PersonView.as_view()),\n    path('found_person/id=<int:id>/', views.Found_PersonView.as_view()),\n\n    path('LostObjectFilter/', views.LostObjectFilter.as_view()),\n    path('LostItemFilter/', views.LostItemFilter.as_view()),\n    path('FoundObjectFilter/', views.FoundObjectFilter.as_view()),\n    path('FoundItemFilter/', views.FoundItemFilter.as_view()),\n    path('founder/<int:id>/', user_view.WhoFoundItemView.as_view(), name='who found item'),\n    path('map/', views.MapView.as_view(), name='map'),\n]"
  },
  {
    "path": "backend/find_losts/views.py",
    "content": "from django.shortcuts import render\nfrom rest_framework_simplejwt.tokens import RefreshToken, TokenError\nfrom rest_framework import serializers\nfrom django.http import HttpResponse\nfrom rest_framework.response import Response\nfrom .models import LostObject, LostItem, LostPerson, LostPersonImage\nfrom rest_framework import status\nfrom rest_framework import status, filters\nfrom .serializers import *\nfrom rest_framework import generics\nfrom rest_framework.views import APIView\nfrom rest_framework.response import Response\nfrom rest_framework.reverse import reverse\nfrom rest_framework import status\nfrom rest_framework import viewsets\nfrom rest_framework import permissions\nfrom rest_framework.decorators import api_view\nfrom django_filters.rest_framework import DjangoFilterBackend\nfrom rest_framework.filters import SearchFilter, OrderingFilter\nfrom rest_framework.viewsets import ModelViewSet\nfrom django_filters import FilterSet, AllValuesFilter, DateTimeFilter, NumberFilter\nfrom rest_framework.generics import ListAPIView\nfrom rest_framework.parsers import MultiPartParser, FormParser\n\n# Create your views here.\n\nclass LostItemView(generics.ListCreateAPIView):\n    queryset = LostItem.objects.all()\n    serializer_class = LostItemSerializer\n\n\nclass LostObjectView(generics.ListCreateAPIView):\n    queryset = LostObject.objects.all()\n    serializer_class = LostObjectSerializer\n\n    def create(self, request, *args, **kwargs):\n        serializer = self.get_serializer(data=request.data)\n        serializer.is_valid(raise_exception=True)\n        date = serializer.validated_data['date']\n        city = serializer.validated_data['city']\n        user_id = serializer.validated_data['user_id']\n        #is_matched = serializer.validated_data['is_matched']\n        #obj = Point(lat, long)\n        #serializer.validated_data['geometry'] = geom\n        serializer.save()\n        return Response(serializer.data)\n\nclass LostObjectFilter(ListAPIView):\n    queryset = LostObject.objects.all()\n    serializer_class = LostObjectSerializer\n    filter_backends = [DjangoFilterBackend]\n    filterset_fields = ['date', 'city', 'is_matched', 'user_id']\n\n\nclass LostObjectDetailsView(generics.RetrieveUpdateDestroyAPIView):\n    queryset = LostObject.objects.all()\n    serializer_class = LostObjectSerializer\n\n\n\n\n\nclass LostItemFilter(ListAPIView):\n    queryset = LostItem.objects.all()\n    serializer_class = LostItemSerializer\n    filter_backends = [DjangoFilterBackend]\n    filterset_fields = ['id', 'type', 'serial_number', 'brand', 'color']\n\n\n\n\nclass FoundObjectFilter(ListAPIView):\n    queryset = FoundObject.objects.all()\n    serializer_class = FoundObjectSerializer\n    filter_backends = [DjangoFilterBackend]\n    filterset_fields = ['longitude', 'latitude', 'city', 'user_id', 'is_matched']\n\n\n\n\nclass FoundItemFilter(ListAPIView):\n    queryset = FoundItem.objects.all()\n    serializer_class = FoundItemSerializer\n    filter_backends = [DjangoFilterBackend]\n    filterset_fields = ['id', 'type', 'color', 'brand', 'serial_number']\n\n\nclass LostItemDetailsView(generics.RetrieveUpdateDestroyAPIView):\n    queryset = LostItem.objects.all()\n    serializer_class = LostItemSerializer\n\n\nclass LostPersonView(generics.ListCreateAPIView):\n    http_method_names = ['post']\n    queryset = LostPerson.objects.all()\n    serializer_class = LostPersonSerializer\n\n\nclass Lost_PersonView2(generics.UpdateAPIView):\n    queryset = LostPerson.objects.all()\n    serializer_class = Lost_PersonSerializer\n    lookup_field = 'id'\n\n\nclass Lost_PersonView(generics.RetrieveUpdateDestroyAPIView):\n    http_method_names = ['get']\n    queryset = LostPerson.objects.all()\n    serializer_class = Lost_PersonSerializer\n    lookup_field = 'id'\n\n\nclass LostPersonDetailsView(generics.RetrieveUpdateDestroyAPIView):\n    queryset = LostPerson.objects.all()\n    serializer_class = LostPersonSerializer\n\n\nclass LostPersonImageView(generics.ListCreateAPIView):\n    queryset = LostPersonImage.objects.all()\n    serializer_class = LostPersonImageSerializer\n\nclass LostPersonImageDetailsView(generics.RetrieveUpdateDestroyAPIView):\n    queryset = LostPersonImage.objects.all()\n    serializer_class = LostPersonImageSerializer\n\n\nclass FoundObjectView(generics.ListCreateAPIView):\n    queryset = FoundObject.objects.all()\n    serializer_class = FoundObjectSerializer\n\nclass FoundObjectDetalisView(generics.RetrieveUpdateDestroyAPIView):\n    queryset = FoundObject.objects.all()\n    serializer_class = FoundObjectSerializer\n\n\nclass FoundItemView(generics.ListCreateAPIView):\n    queryset = FoundItem.objects.all()\n    serializer_class = FoundItemSerializer\n\nclass FoundItemDetailsView(generics.RetrieveUpdateDestroyAPIView):\n    queryset = FoundItem.objects.all()\n    serializer_class = FoundItemSerializer\n\n\nclass FoundPersonView(generics.ListCreateAPIView):\n    http_method_names = ['post']\n    queryset = FoundPerson.objects.all()\n    serializer_class = FoundPersonSerializer\n\n\nclass Found_PersonView(generics.RetrieveUpdateDestroyAPIView):\n    http_method_names = ['get']\n    queryset = FoundPerson.objects.all()\n    serializer_class = Found_PersonSerializer\n    lookup_field = 'id'\n\n\nclass FoundPersonImageView(generics.ListCreateAPIView):\n    queryset = FoundPersonImage.objects.all()\n    serializer_class = FoundPersonImageSerializer\n\n\nclass MapView(generics.ListAPIView):\n    queryset = FoundItem.objects.select_related('id')\n    serializer_class = MapSerializer\n@api_view(['GET'])\ndef comp_lostView(request, city):\n    lost_obj = LostObject.objects.filter(city=city)\n    serializer = LostObjectSerializer(lost_obj, many=True)\n    return Response(serializer.data)\n\n#class IntroductionViewSet(ModelViewSet):\n    #queryset = LostObject.objects.all()\n    #serializer_class = LostObjectSerializer\n    #filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]\n    #filterset_fields = ['id', 'date', 'city', 'is_matched', 'user_id']\n    #search_fields = ['city']\n    #ordering_fields = ['date', 'id']\n    #ordering = ['id']\nclass Comp_ViewSet(viewsets.ViewSet):\n\n    def retrieve(self, request, pk):\n        try:\n            lost_obj = LostObject.objects.get(pk=pk)\n        except LostObject.DoesNotExist:\n            return Response(status=status.HTTP_404_NOT_FOUND)\n        serializer = LostObjectSerializer(lost_obj)\n        return Response(serializer.data)"
  },
  {
    "path": "backend/good_point/.idea/.gitignore",
    "content": ""
  },
  {
    "path": "backend/good_point/.idea/inspectionProfiles/profiles_settings.xml",
    "content": "<component name=\"InspectionProjectProfileManager\">\n  <settings>\n    <option name=\"USE_PROJECT_PROFILE\" value=\"false\" />\n    <version value=\"1.0\" />\n  </settings>\n</component>"
  },
  {
    "path": "backend/good_point/.idea/misc.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ProjectRootManager\" version=\"2\" project-jdk-name=\"Python 3.8 (Django)\" project-jdk-type=\"Python SDK\" />\n</project>"
  },
  {
    "path": "backend/good_point/.idea/modules.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ProjectModuleManager\">\n    <modules>\n      <module fileurl=\"file://$PROJECT_DIR$/.idea/good_point.iml\" filepath=\"$PROJECT_DIR$/.idea/good_point.iml\" />\n    </modules>\n  </component>\n</project>"
  },
  {
    "path": "backend/good_point/.idea/vcs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"VcsDirectoryMappings\">\n    <mapping directory=\"$PROJECT_DIR$/../..\" vcs=\"Git\" />\n  </component>\n</project>"
  },
  {
    "path": "backend/good_point/.idea/workspace.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"BranchesTreeState\">\n    <expand>\n      <path>\n        <item name=\"ROOT\" type=\"e8cecc67:BranchNodeDescriptor\" />\n        <item name=\"LOCAL_ROOT\" type=\"e8cecc67:BranchNodeDescriptor\" />\n      </path>\n      <path>\n        <item name=\"ROOT\" type=\"e8cecc67:BranchNodeDescriptor\" />\n        <item name=\"REMOTE_ROOT\" type=\"e8cecc67:BranchNodeDescriptor\" />\n      </path>\n      <path>\n        <item name=\"ROOT\" type=\"e8cecc67:BranchNodeDescriptor\" />\n        <item name=\"REMOTE_ROOT\" type=\"e8cecc67:BranchNodeDescriptor\" />\n        <item name=\"GROUP_NODE:origin\" type=\"e8cecc67:BranchNodeDescriptor\" />\n      </path>\n    </expand>\n    <select />\n  </component>\n  <component name=\"ChangeListManager\">\n    <list default=\"true\" id=\"08189e53-4116-4ef6-8e14-f7e5d0195fdc\" name=\"Default Changelist\" comment=\"\">\n      <change beforePath=\"$PROJECT_DIR$/settings.py\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/settings.py\" afterDir=\"false\" />\n    </list>\n    <option name=\"SHOW_DIALOG\" value=\"false\" />\n    <option name=\"HIGHLIGHT_CONFLICTS\" value=\"true\" />\n    <option name=\"HIGHLIGHT_NON_ACTIVE_CHANGELIST\" value=\"false\" />\n    <option name=\"LAST_RESOLUTION\" value=\"IGNORE\" />\n  </component>\n  <component name=\"Git.Settings\">\n    <option name=\"RECENT_GIT_ROOT_PATH\" value=\"$PROJECT_DIR$/../..\" />\n  </component>\n  <component name=\"ProjectId\" id=\"1oJ5IdDdQ7lSfwBIhcThMTWGali\" />\n  <component name=\"ProjectLevelVcsManager\" settingsEditedManually=\"true\" />\n  <component name=\"ProjectViewState\">\n    <option name=\"hideEmptyMiddlePackages\" value=\"true\" />\n    <option name=\"showLibraryContents\" value=\"true\" />\n  </component>\n  <component name=\"PropertiesComponent\">\n    <property name=\"RunOnceActivity.OpenProjectViewOnStart\" value=\"true\" />\n    <property name=\"last_opened_file_path\" value=\"$PROJECT_DIR$/..\" />\n  </component>\n  <component name=\"SpellCheckerSettings\" BundledDictionaries=\"0\" RuntimeDictionaries=\"0\" Folders=\"0\" CustomDictionaries=\"0\" Dictionaries=\"0\" CorrectionsLimit=\"5\" DefaultDictionary=\"application-level\" UseSingleDictionary=\"true\" />\n  <component name=\"SvnConfiguration\">\n    <configuration />\n  </component>\n  <component name=\"TaskManager\">\n    <task active=\"true\" id=\"Default\" summary=\"Default task\">\n      <changelist id=\"08189e53-4116-4ef6-8e14-f7e5d0195fdc\" name=\"Default Changelist\" comment=\"\" />\n      <created>1612991775623</created>\n      <option name=\"number\" value=\"Default\" />\n      <option name=\"presentableId\" value=\"Default\" />\n      <updated>1612991775623</updated>\n    </task>\n    <servers />\n  </component>\n  <component name=\"Vcs.Log.Tabs.Properties\">\n    <option name=\"TAB_STATES\">\n      <map>\n        <entry key=\"MAIN\">\n          <value>\n            <State />\n          </value>\n        </entry>\n      </map>\n    </option>\n    <option name=\"oldMeFiltersMigrated\" value=\"true\" />\n  </component>\n  <component name=\"WindowStateProjectService\">\n    <state x=\"580\" y=\"184\" key=\"FileChooserDialogImpl\" timestamp=\"1619052138671\">\n      <screen x=\"0\" y=\"0\" width=\"1600\" height=\"860\" />\n    </state>\n    <state x=\"580\" y=\"184\" key=\"FileChooserDialogImpl/0.0.1600.860@0.0.1600.860\" timestamp=\"1619052138671\" />\n  </component>\n</project>"
  },
  {
    "path": "backend/good_point/__init__.py",
    "content": ""
  },
  {
    "path": "backend/good_point/asgi.py",
    "content": "\"\"\"\nASGI config for good_point project.\n\nIt exposes the ASGI callable as a module-level variable named ``application``.\n\nFor more information on this file, see\nhttps://docs.djangoproject.com/en/3.1/howto/deployment/asgi/\n\"\"\"\n\nimport os\n\nfrom django.core.asgi import get_asgi_application\n\nos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'good_point.settings')\n\napplication = get_asgi_application()\n"
  },
  {
    "path": "backend/good_point/settings.py",
    "content": "\"\"\"\nDjango settings for good_point project.\n\nGenerated by 'django-admin startproject' using Django 3.1.4.\n\nFor more information on this file, see\nhttps://docs.djangoproject.com/en/3.1/topics/settings/\n\nFor the full list of settings and their values, see\nhttps://docs.djangoproject.com/en/3.1/ref/settings/\n\"\"\"\n\nfrom pathlib import Path\nimport datetime\nimport os\n\n# Build paths inside the project like this: BASE_DIR / 'subdir'.\nBASE_DIR = Path(__file__).resolve().parent.parent\n\n\n# Quick-start development settings - unsuitable for production\n# See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/\n\n# SECURITY WARNING: keep the secret key used in production secret!\nSECRET_KEY = 'o$!0f@2-*+x-m9-=h*0-2q25jvx(&2+z)6%7ir)@y_7nvlg9f('\n\n# SECURITY WARNING: don't run with debug turned on in production!\nDEBUG = True\n\nALLOWED_HOSTS = ['*']\n\n\n# Application definition\n\nINSTALLED_APPS = [\n    'django.contrib.admin',\n    'django.contrib.auth',\n    'django.contrib.contenttypes',\n    'django.contrib.sessions',\n    'django.contrib.messages',\n    'django.contrib.staticfiles',\n    'user_account',\n    'find_losts',\n    'notification',\n    'rest_framework',\n    'rest_framework_simplejwt.token_blacklist',\n    'django_filters',\n]\n\nREST_FRAMEWORK = {\n    'DEFAULT_AUTHENTICATION_CLASSES': [\n        'rest_framework_simplejwt.authentication.JWTAuthentication',\n    ],\n    'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend']\n}\n\nSIMPLE_JWT = {\n    'ACCESS_TOKEN_LIFETIME': datetime.timedelta(minutes=1),\n    'REFRESH_TOKEN_LIFETIME': datetime.timedelta(days=180),\n}\n\nMIDDLEWARE = [\n    'django.middleware.security.SecurityMiddleware',\n    'django.contrib.sessions.middleware.SessionMiddleware',\n    'django.middleware.common.CommonMiddleware',\n    # 'django.middleware.csrf.CsrfViewMiddleware',\n    'django.contrib.auth.middleware.AuthenticationMiddleware',\n    'django.contrib.messages.middleware.MessageMiddleware',\n    'django.middleware.clickjacking.XFrameOptionsMiddleware',\n]\n\nROOT_URLCONF = 'good_point.urls'\n\nTEMPLATES = [\n    {\n        'BACKEND': 'django.template.backends.django.DjangoTemplates',\n        'DIRS': [],\n        'APP_DIRS': True,\n        'OPTIONS': {\n            'context_processors': [\n                'django.template.context_processors.debug',\n                'django.template.context_processors.request',\n                'django.contrib.auth.context_processors.auth',\n                'django.contrib.messages.context_processors.messages',\n            ],\n        },\n    },\n]\n\nWSGI_APPLICATION = 'good_point.wsgi.application'\n\n\n# Database\n# https://docs.djangoproject.com/en/3.1/ref/settings/#databases\n\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.postgresql',\n        'NAME': 'Good_Point',\n        'USER': 'postgres',\n        'PASSWORD': '[,]f,dkj2020',#20111998\n        'HOST': 'localhost',\n        'PORT': '5432'\n    }\n}\n\n\n# Password validation\n# https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators\n\nAUTH_PASSWORD_VALIDATORS = [\n    {\n        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',\n    },\n]\n\nAUTH_USER_MODEL = 'user_account.User'\n\n# Internationalization\n# https://docs.djangoproject.com/en/3.1/topics/i18n/\n\nLANGUAGE_CODE = 'en-us'\n\nTIME_ZONE = 'UTC'\n\nUSE_I18N = True\n\nUSE_L10N = True\n\nUSE_TZ = True\n\n#JWT\n#JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY')\n\n# Static files (CSS, JavaScript, Images)\n# https://docs.djangoproject.com/en/3.1/howto/static-files/\n\nSTATIC_URL = '/static/'\n\nMEDIA_URL = '/media/'\nMEDIA_ROOT = os.path.join(BASE_DIR,'media')\nDEFAULT_AUTO_FIELD = 'django.db.models.AutoField'\n\n#SMTP Configuration\n#New\nEMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'\nEMAIL_HOST = 'smtp.gmail.com'\nEMAIL_PORT = 587\nEMAIL_USE_TLS = True\nEMAIL_HOST_USER = '' #os.environ.get('username') sender\nEMAIL_HOST_PASSWORD = ''\n#\"\"\"\n#STATICFILES_DIRS = (\n #   os.path.join(BASE_DIR,'static')\n#)\n#\"\"\"\n"
  },
  {
    "path": "backend/good_point/urls.py",
    "content": "\"\"\"good_point URL Configuration\n\nThe `urlpatterns` list routes URLs to views. For more information please see:\n    https://docs.djangoproject.com/en/3.1/topics/http/urls/\nExamples:\nFunction views\n    1. Add an import:  from my_app import views\n    2. Add a URL to urlpatterns:  path('', views.home, name='home')\nClass-based views\n    1. Add an import:  from other_app.views import Home\n    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')\nIncluding another URLconf\n    1. Import the include() function: from django.urls import include, path\n    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))\n\"\"\"\nfrom django.contrib import admin\nfrom django.urls import path, include\nfrom rest_framework_simplejwt import views as jwt_views\nfrom django.contrib.auth import views as auth_view #new\nfrom django.conf import settings\nfrom django.conf.urls.static import static\n\nurlpatterns = [\n    path('admin/', admin.site.urls),\n    path('api/token/', jwt_views.TokenObtainPairView.as_view(), name='token_obtain_pair'),\n    path('api/token/refresh/', jwt_views.TokenRefreshView.as_view(), name='token_refresh'),\n    path('auth/', include('user_account.url'), name='authentications'),\n    path('losts/',include('find_losts.url'), name='losts'),\n    path('notification/',include('notification.url'), name='notification'),\n\n    path('reset_password/', auth_view.PasswordResetView.as_view(), name=\"password_reset\"), #new\n    path('reset_password_sent/', auth_view.PasswordResetDoneView.as_view(), name=\"password_reset_done\"), #new\n    path('reset/<uidb64>/<token>/', auth_view.PasswordResetConfirmView.as_view(), name=\"password_reset_confirm\"), #new\n    path('reset_password_complete/', auth_view.PasswordResetCompleteView.as_view(), name=\"password_reset_complete\"), #new\n\n\n\n]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)\n"
  },
  {
    "path": "backend/good_point/wsgi.py",
    "content": "\"\"\"\nWSGI config for good_point project.\n\nIt exposes the WSGI callable as a module-level variable named ``application``.\n\nFor more information on this file, see\nhttps://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/\n\"\"\"\n\nimport os\n\nfrom django.core.wsgi import get_wsgi_application\n\nos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'good_point.settings')\n\napplication = get_wsgi_application()\n"
  },
  {
    "path": "backend/manage.py",
    "content": "#!/usr/bin/env python\n\"\"\"Django's command-line utility for administrative tasks.\"\"\"\nimport os\nimport sys\n\n\ndef main():\n    \"\"\"Run administrative tasks.\"\"\"\n    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'good_point.settings')\n    try:\n        from django.core.management import execute_from_command_line\n    except ImportError as exc:\n        raise ImportError(\n            \"Couldn't import Django. Are you sure it's installed and \"\n            \"available on your PYTHONPATH environment variable? Did you \"\n            \"forget to activate a virtual environment?\"\n        ) from exc\n    execute_from_command_line(sys.argv)\n\n\nif __name__ == '__main__':\n    main()\n"
  },
  {
    "path": "backend/notification/__init__.py",
    "content": ""
  },
  {
    "path": "backend/notification/admin.py",
    "content": "from django.contrib import admin\n\n# Register your models here.\n"
  },
  {
    "path": "backend/notification/apps.py",
    "content": "from django.apps import AppConfig\n\n\nclass NotificationConfig(AppConfig):\n    default_auto_field = 'django.db.models.AutoField'\n    name = 'notification'\n"
  },
  {
    "path": "backend/notification/migrations/0001_initial.py",
    "content": "# Generated by Django 3.2.3 on 2021-05-26 19:51\n\nfrom django.db import migrations, models\n\n\nclass Migration(migrations.Migration):\n\n    initial = True\n\n    dependencies = [\n    ]\n\n    operations = [\n        migrations.CreateModel(\n            name='Notification',\n            fields=[\n                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n                ('title', models.CharField(max_length=30)),\n                ('description', models.CharField(max_length=100)),\n                ('type', models.IntegerField()),\n                ('date_time', models.DateTimeField(auto_now_add=True)),\n                ('is_sent', models.BooleanField(default=False)),\n                ('is_read', models.BooleanField(default=False)),\n            ],\n            options={\n                'db_table': 'notification',\n            },\n        ),\n    ]\n"
  },
  {
    "path": "backend/notification/migrations/0002_notification_user_id.py",
    "content": "# Generated by Django 3.2.3 on 2021-05-26 19:51\n\nfrom django.conf import settings\nfrom django.db import migrations, models\nimport django.db.models.deletion\n\n\nclass Migration(migrations.Migration):\n\n    initial = True\n\n    dependencies = [\n        ('notification', '0001_initial'),\n        migrations.swappable_dependency(settings.AUTH_USER_MODEL),\n    ]\n\n    operations = [\n        migrations.AddField(\n            model_name='notification',\n            name='user_id',\n            field=models.ForeignKey(db_column='user_id', on_delete=django.db.models.deletion.CASCADE, related_name='notify', to=settings.AUTH_USER_MODEL),\n        ),\n    ]\n"
  },
  {
    "path": "backend/notification/migrations/__init__.py",
    "content": ""
  },
  {
    "path": "backend/notification/models.py",
    "content": "from django.db import models\nfrom user_account.models import User\n\n\n# Create your models here.\n\nclass Notification(models.Model):\n    title = models.CharField(max_length=30)\n    description = models.CharField(max_length=100)\n    type = models.IntegerField()\n    date_time = models.DateTimeField(auto_now_add=True)\n    is_sent = models.BooleanField(default=False)\n    is_read = models.BooleanField(default=False)\n    user_id = models.ForeignKey(User, related_name='notify', on_delete=models.CASCADE, db_column='user_id')\n\n    class Meta:\n        db_table = 'notification'\n"
  },
  {
    "path": "backend/notification/serializers.py",
    "content": "from rest_framework import serializers\nfrom rest_framework_simplejwt.tokens import RefreshToken, TokenError\nfrom .models import *\nfrom user_account.models import User\n\n\nclass NotificationSerializer(serializers.ModelSerializer):\n\n    class Meta:\n        model = Notification\n        fields = '__all__'\n\n\nclass UpdateReadNotificationSerializer(serializers.ModelSerializer):\n\n    class Meta:\n        model = Notification\n        fields = ['id', 'is_read']\n\n\nclass UpdateSentNotificationSerializer(serializers.ModelSerializer):\n\n    class Meta:\n        model = Notification\n        fields = ['id', 'is_sent']\n\nclass RetrieveNewNotificationSerializer(serializers.ModelSerializer):\n\n    class Meta:\n        model = Notification\n        fields = '__all__'"
  },
  {
    "path": "backend/notification/tests.py",
    "content": "from django.test import TestCase\n\n# Create your tests here.\n"
  },
  {
    "path": "backend/notification/url.py",
    "content": "from django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('', views.NotificationView.as_view(), name='notification'),\n    path('user_id=<int:user_id>/', views.UserNotificationView.as_view(), name='notification'),\n    path('read/<int:id>/', views.UpdateReadNotification.as_view(), name='update read notification'),\n    path('sent/<int:id>/', views.UpdateSentNotification.as_view(), name='update sent notification'),\n    path('new/<int:user_id>/', views.IsThereNewNotification.as_view(), name='is there new notification'),\n]\n"
  },
  {
    "path": "backend/notification/views.py",
    "content": "from django.shortcuts import render\nfrom rest_framework import generics\nfrom .models import Notification\nfrom .serializers import NotificationSerializer, UpdateReadNotificationSerializer, UpdateSentNotificationSerializer\nfrom .serializers import RetrieveNewNotificationSerializer\n\n\n# Create your views here.\n\nclass NotificationView(generics.ListCreateAPIView):\n    queryset = Notification.objects.all()\n    serializer_class = NotificationSerializer\n\n\nclass UserNotificationView(generics.ListAPIView):\n    serializer_class = NotificationSerializer\n\n    def get_queryset(self):\n        notifications = self.kwargs['user_id']\n        return Notification.objects.filter(user_id=notifications)\n\n\nclass UpdateReadNotification(generics.UpdateAPIView):\n    queryset = Notification.objects.all()\n    serializer_class = UpdateReadNotificationSerializer\n    lookup_field = 'id'\n\n\nclass UpdateSentNotification(generics.UpdateAPIView):\n    queryset = Notification.objects.all()\n    serializer_class = UpdateSentNotificationSerializer\n    lookup_field = 'id'\n\n\nclass IsThereNewNotification(generics.ListAPIView):\n    serializer_class = RetrieveNewNotificationSerializer\n\n    def get_queryset(self):\n        user_id = self.kwargs['user_id']\n        return Notification.objects.filter(user_id=user_id, is_sent=False)\n"
  },
  {
    "path": "backend/user_account/__init__.py",
    "content": ""
  },
  {
    "path": "backend/user_account/admin.py",
    "content": "from django.contrib import admin\n\n# Register your models here.\n"
  },
  {
    "path": "backend/user_account/apps.py",
    "content": "from django.apps import AppConfig\n\n\nclass UserAccountConfig(AppConfig):\n    default_auto_field = 'django.db.models.AutoField'\n    name = 'user_account'\n"
  },
  {
    "path": "backend/user_account/migrations/0001_initial.py",
    "content": "# Generated by Django 3.0 on 2021-09-23 11:46\n\nimport django.contrib.auth.models\nimport django.contrib.auth.validators\nfrom django.db import migrations, models\nimport django.utils.timezone\nimport user_account.models\n\n\nclass Migration(migrations.Migration):\n\n    initial = True\n\n    dependencies = [\n        ('auth', '0011_update_proxy_permissions'),\n    ]\n\n    operations = [\n        migrations.CreateModel(\n            name='User',\n            fields=[\n                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),\n                ('password', models.CharField(max_length=128, verbose_name='password')),\n                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),\n                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),\n                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),\n                ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),\n                ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),\n                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),\n                ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),\n                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),\n                ('email', models.EmailField(blank=True, max_length=1)),\n                ('phone', models.CharField(max_length=20, unique=True)),\n                ('birthdate', models.DateField()),\n                ('city', models.CharField(max_length=35)),\n                ('profile_pic', models.ImageField(blank=True, null=True, upload_to=user_account.models.profile_pic_dir)),\n                ('id_card_pic', models.ImageField(blank=True, null=True, upload_to=user_account.models.idcard_pic_dir)),\n                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),\n                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),\n            ],\n            options={\n                'db_table': 'user',\n            },\n            managers=[\n                ('objects', django.contrib.auth.models.UserManager()),\n            ],\n        ),\n    ]\n"
  },
  {
    "path": "backend/user_account/migrations/__init__.py",
    "content": ""
  },
  {
    "path": "backend/user_account/models.py",
    "content": "from django.db import models\nfrom django.contrib.auth.models import AbstractUser\nfrom rest_framework_simplejwt.tokens import RefreshToken\n\n\n# Create your models here.\n\ndef profile_pic_dir(instance, filename):\n    return f\"profile/{filename}\"\n\n\ndef idcard_pic_dir(instance, filename):\n    return f\"idcard/{filename}\"\n\n\nclass User(AbstractUser):\n    email = models.EmailField(max_length=1, blank=True)\n    phone = models.CharField(max_length=20, unique=True)\n    birthdate = models.DateField()\n    city = models.CharField(max_length=35)\n    profile_pic = models.ImageField(blank=True, null=True, upload_to=profile_pic_dir)\n    id_card_pic = models.ImageField(blank=True, null=True, upload_to=idcard_pic_dir)\n\n    def __str__(self):\n        return self.username\n\n    def tokens(self):\n        refresh = RefreshToken.for_user(self)\n        return {\n            'refresh': str(refresh),\n            'access': str(refresh.access_token)\n        }\n\n    class Meta:\n        db_table = 'user'\n"
  },
  {
    "path": "backend/user_account/serializers.py",
    "content": "from rest_framework import serializers\nfrom rest_framework_simplejwt.tokens import RefreshToken, TokenError\nfrom .models import User\n\n\nclass SignupSerializer(serializers.ModelSerializer):\n    username = serializers.CharField(max_length=150)\n    phone = serializers.CharField(max_length=20, min_length=5)\n    class Meta:\n        model = User\n        fields = ['username', 'password', 'first_name', 'phone', 'city', 'birthdate', 'profile_pic']\n\n    def validate(self, attrs):\n        exist_email = User.objects.filter(username=attrs.get('username', '')).exists()\n        exist_phone = User.objects.filter(phone=attrs.get('phone', '')).exists()\n        if exist_email and exist_phone:\n            raise serializers.ValidationError(\n                {\n                    'error': {\n                        'username': 'Email already exists',\n                        'phone': 'Phone number already exists'\n                    }\n                })\n        if exist_email:\n            raise serializers.ValidationError({'error': {'username': 'Email already exists', 'phone': ''}})\n        if exist_phone:\n            raise serializers.ValidationError({'error': {'username': '', 'phone': 'Phone number already exists'}})\n        return super().validate(attrs)\n\n    def create(self, validated_data):\n        return User.objects.create_user(**validated_data)\n\n\nclass LogoutSerializer(serializers.Serializer):\n    token = serializers.CharField()\n\n    def validate(self, attrs):\n        self.token = attrs['refresh']\n        return attrs\n\n    def save(self, **kwargs):\n        try:\n            RefreshToken(self.token).blacklist()\n        except TokenError:\n            self.fail('bad_token')\n\n    def update(self, instance, validated_data):\n        pass\n\n    def create(self, validated_data):\n        pass\n\n\nclass WhoFoundItemSerializer(serializers.ModelSerializer):\n    name = serializers.CharField(source='first_name')\n    email = serializers.CharField(source='username')\n\n    class Meta:\n        model = User\n        fields = ['name', 'email', 'phone']\n\n\nclass IdCardSerializer(serializers.ModelSerializer):\n\n    class Meta:\n        model = User\n        fields = ['id_card_pic']\n"
  },
  {
    "path": "backend/user_account/tests.py",
    "content": "from django.test import TestCase\n\n# Create your tests here.\n"
  },
  {
    "path": "backend/user_account/url.py",
    "content": "from django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('signup/', views.SignupView.as_view(), name='signup'),\n    path('signin/',views.LoginView.as_view(), name='signin'),\n    path('signout/',views.LogoutView.as_view(), name='signout'),\n    path('setidcard/',views.SetIdCard.as_view(), name='setIdCard'),\n]"
  },
  {
    "path": "backend/user_account/views.py",
    "content": "from rest_framework import generics\nfrom rest_framework import status\nfrom rest_framework.generics import GenericAPIView\nfrom rest_framework.permissions import IsAuthenticated\nfrom rest_framework.response import Response\nfrom rest_framework.views import APIView\nfrom .serializers import SignupSerializer, LogoutSerializer, WhoFoundItemSerializer, IdCardSerializer\nfrom .models import User\nfrom find_losts.models import LostObject, FoundObject\n\n# Create your views here.\n\n\nclass SignupView(generics.CreateAPIView):\n    queryset = User.objects.all()\n    serializer_class = SignupSerializer\n\n\nclass LoginView(APIView):\n    permission_classes = [IsAuthenticated]\n\n    def post(self, request):\n        user = request.user\n        user_pic = \"\"\n        id_card_pic = \"\"\n        losts = list(LostObject.objects.filter(user_id=user.pk).values('id'))\n        founds = list(FoundObject.objects.filter(user_id=user.pk).values('id'))\n        if user.profile_pic:\n            user_pic = user.profile_pic.url\n        if user.id_card_pic:\n            id_card_pic = user.id_card_pic.url\n        response = {\n            'id': user.pk,\n            'username': user.first_name,\n            'email': user.username,\n            'phone': user.phone,\n            'city': user.city,\n            'birthdate': user.birthdate,\n            'profile_pic': user_pic,\n            'id_card_pic': id_card_pic,\n            'losts': losts,\n            'founds': founds\n        }\n        return Response({'user': response}, status=status.HTTP_200_OK)\n\n\nclass LogoutView(GenericAPIView):\n    serializer_class = LogoutSerializer\n    permission_classes = {IsAuthenticated, }\n\n    def post(self, request):\n        serializer = self.serializer_class(data=request.data)\n        if serializer.is_valid():\n            serializer.save()\n            return Response(serializer.data, status=status.HTTP_204_NO_CONTENT)\n\n        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)\n\n\nclass WhoFoundItemView(generics.RetrieveAPIView):\n    queryset = User.objects.all()\n    serializer_class = WhoFoundItemSerializer\n    lookup_field = 'id'\n\n\nclass SetIdCard(generics.UpdateAPIView):\n    queryset = User.objects.all()\n    serializer_class = IdCardSerializer\n    permission_classes = [IsAuthenticated]\n\n    def patch(self, request, *args, **kwargs):\n        print(request.data)\n        user = request.user\n        serializer = self.serializer_class(user, data=request.data, partial=True)\n        if serializer.is_valid():\n            serializer.save()\n            return Response(serializer.data, status.HTTP_202_ACCEPTED)\n\n        return Response(serializer.errors, status.HTTP_406_NOT_ACCEPTABLE)\n"
  },
  {
    "path": "build.gradle",
    "content": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\nbuildscript {\n    repositories {\n        google()\n        jcenter()\n        maven { url \"https://chaquo.com/maven\" }\n    }\n    dependencies {\n        classpath 'com.android.tools.build:gradle:4.1.1'\n        classpath \"com.chaquo.python:gradle:9.1.0\"\n        classpath 'com.google.gms:google-services:4.3.10'\n        // NOTE: Do not place your application dependencies here; they belong\n        // in the individual module build.gradle files\n    }\n}\nallprojects {\n    repositories {\n        google()\n        jcenter()\n        maven { url \"https://jitpack.io\" }\n    }\n}\n\ntask clean(type: Delete) {\n    delete rootProject.buildDir\n}"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "content": "##Sun Feb 14 01:08:02 EET 2021\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-6.5-bin.zip\n"
  },
  {
    "path": "gradle.properties",
    "content": "## Project-wide Gradle settings.\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will override*\n# any settings specified in this file.\n# For more details on how to configure your build environment visit\n# http://www.gradle.org/docs/current/userguide/build_environment.html\n# Specifies the JVM arguments used for the daemon process.\n# The setting is particularly useful for tweaking memory settings.\norg.gradle.jvmargs=-Xmx2048m\n# When configured, Gradle will run in incubating parallel mode.\n# This option should only be used with decoupled projects. More details, visit\n# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects\n# org.gradle.parallel=true\n# AndroidX package structure to make it clearer which packages are bundled with the\n# Android operating system, and which are packaged with your app\"s APK\n# https://developer.android.com/topic/libraries/support-library/androidx-rn\nandroid.useAndroidX=true\n# Automatically convert third-party libraries to use AndroidX\nandroid.enableJetifier=true"
  },
  {
    "path": "gradlew",
    "content": "#!/usr/bin/env sh\n\n###############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >/dev/null\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >/dev/null\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn () {\n    echo \"$*\"\n}\n\ndie () {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\nnonstop=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\n  NONSTOP* )\n    nonstop=true\n    ;;\nesac\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" -a \"$nonstop\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n    JAVACMD=`cygpath --unix \"$JAVACMD\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Escape application args\nsave () {\n    for i do printf %s\\\\n \"$i\" | sed \"s/'/'\\\\\\\\''/g;1s/^/'/;\\$s/\\$/' \\\\\\\\/\" ; done\n    echo \" \"\n}\nAPP_ARGS=$(save \"$@\")\n\n# Collect all arguments for the java command, following the shell quoting and substitution rules\neval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS \"\\\"-Dorg.gradle.appname=$APP_BASE_NAME\\\"\" -classpath \"\\\"$CLASSPATH\\\"\" org.gradle.wrapper.GradleWrapperMain \"$APP_ARGS\"\n\n# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong\nif [ \"$(uname)\" = \"Darwin\" ] && [ \"$HOME\" = \"$PWD\" ]; then\n  cd \"$(dirname \"$0\")\"\nfi\n\nexec \"$JAVACMD\" \"$@\"\n"
  },
  {
    "path": "gradlew.bat",
    "content": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ###########################################################################\n@rem\n@rem  Gradle startup script for Windows\n@rem\n@rem ##########################################################################\n\n@rem Set local scope for the variables with windows NT shell\nif \"%OS%\"==\"Windows_NT\" setlocal\n\nset DIRNAME=%~dp0\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\nset APP_BASE_NAME=%~n0\nset APP_HOME=%DIRNAME%\n\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nset DEFAULT_JVM_OPTS=\n\n@rem Find java.exe\nif defined JAVA_HOME goto findJavaFromJavaHome\n\nset JAVA_EXE=java.exe\n%JAVA_EXE% -version >NUL 2>&1\nif \"%ERRORLEVEL%\" == \"0\" goto init\n\necho.\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:findJavaFromJavaHome\nset JAVA_HOME=%JAVA_HOME:\"=%\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\n\nif exist \"%JAVA_EXE%\" goto init\n\necho.\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:init\n@rem Get command-line arguments, handling Windows variants\n\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\n\n:win9xME_args\n@rem Slurp the command line arguments.\nset CMD_LINE_ARGS=\nset _SKIP=2\n\n:win9xME_args_slurp\nif \"x%~1\" == \"x\" goto execute\n\nset CMD_LINE_ARGS=%*\n\n:execute\n@rem Setup the command line\n\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\n\n@rem Execute Gradle\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\n\n:end\n@rem End local scope for the variables with windows NT shell\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\n\n:fail\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\nrem the _cmd.exe /c_ return code!\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\nexit /b 1\n\n:mainEnd\nif \"%OS%\"==\"Windows_NT\" endlocal\n\n:omega\n"
  },
  {
    "path": "lib_task_api/.gitignore",
    "content": "/build"
  },
  {
    "path": "lib_task_api/build.gradle",
    "content": "plugins {\n    id 'com.android.library'\n}\n\nandroid {\n    compileSdkVersion 30\n    buildToolsVersion \"30.0.3\"\n\n    defaultConfig {\n        minSdkVersion 21\n        targetSdkVersion 30\n        versionCode 1\n        versionName \"1.0\"\n\n        testInstrumentationRunner \"androidx.test.runner.AndroidJUnitRunner\"\n        consumerProguardFiles \"consumer-rules.pro\"\n    }\n\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'\n        }\n    }\n    compileOptions {\n        sourceCompatibility JavaVersion.VERSION_1_8\n        targetCompatibility JavaVersion.VERSION_1_8\n    }\n}\n\ndependencies {\n\n    implementation 'androidx.appcompat:appcompat:1.3.1'\n    implementation 'com.google.android.material:material:1.4.0'\n    testImplementation 'junit:junit:4.+'\n    androidTestImplementation 'androidx.test.ext:junit:1.1.3'\n    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'\n\n    implementation 'org.tensorflow:tensorflow-lite-task-vision:0.1.0'\n}"
  },
  {
    "path": "lib_task_api/consumer-rules.pro",
    "content": ""
  },
  {
    "path": "lib_task_api/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguardFiles setting in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n\n# Uncomment this to preserve the line number information for\n# debugging stack traces.\n#-keepattributes SourceFile,LineNumberTable\n\n# If you keep the line number information, uncomment this to\n# hide the original source file name.\n#-renamesourcefileattribute SourceFile"
  },
  {
    "path": "lib_task_api/src/main/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.lib_task_api\">\n\n</manifest>"
  },
  {
    "path": "lib_task_api/src/main/java/com/example/lib_task_api/Detector.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.example.lib_task_api;\n\nimport android.graphics.Bitmap;\nimport android.graphics.RectF;\n\nimport java.util.List;\n\n/** Generic interface for interacting with different recognition engines. */\npublic interface Detector {\n  List<Recognition> recognizeImage(Bitmap bitmap);\n\n  void enableStatLogging(final boolean debug);\n\n  String getStatString();\n\n  void close();\n\n  void setNumThreads(int numThreads);\n\n  void setUseNNAPI(boolean isChecked);\n\n  /** An immutable result returned by a Detector describing what was recognized. */\n  public class Recognition {\n    /**\n     * A unique identifier for what has been recognized. Specific to the class, not the instance of\n     * the object.\n     */\n    private final String id;\n\n    /** Display name for the recognition. */\n    private final String title;\n\n    /**\n     * A sortable score for how good the recognition is relative to others. Higher should be better.\n     */\n    private final Float confidence;\n\n    /** Optional location within the source image for the location of the recognized object. */\n    private RectF location;\n\n    public Recognition(\n            final String id, final String title, final Float confidence, final RectF location) {\n      this.id = id;\n      this.title = title;\n      this.confidence = confidence;\n      this.location = location;\n    }\n\n    public String getId() {\n      return id;\n    }\n\n    public String getTitle() {\n      return title;\n    }\n\n    public Float getConfidence() {\n      return confidence;\n    }\n\n    public RectF getLocation() {\n      return new RectF(location);\n    }\n\n    public void setLocation(RectF location) {\n      this.location = location;\n    }\n\n    @Override\n    public String toString() {\n      String resultString = \"\";\n      if (id != null) {\n        resultString += \"[\" + id + \"] \";\n      }\n\n      if (title != null) {\n        resultString += title + \" \";\n      }\n\n      if (confidence != null) {\n        resultString += String.format(\"(%.1f%%) \", confidence * 100.0f);\n      }\n\n      if (location != null) {\n        resultString += location + \" \";\n      }\n\n      return resultString.trim();\n    }\n  }\n}\n"
  },
  {
    "path": "lib_task_api/src/main/java/com/example/lib_task_api/TFLiteObjectDetectionAPIModel.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.example.lib_task_api;\n\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.os.Trace;\n\n\nimport org.tensorflow.lite.support.common.FileUtil;\nimport org.tensorflow.lite.support.image.TensorImage;\nimport org.tensorflow.lite.task.vision.detector.Detection;\nimport org.tensorflow.lite.task.vision.detector.ObjectDetector;\nimport org.tensorflow.lite.task.vision.detector.ObjectDetector.ObjectDetectorOptions;\n\nimport java.io.IOException;\nimport java.nio.MappedByteBuffer;\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * Wrapper for frozen detection models trained using the Tensorflow Object Detection API: -\n * https://github.com/tensorflow/models/tree/master/research/object_detection where you can find the\n * training code.\n *\n * <p>To use pretrained models in the API or convert to TF Lite models, please see docs for details:\n * -\n * https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1_detection_zoo.md\n * -\n * https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md\n * -\n * https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_on_mobile_tensorflowlite.md#running-our-model-on-android\n *\n * <p>For more information about Metadata and associated fields (eg: `labels.txt`), see <a\n * href=\"https://www.tensorflow.org/lite/convert/metadata#read_the_metadata_from_models\">Read the\n * metadata from models</a>\n */\npublic class TFLiteObjectDetectionAPIModel implements Detector {\n  private static final String TAG = \"TFLiteObjectDetectionAPIModelWithTaskApi\";\n\n  /** Only return this many results. */\n  private static final int NUM_DETECTIONS = 10;\n\n  private final MappedByteBuffer modelBuffer;\n\n  /** An instance of the driver class to run model inference with Tensorflow Lite. */\n  private ObjectDetector objectDetector;\n\n  /** Builder of the options used to config the ObjectDetector. */\n  private final ObjectDetectorOptions.Builder optionsBuilder;\n\n  /**\n   * Initializes a native TensorFlow session for classifying images.\n   *\n   * <p>{@code labelFilename}, {@code inputSize}, and {@code isQuantized}, are NOT required, but to\n   * keep consistency with the implementation using the TFLite Interpreter Java API. See <a\n   * href=\"https://github.com/tensorflow/examples/blob/master/lite/examples/object_detection/android/lib_interpreter/src/main/java/org/tensorflow/lite/examples/detection/tflite/TFLiteObjectDetectionAPIModel.java\">lib_interpreter</a>.\n   *\n   * @param modelFilename The model file path relative to the assets folder\n   * @param labelFilename The label file path relative to the assets folder\n   * @param inputSize The size of image input\n   * @param isQuantized Boolean representing model is quantized or not\n   */\n  public static Detector create(\n      final Context context,\n      final String modelFilename,\n      final String labelFilename,\n      final int inputSize,\n      final boolean isQuantized)\n      throws IOException {\n    return new TFLiteObjectDetectionAPIModel(context, modelFilename);\n  }\n\n  private TFLiteObjectDetectionAPIModel(Context context, String modelFilename) throws IOException {\n    modelBuffer = FileUtil.loadMappedFile(context, modelFilename);\n    optionsBuilder = ObjectDetectorOptions.builder().setMaxResults(NUM_DETECTIONS);\n    objectDetector = ObjectDetector.createFromBufferAndOptions(modelBuffer, optionsBuilder.build());\n  }\n\n  @Override\n  public List<Recognition> recognizeImage(final Bitmap bitmap) {\n    // Log this method so that it can be analyzed with systrace.\n    Trace.beginSection(\"recognizeImage\");\n    List<Detection> results = objectDetector.detect(TensorImage.fromBitmap(bitmap));\n\n    // Converts a list of {@link Detection} objects into a list of {@link Recognition} objects\n    // to match the interface of other inference method, such as using the <a\n    // href=\"https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/android/lib_interpreter\">TFLite\n    // Java API.</a>.\n    final ArrayList<Recognition> recognitions = new ArrayList<>();\n    int cnt = 0;\n    for (Detection detection : results) {\n      recognitions.add(\n          new Recognition(\n              \"\" + cnt++,\n              detection.getCategories().get(0).getLabel(),\n              detection.getCategories().get(0).getScore(),\n              detection.getBoundingBox()));\n    }\n    Trace.endSection(); // \"recognizeImage\"\n    return recognitions;\n  }\n\n  @Override\n  public void enableStatLogging(final boolean logStats) {}\n\n  @Override\n  public String getStatString() {\n    return \"\";\n  }\n\n  @Override\n  public void close() {\n    if (objectDetector != null) {\n      objectDetector.close();\n    }\n  }\n\n  @Override\n  public void setNumThreads(int numThreads) {\n    if (objectDetector != null) {\n      optionsBuilder.setNumThreads(numThreads);\n      recreateDetector();\n    }\n  }\n\n  @Override\n  public void setUseNNAPI(boolean isChecked) {\n    throw new UnsupportedOperationException(\n        \"Manipulating the hardware accelerators is not allowed in the Task\"\n            + \" library currently. Only CPU is allowed.\");\n  }\n\n  private void recreateDetector() {\n    objectDetector.close();\n    objectDetector = ObjectDetector.createFromBufferAndOptions(modelBuffer, optionsBuilder.build());\n  }\n}\n"
  },
  {
    "path": "lib_task_api/src/test/java/com/example/lib_task_api/ExampleUnitTest.java",
    "content": "package com.example.lib_task_api;\n\nimport org.junit.Test;\n\nimport static org.junit.Assert.*;\n\n/**\n * Example local unit test, which will execute on the development machine (host).\n *\n * @see <a href=\"http://d.android.com/tools/testing\">Testing documentation</a>\n */\npublic class ExampleUnitTest {\n    @Test\n    public void addition_isCorrect() {\n        assertEquals(4, 2 + 2);\n    }\n}"
  },
  {
    "path": "mylibrary/.gitignore",
    "content": "/build"
  },
  {
    "path": "mylibrary/build.gradle",
    "content": "plugins {\n    id 'com.android.library'\n}\n\nandroid {\n    compileSdkVersion 30\n    buildToolsVersion \"30.0.3\"\n\n    defaultConfig {\n        minSdkVersion 21\n        targetSdkVersion 30\n        versionCode 1\n        versionName \"1.0\"\n\n        testInstrumentationRunner \"androidx.test.runner.AndroidJUnitRunner\"\n        consumerProguardFiles \"consumer-rules.pro\"\n    }\n\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'\n        }\n    }\n    compileOptions {\n        sourceCompatibility JavaVersion.VERSION_1_8\n        targetCompatibility JavaVersion.VERSION_1_8\n    }\n}\n\ndependencies {\n\n    implementation 'androidx.appcompat:appcompat:1.3.1'\n    implementation 'com.google.android.material:material:1.4.0'\n    testImplementation 'junit:junit:4.+'\n    androidTestImplementation 'androidx.test.ext:junit:1.1.3'\n    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'\n\n    // Build off of nightly TensorFlow Lite\n    implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly-SNAPSHOT'\n    implementation 'org.tensorflow:tensorflow-lite-metadata:0.0.0-nightly-SNAPSHOT'\n}"
  },
  {
    "path": "mylibrary/consumer-rules.pro",
    "content": ""
  },
  {
    "path": "mylibrary/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguardFiles setting in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n\n# Uncomment this to preserve the line number information for\n# debugging stack traces.\n#-keepattributes SourceFile,LineNumberTable\n\n# If you keep the line number information, uncomment this to\n# hide the original source file name.\n#-renamesourcefileattribute SourceFile"
  },
  {
    "path": "mylibrary/src/main/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.lib_task_api\">\n\n</manifest>"
  },
  {
    "path": "mylibrary/src/main/java/com/example/lib_task_api/Detector.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.example.lib_task_api;\n\nimport android.graphics.Bitmap;\nimport android.graphics.RectF;\n\n/** Generic interface for interacting with different recognition engines. */\npublic interface Detector {\n  String recognizeImage(Bitmap bitmap);\n  void close();\n\n  void setNumThreads(int numThreads);\n\n  void setUseNNAPI(boolean isChecked);\n\n  /** An immutable result returned by a Detector describing what was recognized. */\n  public class Recognition {\n    /**\n     * A unique identifier for what has been recognized. Specific to the class, not the instance of\n     * the object.\n     */\n    private final String id;\n\n    /** Display name for the recognition. */\n    private final String title;\n\n    /**\n     * A sortable score for how good the recognition is relative to others. Higher should be better.\n     */\n    private final Float confidence;\n\n    /** Optional location within the source image for the location of the recognized object. */\n    private RectF location;\n\n    public Recognition(\n            final String id, final String title, final Float confidence, final RectF location) {\n      this.id = id;\n      this.title = title;\n      this.confidence = confidence;\n      this.location = location;\n    }\n\n    public String getId() {\n      return id;\n    }\n\n    public String getTitle() {\n      return title;\n    }\n\n    public Float getConfidence() {\n      return confidence;\n    }\n\n    public RectF getLocation() {\n      return new RectF(location);\n    }\n\n    public void setLocation(RectF location) {\n      this.location = location;\n    }\n\n    @Override\n    public String toString() {\n      String resultString = \"\";\n      if (id != null) {\n        resultString += \"[\" + id + \"] \";\n      }\n\n      if (title != null) {\n        resultString += title + \" \";\n      }\n\n      if (confidence != null) {\n        resultString += String.format(\"(%.1f%%) \", confidence * 100.0f);\n      }\n\n      if (location != null) {\n        resultString += location + \" \";\n      }\n\n      return resultString.trim();\n    }\n  }\n}\n"
  },
  {
    "path": "mylibrary/src/main/java/com/example/lib_task_api/TFLiteObjectDetectionAPIModel.java",
    "content": "/* Copyright 2019 The TensorFlow Authors. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n==============================================================================*/\n\npackage com.example.lib_task_api;\n\nimport android.content.Context;\nimport android.content.res.AssetFileDescriptor;\nimport android.content.res.AssetManager;\nimport android.graphics.Bitmap;\nimport android.os.Trace;\nimport android.util.Log;\n\nimport org.tensorflow.lite.Interpreter;\nimport org.tensorflow.lite.support.metadata.MetadataExtractor;\n\nimport java.io.BufferedReader;\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.nio.ByteBuffer;\nimport java.nio.ByteOrder;\nimport java.nio.MappedByteBuffer;\nimport java.nio.channels.FileChannel;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\n\n/**\n * Wrapper for frozen detection models trained using the Tensorflow Object Detection API: -\n * https://github.com/tensorflow/models/tree/master/research/object_detection where you can find the\n * training code.\n *\n * <p>To use pretrained models in the API or convert to TF Lite models, please see docs for details:\n * -\n * https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1_detection_zoo.md\n * -\n * https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md\n * -\n * https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_on_mobile_tensorflowlite.md#running-our-model-on-android\n */\npublic class TFLiteObjectDetectionAPIModel implements Detector {\n  private static final String TAG = \"TFLiteObjectDetectionAPIModelWithInterpreter\";\n\n  // Only return this many results.\n  private static final int NUM_DETECTIONS = 10;\n  // Float model\n  private static final float IMAGE_MEAN = 127.5f;\n  private static final float IMAGE_STD = 127.5f;\n  // Number of threads in the java app\n  private static final int NUM_THREADS = 4;\n  private boolean isModelQuantized;\n  // Config values.\n  private int inputSize;\n  // Pre-allocated buffers.\n  private final List<String> labels = new ArrayList<>();\n  private int[] intValues;\n  // outputLocations: array of shape [Batchsize, NUM_DETECTIONS,4]\n  // contains the location of detected boxes\n  private float[][][] outputLocations;\n  // outputClasses: array of shape [Batchsize, NUM_DETECTIONS]\n  // contains the classes of detected boxes\n  private float[][] outputClasses;\n  // outputScores: array of shape [Batchsize, NUM_DETECTIONS]\n  // contains the scores of detected boxes\n  private float[][] outputScores;\n  // numDetections: array of shape [Batchsize]\n  // contains the number of detected boxes\n  private float[] numDetections;\n\n  private ByteBuffer imgData;\n\n  private MappedByteBuffer tfLiteModel;\n  private Interpreter.Options tfLiteOptions;\n  private Interpreter tfLite;\n\n  private float[][] ageMap;\n  private float[][] genderMap;\n  private static final int AGE_SIZE = 4;\n  private static final int GENDER_SIZE = 2;\n  private static final float WHITE_THRESH = 255f;\n\n  private TFLiteObjectDetectionAPIModel() {}\n\n  /** Memory-map the model file in Assets. */\n  private static MappedByteBuffer loadModelFile(AssetManager assets, String modelFilename)\n      throws IOException {\n    AssetFileDescriptor fileDescriptor = assets.openFd(modelFilename);\n    FileInputStream inputStream = new FileInputStream(fileDescriptor.getFileDescriptor());\n    FileChannel fileChannel = inputStream.getChannel();\n    long startOffset = fileDescriptor.getStartOffset();\n    long declaredLength = fileDescriptor.getDeclaredLength();\n    return fileChannel.map(FileChannel.MapMode.READ_ONLY, startOffset, declaredLength);\n  }\n\n  /**\n   * Initializes a native TensorFlow session for classifying images.\n   *\n   * @param modelFilename The model file path relative to the assets folder\n   * @param labelFilename The label file path relative to the assets folder\n   * @param inputSize The size of image input\n   * @param isQuantized Boolean representing model is quantized or not\n   */\n  public static Detector create(\n      final Context context,\n      final String modelFilename,\n      final String labelFilename,\n      final int inputSize,\n      final boolean isQuantized)\n      throws IOException {\n    final TFLiteObjectDetectionAPIModel d = new TFLiteObjectDetectionAPIModel();\n\n    AssetManager am = context.getAssets();\n    InputStream is = am.open(labelFilename);\n\n    MappedByteBuffer modelFile = loadModelFile(context.getAssets(), modelFilename);\n    MetadataExtractor metadata = new MetadataExtractor(modelFile);\n    try (BufferedReader br =\n                 new BufferedReader(\n                         new InputStreamReader(is))) {\n      String line;\n      while ((line = br.readLine()) != null) {\n        //Log.w(TAG, line);\n        d.labels.add(line);\n      }\n    }\n\n    d.inputSize = inputSize;\n\n    try {\n      Interpreter.Options options = new Interpreter.Options();\n      options.setNumThreads(NUM_THREADS);\n//      options.setUseXNNPACK(true);\n      d.tfLite = new Interpreter(modelFile, options);\n      d.tfLiteModel = modelFile;\n      d.tfLiteOptions = options;\n    } catch (Exception e) {\n      throw new RuntimeException(e);\n    }\n\n    d.isModelQuantized = isQuantized;\n    // Pre-allocate buffers.\n    int numBytesPerChannel;\n    if (isQuantized) {\n      numBytesPerChannel = 1; // Quantized\n    } else {\n      numBytesPerChannel = 4; // Floating point\n    }\n    d.imgData = ByteBuffer.allocateDirect(1 * d.inputSize * d.inputSize * 3 * numBytesPerChannel);\n    d.imgData.order(ByteOrder.nativeOrder());\n    d.intValues = new int[d.inputSize * d.inputSize];\n\n    d.outputLocations = new float[1][NUM_DETECTIONS][4];\n    d.outputClasses = new float[1][NUM_DETECTIONS];\n    d.outputScores = new float[1][NUM_DETECTIONS];\n    d.numDetections = new float[1];\n    return d;\n  }\n\n  @Override\n  public String recognizeImage(final Bitmap bitmap) {\n    // Log this method so that it can be analyzed with systrace.\n    Trace.beginSection(\"recognizeImage\");\n\n    Trace.beginSection(\"preprocessBitmap\");\n    // Preprocess the image data from 0-255 int to normalized float based\n    // on the provided parameters.\n    bitmap.getPixels(intValues, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());\n\n    imgData.rewind();\n    for (int i = 0; i < inputSize; ++i) {\n      for (int j = 0; j < inputSize; ++j) {\n        int pixelValue = intValues[i * inputSize + j];\n\n\n        if (isModelQuantized) {\n          // Quantized model\n          imgData.put((byte) ((pixelValue >> 16) & 0xFF));\n          imgData.put((byte) ((pixelValue >> 8) & 0xFF));\n          imgData.put((byte) (pixelValue & 0xFF));\n        } else { // Float model\n\n          // divide image pixels by 255 to get values in range from 0 to 1\n\n//          imgData.putFloat(((pixelValue >> 16) & 0xFF) / WHITE_THRESH);\n//          imgData.putFloat(((pixelValue >> 8) & 0xFF) / WHITE_THRESH);\n//          imgData.putFloat((pixelValue & 0xFF)  / WHITE_THRESH);\n\n          //doing the color change here from RGB to BGR\n\n          imgData.putFloat((pixelValue & 0xFF) / WHITE_THRESH);\n          imgData.putFloat(((pixelValue >> 8) & 0xFF) / WHITE_THRESH);\n          imgData.putFloat(((pixelValue >> 16) & 0xFF) / WHITE_THRESH);\n        }\n      }\n    }\n\n    // convert RGB to BGR\n\n    Trace.endSection(); // preprocessBitmap\n\n    // Copy the input data into TensorFlow.\n    Trace.beginSection(\"feed\");\n//    outputLocations = new float[1][NUM_DETECTIONS][4];\n//    outputClasses = new float[1][NUM_DETECTIONS];\n//    outputScores = new float[1][NUM_DETECTIONS];\n//    numDetections = new float[1];\n\n\n    Object[] inputArray = {imgData};\n\n    Map<Integer, Object> outputMap = new HashMap<>();\n\n    ageMap = new float[1][AGE_SIZE];\n    genderMap = new float[1][GENDER_SIZE];\n\n//    outputMap.put(0, outputLocations);\n//    outputMap.put(1, outputClasses);\n//    outputMap.put(2, outputScores);\n//    outputMap.put(3, numDetections);\n\n    outputMap.put(0, ageMap);\n    outputMap.put(1, genderMap);\n\n\n    Trace.endSection();\n\n    // Run the inference call.\n    Trace.beginSection(\"run\");\n\n\n    tfLite.runForMultipleInputsOutputs(inputArray, outputMap);\n\n\n    Log.w(\"AGE\", \"!!!AGE: \" + ageMap[0][0] + \"|\" + ageMap[0][1] + \"|\" + ageMap[0][2] + \"|\" + ageMap[0][3]);\n    Log.w(\"GENDER\", \"!!!GENDER: \" + genderMap[0][0] + \"|\" + genderMap[0][1]);\n\n    Integer ageInd = 0;\n    Integer genderInd = 0;\n\n    Float max = -1f;\n    for (int i = 0; i < ageMap[0].length; i++) {\n      float currValue = ageMap[0][i];\n\n      if (currValue > max) {\n        max = currValue;\n        ageInd = i;\n      }\n\n    }\n\n    max = -1f;\n    for (int i = 0; i < genderMap[0].length; i++) {\n      float currValue = genderMap[0][i];\n\n      if (currValue > max) {\n        max = currValue;\n        genderInd = i;\n\n      }\n\n    }\n\n\n    //LOGGER.i(\"IND AGE: \" + ageInd + \" | IND Gender: \" + genderInd);\n\n    List<String> genderList = Arrays.asList(\"Female\", \"Male\");\n    List<String> ageList = Arrays.asList(\"0-14yo\", \"15-40yo\", \"41-60yo\", \"61-100yo\");\n\n\n    String label =ageList.get(ageInd) + \" | \" + genderList.get(genderInd);\n\n\n    Trace.endSection();\n\n    final int numDetectionsOutput = 1;\n    final ArrayList<Recognition> recognitions = new ArrayList<>(numDetectionsOutput);\n    //Recognition rec = new Recognition(\"0\", label, new RectF());\n\n    //recognitions.add( rec );\n\n\n    Trace.endSection();\n    return label;\n  }\n  @Override\n  public void close() {\n    if (tfLite != null) {\n      tfLite.close();\n      tfLite = null;\n    }\n  }\n\n  @Override\n  public void setNumThreads(int numThreads) {\n    if (tfLite != null) {\n      tfLiteOptions.setNumThreads(numThreads);\n      recreateInterpreter();\n    }\n  }\n\n  @Override\n  public void setUseNNAPI(boolean isChecked) {\n    if (tfLite != null) {\n      tfLiteOptions.setUseNNAPI(isChecked);\n      recreateInterpreter();\n    }\n  }\n\n  private void recreateInterpreter() {\n    tfLite.close();\n    tfLite = new Interpreter(tfLiteModel, tfLiteOptions);\n  }\n}\n"
  },
  {
    "path": "mylibrary/src/test/java/com/example/lib_task_api/ExampleUnitTest.java",
    "content": "package com.example.lib_task_api;\n\nimport org.junit.Test;\n\nimport static org.junit.Assert.*;\n\n/**\n * Example local unit test, which will execute on the development machine (host).\n *\n * @see <a href=\"http://d.android.com/tools/testing\">Testing documentation</a>\n */\npublic class ExampleUnitTest {\n    @Test\n    public void addition_isCorrect() {\n        assertEquals(4, 2 + 2);\n    }\n}"
  },
  {
    "path": "settings.gradle",
    "content": "include ':lib_task_api'\ninclude ':mylibrary'\ninclude ':app'\nrootProject.name = \"Good Point\"\n/**GoodPoint */"
  }
]