温馨提示:本平台仅供研究软件风险、安全评估,禁止用于非法用途。由于展示的数据过于全面,请耐心等待加载完成。如有疑问或建议, 可加入我们的微信群讨论

APP评分

病毒检测 无法判定

安全评分

文件信息

文件名称 com.css.xzydbs_10.2.97.apk
文件大小 55.55MB
MD5 f7ebb4681524ca11bddfc2c59ecc94c8
SHA1 dda64bf09bf74ea53f42dbb182d1d6180302ef1b
SHA256 6fb9f3e4356d033443457a1fb42dfa8f688126a2aa0ab9bdcc49617d2b08dfa6

应用信息

应用名称 西藏税务
包名 com.css.xzydbs
主活动 com.css.orm.lib.ci.cic.ui.StartActivity
目标SDK 30     最小SDK 21
版本号 10.2.97     子版本号 283
加固信息 爱加密 加固

组件导出信息

反编译代码

Manifest文件 查看
APK文件 下载
Java源代码 查看 -- 下载

证书信息

二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: False
v4 签名: False
主题: CN=ydbs
签名算法: rsassa_pkcs1v15
有效期自: 2016-09-20 02:00:41+00:00
有效期至: 2041-09-14 02:00:41+00:00
发行人: CN=ydbs
序列号: 0x57e09849
哈希算法: sha1
证书MD5: bf706e36b2c8a7ede8cd562bb1c98df4
证书SHA1: c8ed089e35e4289b978f332cb969e87887a98c44
证书SHA256: c7a128a333851821e5907bb5b7fe8c15333e2f8384917c5b14e078b796487bdc
证书SHA512: 20f1613022560fb85e3aa88726ad00635aaeb1e17b3c8a860b9af536ad04ebfd857e84f967bfa17be01abad6d23ad653790e7f6a966af405803d31293608ce74
公钥算法: rsa
密钥长度: 1024
指纹: 662d8977ad11c7e6c540ef443868d64c28de2443a51683a7ae3021ed2acaae34
找到 1 个唯一证书

应用程序权限

权限名称 安全等级 权限内容 权限描述 关联代码
android.permission.CAMERA 危险 拍照和录制视频 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。
android.permission.INTERNET 危险 完全互联网访问 允许应用程序创建网络套接字。
com.css.xzydbs.andpermission.bridge 未知 未知权限 来自 android 引用的未知权限。
android.permission.ACCESS_NETWORK_STATE 普通 获取网络状态 允许应用程序查看所有网络的状态。
android.permission.ACCESS_WIFI_STATE 普通 查看Wi-Fi状态 允许应用程序查看有关Wi-Fi状态的信息。
android.permission.READ_PHONE_STATE 危险 读取手机状态和标识 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。
android.permission.VIBRATE 普通 控制振动器 允许应用程序控制振动器,用于消息通知振动功能。
android.permission.WRITE_EXTERNAL_STORAGE 危险 读取/修改/删除外部存储内容 允许应用程序写入外部存储。
ccc/rrr/hhh/s/l.java
ccc/rrr/hhh/s/z.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/GZipUtils.java
cn/ijiami/callm/j/utils/d.java
com/baidu/ocr/ui/camera/CameraActivity.java
com/baidu/ocr/ui/camera/CameraView.java
com/css/lib/zxing/common/QRCodeUtil.java
com/css/orm/base/image/IImage.java
com/css/orm/base/safe/CheckRoot.java
com/css/orm/base/utils/DownloadUtil.java
com/css/orm/base/utils/FileUtils.java
com/css/orm/base/utils/ImageCompress.java
com/css/orm/base/utils/safe/AESUtils.java
com/css/orm/lib/ci/cic/CIPWidget.java
com/css/orm/lib/ci/cic/CIUtil.java
com/css/orm/lib/ci/plugin/camera/CIPCamera.java
com/css/orm/lib/ci/plugin/camera/ui/camera/CameraActivity.java
com/css/orm/lib/ci/plugin/camera/ui/camera/CameraView.java
com/css/orm/lib/ci/plugin/documentreader/FileTask.java
com/css/orm/lib/ci/plugin/documentreader/PDFPrintAdapter.java
com/css/orm/lib/ci/plugin/filemgr/CIPFile.java
com/css/orm/lib/ci/plugin/filemgr/CIPFileMgr.java
com/css/orm/lib/ci/plugin/image/util/ImageCompress.java
com/css/orm/lib/cibase/checkupdate/CheckApp.java
com/css/orm/lib/cibase/checkupdate/CheckH5.java
com/css/orm/lib/cibase/http/HttpExec.java
com/css/orm/lib/cibase/image/html/tools/FileDownloaderUtility.java
com/css/orm/lib/cibase/utils/OrmClassLoader.java
com/css/orm/open/filedownloader/stream/FileDownloadRandomAccessFile.java
com/esandinfo/core/utils/MyLog.java
com/github/barteksc/pdfviewer/util/FileUtils.java
com/hisign/ivs/alg/hi.java
com/hisign/ivs/alg/siv.java
com/hisign/ivs/easy/app/LiveDetectActivity.java
com/ifaa/sdk/util/FileUtils.java
com/sun/jna/Native.java
android.permission.READ_EXTERNAL_STORAGE 危险 读取SD卡内容 允许应用程序从SD卡读取信息。
android.permission.MANAGE_EXTERNAL_STORAGE 危险 文件列表访问权限 Android11新增权限,读取本地文件,如简历,聊天图片。
android.permission.WAKE_LOCK 危险 防止手机休眠 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。
android.permission.RECORD_AUDIO 危险 获取录音权限 允许应用程序获取录音权限。
android.permission.FLASHLIGHT 普通 控制闪光灯 允许应用程序控制闪光灯。
android.permission.RECEIVE_USER_PRESENT 普通 允许程序唤醒机器 允许应用可以接收点亮屏幕或解锁广播。
android.permission.ACCESS_COARSE_LOCATION 危险 获取粗略位置 通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米。恶意程序可以用它来确定您的大概位置。
android.permission.CHANGE_WIFI_STATE 危险 改变Wi-Fi状态 允许应用程序改变Wi-Fi状态。
android.permission.CHANGE_NETWORK_STATE 危险 改变网络连通性 允许应用程序改变网络连通性。
android.permission.GET_TASKS 危险 检索当前运行的应用程序 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。
android.permission.FOREGROUND_SERVICE 普通 创建前台Service Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放)
android.permission.ACCESS_FINE_LOCATION 危险 获取精确位置 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。
android.permission.CHANGE_CONFIGURATION 危险 改变UI设置 允许应用程序 允许应用程序更改当前配置,例如语言区域或整体的字体大小。
android.permission.MOUNT_UNMOUNT_FILESYSTEMS 危险 装载和卸载文件系统 允许应用程序装载和卸载可移动存储器的文件系统。
android.permission.REQUEST_INSTALL_PACKAGES 危险 允许安装应用程序 Android8.0 以上系统允许安装未知来源应用程序权限。
android.permission.KILL_BACKGROUND_PROCESSES 普通 结束进程 允许应用程序结束其他应用程序的后台进程。
com.css.debug110.permission.READ_PROVIDER 未知 未知权限 来自 android 引用的未知权限。
android.permission.USE_FINGERPRINT 普通 允许使用指纹 此常量在 API 级别 28 中已弃用。应用程序应改为请求USE_BIOMETRIC
android.permission.MANAGE_FINGERPRINT 未知 未知权限 来自 android 引用的未知权限。
cn.org.ifaa.permission.USE_IFAA_MANAGER 未知 未知权限 来自 android 引用的未知权限。
oppo.permission.USE_FACE 未知 未知权限 来自 android 引用的未知权限。
android.permission.USE_FACERECOGNITION 未知 未知权限 来自 android 引用的未知权限。
com.asus.msa.SupplementaryDID.ACCESS 普通 获取厂商oaid相关权限 获取设备标识信息oaid,在华硕设备上需要用到的权限。
freemme.permission.msa 未知 未知权限 来自 android 引用的未知权限。

证书分析

高危
0
警告
1
信息
1
标题 严重程度 描述信息
已签名应用 信息 应用程序已使用代码签名证书进行签名

MANIFEST分析

高危
0
警告
11
信息
0
屏蔽
0
序号 问题 严重程度 描述信息 操作
1 应用程序可以安装在有漏洞的已更新 Android 版本上
Android 5.0-5.0.2, [minSdk=21]
信息 该应用程序可以安装在具有多个未修复漏洞的旧版本 Android 上。这些设备不会从 Google 接收合理的安全更新。支持 Android 版本 => 10、API 29 以接收合理的安全更新。
2 应用程序具有网络安全配置
[android:networkSecurityConfig=@xml/network_security_config]
信息 网络安全配置功能让应用程序可以在一个安全的,声明式的配置文件中自定义他们的网络安全设置,而不需要修改应用程序代码。这些设置可以针对特定的域名和特定的应用程序进行配置。
3 Activity (com.css.orm.lib.ci.cic.ui.SchemeActivity) 未被保护。
存在一个intent-filter。
警告 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。
4 Activity设置了TaskAffinity属性
(com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry1)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
5 Activity设置了TaskAffinity属性
(com.css.orm.base.ui.page.NtFragActivity$NT1)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
6 Activity设置了TaskAffinity属性
(com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry2)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
7 Activity设置了TaskAffinity属性
(com.css.orm.base.ui.page.NtFragActivity$NT2)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
8 Activity设置了TaskAffinity属性
(com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry3)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
9 Activity设置了TaskAffinity属性
(com.css.orm.base.ui.page.NtFragActivity$NT3)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
10 Activity设置了TaskAffinity属性
(com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry4)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
11 Activity设置了TaskAffinity属性
(com.css.orm.base.ui.page.NtFragActivity$NT4)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
12 Activity设置了TaskAffinity属性
(com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry5)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名
13 Activity设置了TaskAffinity属性
(com.css.orm.base.ui.page.NtFragActivity$NT5)
警告 如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名

可浏览的ACTIVITIES

ACTIVITY INTENT
com.css.orm.lib.ci.cic.ui.SchemeActivity Schemes: xzydbs://,

网络安全配置

高危
1
警告
0
信息
0
安全
0
序号 范围 严重级别 描述
1 *
基本配置不安全地配置为允许到所有域的明文流量。

API调用分析

API功能 源码文件
一般功能-> 文件操作
ccc/rrr/hhh/s/a.java
ccc/rrr/hhh/s/k.java
ccc/rrr/hhh/s/l.java
ccc/rrr/hhh/s/m.java
ccc/rrr/hhh/s/z.java
cn/gov/chinatax/gt4/bundle/tpass/depend/entity/requestentity/AppSecondCertificationParam.java
cn/gov/chinatax/gt4/bundle/tpass/depend/entity/requestentity/EnterpriseIdentityLoginParam.java
cn/gov/chinatax/gt4/bundle/tpass/depend/entity/requestentity/NaturalIdentityLoginParam.java
cn/gov/chinatax/gt4/bundle/tpass/depend/entity/requestentity/VerifyWithPictureRequestParam.java
cn/gov/chinatax/gt4/bundle/tpass/depend/entity/requestentity/VerifyWithPictureTokenParam.java
cn/gov/chinatax/gt4/bundle/tpass/depend/jsbridge/BridgeWebViewClient.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/Operator.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/parser/LitePalParser.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/tablemanager/Connector.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/util/BaseUtility.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/util/SharedUtil.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/util/cipher/AESCrypt.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/GZipUtils.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/LogFileUtils.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/MacAddressUtil.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/SM4Util.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/SharedPreferencesUtil.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/URLEncoder.java
cn/ijiami/callm/j/GP.java
cn/ijiami/callm/j/H.java
cn/ijiami/callm/j/utils/d.java
com/baidu/ocr/ui/camera/Camera1Control.java
com/baidu/ocr/ui/camera/CameraActivity.java
com/baidu/ocr/ui/camera/CameraView.java
com/baidu/ocr/ui/crop/CropView.java
com/chad/library/adapter/base/entity/SectionEntity.java
com/css/lib/zxing/camera/BeepManager.java
com/css/lib/zxing/camera/CameraManager.java
com/css/lib/zxing/common/QRCodeUtil.java
com/css/lib/zxing/decoding/CaptureHelper.java
com/css/lib/zxing/decoding/DecodeHandler.java
com/css/orm/base/CIArgs.java
com/css/orm/base/dl/DownloadInfo.java
com/css/orm/base/http/HttpBean.java
com/css/orm/base/http/PersistentCookieStore.java
com/css/orm/base/http/SerializableOkHttpCookies.java
com/css/orm/base/iapp/AppCheckItem.java
com/css/orm/base/iapp/AppStartItem.java
com/css/orm/base/iapp/MainPageItem.java
com/css/orm/base/image/IImage.java
com/css/orm/base/mini/AppConfig.java
com/css/orm/base/permission/FileProvider.java
com/css/orm/base/permission/PermissionUtils.java
com/css/orm/base/permission/PhoneRomUtils.java
com/css/orm/base/prefer/PerferBadgedImpl.java
com/css/orm/base/prefer/PerferCIImpl.java
com/css/orm/base/prefer/PerferPJImpl.java
com/css/orm/base/safe/CheckHook.java
com/css/orm/base/safe/CheckRoot.java
com/css/orm/base/safe/CheckVirtual.java
com/css/orm/base/utils/CIMUtil.java
com/css/orm/base/utils/Cert.java
com/css/orm/base/utils/DirUtils.java
com/css/orm/base/utils/DocumentUtils.java
com/css/orm/base/utils/DownloadUtil.java
com/css/orm/base/utils/FileUtils.java
com/css/orm/base/utils/ImageCompress.java
com/css/orm/base/utils/ProcessUtil.java
com/css/orm/base/utils/UrlChange.java
com/css/orm/base/utils/ZipUtils.java
com/css/orm/base/utils/safe/AESUtils.java
com/css/orm/base/utils/safe/Base64Utils.java
com/css/orm/base/utils/safe/RSAUtils.java
com/css/orm/lib/ci/cic/CIChromeClient.java
com/css/orm/lib/ci/cic/CIGlobalXmlManager.java
com/css/orm/lib/ci/cic/CIPWidget.java
com/css/orm/lib/ci/cic/CIUtil.java
com/css/orm/lib/ci/cic/CIWebView.java
com/css/orm/lib/ci/cic/CIWebViewClient.java
com/css/orm/lib/ci/cic/model/JumpPageData.java
com/css/orm/lib/ci/cic/ui/CIFragment.java
com/css/orm/lib/ci/plugin/CIPLocalStorage.java
com/css/orm/lib/ci/plugin/CIPNetData.java
com/css/orm/lib/ci/plugin/baiduorc/CIPBaiduOCR.java
com/css/orm/lib/ci/plugin/camera/CIPCamera.java
com/css/orm/lib/ci/plugin/camera/CustomCameraFragment.java
com/css/orm/lib/ci/plugin/camera/ui/camera/Camera1Control.java
com/css/orm/lib/ci/plugin/camera/ui/camera/CameraActivity.java
com/css/orm/lib/ci/plugin/camera/ui/camera/CameraView.java
com/css/orm/lib/ci/plugin/camera/ui/crop/CropView.java
com/css/orm/lib/ci/plugin/device/CIPDevice.java
com/css/orm/lib/ci/plugin/documentreader/CIPDocumentReader.java
com/css/orm/lib/ci/plugin/documentreader/FileTask.java
com/css/orm/lib/ci/plugin/documentreader/PDFPrintAdapter.java
com/css/orm/lib/ci/plugin/documentreader/PdfFragment.java
com/css/orm/lib/ci/plugin/documentreader/PdfView.java
com/css/orm/lib/ci/plugin/filemgr/CIPFile.java
com/css/orm/lib/ci/plugin/filemgr/CIPFileMgr.java
com/css/orm/lib/ci/plugin/filemgr/FileBean.java
com/css/orm/lib/ci/plugin/filemgr/FileDao.java
com/css/orm/lib/ci/plugin/filemgr/FilexplorerFragment.java
com/css/orm/lib/ci/plugin/filemgr/KVPropertiesUtil.java
com/css/orm/lib/ci/plugin/filemgr/MyZipUtils.java
com/css/orm/lib/ci/plugin/filemgr/NFileexplorerFragment.java
com/css/orm/lib/ci/plugin/filemgr/SuiWuZipFragment.java
com/css/orm/lib/ci/plugin/filemgr/vo/FileSizeDataVO.java
com/css/orm/lib/ci/plugin/filemgr/vo/ResultFileSizeVO.java
com/css/orm/lib/ci/plugin/filepicker/model/EssFile.java
com/css/orm/lib/ci/plugin/filepicker/model/EssFileFilter.java
com/css/orm/lib/ci/plugin/filepicker/task/EssFileCountTask.java
com/css/orm/lib/ci/plugin/filepicker/util/FileSizeUtil.java
com/css/orm/lib/ci/plugin/filepicker/util/FileUtils.java
com/css/orm/lib/ci/plugin/image/AlbumListFragment.java
com/css/orm/lib/ci/plugin/image/CIPImage.java
com/css/orm/lib/ci/plugin/image/ImagePicker.java
com/css/orm/lib/ci/plugin/image/VideoListFragment.java
com/css/orm/lib/ci/plugin/image/loader/GlideImageLoader.java
com/css/orm/lib/ci/plugin/image/loader/ImageLoader.java
com/css/orm/lib/ci/plugin/image/model/ImageFolder.java
com/css/orm/lib/ci/plugin/image/model/ImageItem.java
com/css/orm/lib/ci/plugin/image/model/PictureFolder.java
com/css/orm/lib/ci/plugin/image/model/PictureInfo.java
com/css/orm/lib/ci/plugin/image/util/CIPImageUtil.java
com/css/orm/lib/ci/plugin/image/util/CommonUtil.java
com/css/orm/lib/ci/plugin/image/util/ImageCompress.java
com/css/orm/lib/ci/plugin/image/util/ImageDataSource.java
com/css/orm/lib/ci/plugin/image/view/ImageGridActivity.java
com/css/orm/lib/cibase/checkupdate/CheckApp.java
com/css/orm/lib/cibase/checkupdate/CheckH5.java
com/css/orm/lib/cibase/checkupdate/model/DialogInfo.java
com/css/orm/lib/cibase/download/DownloadService.java
com/css/orm/lib/cibase/http/HttpExec.java
com/css/orm/lib/cibase/http/HttpSecurity.java
com/css/orm/lib/cibase/http/MyInterceptor.java
com/css/orm/lib/cibase/http/ProgressRequestBody.java
com/css/orm/lib/cibase/http/ProgressResponseBody.java
com/css/orm/lib/cibase/image/IImageUrl.java
com/css/orm/lib/cibase/image/ImageSwitcherFragment.java
com/css/orm/lib/cibase/image/RLCamaraActivity.java
com/css/orm/lib/cibase/image/RLPicActivity.java
com/css/orm/lib/cibase/image/html/ImageGetterTask.java
com/css/orm/lib/cibase/image/html/tools/BitmapUtility.java
com/css/orm/lib/cibase/image/html/tools/FileDownloader.java
com/css/orm/lib/cibase/image/html/tools/FileDownloaderImpl.java
com/css/orm/lib/cibase/image/html/tools/FileDownloaderUtility.java
com/css/orm/lib/cibase/image/okhttp/OkHttpGlideModule.java
com/css/orm/lib/cibase/image/okhttp/OkHttpStreamFetcher.java
com/css/orm/lib/cibase/image/okhttp/OkHttpUrlLoader.java
com/css/orm/lib/cibase/mini/MPManager.java
com/css/orm/lib/cibase/mini/config/MPAppConfig.java
com/css/orm/lib/cibase/player/cache/IVideoUrl.java
com/css/orm/lib/cibase/player/cache/PlayExtends.java
com/css/orm/lib/cibase/player/play/LocalVideoView.java
com/css/orm/lib/cibase/player/vc/VideoCache.java
com/css/orm/lib/cibase/pulltorefresh/PtrClassicDefaultFooter.java
com/css/orm/lib/cibase/pulltorefresh/PtrClassicDefaultHeader.java
com/css/orm/lib/cibase/ui/Drawer.java
com/css/orm/lib/cibase/ui/TabBean.java
com/css/orm/lib/cibase/upload/IUploaderTask.java
com/css/orm/lib/cibase/upload/aidl/UploadInfo.java
com/css/orm/lib/cibase/utils/FileMD5Util.java
com/css/orm/lib/cibase/utils/ORMApp.java
com/css/orm/lib/cibase/utils/OrmClassLoader.java
com/css/orm/lib/cibase/utils/OrmUtil.java
com/css/orm/lib/cibase/utils/UIUtils.java
com/css/orm/open/filedownloader/DownloadTask.java
com/css/orm/open/filedownloader/DownloadTaskHunter.java
com/css/orm/open/filedownloader/FileDownloadLine.java
com/css/orm/open/filedownloader/FileDownloader.java
com/css/orm/open/filedownloader/PauseAllMarker.java
com/css/orm/open/filedownloader/connection/FileDownloadConnection.java
com/css/orm/open/filedownloader/connection/FileDownloadUrlConnection.java
com/css/orm/open/filedownloader/download/CustomComponentHolder.java
com/css/orm/open/filedownloader/download/DownloadLaunchRunnable.java
com/css/orm/open/filedownloader/download/DownloadRunnable.java
com/css/orm/open/filedownloader/download/DownloadStatusCallback.java
com/css/orm/open/filedownloader/download/FetchDataTask.java
com/css/orm/open/filedownloader/exception/FileDownloadHttpException.java
com/css/orm/open/filedownloader/exception/FileDownloadOutOfSpaceException.java
com/css/orm/open/filedownloader/message/MessageSnapshotTaker.java
com/css/orm/open/filedownloader/model/FileDownloadModel.java
com/css/orm/open/filedownloader/stream/FileDownloadRandomAccessFile.java
com/css/orm/open/filedownloader/util/FileDownloadHelper.java
com/css/orm/open/filedownloader/util/FileDownloadUtils.java
com/css/orm/open/videocache/ByteArrayCache.java
com/css/orm/open/videocache/ByteArraySource.java
com/css/orm/open/videocache/CacheListener.java
com/css/orm/open/videocache/Config.java
com/css/orm/open/videocache/GetRequest.java
com/css/orm/open/videocache/HttpProxyCache.java
com/css/orm/open/videocache/HttpProxyCacheServer.java
com/css/orm/open/videocache/HttpProxyCacheServerClients.java
com/css/orm/open/videocache/HttpUrlSource.java
com/css/orm/open/videocache/IgnoreHostProxySelector.java
com/css/orm/open/videocache/Pinger.java
com/css/orm/open/videocache/ProxyCacheUtils.java
com/css/orm/open/videocache/StorageUtils.java
com/css/orm/open/videocache/file/DiskUsage.java
com/css/orm/open/videocache/file/FileCache.java
com/css/orm/open/videocache/file/Files.java
com/css/orm/open/videocache/file/LruDiskUsage.java
com/css/orm/open/videocache/file/TotalCountLruDiskUsage.java
com/css/orm/open/videocache/file/TotalSizeLruDiskUsage.java
com/css/orm/open/videocache/file/UnlimitedDiskUsage.java
com/esandinfo/core/device/DeviceSharedPreferences.java
com/esandinfo/core/device/DeviceUtil.java
com/esandinfo/core/device/TAInterationV1.java
com/esandinfo/core/utils/MyLog.java
com/github/barteksc/pdfviewer/PDFView.java
com/github/barteksc/pdfviewer/source/AssetSource.java
com/github/barteksc/pdfviewer/source/ByteArraySource.java
com/github/barteksc/pdfviewer/source/DocumentSource.java
com/github/barteksc/pdfviewer/source/FileSource.java
com/github/barteksc/pdfviewer/source/InputStreamSource.java
com/github/barteksc/pdfviewer/source/UriSource.java
com/github/barteksc/pdfviewer/util/FileUtils.java
com/github/barteksc/pdfviewer/util/Util.java
com/github/lzyzsd/jsbridge/BridgeWebViewClient.java
com/hisign/ivs/alg/LiveConfig.java
com/hisign/ivs/alg/hi.java
com/hisign/ivs/alg/ivl.java
com/hisign/ivs/alg/siv.java
com/hisign/ivs/camera/DeviceCamera.java
com/hisign/ivs/easy/app/LiveDetectActivity.java
com/ifaa/sdk/authenticatorservice/common/util/PackageUtils.java
com/ifaa/sdk/authenticatorservice/compat/entity/tlv/normal/TLVUtil.java
com/ifaa/sdk/authenticatorservice/compat/manager/DeviceManager.java
com/ifaa/sdk/authenticatorservice/compat/manager/EtasKeystore.java
com/ifaa/sdk/authenticatorservice/compat/manager/PwdHandleManager.java
com/ifaa/sdk/util/FileUtils.java
com/ijiami/residconfusion/ConfusionUtils.java
com/jeremyliao/liveeventbus/core/LiveEvent.java
com/jeremyliao/liveeventbus/ipc/core/SerializableProcessor.java
com/shockwave/pdfium/PdfPasswordException.java
com/shockwave/pdfium/PdfiumCore.java
com/sun/jna/ELFAnalyser.java
com/sun/jna/Native.java
com/sun/jna/NativeLibrary.java
com/sun/jna/Platform.java
com/sun/jna/Pointer.java
ivl/siv.java
s/h/e/l/l/A.java
s/h/e/l/l/S.java
snake/ivl.java
调用java反射机制
XI/CA/XI/K0.java
XI/XI/K0/XI.java
ccc/rrr/hhh/s/ipmp.java
ccc/rrr/hhh/s/k.java
ccc/rrr/hhh/s/l.java
ccc/rrr/hhh/s/r.java
ccc/rrr/hhh/s/ru.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/LitePalBase.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/crud/AssociationsAnalyzer.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/crud/DataHandler.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/crud/DeleteHandler.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/crud/DynamicExecutor.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/crud/SaveHandler.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/crud/UpdateHandler.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/crud/model/AssociationsInfo.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/util/BaseUtility.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/util/DBUtility.java
cn/ijiami/callm/j/H.java
cn/ijiami/callm/j/ProxyInstrumentation.java
cn/ijiami/callm/j/p.java
cn/ijiami/callm/j/r.java
cn/ijiami/callm/j/utils/a.java
cn/ijiami/callm/j/utils/b.java
cn/ijiami/callm/j/utils/c.java
cn/ijiami/callm/s/c.java
com/bun/miitmdid/provider/xiaomi/IdentifierManager.java
com/css/lib/zxing/activity/CaptureFragment.java
com/css/orm/base/dl/DlFactory.java
com/css/orm/base/fit/FitFactory.java
com/css/orm/base/http/CookieUtil.java
com/css/orm/base/http/HttpFactory.java
com/css/orm/base/permission/GetInstalledAppsPermissionCompat.java
com/css/orm/base/permission/NotificationListenerPermissionCompat.java
com/css/orm/base/permission/PermissionChecker.java
com/css/orm/base/permission/PermissionUtils.java
com/css/orm/base/permission/PhoneRomUtils.java
com/css/orm/base/three/ICountFactory.java
com/css/orm/base/three/IDebugerFactory.java
com/css/orm/base/three/IPushFactory.java
com/css/orm/base/ui/page/NtFragActivity.java
com/css/orm/base/utils/CIMUtil.java
com/css/orm/base/utils/DeviceUtils.java
com/css/orm/base/utils/DocumentUtils.java
com/css/orm/base/utils/ProcessUtil.java
com/css/orm/base/utils/StatusBarUtil.java
com/css/orm/base/vpn/VPNFactory.java
com/css/orm/lib/OrmAppApplication.java
com/css/orm/lib/ci/cic/CIChromeClient.java
com/css/orm/lib/ci/cic/CIManager.java
com/css/orm/lib/ci/cic/CIPWidget.java
com/css/orm/lib/ci/cic/CIPluginXmlManager.java
com/css/orm/lib/ci/cic/ui/CIArrayFragment.java
com/css/orm/lib/ci/cic/ui/CIDrawerActivity.java
com/css/orm/lib/ci/cic/ui/CIFragActivity.java
com/css/orm/lib/ci/cic/ui/CIFragment.java
com/css/orm/lib/ci/cic/ui/CIMultiFragment.java
com/css/orm/lib/ci/cic/ui/SchemeActivity.java
com/css/orm/lib/ci/plugin/camera/CustomCameraFragment.java
com/css/orm/lib/ci/plugin/filepicker/BaseFileFragment.java
com/css/orm/lib/ci/plugin/image/util/Utils.java
com/css/orm/lib/ci/plugin/image/widget/SystemBarTintManager.java
com/css/orm/lib/cibase/iapp/AppStartFactory.java
com/css/orm/lib/cibase/iapp/MainPageFactory.java
com/css/orm/lib/cibase/mini/ORMMPSdk.java
com/css/orm/lib/cibase/mini/page/Page.java
com/css/orm/lib/cibase/player/play/PlayerUtils.java
com/css/orm/lib/cibase/ui/BaseTabFragActivity.java
com/css/orm/lib/cibase/utils/OrmClassLoader.java
com/css/orm/lib/cibase/utils/UIUtils.java
com/css/orm/open/gestures/internal/DebugOverlay.java
com/esandinfo/core/device/TAInterationV1.java
com/esandinfo/core/device/Utils.java
com/ifaa/sdk/authenticatorservice/common/manager/IFAAFwFactory.java
com/ifaa/sdk/authenticatorservice/fingerprint/flow/FingerprintAuth.java
com/jeremyliao/liveeventbus/core/LiveEventBusCore.java
com/jeremyliao/liveeventbus/ipc/core/GsonProcessor.java
com/jeremyliao/liveeventbus/ipc/core/ProcessorManager.java
com/jeremyliao/liveeventbus/utils/AppUtils.java
com/shockwave/pdfium/PdfiumCore.java
com/sun/jna/CallbackParameterContext.java
com/sun/jna/CallbackReference.java
com/sun/jna/CallbackResultContext.java
com/sun/jna/Function.java
com/sun/jna/FunctionMapper.java
com/sun/jna/InvocationMapper.java
com/sun/jna/Library.java
com/sun/jna/MethodParameterContext.java
com/sun/jna/MethodResultContext.java
com/sun/jna/Native.java
com/sun/jna/NativeLibrary.java
com/sun/jna/Platform.java
com/sun/jna/Structure.java
com/sun/jna/StructureReadContext.java
com/sun/jna/StructureWriteContext.java
com/sun/jna/Union.java
com/sun/jna/VarArgsChecker.java
com/sun/jna/internal/ReflectionUtils.java
com/sun/jna/win32/StdCallFunctionMapper.java
com/sun/jna/win32/W32APIFunctionMapper.java
ivl/siv.java
org/greenrobot/eventbus/SubscriberMethod.java
org/greenrobot/eventbus/SubscriberMethodFinder.java
org/greenrobot/eventbus/android/AndroidLogger.java
s/h/e/l/l/A.java
s/h/e/l/l/S.java
sign/hi.java
sign/siv.java
snake/ivl.java
组件-> 启动 Activity
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/LiveDetectTransitionActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/core/CredibleAuthSDK.java
com/baidu/ocr/ui/camera/CameraActivity.java
com/css/lib/zxing/activity/CaptureFragment.java
com/css/orm/base/CIInterface.java
com/css/orm/base/CIPlugin.java
com/css/orm/base/image/IImage.java
com/css/orm/base/overlay/FloatWindowManager.java
com/css/orm/base/overlay/HuaweiUtils.java
com/css/orm/base/overlay/MeizuUtils.java
com/css/orm/base/overlay/MiuiUtils.java
com/css/orm/base/overlay/OppoUtils.java
com/css/orm/base/overlay/QikuUtils.java
com/css/orm/base/permission/StartActivityManager.java
com/css/orm/base/ui/page/BaseFragmentActivity.java
com/css/orm/base/ui/page/NtFragActivity.java
com/css/orm/base/utils/CIMUtil.java
com/css/orm/base/utils/DeviceUtils.java
com/css/orm/base/utils/FileUtils.java
com/css/orm/lib/ci/cic/CIChromeClient.java
com/css/orm/lib/ci/cic/CIGlobalXmlManager.java
com/css/orm/lib/ci/cic/CIPWidget.java
com/css/orm/lib/ci/cic/CIUtil.java
com/css/orm/lib/ci/cic/CIWebView.java
com/css/orm/lib/ci/cic/CIWebViewClient.java
com/css/orm/lib/ci/cic/ui/CIDrawerActivity.java
com/css/orm/lib/ci/cic/ui/CIFragment.java
com/css/orm/lib/ci/cic/ui/CIJumpPage.java
com/css/orm/lib/ci/cic/ui/H5EntryActivity.java
com/css/orm/lib/ci/cic/ui/NewCheckAppFragment.java
com/css/orm/lib/ci/cic/ui/NotificationSettingActivity.java
com/css/orm/lib/ci/cic/ui/SchemeActivity.java
com/css/orm/lib/ci/fit/FitImpl.java
com/css/orm/lib/ci/plugin/baiduorc/CIPBaiduOCR.java
com/css/orm/lib/ci/plugin/camera/CIPCamera.java
com/css/orm/lib/ci/plugin/camera/ui/camera/CameraActivity.java
com/css/orm/lib/ci/plugin/device/CIPDevice.java
com/css/orm/lib/ci/plugin/device/PermissionInternalUtils/PermissionInternalUtils.java
com/css/orm/lib/ci/plugin/filemgr/CIPFileMgr.java
com/css/orm/lib/ci/plugin/image/CIPImage.java
com/css/orm/lib/ci/plugin/image/view/ImageGridActivity.java
com/css/orm/lib/ci/plugin/zxing/CIPScanner.java
com/css/orm/lib/cibase/checkupdate/CheckApp.java
com/css/orm/lib/cibase/checkupdate/CheckUpdate.java
com/css/orm/lib/cibase/checkupdate/UpdatePermissionActivity.java
com/css/orm/lib/cibase/download/DownloadFinishFragment.java
com/css/orm/lib/cibase/download/DownloadManager.java
com/css/orm/lib/cibase/image/RLPicActivity.java
com/css/orm/lib/cibase/mini/MiniEntryActivity.java
com/css/orm/lib/cibase/mini/ORMMPSdk.java
com/css/orm/lib/cibase/player/play/PlayerUtils.java
com/css/orm/lib/cibase/utils/UIUtils.java
com/hisign/uniplugin/HisignFaceLiveKit.java
com/ijiami/residconfusion/ConfusionUtils.java
组件-> 启动 Service
一般功能-> IPC通信
XI/K0/XI/XI.java
XI/XI/K0/K0.java
XI/XI/XI/XI.java
XI/kM/XI/XI/XI/XI.java
XI/xo/XI/XI/CA.java
XI/xo/XI/XI/xo.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/AgencyLoginActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/AppSecondCertificationActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/DependWebViewV1Activity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/DependWebViewV2Activity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/EnterpriseIdentityLoginActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/EnterpriseLoginActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/LiveDetectTransitionActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/NaturalIdentityLoginActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/NaturalLoginActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/NaturalRegisterActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/RealPersonCertificationActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/SecondCertificationActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/UseQrCodeElevateActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/UseQrCodeSecondCertificationActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/VerifyWithPictureRequestActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/activity/VerifyWithPictureTokenActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/base/BaseActivity.java
cn/gov/chinatax/gt4/bundle/tpass/depend/core/CredibleAuthSDK.java
cn/ijiami/callm/j/ProxyInstrumentation.java
com/baidu/ocr/ui/camera/CameraActivity.java
com/bun/lib/MsaIdInterface.java
com/bun/miitmdid/provider/asus/AsusProvider.java
com/bun/miitmdid/provider/samsung/SamsungProvider.java
com/bun/miitmdid/provider/zte/MsaClient.java
com/css/lib/zxing/activity/CaptureFragment.java
com/css/lib/zxing/decoding/CaptureHelper.java
com/css/lib/zxing/decoding/InactivityTimer.java
com/css/lib/zxing/decoding/Intents.java
com/css/orm/base/CIIntent.java
com/css/orm/base/CIInterface.java
com/css/orm/base/CIPlugin.java
com/css/orm/base/fit/FitFactory.java
com/css/orm/base/fit/IFit.java
com/css/orm/base/http/NetworkReceiver.java
com/css/orm/base/iapp/OnAppScheme.java
com/css/orm/base/image/IImage.java
com/css/orm/base/overlay/FloatWindowManager.java
com/css/orm/base/overlay/HuaweiUtils.java
com/css/orm/base/overlay/MeizuUtils.java
com/css/orm/base/overlay/MiuiUtils.java
com/css/orm/base/overlay/OppoUtils.java
com/css/orm/base/overlay/QikuUtils.java
com/css/orm/base/permission/GetInstalledAppsPermissionCompat.java
com/css/orm/base/permission/NotificationListenerPermissionCompat.java
com/css/orm/base/permission/NotificationPermissionCompat.java
com/css/orm/base/permission/PermissionApi.java
com/css/orm/base/permission/PermissionDelegate.java
com/css/orm/base/permission/PermissionDelegateImplV14.java
com/css/orm/base/permission/PermissionDelegateImplV18.java
com/css/orm/base/permission/PermissionDelegateImplV19.java
com/css/orm/base/permission/PermissionDelegateImplV21.java
com/css/orm/base/permission/PermissionDelegateImplV23.java
com/css/orm/base/permission/PermissionDelegateImplV26.java
com/css/orm/base/permission/PermissionDelegateImplV30.java
com/css/orm/base/permission/PermissionDelegateImplV31.java
com/css/orm/base/permission/PermissionDelegateImplV33.java
com/css/orm/base/permission/PermissionFragment.java
com/css/orm/base/permission/PermissionIntentManager.java
com/css/orm/base/permission/PermissionPageFragment.java
com/css/orm/base/permission/PermissionUtils.java
com/css/orm/base/permission/StartActivityManager.java
com/css/orm/base/permission/WindowPermissionCompat.java
com/css/orm/base/permission/XXPermissions.java
com/css/orm/base/permission/bridge/IBridge.java
com/css/orm/base/prefer/PerferBadgedImpl.java
com/css/orm/base/ui/page/BaseFragment.java
com/css/orm/base/ui/page/BaseFragmentActivity.java
com/css/orm/base/ui/page/NtFragActivity.java
com/css/orm/base/utils/CIMUtil.java
com/css/orm/base/utils/DeviceUtils.java
com/css/orm/base/utils/DirUtils.java
com/css/orm/base/utils/FileUtils.java
com/css/orm/base/utils/JumpMode.java
com/css/orm/base/utils/NotificationUtils.java
com/css/orm/lib/ci/cic/CIChromeClient.java
com/css/orm/lib/ci/cic/CIGlobalXmlManager.java
com/css/orm/lib/ci/cic/CIManager.java
com/css/orm/lib/ci/cic/CIPWidget.java
com/css/orm/lib/ci/cic/CIUtil.java
com/css/orm/lib/ci/cic/CIWebView.java
com/css/orm/lib/ci/cic/CIWebViewClient.java
com/css/orm/lib/ci/cic/LanguageReceiver.java
com/css/orm/lib/ci/cic/ui/CIArrayFragment.java
com/css/orm/lib/ci/cic/ui/CIDrawerActivity.java
com/css/orm/lib/ci/cic/ui/CIFragActivity.java
com/css/orm/lib/ci/cic/ui/CIFragment.java
com/css/orm/lib/ci/cic/ui/CIJumpPage.java
com/css/orm/lib/ci/cic/ui/CIMultiFragment.java
com/css/orm/lib/ci/cic/ui/CITabActivity.java
com/css/orm/lib/ci/cic/ui/H5EntryActivity.java
com/css/orm/lib/ci/cic/ui/NewCheckAppFragment.java
com/css/orm/lib/ci/cic/ui/NotificationSettingActivity.java
com/css/orm/lib/ci/cic/ui/SchemeActivity.java
com/css/orm/lib/ci/cic/ui/StartActivity.java
com/css/orm/lib/ci/cic/ui/StartFragment.java
com/css/orm/lib/ci/cic/ui/TabCiFragment.java
com/css/orm/lib/ci/fit/FitImpl.java
com/css/orm/lib/ci/plugin/baiduorc/CIPBaiduOCR.java
com/css/orm/lib/ci/plugin/camera/CIPCamera.java
com/css/orm/lib/ci/plugin/camera/ui/camera/CameraActivity.java
com/css/orm/lib/ci/plugin/device/CIPDevice.java
com/css/orm/lib/ci/plugin/device/ConnectChangeReceiver.java
com/css/orm/lib/ci/plugin/device/DeviceAppStart.java
com/css/orm/lib/ci/plugin/device/PermissionInternalUtils/PermissionInternalUtils.java
com/css/orm/lib/ci/plugin/documentreader/CIPDocumentReader.java
com/css/orm/lib/ci/plugin/documentreader/PdfFragment.java
com/css/orm/lib/ci/plugin/filemgr/CIPFileMgr.java
com/css/orm/lib/ci/plugin/filemgr/FileExplorerActivity.java
com/css/orm/lib/ci/plugin/filemgr/FilexplorerFragment.java
com/css/orm/lib/ci/plugin/filemgr/NFileexplorerFragment.java
com/css/orm/lib/ci/plugin/filepicker/activity/SelectFileByScanActivity.java
com/css/orm/lib/ci/plugin/image/AlbumListFragment.java
com/css/orm/lib/ci/plugin/image/CIPImage.java
com/css/orm/lib/ci/plugin/image/PictureGridFragment.java
com/css/orm/lib/ci/plugin/image/VideoGridFragment.java
com/css/orm/lib/ci/plugin/image/VideoListFragment.java
com/css/orm/lib/ci/plugin/image/crop/ImageCropperFragment.java
com/css/orm/lib/ci/plugin/image/view/ImageGridActivity.java
com/css/orm/lib/ci/plugin/zxing/CIPScanner.java
com/css/orm/lib/cibase/checkupdate/BackgroundCheckUpdateService.java
com/css/orm/lib/cibase/checkupdate/CheckApp.java
com/css/orm/lib/cibase/checkupdate/CheckUpdate.java
com/css/orm/lib/cibase/checkupdate/NotificationHelper.java
com/css/orm/lib/cibase/checkupdate/UpdatePermissionActivity.java
com/css/orm/lib/cibase/download/DownloadActivity.java
com/css/orm/lib/cibase/download/DownloadFinishFragment.java
com/css/orm/lib/cibase/download/DownloadManager.java
com/css/orm/lib/cibase/download/DownloadService.java
com/css/orm/lib/cibase/download/DownloadUnFinishFragment.java
com/css/orm/lib/cibase/http/HttpExec.java
com/css/orm/lib/cibase/http/MyInterceptor.java
com/css/orm/lib/cibase/image/ImageGridViewFragment.java
com/css/orm/lib/cibase/image/ImageSwitcherFragment.java
com/css/orm/lib/cibase/image/RLCamaraActivity.java
com/css/orm/lib/cibase/image/RLPicActivity.java
com/css/orm/lib/cibase/mini/MiniEntryActivity.java
com/css/orm/lib/cibase/mini/ORMMPSdk.java
com/css/orm/lib/cibase/mini/PageManager.java
com/css/orm/lib/cibase/mini/aidl/IIPCCallback.java
com/css/orm/lib/cibase/mini/aidl/IRemoteIPCService.java
com/css/orm/lib/cibase/mini/ipc/RemoteIPCService.java
com/css/orm/lib/cibase/mini/page/Page.java
com/css/orm/lib/cibase/player/play/AbsPlayerActivity.java
com/css/orm/lib/cibase/player/play/LocalVideoView.java
com/css/orm/lib/cibase/player/play/PlayerUtils.java
com/css/orm/lib/cibase/receiver/SystemDownloadReceiver.java
com/css/orm/lib/cibase/safe/VPNUtil.java
com/css/orm/lib/cibase/service/AppForegoundService.java
com/css/orm/lib/cibase/ui/BaseTabFragActivity.java
com/css/orm/lib/cibase/upload/UploadServiceManager.java
com/css/orm/lib/cibase/upload/aidl/IUploadService.java
com/css/orm/lib/cibase/upload/aidl/UploadService.java
com/css/orm/lib/cibase/utils/ORM.java
com/css/orm/lib/cibase/utils/UIUtils.java
com/css/orm/open/filedownloader/FileDownloadServiceSharedTransmit.java
com/css/orm/open/filedownloader/FileDownloadServiceUIGuard.java
com/css/orm/open/filedownloader/i/IFileDownloadIPCCallback.java
com/css/orm/open/filedownloader/i/IFileDownloadIPCService.java
com/css/orm/open/filedownloader/services/BaseFileServiceUIGuard.java
com/css/orm/open/filedownloader/services/FDServiceSeparateHandler.java
com/css/orm/open/filedownloader/services/FDServiceSharedHandler.java
com/css/orm/open/filedownloader/services/FileDownloadBroadcastHandler.java
com/css/orm/open/filedownloader/services/FileDownloadService.java
com/css/orm/open/filedownloader/services/IFileDownloadServiceHandler.java
com/hisign/ivs/easy/app/LiveDetectActivity.java
com/hisign/uniplugin/HisignFaceLiveKit.java
com/ifaa/sdk/api/managerservice/ConnectService.java
com/ijiami/residconfusion/ConfusionUtils.java
com/jeremyliao/liveeventbus/core/LiveEventBusCore.java
com/jeremyliao/liveeventbus/ipc/core/ProcessorManager.java
com/jeremyliao/liveeventbus/ipc/receiver/LebIpcReceiver.java
org/ifaa/aidl/manager/IfaaManagerService.java
s/h/e/l/l/A.java
隐私数据-> 获取已安装的应用程序
加密解密-> Base64 解密
一般功能-> 获取系统服务(getSystemService)
cn/gov/chinatax/gt4/bundle/tpass/depend/util/DeviceManager.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/LocationUtil.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/MacAddressUtil.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/NetUtil.java
cn/gov/chinatax/gt4/bundle/tpass/depend/util/StringUtil.java
cn/ijiami/callm/j/e.java
cn/ijiami/callm/j/i.java
cn/ijiami/callm/j/m.java
com/baidu/ocr/ui/camera/Camera2Control.java
com/baidu/ocr/ui/crop/CropView.java
com/css/lib/zxing/camera/AmbientLightManager.java
com/css/lib/zxing/camera/BeepManager.java
com/css/lib/zxing/camera/CameraConfigurationManager.java
com/css/lib/zxing/decoding/DecodeHandler.java
com/css/orm/base/http/NetworkUtil.java
com/css/orm/base/overlay/HuaweiUtils.java
com/css/orm/base/overlay/MeizuUtils.java
com/css/orm/base/overlay/MiuiUtils.java
com/css/orm/base/overlay/OppoUtils.java
com/css/orm/base/overlay/QikuUtils.java
com/css/orm/base/permission/NotificationPermissionCompat.java
com/css/orm/base/permission/PermissionDelegateImplV23.java
com/css/orm/base/permission/PermissionDelegateImplV31.java
com/css/orm/base/permission/PermissionUtils.java
com/css/orm/base/utils/CIMUtil.java
com/css/orm/base/utils/DeviceUtils.java
com/css/orm/base/utils/PermissionUtils.java
com/css/orm/lib/ci/cic/CIUtil.java
com/css/orm/lib/ci/cic/CIWebView.java
com/css/orm/lib/ci/cic/ui/CIDrawerActivity.java
com/css/orm/lib/ci/plugin/camera/ui/camera/Camera2Control.java
com/css/orm/lib/ci/plugin/camera/ui/crop/CropView.java
com/css/orm/lib/ci/plugin/camera/utils/MemoryUtil.java
com/css/orm/lib/ci/plugin/control/InputDialog.java
com/css/orm/lib/ci/plugin/device/CIPDevice.java
com/css/orm/lib/ci/plugin/documentreader/CIPDocumentReader.java
com/css/orm/lib/ci/plugin/filemgr/NFileexplorerFragment.java
com/css/orm/lib/ci/plugin/image/ImagePreviewFragment.java
com/css/orm/lib/ci/plugin/image/adapter/ImageFolderAdapter.java
com/css/orm/lib/ci/plugin/image/util/Utils.java
com/css/orm/lib/cibase/checkupdate/NotificationHelper.java
com/css/orm/lib/cibase/pulltorefresh/util/PtrLocalDisplay.java
com/css/orm/lib/cibase/receiver/SystemDownloadReceiver.java
com/css/orm/lib/cibase/service/AppForegoundService.java
com/css/orm/lib/cibase/utils/ORM.java
com/css/orm/lib/cibase/utils/UIUtils.java
com/css/orm/open/filedownloader/notification/BaseNotificationItem.java
com/css/orm/open/filedownloader/services/FileDownloadService.java
com/css/orm/open/filedownloader/util/FileDownloadUtils.java
com/esandinfo/core/device/DeviceUtil.java
com/esandinfo/core/device/Utils.java
com/ifaa/sdk/authenticatorservice/fingerprint/flow/FingerprintAuth.java
com/ifaa/sdk/authenticatorservice/fingerprint/manager/IFAAFingerprintManagerCompat.java
com/jeremyliao/liveeventbus/utils/AppUtils.java
命令执行-> getRuntime.exec()
一般功能-> 获取活动网路信息
网络通信-> TCP套接字
进程操作-> 获取进程pid
DEX-> 动态加载
隐私数据-> 屏幕截图,截取自己应用内部界面 com/baidu/ocr/ui/crop/CropView.java
com/css/orm/lib/ci/plugin/camera/ui/crop/CropView.java
加密解密-> 信息摘要算法
加密解密-> Base64 加密
加密解密-> Crypto加解密组件
网络通信-> OkHttpClient Connection
设备指纹-> getSimOperator cn/gov/chinatax/gt4/bundle/tpass/depend/util/DeviceManager.java
com/css/orm/lib/ci/plugin/device/CIPDevice.java
设备指纹-> 查看本机号码 cn/gov/chinatax/gt4/bundle/tpass/depend/util/DeviceManager.java
com/css/orm/lib/ci/plugin/device/CIPDevice.java
网络通信-> TCP服务器套接字 com/css/orm/open/videocache/HttpProxyCacheServer.java
一般功能-> 加载so文件
一般功能-> 传感器相关操作 com/css/lib/zxing/camera/AmbientLightManager.java
隐私数据-> 拍照摄像
一般功能-> 查看\修改Android系统属性
网络通信-> WebView 相关
进程操作-> 获取运行的进程\服务
组件-> ContentProvider
网络通信-> SSL证书处理 cn/gov/chinatax/gt4/bundle/tpass/depend/api/HttpsHelper.java
com/css/orm/lib/cibase/image/okhttp/OkHttpUrlLoader.java
网络通信-> WebView JavaScript接口
组件-> 发送广播
一般功能-> Android通知 com/css/orm/base/utils/NotificationUtils.java
com/css/orm/lib/cibase/checkupdate/NotificationHelper.java
com/css/orm/lib/cibase/upload/aidl/UploadService.java
JavaScript 接口方法 com/css/orm/lib/ci/cic/JBrideJavascriptInterface.java
隐私数据-> 剪贴板数据读写操作 cn/gov/chinatax/gt4/bundle/tpass/depend/util/StringUtil.java
进程操作-> 杀死进程
一般功能-> 获取WiFi相关信息
一般功能-> 获取网络接口信息 cn/gov/chinatax/gt4/bundle/tpass/depend/util/MacAddressUtil.java
com/css/orm/lib/ci/plugin/device/CIPDevice.java
com/esandinfo/core/device/DeviceUtil.java
DEX-> 加载和操作Dex文件 cn/ijiami/callm/j/utils/d.java
隐私数据-> 获取GPS位置信息 cn/gov/chinatax/gt4/bundle/tpass/depend/util/LocationUtil.java
一般功能-> PowerManager操作 cn/ijiami/callm/j/m.java
com/css/orm/open/filedownloader/util/FileDownloadUtils.java
敏感行为-> 检测了是否被jdb调试 com/css/orm/lib/cibase/utils/SafeCheck.java
网络通信-> HTTP建立连接
组件-> Provider openFile com/css/orm/base/permission/FileProvider.java
网络通信-> WebView GET请求 com/css/orm/lib/ci/cic/CIWebView.java
网络通信-> WebView使用File协议 com/css/orm/lib/ci/cic/CIWebView.java
设备指纹-> 查看运营商信息 com/css/orm/lib/ci/plugin/device/CIPDevice.java
一般功能-> 设置手机铃声,媒体音量 com/css/orm/lib/ci/plugin/device/CIPDevice.java
网络通信-> URLConnection com/css/orm/open/filedownloader/connection/FileDownloadUrlConnection.java

源代码分析

高危
5
警告
11
信息
2
安全
2
屏蔽
0
序号 问题 等级 参考标准 文件位置 操作
1 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 警告 CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage
OWASP MASVS: MSTG-STORAGE-2
2 应用程序记录日志信息,不得记录敏感信息 信息 CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3
a/ivl.java
ccc/rrr/hhh/s/a.java
ccc/rrr/hhh/s/l.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/tablemanager/AssociationCreator.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/tablemanager/AssociationUpdater.java
cn/gov/chinatax/gt4/bundle/tpass/depend/litepal/tablemanager/Upgrader.java
com/css/orm/base/image/IImage.java
com/css/orm/base/overlay/FloatWindowManager.java
com/css/orm/base/overlay/HuaweiUtils.java
com/css/orm/base/overlay/MeizuUtils.java
com/css/orm/base/overlay/MiuiUtils.java
com/css/orm/base/overlay/OppoUtils.java
com/css/orm/base/overlay/QikuUtils.java
com/css/orm/base/safe/CheckHook.java
com/css/orm/base/utils/logger.java
com/css/orm/base/utils/safe/AESUtils.java
com/css/orm/base/utils/safe/MessageDigestUtils.java
com/css/orm/base/utils/safe/RSAUtils.java
com/css/orm/lib/ci/cic/CIUtil.java
com/css/orm/lib/ci/plugin/camera/CustomCameraFragment.java
com/css/orm/lib/ci/plugin/filemgr/CIPFileMgr.java
com/css/orm/lib/ci/plugin/filepicker/activity/FileTypeListFragment.java
com/css/orm/lib/ci/plugin/image/util/ImageDataSource.java
com/css/orm/lib/cibase/image/html/ImageGetter.java
com/css/orm/lib/cibase/image/html/ImageGetterTask.java
com/css/orm/lib/cibase/image/html/tools/BitmapUtility.java
com/css/orm/lib/cibase/image/html/tools/FileDownloaderImpl.java
com/css/orm/lib/cibase/image/html/tools/FileDownloaderUtility.java
com/css/orm/lib/cibase/pulltorefresh/util/PtrCLog.java
com/css/orm/lib/cibase/utils/FileMD5Util.java
com/css/orm/lib/cibase/utils/OrmUtil.java
com/css/orm/lib/cibase/utils/UIUtils.java
com/css/orm/open/filedownloader/DownloadTask.java
com/css/orm/open/filedownloader/DownloadTaskHunter.java
com/css/orm/open/filedownloader/FileDownloadList.java
com/css/orm/open/filedownloader/FileDownloadListener.java
com/css/orm/open/filedownloader/FileDownloadMessenger.java
com/css/orm/open/filedownloader/FileDownloadServiceSharedTransmit.java
com/css/orm/open/filedownloader/FileDownloadTaskLauncher.java
com/css/orm/open/filedownloader/FileDownloader.java
com/css/orm/open/filedownloader/LostServiceConnectedHandler.java
com/css/orm/open/filedownloader/MessageSnapshotGate.java
com/css/orm/open/filedownloader/PauseAllMarker.java
com/css/orm/open/filedownloader/QueuesHandler.java
com/css/orm/open/filedownloader/connection/RedirectHandler.java
com/css/orm/open/filedownloader/database/NoDatabaseImpl.java
com/css/orm/open/filedownloader/database/RemitDatabase.java
com/css/orm/open/filedownloader/database/SqliteDatabaseImpl.java
com/css/orm/open/filedownloader/download/ConnectTask.java
com/css/orm/open/filedownloader/download/DownloadLaunchRunnable.java
com/css/orm/open/filedownloader/download/DownloadRunnable.java
com/css/orm/open/filedownloader/download/DownloadStatusCallback.java
com/css/orm/open/filedownloader/download/FetchDataTask.java
com/css/orm/open/filedownloader/event/DownloadEventPoolImpl.java
com/css/orm/open/filedownloader/event/IDownloadEvent.java
com/css/orm/open/filedownloader/message/MessageSnapshotTaker.java
com/css/orm/open/filedownloader/services/BaseFileServiceUIGuard.java
com/css/orm/open/filedownloader/services/DownloadMgrInitialParams.java
com/css/orm/open/filedownloader/services/FDServiceSeparateHandler.java
com/css/orm/open/filedownloader/services/FileDownloadManager.java
com/css/orm/open/filedownloader/services/FileDownloadService.java
com/css/orm/open/filedownloader/services/FileDownloadThreadPool.java
com/css/orm/open/filedownloader/services/ForegroundServiceConfig.java
com/css/orm/open/filedownloader/util/DownloadServiceNotConnectedHelper.java
com/css/orm/open/filedownloader/util/FileDownloadProperties.java
com/css/orm/open/filedownloader/util/FileDownloadSerialQueue.java
com/css/orm/open/filedownloader/util/FileDownloadUtils.java
com/css/orm/open/gestures/animation/ViewPositionAnimator.java
com/css/orm/open/gestures/internal/Fps.java
com/css/orm/open/gestures/transition/ViewsCoordinator.java
com/css/orm/open/gestures/transition/ViewsTransitionAnimator.java
com/esandinfo/core/device/DeviceUtil.java
com/esandinfo/core/device/TAInterationV1.java
com/esandinfo/core/utils/MyLog.java
com/github/barteksc/pdfviewer/PDFView.java
com/hisign/ivs/alg/hi.java
com/hisign/ivs/camera/DeviceCamera.java
com/hisign/ivs/easy/app/LiveDetectActivity.java
com/hisign/uniplugin/HisignFaceLiveKit.java
com/ifaa/sdk/adapter/FingerprintAuthenticatorAdapter.java
com/ifaa/sdk/auth/AuthenticatorFactory.java
com/ifaa/sdk/auth/AuthenticatorLOG.java
com/ifaa/sdk/authenticatorservice/common/manager/IFAAFwFactory.java
com/ifaa/sdk/authenticatorservice/common/manager/IFAAManagerCompat.java
com/ifaa/sdk/authenticatorservice/common/manager/IFAAManagerSystem.java
com/ifaa/sdk/authenticatorservice/compat/manager/DeviceManager.java
com/ifaa/sdk/authenticatorservice/fingerprint/flow/FingerprintAuth.java
com/ifaa/sdk/authenticatorservice/fingerprint/flow/FingerprintAuthenticate.java
com/ifaa/sdk/authenticatorservice/fingerprint/flow/FingerprintRegister.java
com/ifaa/sdk/util/DeviceUtils.java
com/jeremyliao/liveeventbus/logger/DefaultLogger.java
com/shockwave/pdfium/PdfiumCore.java
com/sun/jna/Native.java
ivl/siv.java
org/greenrobot/eventbus/Logger.java
org/greenrobot/eventbus/util/ErrorDialogConfig.java
org/greenrobot/eventbus/util/ErrorDialogManager.java
org/ifaa/android/manager/IFAAAidlManager.java
org/ifaa/android/manager/fingerprint/IFAAManagerImpl.java
org/ifaa/android/manager/fingerprint/IFAAManagerImplV2.java
org/ifaa/android/manager/fingerprint/IFAAManagerImplV3.java
org/ifaa/android/manager/fingerprint/IFAAManagerImplV4.java
3 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 警告 CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering
OWASP MASVS: MSTG-STORAGE-14
4 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 安全
OWASP MASVS: MSTG-NETWORK-4
cn/gov/chinatax/gt4/bundle/tpass/depend/api/ApiManage.java
com/css/orm/lib/cibase/http/HttpExec.java
5 SHA-1是已知存在哈希冲突的弱哈希 警告 CWE: CWE-327: 使用已被攻破或存在风险的密码学算法
OWASP Top 10: M5: Insufficient Cryptography
OWASP MASVS: MSTG-CRYPTO-4
6 MD5是已知存在哈希冲突的弱哈希 警告 CWE: CWE-327: 使用已被攻破或存在风险的密码学算法
OWASP Top 10: M5: Insufficient Cryptography
OWASP MASVS: MSTG-CRYPTO-4
7 IP地址泄露 警告 CWE: CWE-200: 信息泄露
OWASP MASVS: MSTG-CODE-2
com/css/orm/open/videocache/HttpProxyCacheServer.java
8 应用程序使用不安全的随机数生成器 警告 CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography
OWASP MASVS: MSTG-CRYPTO-6
9 此应用程序可能会请求root(超级用户)权限 警告 CWE: CWE-250: 以不必要的权限执行
OWASP MASVS: MSTG-RESILIENCE-1
com/css/orm/base/safe/CheckHook.java
ivl/siv.java
10 已启用远程WebView调试 高危 CWE: CWE-919: 移动应用程序中的弱点
OWASP Top 10: M1: Improper Platform Usage
OWASP MASVS: MSTG-RESILIENCE-2
com/css/orm/lib/ci/cic/CIWebView.java
com/github/lzyzsd/jsbridge/BridgeWebView.java
11 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它 信息
OWASP MASVS: MSTG-STORAGE-10
cn/gov/chinatax/gt4/bundle/tpass/depend/util/StringUtil.java
12 使用弱加密算法 高危 CWE: CWE-327: 使用已被攻破或存在风险的密码学算法
OWASP Top 10: M5: Insufficient Cryptography
OWASP MASVS: MSTG-CRYPTO-4
com/css/orm/base/utils/safe/DesUtils.java
13 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。 高危 CWE: CWE-649: 依赖于混淆或加密安全相关输入而不进行完整性检查
OWASP Top 10: M5: Insufficient Cryptography
OWASP MASVS: MSTG-CRYPTO-3
com/css/orm/base/utils/safe/DesUtils.java
14 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 警告 CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage
OWASP MASVS: MSTG-STORAGE-2
com/hisign/ivs/alg/siv.java
com/sun/jna/Native.java
15 此应用程序可能具有Root检测功能 安全
OWASP MASVS: MSTG-RESILIENCE-1
16 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 警告 CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality
17 不安全的Web视图实现。Web视图忽略SSL证书错误并接受任何SSL证书。此应用程序易受MITM攻击 高危 CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication
OWASP MASVS: MSTG-NETWORK-3
com/css/orm/lib/ci/cic/CIWebViewClient.java
18 不安全的Web视图实现。可能存在WebView任意代码执行漏洞 警告 CWE: CWE-749: 暴露危险方法或函数
OWASP Top 10: M1: Improper Platform Usage
OWASP MASVS: MSTG-PLATFORM-7
com/css/orm/lib/ci/cic/CIWebView.java
19 可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息 警告 CWE: CWE-200: 信息泄露
OWASP Top 10: M1: Improper Platform Usage
OWASP MASVS: MSTG-PLATFORM-7
com/css/orm/lib/ci/cic/CIWebView.java
20 SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击 高危 CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication
OWASP MASVS: MSTG-NETWORK-3
cn/gov/chinatax/gt4/bundle/tpass/depend/api/HttpsHelper.java

动态库分析

序号 动态库 NX(堆栈禁止执行) STACK CANARY(栈保护) RELRO RPATH(指定SO搜索路径) RUNPATH(指定SO搜索路径) FORTIFY(常用函数加强检查) SYMBOLS STRIPPED(裁剪符号表)
1 arm64-v8a/libexecmain_x86.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
2 arm64-v8a/libexec_x86.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
3 arm64-v8a/libhtsfx.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
4 arm64-v8a/libidcard_quality.1.1.1.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
5 arm64-v8a/libidl_license.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
6 arm64-v8a/libjnidispatch.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
False
high
这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
7 arm64-v8a/libKXFaceProSDK.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
True
info
二进制文件有以下加固函数: ['__vsnprintf_chk', '__strlen_chk', '__memmove_chk']
False
warning
符号可用
8 arm64-v8a/libmodft2.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
True
info
二进制文件有以下加固函数: ['__strcat_chk', '__strlen_chk', '__strrchr_chk']
False
warning
符号可用
9 arm64-v8a/libocr-sdk.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
10 arm64-v8a/libp7zip.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
11 arm64-v8a/libTHIDLiveDetect.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
True
info
二进制文件有以下加固函数: ['__vsprintf_chk', '__memmove_chk', '__memcpy_chk', '__vsnprintf_chk', '__strlen_chk']
False
warning
符号可用

文件分析

序号 问题 文件
1 应用程序中硬编码的证书/密钥文件 assets/ormcert/TAXAPP_BS9.pfx
assets/ormcert/TAXAPP_BS910.pfx
assets/ormcert/TAXAPP_CA7.pfx
assets/ormcert/sha256Client.pfx
assets/ormcert/sha256Client10.pfx
assets/ormcert/sha256Client11.pfx
assets/ormcert/sha256Client1110.pfx

VIRUSTOTAL扫描

  该文件并未在病毒库中,文件上传功能被禁用。

滥用权限

恶意软件常用权限 9/30
android.permission.CAMERA
android.permission.READ_PHONE_STATE
android.permission.VIBRATE
android.permission.WAKE_LOCK
android.permission.RECORD_AUDIO
android.permission.ACCESS_COARSE_LOCATION
android.permission.GET_TASKS
android.permission.ACCESS_FINE_LOCATION
android.permission.REQUEST_INSTALL_PACKAGES
其它常用权限 9/46
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_EXTERNAL_STORAGE
android.permission.FLASHLIGHT
android.permission.CHANGE_WIFI_STATE
android.permission.CHANGE_NETWORK_STATE
android.permission.FOREGROUND_SERVICE

恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。

IP地图

域名检测

域名 状态 中国境内 位置信息 解析
tpass.hainan.chinatax.gov.cn 安全
IP地址: 219.144.160.174
国家: 中国
地区: 海南
城市: 三亚
查看: 高德地图





tpass99.sichuan.chinatax.gov.cn 安全
IP地址: 118.112.187.8
国家: 中国
地区: 四川
城市: 成都
查看: 高德地图





tpass99.chinatax.gov.cn 安全
IP地址: 36.112.115.65
国家: 中国
地区: 浙江
城市: 杭州
查看: 高德地图





tpass99.hunan.chinatax.gov.cn 安全
IP地址: 124.232.163.241
国家: 中国
地区: 湖南
城市: 长沙
查看: 高德地图





tpass.hubei.chinatax.gov.cn 安全
IP地址: 219.144.160.174
国家: 中国
地区: 湖北
城市: 武汉
查看: 高德地图





tpass99.qinghai.chinatax.gov.cn 安全
IP地址: 111.44.137.114
国家: 中国
地区: 青海
城市: 西宁
查看: 高德地图





tpass99.shaanxi.chinatax.gov.cn 安全
IP地址: 219.144.160.175
国家: 中国
地区: 山西
城市: 太原
查看: 高德地图





www.zip.tmp 安全
没有可用的地理位置信息。




tpass99.tianjin.chinatax.gov.cn 安全
IP地址: 123.150.57.51
国家: 中国
地区: 天津
城市: 天津
查看: 高德地图





tpass99.guangxi.chinatax.gov.cn 安全
IP地址: 113.12.192.201
国家: 中国
地区: 广西壮族
城市: 南宁
查看: 高德地图





tpass.yunnan.chinatax.gov.cn 安全
IP地址: 219.144.160.174
国家: 中国
地区: 云南
城市: 昆明
查看: 高德地图





tpass.ningbo.chinatax.gov.cn 安全
IP地址: 219.144.160.174
国家: 中国
地区: 浙江
城市: 宁波
查看: 高德地图





tpass99.qingdao.chinatax.gov.cn 安全
IP地址: 219.144.160.174
国家: 中国
地区: 山东
城市: 青岛
查看: 高德地图





tpass99.hainan.chinatax.gov.cn 安全
IP地址: 119.41.236.251
国家: 中国
地区: 海南
城市: 三亚
查看: 高德地图





tpass.shaanxi.chinatax.gov.cn 安全
IP地址: 219.144.160.174
国家: 中国
地区: 山西
城市: 太原
查看: 高德地图





tpass99.jiangsu.chinatax.gov.cn 安全
IP地址: 219.144.160.174
国家: 中国
地区: 江苏
城市: 南京
查看: 高德地图





tpass.heilongjiang.chinatax.gov.cn 安全
IP地址: 112.102.56.196
国家: 中国
地区: 黑龙江
城市: 哈尔滨
查看: 高德地图





tpass.chongqing.chinatax.gov.cn 安全
IP地址: 119.84.46.182
国家: 中国
地区: 重庆
城市: 重庆
查看: 高德地图





digi.aisino.com 安全
IP地址: 124.127.114.96
国家: 中国
地区: 北京
城市: 北京
查看: 高德地图





tpass.beijing.chinatax.gov.cn 安全
IP地址: 220.196.210.35
国家: 中国
地区: 北京
城市: 北京
查看: 高德地图





tpass99.guizhou.chinatax.gov.cn 安全
IP地址: 111.85.27.46
国家: 中国
地区: 贵州
城市: 贵阳
查看: 高德地图





tpass99.shanghai.chinatax.gov.cn 安全
IP地址: 220.196.210.35
国家: 中国
地区: 江苏
城市: 徐州
查看: 高德地图





tpass99.shandong.chinatax.gov.cn 安全
IP地址: 58.59.23.175
国家: 中国
地区: 山东
城市: 济南
查看: 高德地图





tpass99.henan.chinatax.gov.cn 安全
IP地址: 222.88.39.164
国家: 中国
地区: 河南
城市: 郑州
查看: 高德地图





tpass.shandong.chinatax.gov.cn 安全
IP地址: 58.59.23.174
国家: 中国
地区: 山东
城市: 济南
查看: 高德地图





tpass99.yunnan.chinatax.gov.cn 安全
IP地址: 116.52.1.242
国家: 中国
地区: 云南
城市: 昆明
查看: 高德地图





tpass.tianjin.chinatax.gov.cn 安全
IP地址: 123.150.57.11
国家: 中国
地区: 天津
城市: 天津
查看: 高德地图





tpass99.zhejiang.chinatax.gov.cn 安全
IP地址: 60.190.238.140
国家: 中国
地区: 浙江
城市: 杭州
查看: 高德地图





tpass.neimenggu.chinatax.gov.cn 安全
IP地址: 36.112.115.70
国家: 中国
地区: 浙江
城市: 杭州
查看: 高德地图





tpass.jiangsu.chinatax.gov.cn 安全
IP地址: 36.112.115.65
国家: 中国
地区: 江苏
城市: 南京
查看: 高德地图





tpass.qinghai.chinatax.gov.cn 安全
IP地址: 125.72.211.113
国家: 中国
地区: 青海
城市: 西宁
查看: 高德地图





tpass99.chongqing.chinatax.gov.cn 安全
IP地址: 119.84.46.183
国家: 中国
地区: 重庆
城市: 重庆
查看: 高德地图





tpass.gansu.chinatax.gov.cn 安全
IP地址: 125.72.211.113
国家: 中国
地区: 甘肃
城市: 兰州
查看: 高德地图





tpass99.hebei.chinatax.gov.cn 安全
IP地址: 117.91.197.23
国家: 中国
地区: 江苏
城市: 扬州
查看: 高德地图





tpass.jilin.chinatax.gov.cn 安全
IP地址: 222.168.5.101
国家: 中国
地区: 吉林
城市: 长春
查看: 高德地图





tpass99.ningxia.chinatax.gov.cn 安全
IP地址: 61.133.192.36
国家: 中国
地区: 宁夏回族
城市: 银川
查看: 高德地图





tpass.zhejiang.chinatax.gov.cn 安全
IP地址: 60.190.238.139
国家: 中国
地区: 浙江
城市: 杭州
查看: 高德地图





tpass.dalian.chinatax.gov.cn 安全
IP地址: 59.46.248.111
国家: 中国
地区: 辽宁
城市: 大连
查看: 高德地图





tpass99.anhui.chinatax.gov.cn 安全
IP地址: 60.166.53.229
国家: 中国
地区: 安徽
城市: 合肥
查看: 高德地图





tpass99.liaoning.chinatax.gov.cn 安全
IP地址: 59.46.92.229
国家: 中国
地区: 辽宁
城市: 沈阳
查看: 高德地图





tpass.guangdong.chinatax.gov.cn 安全
IP地址: 119.145.70.145
国家: 中国
地区: 广东
城市: 广州
查看: 高德地图





tpass.fujian.chinatax.gov.cn 安全
IP地址: 112.49.37.237
国家: 中国
地区: 福建
城市: 福州
查看: 高德地图





tpass.guizhou.chinatax.gov.cn 安全
IP地址: 112.49.37.237
国家: 中国
地区: 贵州
城市: 贵阳
查看: 高德地图





tpass88.chinatax.gov.cn 安全
没有可用的地理位置信息。




tpass.anhui.chinatax.gov.cn 安全
IP地址: 218.5.84.88
国家: 中国
地区: 安徽
城市: 合肥
查看: 高德地图





tpass.xiamen.chinatax.gov.cn 安全
IP地址: 218.5.84.88
国家: 中国
地区: 福建
城市: 厦门
查看: 高德地图





tpass99.shanxi.chinatax.gov.cn 安全
IP地址: 117.91.197.44
国家: 中国
地区: 江苏
城市: 扬州
查看: 高德地图





tpass.xinjiang.chinatax.gov.cn 安全
IP地址: 60.13.133.75
国家: 中国
地区: 新疆维吾尔
城市: 昌吉
查看: 高德地图





tpass.jiangxi.chinatax.gov.cn 安全
IP地址: 218.65.106.226
国家: 中国
地区: 江西
城市: 南昌
查看: 高德地图





tpass99.gansu.chinatax.gov.cn 安全
IP地址: 61.178.20.138
国家: 中国
地区: 甘肃
城市: 兰州
查看: 高德地图





tpass99.fujian.chinatax.gov.cn 安全
IP地址: 222.76.49.188
国家: 中国
地区: 福建
城市: 福清市
查看: 高德地图





tpass.chinatax.gov.cn 安全
IP地址: 58.220.70.167
国家: 中国
地区: 江苏
城市: 扬州
查看: 高德地图





tpass99.hubei.chinatax.gov.cn 安全
IP地址: 59.173.248.26
国家: 中国
地区: 湖北
城市: 武汉
查看: 高德地图





tpass.guangxi.chinatax.gov.cn 安全
IP地址: 113.12.192.200
国家: 中国
地区: 广西壮族
城市: 南宁
查看: 高德地图





tpass99.beijing.chinatax.gov.cn 安全
IP地址: 111.203.128.19
国家: 中国
地区: 北京
城市: 北京
查看: 高德地图





tpass99.heilongjiang.chinatax.gov.cn 安全
IP地址: 111.203.128.19
国家: 中国
地区: 黑龙江
城市: 哈尔滨
查看: 高德地图





simpleifaa.market.alicloudapi.com 安全
IP地址: 112.49.37.237
国家: 中国
地区: 上海
城市: 上海
查看: 高德地图





tpass99.jiangxi.chinatax.gov.cn 安全
IP地址: 218.65.106.230
国家: 中国
地区: 江西
城市: 南昌
查看: 高德地图





tpass.henan.chinatax.gov.cn 安全
IP地址: 222.85.73.218
国家: 中国
地区: 河南
城市: 郑州
查看: 高德地图





tpass.shanxi.chinatax.gov.cn 安全
IP地址: 117.68.44.105
国家: 中国
地区: 安徽
城市: 六安
查看: 高德地图





tpass99.dalian.chinatax.gov.cn 安全
IP地址: 59.46.248.110
国家: 中国
地区: 辽宁
城市: 大连
查看: 高德地图





tpass.qingdao.chinatax.gov.cn 安全
IP地址: 219.146.79.160
国家: 中国
地区: 山东
城市: 青岛
查看: 高德地图





tpass99.xiamen.chinatax.gov.cn 安全
IP地址: 218.5.84.89
国家: 中国
地区: 福建
城市: 厦门
查看: 高德地图





tpass.sichuan.chinatax.gov.cn 安全
IP地址: 118.112.187.10
国家: 中国
地区: 四川
城市: 成都
查看: 高德地图





tpass88.sat.tax 安全
没有可用的地理位置信息。




tpass.shenzhen.chinatax.gov.cn 安全
IP地址: 58.251.74.13
国家: 中国
地区: 广东
城市: 深圳
查看: 高德地图





tpass.xizang.chinatax.gov.cn 安全
IP地址: 220.182.3.185
国家: 中国
地区: 西藏
城市: 拉萨
查看: 高德地图





tpass99.jilin.chinatax.gov.cn 安全
IP地址: 222.168.33.118
国家: 中国
地区: 吉林
城市: 长春
查看: 高德地图





tpass99.xizang.chinatax.gov.cn 安全
IP地址: 115.231.210.104
国家: 中国
地区: 北京
城市: 北京
查看: 高德地图





tpass99.ningbo.chinatax.gov.cn 安全
IP地址: 115.231.210.104
国家: 中国
地区: 浙江
城市: 宁波
查看: 高德地图





tpass99.shenzhen.chinatax.gov.cn 安全
IP地址: 58.251.74.41
国家: 中国
地区: 广东
城市: 深圳
查看: 高德地图





tpass99.xinjiang.chinatax.gov.cn 安全
IP地址: 222.82.214.194
国家: 中国
地区: 新疆维吾尔
城市: 昌吉
查看: 高德地图





tpass99.neimenggu.chinatax.gov.cn 安全
IP地址: 124.232.163.187
国家: 中国
地区: 浙江
城市: 杭州
查看: 高德地图





tpass.hunan.chinatax.gov.cn 安全
IP地址: 124.232.163.187
国家: 中国
地区: 湖南
城市: 长沙
查看: 高德地图





tpass.shanghai.chinatax.gov.cn 安全
IP地址: 222.73.150.161
国家: 中国
地区: 上海
城市: 上海
查看: 高德地图





tpass.ningxia.chinatax.gov.cn 安全
IP地址: 222.73.150.161
国家: 中国
地区: 宁夏回族
城市: 银川
查看: 高德地图





tpass.hebei.chinatax.gov.cn 安全
IP地址: 222.73.150.161
国家: 中国
地区: 江苏
城市: 扬州
查看: 高德地图





tpass99.guangdong.chinatax.gov.cn 安全
IP地址: 119.145.70.149
国家: 中国
地区: 广东
城市: 广州
查看: 高德地图





tpass.liaoning.chinatax.gov.cn 安全
IP地址: 59.46.92.230
国家: 中国
地区: 辽宁
城市: 沈阳
查看: 高德地图





手机号码

网址

网址信息 源码文件
javascript:cipcallback.callback
com/css/orm/lib/ci/cic/CIWebView.java
data://type=%s&id=%s
com/css/orm/base/utils/LocalDataUtil.java
http://10.105.254.23:18082
cn/gov/chinatax/gt4/bundle/tpass/depend/util/cert/XtSignConst.java
javascript:webviewjavascriptbridge._fetchqueue
com/github/lzyzsd/jsbridge/BridgeWebView.java
javascript:webviewjavascriptbridge._fetchqueue
javascript:webviewjavascriptbridge
com/github/lzyzsd/jsbridge/BridgeUtil.java
http://%s:%d/%s
com/css/orm/open/videocache/Pinger.java
https://github.com/lingochamp/filedownloader/wiki/filedownloader.properties
com/css/orm/open/filedownloader/services/BaseFileServiceUIGuard.java
www.zip
com/css/orm/lib/cibase/utils/ORM.java
www.zip
com/css/orm/lib/cibase/utils/FileMD5Util.java
www.zip.tmp
www.zip
com/css/orm/lib/cibase/utils/OrmUtil.java
http://%s:%d/%s
127.0.0.1
com/css/orm/open/videocache/HttpProxyCacheServer.java
http://simpleifaa.market.alicloudapi.com/ifaa/sauth
cn/gov/chinatax/gt4/bundle/tpass/depend/ifaa/IFAAConst.java
www.conf
com/css/orm/base/utils/CIMUtil.java
javascript:webviewjavascriptbridge._fetchqueue
javascript:webviewjavascriptbridge
cn/gov/chinatax/gt4/bundle/tpass/depend/jsbridge/BridgeUtil.java
https://tpass88.chinatax.gov.cn:8443
https://tpass99.zhejiang.chinatax.gov.cn:8443
https://tpass.chinatax.gov.cn:8443
https://tpass.ningbo.chinatax.gov.cn:8443
https://tpass99.jiangsu.chinatax.gov.cn:8443
https://tpass99.hunan.chinatax.gov.cn:8443
https://tpass.hebei.chinatax.gov.cn:8443
https://tpass99.shaanxi.chinatax.gov.cn:8443
https://tpass99.hainan.chinatax.gov.cn:8443
https://tpass.jilin.chinatax.gov.cn:8443
https://tpass.chongqing.chinatax.gov.cn:8443
https://tpass99.fujian.chinatax.gov.cn:8443
https://tpass99.shenzhen.chinatax.gov.cn:8443
https://digi.aisino.com:8005
https://tpass.guangdong.chinatax.gov.cn:8443
https://tpass.jiangsu.chinatax.gov.cn:8443
https://tpass.shanghai.chinatax.gov.cn:8443
https://tpass99.liaoning.chinatax.gov.cn:8443
https://tpass.xiamen.chinatax.gov.cn:8443
https://tpass.guangxi.chinatax.gov.cn:8443
https://tpass99.anhui.chinatax.gov.cn:8443
https://tpass.qinghai.chinatax.gov.cn:8443
https://tpass99.guizhou.chinatax.gov.cn:8443
https://tpass.xinjiang.chinatax.gov.cn:8443
https://tpass99.jilin.chinatax.gov.cn:8443
https://tpass.dalian.chinatax.gov.cn:8443
https://tpass.gansu.chinatax.gov.cn:8443
https://tpass.henan.chinatax.gov.cn:8443
https://tpass99.shanxi.chinatax.gov.cn:8443
https://tpass99.hebei.chinatax.gov.cn:8443
https://tpass.heilongjiang.chinatax.gov.cn:8443
https://tpass99.shandong.chinatax.gov.cn:8443
https://tpass99.chinatax.gov.cn:8443
https://tpass99.dalian.chinatax.gov.cn:8443
https://tpass.hubei.chinatax.gov.cn:8443
https://tpass99.neimenggu.chinatax.gov.cn:8443
https://tpass.shaanxi.chinatax.gov.cn:8443
https://tpass.sichuan.chinatax.gov.cn:8443
https://tpass.qingdao.chinatax.gov.cn:8443
https://tpass.beijing.chinatax.gov.cn:8443
https://tpass99.beijing.chinatax.gov.cn:8443
https://tpass99.qinghai.chinatax.gov.cn:8443
http://tpass88.sat.tax
https://tpass99.jiangxi.chinatax.gov.cn:8443
https://tpass99.shanghai.chinatax.gov.cn:8443
https://tpass.hunan.chinatax.gov.cn:8443
https://tpass99.guangdong.chinatax.gov.cn:8443
https://tpass.zhejiang.chinatax.gov.cn:8443
https://tpass.hainan.chinatax.gov.cn:8443
https://tpass.jiangxi.chinatax.gov.cn:8443
https://tpass99.henan.chinatax.gov.cn:8443
https://tpass.shenzhen.chinatax.gov.cn:8443
https://tpass.shandong.chinatax.gov.cn:8443
https://tpass.tianjin.chinatax.gov.cn:8443
https://tpass99.ningxia.chinatax.gov.cn:8443
https://tpass99.tianjin.chinatax.gov.cn:8443
https://tpass.xizang.chinatax.gov.cn:8443
https://tpass99.xizang.chinatax.gov.cn:8443
https://tpass99.guangxi.chinatax.gov.cn:8443
https://tpass99.chongqing.chinatax.gov.cn:8443
https://tpass99.hubei.chinatax.gov.cn:8443
https://tpass.neimenggu.chinatax.gov.cn:8443
https://tpass99.gansu.chinatax.gov.cn:8443
https://tpass99.sichuan.chinatax.gov.cn:8443
https://tpass.anhui.chinatax.gov.cn:8443
https://tpass99.xiamen.chinatax.gov.cn:8443
https://tpass99.qingdao.chinatax.gov.cn:8443
https://tpass99.heilongjiang.chinatax.gov.cn:8443
https://tpass.yunnan.chinatax.gov.cn:8443
https://tpass.fujian.chinatax.gov.cn:8443
https://tpass99.yunnan.chinatax.gov.cn:8443
https://tpass.ningxia.chinatax.gov.cn:8443
https://tpass.liaoning.chinatax.gov.cn:8443
https://tpass99.ningbo.chinatax.gov.cn:8443
https://tpass.guizhou.chinatax.gov.cn:8443
https://tpass99.xinjiang.chinatax.gov.cn:8443
https://tpass.shanxi.chinatax.gov.cn:8443
cn/gov/chinatax/gt4/bundle/tpass/depend/enumeration/RequestUrl.java

FIREBASE实例

邮箱

追踪器

密钥凭证

已显示 9 个secrets
1、 凭证信息=> "orm_app_key" : "bf706e36b2c8a7ede8cd562bb1c98df4"
2、 凭证信息=> "cip_citp_key" : "xzydbs"
3、 凭证信息=> "cip_hxlivedetect_signkey" : "nmCVj%21*iR5"
4、 凭证信息=> "cip_hxlivedetect_encryptkey" : "sfhy8%24b9%25jVchPze"
5、 "ifaa_pwd" : "Password"
6、 B7EE282B1D38633E6C984AC5147C0CECB1D87B0FF660D1D4F730900DE722F0252345BC6AD04C5A1EBC6873A9EDEE21B5BFDA88B7923A395AEC077C3A74B9B43A2FBBD13BD10CC6484C633D7EC3A641A82B5CC3CE5624F75D009EB6167B4FAB460836C60E3EF64220A6D0F9F48D566798A1593974D2B2C248ABCF5750ACEC717A6C600BC2CE88433C4D4A9EB4A7A9F5C87FA1ED08A62BFD4CA222234695DF0C39DEF5DE673C6A899F65A0FBE42A79CCBD2916512552173A9980A90705D2E5F2C6E4CEBDBFC2B3670D208D53A7F1A4517B58078A0C700426939FE2FDC36ABF8C0BE79E10CECBDE44DCDE5510D2DF17017D71D63C57B8F210B43046F036FC74E16D
7、 BF706E36B2C8A7EDE8CD562BB1C98DF4
8、 00E867232CC350608F6F524EEC3B674B1B7A0A772E503CC0E20320205AD0DB7F74FB435BA42A470D95CD931FF8B11EB0E706B27B2DC33C527D28AF5E1AF9373C68BA8ED7D188802B97CFECDE400F3CA3CA3364172060B68895E393E2EB00BB4042EA07E2A8960EC8EF7DEE0D607E67D0CBD1AC0A87B0A8347BC67388DD3B71F10500C9C76B1A75E543A15E5031591A942AE46675EFC96C71FCCB81DF25C2C0EEF63466758D0485A1F0A2D9ECBC64B2051C6650207A093426318CDE6760C1B46BF70D5785112F818AAC9DEDFEC36827D9921DF0F46E337CD7F8DDF42B61A7E31AD75E7241CD9EA0A7A0FBD041E92DAAF528C456CA051FB295B49F5E1DB9476F7245
9、 ZnVuY3Rpb24gdjJhcGkoZnVuYyl7dmFyIGFyZ3M9W107dmFyIGFycj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2Zvcih2YXIgaT0xO2k8YXJyLmxlbmd0aDtpKyspe2lmKGFycltpXT09bnVsbHx8dHlwZW9mKGFycltpXSk9PSd1bmRlZmluZWQnKXtpZihpIT1hcnIubGVuZ3RoLTEpe2FyZ3MucHVzaCgnJyl9fWVsc2V7YXJncy5wdXNoKGFycltpXSl9fXJldHVybiBmdW5jLmFwcGx5KHRoaXMsYXJncyl9OwpmdW5jdGlvbiBzZXR1cFYyKCl7CmlmKHdpbmRvdy5jaXBBQkMpewoJY2lwQUJDLmNhbGxQYXlWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEFCQy5jYWxsUGF5LG9ialsnYXBwaWQnXSxvYmpbJ3JhbmRvbSddLG9ialsndGltZXN0YW1wJ10sb2JqWydzaWduJ10sb2JqWydyc3QnXSxvYmpbJ2NoYW5uZWwnXSxvYmpbJ21hcmtldENvZGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQUJDLmNsZWFyVXNlckRhdGFWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEFCQy5jbGVhclVzZXJEYXRhLG9ialsnYXBwaWQnXSxvYmpbJ3JhbmRvbSddLG9ialsndGltZXN0YW1wJ10sb2JqWydzaWduJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQoKaWYod2luZG93LmNpcEFjdGlvblNoZWV0KXsKCWNpcEFjdGlvblNoZWV0Lm9wZW5HcmlkU2hlZXRWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEFjdGlvblNoZWV0Lm9wZW5HcmlkU2hlZXQsb2JqWydvcHRJZCddLG9ialsnZGF0YSddLG9ialsndGl0bGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQWN0aW9uU2hlZXQub3Blbkxpc3RTaGVldFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQWN0aW9uU2hlZXQub3Blbkxpc3RTaGVldCxvYmpbJ29wdElkJ10sb2JqWydkYXRhJ10sb2JqWyd0aXRsZSddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcEFnb3JhKXsKCWNpcEFnb3JhLmFkZEluamVjdFN0cmVhbVVybFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQWdvcmEuYWRkSW5qZWN0U3RyZWFtVXJsLG9ialsndXJsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEFnb3JhLmpvaW5DaGFubmVsVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBBZ29yYS5qb2luQ2hhbm5lbCxvYmpbJ2NoYW5uZWxJZCddLG9ialsnaXNCcm9hZGNhc3RlciddLG9ialsndXNlcklkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEFnb3JhLnNldFZpZGVvQ29uZmlndXJhdGlvblYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQWdvcmEuc2V0VmlkZW9Db25maWd1cmF0aW9uLG9ialsncHJvZmlsZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBBZ29yYS5zaGFyZWRFbmdpbmVXaXRoQXBwSWRWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEFnb3JhLnNoYXJlZEVuZ2luZVdpdGhBcHBJZCxvYmpbJ2FwcElkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwQWxpUGF5KXsKCWNpcEFsaVBheS5jZXJ0aWZ5VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBBbGlQYXkuY2VydGlmeSxvYmpbJ2JpekNvZGUnXSxvYmpbJ2NlcnRpZnlJZCddLG9ialsndXJsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEFsaVBheS5sb2dpblYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQWxpUGF5LmxvZ2luLG9ialsnYXV0aEluZm8nXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQWxpUGF5LnBheVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQWxpUGF5LnBheSxvYmpbJ29yZGVyJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwQXBwbGVQYXkpewoJY2lwQXBwbGVQYXkuY29tbWl0QXV0aG9yaXplZFJlc3VsdFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQXBwbGVQYXkuY29tbWl0QXV0aG9yaXplZFJlc3VsdCxvYmpbJ2F1dGhvcml6ZWRSZXN1bHQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQXBwbGVQYXkucGF5VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBBcHBsZVBheS5wYXksb2JqWyduYW1lJ10sb2JqWydhbW91bnQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQXBwbGVQYXkucGF5SW5pdFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQXBwbGVQYXkucGF5SW5pdCxvYmpbJ21lcmNoYW50SWQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQXBwbGVQYXkudW5pb25QYXlWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEFwcGxlUGF5LnVuaW9uUGF5LG9ialsnb3JkZXJJbmZvJ10sb2JqWydtb2RlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwQXJlYVBpY2tlclZpZXcpewp9CmlmKHdpbmRvdy5jaXBBdWRpbyl7CgljaXBBdWRpby5hZGRTb3VuZFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQXVkaW8uYWRkU291bmQsb2JqWydzb3VuZElkJ10sb2JqWydwYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEF1ZGlvLm9wZW5WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEF1ZGlvLm9wZW4sb2JqWydwYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEF1ZGlvLm9wZW5QbGF5ZXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEF1ZGlvLm9wZW5QbGF5ZXIsb2JqWydwYXRocyddLG9ialsnaW5kZXgnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQXVkaW8ucGxheVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQXVkaW8ucGxheSxvYmpbJ3JlcGVhdHMnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQXVkaW8ucGxheUZyb21Tb3VuZFBvb2xWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEF1ZGlvLnBsYXlGcm9tU291bmRQb29sLG9ialsnc291bmRJZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBBdWRpby5yZWNvcmRWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEF1ZGlvLnJlY29yZCxvYmpbJ21vZGUnXSxvYmpbJ2ZpbGVOYW1lJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEF1ZGlvLnNldFBsYXlNb2RlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBBdWRpby5zZXRQbGF5TW9kZSxvYmpbJ21vZGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQXVkaW8uc3RhcnRCYWNrZ3JvdW5kUmVjb3JkVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBBdWRpby5zdGFydEJhY2tncm91bmRSZWNvcmQsb2JqWydtb2RlJ10sb2JqWydmaWxlTmFtZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBBdWRpby5zdG9wRnJvbVNvdW5kUG9vbFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQXVkaW8uc3RvcEZyb21Tb3VuZFBvb2wsb2JqWydzb3VuZElkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwQkxFKXsKCWNpcEJMRS5jb25uZWN0VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBCTEUuY29ubmVjdCxvYmpbJ2FkZHJlc3MnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQkxFLnJlYWRDaGFyYWN0ZXJpc3RpY1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQkxFLnJlYWRDaGFyYWN0ZXJpc3RpYyxvYmpbJ3V1aWQnXSxvYmpbJ2N1dWlkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEJMRS5yZWFkRGVzY3JpcHRvclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQkxFLnJlYWREZXNjcmlwdG9yLG9ialsndXVpZCddLG9ialsnY3V1aWQnXSxvYmpbJ2R1dWlkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEJMRS5zY2FuRGV2aWNlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBCTEUuc2NhbkRldmljZSxvYmpbJ3V1aWRzJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEJMRS5zZWFyY2hGb3JDaGFyYWN0ZXJpc3RpY1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQkxFLnNlYXJjaEZvckNoYXJhY3RlcmlzdGljLG9ialsndXVpZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBCTEUuc2VhcmNoRm9yRGVzY3JpcHRvclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQkxFLnNlYXJjaEZvckRlc2NyaXB0b3Isb2JqWyd1dWlkJ10sb2JqWydjdXVpZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBCTEUuc2V0Q2hhcmFjdGVyaXN0aWNOb3RpZmljYXRpb25WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEJMRS5zZXRDaGFyYWN0ZXJpc3RpY05vdGlmaWNhdGlvbixvYmpbJ3V1aWQnXSxvYmpbJ2N1dWlkJ10sb2JqWydlbmFibGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQkxFLnN0b3BTY2FuRGV2aWNlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBCTEUuc3RvcFNjYW5EZXZpY2Usb2JqWyd1dWlkcyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBCTEUud3JpdGVDaGFyYWN0ZXJpc3RpY1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQkxFLndyaXRlQ2hhcmFjdGVyaXN0aWMsb2JqWyd1dWlkJ10sb2JqWydjdXVpZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBCTEUud3JpdGVEZXNjcmlwdG9yVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBCTEUud3JpdGVEZXNjcmlwdG9yLG9ialsndXVpZCddLG9ialsnY3V1aWQnXSxvYmpbJ2R1dWlkJ10sb2JqWyd2YWx1ZSddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcEJhaWR1T0NSKXsKCWNpcEJhaWR1T0NSLmlkY2FyZE9DUlYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQmFpZHVPQ1IuaWRjYXJkT0NSLG9ialsnbnVtYmVyJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEJhaWR1T0NSLmluaXRPQ1JWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEJhaWR1T0NSLmluaXRPQ1Isb2JqWydhayddLG9ialsnc2snXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBDYWxsKXsKCWNpcENhbGwuZGlhbFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQ2FsbC5kaWFsLG9ialsncGhvbmUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQ2FsbC5mYWNldGltZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQ2FsbC5mYWNldGltZSxvYmpbJ3Bob25lJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwQ2FtZXJhKXsKCWNpcENhbWVyYS5vcGVuVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBDYW1lcmEub3BlbixvYmpbJ2NvbXByZXNzJ10sb2JqWydxdWFsaXR5J10sb2JqWyd2YWx1ZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBDYW1lcmEub3BlbkludGVybmFsVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBDYW1lcmEub3BlbkludGVybmFsLG9ialsnY29tcHJlc3MnXSxvYmpbJ3F1YWxpdHknXSxvYmpbJ3ZhbHVlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcENhbWVyYS5vcGVuT0NSQ2FtZXJhVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBDYW1lcmEub3Blbk9DUkNhbWVyYSxvYmpbJ3R5cGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBDYXB0Y2hhKXsKCWNpcENhcHRjaGEuZHJhZ1ZlcmlmeVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQ2FwdGNoYS5kcmFnVmVyaWZ5LG9ialsnbWF4VmVyaWZ5J10sb2JqWydpY29uJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwQ2xpcCl7CgljaXBDbGlwLmNvcHlWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcENsaXAuY29weSxvYmpbJ3RleHQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBGYW5nWGluKXsKCWNpcEZhbmdYaW4udmVyaWZ5VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGYW5nWGluLnZlcmlmeSxvYmpbJ2RhdGEnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBDb250YWN0KXsKCWNpcENvbnRhY3QuYWRkSXRlbVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQ29udGFjdC5hZGRJdGVtLG9ialsnbmFtZSddLG9ialsnbnVtJ10sb2JqWydlbWFpbCddLG9ialsnYWxlcnQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQ29udGFjdC5kZWxldGVJdGVtVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBDb250YWN0LmRlbGV0ZUl0ZW0sb2JqWyduYW1lJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcENvbnRhY3QubW9kaWZ5SXRlbVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQ29udGFjdC5tb2RpZnlJdGVtLG9ialsnbmFtZSddLG9ialsnbnVtJ10sb2JqWydlbWFpbCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBDb250YWN0LnNlYXJjaEl0ZW1WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcENvbnRhY3Quc2VhcmNoSXRlbSxvYmpbJ25hbWUnXSxvYmpbJ3BhZ2VTaXplJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwQ29udHJvbCl7CgljaXBDb250cm9sLm9wZW5EYXRlQW5kVGltZVBpY2tlclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQ29udHJvbC5vcGVuRGF0ZUFuZFRpbWVQaWNrZXIsb2JqWydvcHRJZCddLG9ialsneWVhciddLG9ialsnbW9udGgnXSxvYmpbJ2RheSddLG9ialsnaG91ciddLG9ialsnbWluJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcENvbnRyb2wub3BlbkRhdGVQaWNrZXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcENvbnRyb2wub3BlbkRhdGVQaWNrZXIsb2JqWydvcHRJZCddLG9ialsnd2l0aERheSddLG9ialsneWVhciddLG9ialsnbW9udGgnXSxvYmpbJ2RheSddLG9ialsnc3RhcnR5ZWFyJ10sb2JqWydlbmR5ZWFyJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcENvbnRyb2wub3BlbklucHV0RGlhbG9nVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBDb250cm9sLm9wZW5JbnB1dERpYWxvZyxvYmpbJ29wdElkJ10sb2JqWyd0eXBlJ10sb2JqWydpbnB1dEhpbnQnXSxvYmpbJ2J0blRleHQnXSxvYmpbJ2JnJ10sb2JqWydpbnB1dEJnJ10sb2JqWydidG5CZyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBDb250cm9sLm9wZW5UaW1lQW5kU2Vjb25kUGlja2VyVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBDb250cm9sLm9wZW5UaW1lQW5kU2Vjb25kUGlja2VyLG9ialsnb3B0SWQnXSxvYmpbJ2hvdXInXSxvYmpbJ21pbnV0ZSddLG9ialsnc2Vjb25kJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcENvbnRyb2wub3BlblRpbWVQaWNrZXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcENvbnRyb2wub3BlblRpbWVQaWNrZXIsb2JqWydvcHRJZCddLG9ialsnaG91ciddLG9ialsnbWludXRlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwQ291bnQpewoJY2lwQ291bnQub25FdmVudFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwQ291bnQub25FdmVudCxvYmpbJ25hbWUnXSxvYmpbJ2NvbnRlbnQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwQ291bnQub25FdmVudER1cmF0aW9uVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBDb3VudC5vbkV2ZW50RHVyYXRpb24sb2JqWyduYW1lJ10sb2JqWydjb250ZW50J10sb2JqWydkdXJhdGlvbiddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcERhdGFCYXNlTWdyKXsKCWNpcERhdGFCYXNlTWdyLmNsb3NlRGF0YUJhc2VWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERhdGFCYXNlTWdyLmNsb3NlRGF0YUJhc2Usb2JqWyduYW1lJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERhdGFCYXNlTWdyLmRyb3BEYXRhQmFzZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRGF0YUJhc2VNZ3IuZHJvcERhdGFCYXNlLG9ialsnbmFtZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBEYXRhQmFzZU1nci5leGVjdXRlU3FsVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEYXRhQmFzZU1nci5leGVjdXRlU3FsLG9ialsnbmFtZSddLG9ialsnb3B0SWQnXSxvYmpbJ3NxbCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBEYXRhQmFzZU1nci5leGVjdXRlVHJhbnNhY3Rpb25TcWxWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERhdGFCYXNlTWdyLmV4ZWN1dGVUcmFuc2FjdGlvblNxbCxvYmpbJ25hbWUnXSxvYmpbJ29wdElkJ10sb2JqWydzcWwnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRGF0YUJhc2VNZ3Iub3BlbkRhdGFCYXNlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEYXRhQmFzZU1nci5vcGVuRGF0YUJhc2Usb2JqWyduYW1lJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERhdGFCYXNlTWdyLnNlbGVjdFNxbFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRGF0YUJhc2VNZ3Iuc2VsZWN0U3FsLG9ialsnbmFtZSddLG9ialsnb3B0SWQnXSxvYmpbJ3NxbCddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcERldmljZSl7CgljaXBEZXZpY2UuY2hlY2tEZXZpY2VWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERldmljZS5jaGVja0RldmljZSxvYmpbJ3R5cGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRGV2aWNlLmdldEluZm9WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERldmljZS5nZXRJbmZvLG9ialsnaW5mb0lkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERldmljZS5pc0Z1bmN0aW9uRW5hYmxlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEZXZpY2UuaXNGdW5jdGlvbkVuYWJsZSxvYmpbJ3NldHRpbmcnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRGV2aWNlLm9wZW5TZXR0aW5nVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEZXZpY2Uub3BlblNldHRpbmcsb2JqWydzZXR0aW5nJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERldmljZS5zY3JlZW5DYXB0dXJlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEZXZpY2Uuc2NyZWVuQ2FwdHVyZSxvYmpbJ3F1YWxpdHknXSxvYmpbJ2xvbmcnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRGV2aWNlLnNldEF1ZGlvQ2F0ZWdvcnlWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERldmljZS5zZXRBdWRpb0NhdGVnb3J5LG9ialsnYXVkaW9UeXBlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERldmljZS5zZXRTY3JlZW5BbHdheXNCcmlnaHRWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERldmljZS5zZXRTY3JlZW5BbHdheXNCcmlnaHQsb2JqWydkYXRhJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERldmljZS5zZXRTY3JlZW5CcmlnaHRuZXNzVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEZXZpY2Uuc2V0U2NyZWVuQnJpZ2h0bmVzcyxvYmpbJ2JyaWdodG5lc3MnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRGV2aWNlLnNldFZvbHVtZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRGV2aWNlLnNldFZvbHVtZSxvYmpbJ3ZvbHVtZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBEZXZpY2UudmlicmF0ZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRGV2aWNlLnZpYnJhdGUsb2JqWydtaWxsaXNlY29uZHMnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBEaWFsb2cpewoJY2lwRGlhbG9nLmFsZXJ0VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEaWFsb2cuYWxlcnQsb2JqWydtZXNzYWdlJ10sb2JqWyd0aXRsZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBEaWFsb2cuY29uZmlybVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRGlhbG9nLmNvbmZpcm0sb2JqWydtZXNzYWdlJ10sb2JqWyd0aXRsZSddLG9ialsnYnRub2snXSxvYmpbJ2J0bmNhbmNlbCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBEaWFsb2cucHJvbXB0VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEaWFsb2cucHJvbXB0LG9ialsnbWVzc2FnZSddLG9ialsndGV4dCddLG9ialsncGxhY2Vob2xkZXInXSxvYmpbJ3RpdGxlJ10sb2JqWydidG5vayddLG9ialsnYnRuY2FuY2VsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwRG9jdW1lbnRSZWFkZXIpewoJY2lwRG9jdW1lbnRSZWFkZXIuYWRkUGRmVmlld1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRG9jdW1lbnRSZWFkZXIuYWRkUGRmVmlldyxvYmpbJ2pzb24nXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRG9jdW1lbnRSZWFkZXIub3BlbkRvY3VtZW50UmVhZGVyVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEb2N1bWVudFJlYWRlci5vcGVuRG9jdW1lbnRSZWFkZXIsb2JqWydwYXRoJ10sb2JqWydvcGVuJ10sb2JqWyd0aXRsZSddLG9ialsnYWN0aW9uJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERvY3VtZW50UmVhZGVyLm9wZW5aaXBCcm93c2VWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERvY3VtZW50UmVhZGVyLm9wZW5aaXBCcm93c2Usb2JqWydwYXRoJ10sb2JqWydvcGVuJ10sb2JqWyd0aXRsZSddLG9ialsnYWN0aW9uJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERvY3VtZW50UmVhZGVyLnBkZlRvSW1hZ2VWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERvY3VtZW50UmVhZGVyLnBkZlRvSW1hZ2Usb2JqWydwYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERvY3VtZW50UmVhZGVyLm9wZW5EYXRhVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEb2N1bWVudFJlYWRlci5vcGVuRGF0YSxvYmpbJ2RhdGEnXSxvYmpbJ2VuZCddLG9ialsndHlwZSddLG9ialsndGl0bGUnXSxvYmpbJ2FjdGlvbiddLG9ialsncGFnZUFyZ3MnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBEb3dubG9hZEV4dCl7CgljaXBEb3dubG9hZEV4dC5hZGREb3dubG9hZFRhc2tWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERvd25sb2FkRXh0LmFkZERvd25sb2FkVGFzayxvYmpbJ3VybCddLG9ialsndGl0bGUnXSxvYmpbJ3BpY1VybCddLG9ialsncmVzSWQnXSxvYmpbJ2ZpbGVUeXBlJ10sb2JqWydoYW5kbGVUeXBlJ10sb2JqWydncm91cElkJ10sb2JqWydncm91cE5hbWUnXSxvYmpbJ2dyb3VwUGljVXJsJ10sb2JqWyd0YWcnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRG93bmxvYWRFeHQuZGVsZXRlRG93bmxvYWRCeVVybFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRG93bmxvYWRFeHQuZGVsZXRlRG93bmxvYWRCeVVybCxvYmpbJ3VybCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBEb3dubG9hZEV4dC5nZXREb3dubG9hZFN0YXR1c1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRG93bmxvYWRFeHQuZ2V0RG93bmxvYWRTdGF0dXMsb2JqWydhcmdzJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcERvd25sb2FkRXh0Lm9wZW5Eb3dubG9hZE1hbmFnZXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERvd25sb2FkRXh0Lm9wZW5Eb3dubG9hZE1hbmFnZXIsb2JqWyd0YWJUeXBlJ10sb2JqWyd0aXRsZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBEb3dubG9hZEV4dC5xdWVyeURvd25sb2FkSXRlbVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRG93bmxvYWRFeHQucXVlcnlEb3dubG9hZEl0ZW0sb2JqWyd1cmwnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRG93bmxvYWRFeHQuc2V0RG93bmxvYWRpbmdDb3VudFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRG93bmxvYWRFeHQuc2V0RG93bmxvYWRpbmdDb3VudCxvYmpbJ2NvdW50J10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwRG93bmxvYWRlck1ncil7CgljaXBEb3dubG9hZGVyTWdyLmNhbmNlbERvd25sb2FkVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEb3dubG9hZGVyTWdyLmNhbmNlbERvd25sb2FkLG9ialsnc2VydmVyVVJMJ10sb2JqWydjbGVhck1vZGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRG93bmxvYWRlck1nci5jbGVhclRhc2tWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERvd25sb2FkZXJNZ3IuY2xlYXJUYXNrLG9ialsnc2VydmVyVVJMJ10sb2JqWydjbGVhck1vZGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRG93bmxvYWRlck1nci5jbG9zZURvd25sb2FkZXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcERvd25sb2FkZXJNZ3IuY2xvc2VEb3dubG9hZGVyLG9ialsnb3B0SWQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRG93bmxvYWRlck1nci5jcmVhdGVEb3dubG9hZGVyVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEb3dubG9hZGVyTWdyLmNyZWF0ZURvd25sb2FkZXIsb2JqWydvcHRJZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBEb3dubG9hZGVyTWdyLmRvd25sb2FkVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEb3dubG9hZGVyTWdyLmRvd25sb2FkLG9ialsnb3B0SWQnXSxvYmpbJ3NlcnZlclVSTCddLG9ialsnc2F2ZVBhdGgnXSxvYmpbJ21vZGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRG93bmxvYWRlck1nci5nZXRJbmZvVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEb3dubG9hZGVyTWdyLmdldEluZm8sb2JqWydzZXJ2ZXJVUkwnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRG93bmxvYWRlck1nci5zZXRIZWFkZXJzVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBEb3dubG9hZGVyTWdyLnNldEhlYWRlcnMsb2JqWydvcHRJZCddLG9ialsnb2JqJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwRW1haWwpewoJY2lwRW1haWwub3BlblYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRW1haWwub3BlbixvYmpbJ3JlY2VpdmVyJ10sb2JqWydzdWJqZWN0J10sb2JqWydjb250ZW50J10sb2JqWydhdHRhY2htZW50J10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwRmlsZU1ncil7CgljaXBGaWxlTWdyLmNsZWFuU3lzdGVtQ2FjaGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IuY2xlYW5TeXN0ZW1DYWNoZSxvYmpbJ3R5cGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5jbG9zZUZpbGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IuY2xvc2VGaWxlLG9ialsnb3B0SWQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5jb3B5RmlsZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5jb3B5RmlsZSxvYmpbJ29wdElkJ10sb2JqWydzcmNGaWxlUGF0aCddLG9ialsnb2JqUGF0aCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLmNyZWF0ZURpclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5jcmVhdGVEaXIsb2JqWydvcHRJZCddLG9ialsnZGlyUGF0aCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLmNyZWF0ZUZpbGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IuY3JlYXRlRmlsZSxvYmpbJ29wdElkJ10sb2JqWydwYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuY3JlYXRlU2VjdXJlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLmNyZWF0ZVNlY3VyZSxvYmpbJ29wdElkJ10sb2JqWydwYXRoJ10sb2JqWydrZXknXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5kZWxldGVGaWxlQnlJRFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5kZWxldGVGaWxlQnlJRCxvYmpbJ29wdElkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZGVsZXRlRmlsZUJ5UGF0aFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5kZWxldGVGaWxlQnlQYXRoLG9ialsnb3B0SWQnXSxvYmpbJ3BhdGgnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5leHBsb3JlclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5leHBsb3JlcixvYmpbJ3BhdGgnXSxvYmpbJ2VuZHMnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5nZXRGaWxlTGFzdE1vZGlmaWVkVGltZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5nZXRGaWxlTGFzdE1vZGlmaWVkVGltZSxvYmpbJ29wdElkJ10sb2JqWydwYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZ2V0RmlsZUxpc3RCeVBhdGhWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IuZ2V0RmlsZUxpc3RCeVBhdGgsb2JqWydwYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZ2V0RmlsZU1ENVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5nZXRGaWxlTUQ1LG9ialsnb3B0SWQnXSxvYmpbJ2ZpbGVQYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZ2V0RmlsZVBhdGhWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IuZ2V0RmlsZVBhdGgsb2JqWydvcHRJZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLmdldEZpbGVSZWFsUGF0aFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5nZXRGaWxlUmVhbFBhdGgsb2JqWydwYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZ2V0RmlsZVNpemVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IuZ2V0RmlsZVNpemUsb2JqWydvcHRJZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLmdldEZpbGVTaXplQnlQYXRoVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLmdldEZpbGVTaXplQnlQYXRoLG9ialsnb3B0SWQnXSxvYmpbJ3BhdGgnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5nZXRGaWxlVHlwZUJ5SURWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IuZ2V0RmlsZVR5cGVCeUlELG9ialsnb3B0SWQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5nZXRGaWxlVHlwZUJ5UGF0aFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5nZXRGaWxlVHlwZUJ5UGF0aCxvYmpbJ29wdElkJ10sb2JqWydwYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZ2V0SW1hZ2VUaHVtYlYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5nZXRJbWFnZVRodW1iLG9ialsnb3B0SWQnXSxvYmpbJ2ZpbGVQYXRoJ10sb2JqWyd0aHVtYldpZHRoJ10sb2JqWyd0aHVtYkhpZ2h0J10sb2JqWydxdWFsaXR5J10sb2JqWyd0eXBlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZ2V0UmVhZGVyT2Zmc2V0VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLmdldFJlYWRlck9mZnNldCxvYmpbJ29wdElkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZ2V0U3RvcmFnZUZyZWVTaXplVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLmdldFN0b3JhZ2VGcmVlU2l6ZSxvYmpbJ3R5cGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5nZXRTeXN0ZW1DYWNoZVNpemVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IuZ2V0U3lzdGVtQ2FjaGVTaXplLG9ialsndHlwZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLmdldFZhbHVlQnlLZXlGcm9tV1dXVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLmdldFZhbHVlQnlLZXlGcm9tV1dXLG9ialsnZmlsZU5hbWUnXSxvYmpbJ2ZpbGVFeHRlbmQnXSxvYmpbJ2tleSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLmlzRmlsZUV4aXN0QnlJRFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5pc0ZpbGVFeGlzdEJ5SUQsb2JqWydvcHRJZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLmlzRmlsZUV4aXN0QnlQYXRoVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLmlzRmlsZUV4aXN0QnlQYXRoLG9ialsnb3B0SWQnXSxvYmpbJ3BhdGgnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5tdWx0aUV4cGxvcmVyVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLm11bHRpRXhwbG9yZXIsb2JqWydwYXRoJ10sb2JqWydlbmRzJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3Iub3BlbkZpbGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3Iub3BlbkZpbGUsb2JqWydvcHRJZCddLG9ialsncGF0aCddLG9ialsnbW9kZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLm9wZW5TZWN1cmVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3Iub3BlblNlY3VyZSxvYmpbJ29wdElkJ10sb2JqWydwYXRoJ10sb2JqWydtb2RlJ10sb2JqWydrZXknXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5yZWFkRmlsZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5yZWFkRmlsZSxvYmpbJ29wdElkJ10sb2JqWydsZW4nXSxvYmpbJ2VuY29kZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLnJlYWROZXh0VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLnJlYWROZXh0LG9ialsnb3B0SWQnXSxvYmpbJ2xlbiddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLnJlYWRQZXJjZW50VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLnJlYWRQZXJjZW50LG9ialsnb3B0SWQnXSxvYmpbJ3BlcmNlbnQnXSxvYmpbJ2xlbiddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLnJlYWRQcmVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IucmVhZFByZSxvYmpbJ29wdElkJ10sb2JqWydsZW4nXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci5yZW5hbWVGaWxlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLnJlbmFtZUZpbGUsb2JqWydwYXJhbSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLnNlYXJjaFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5zZWFyY2gsb2JqWydwYXJhbSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLnNlZWtCZWdpbk9mRmlsZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5zZWVrQmVnaW5PZkZpbGUsb2JqWydvcHRJZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBGaWxlTWdyLnNlZWtFbmRPZkZpbGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3Iuc2Vla0VuZE9mRmlsZSxvYmpbJ29wdElkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3Iuc2Vla0ZpbGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3Iuc2Vla0ZpbGUsb2JqWydvcHRJZCddLG9ialsnbGVuJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IudW56aXBWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVNZ3IudW56aXAsb2JqWydvcHRJZCddLG9ialsnc3JjJ10sb2JqWydvdXREaXInXSxvYmpbJ3Bhc3N3b3JkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3Iud3JpdGVGaWxlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLndyaXRlRmlsZSxvYmpbJ29wdElkJ10sb2JqWydtb2RlJ10sb2JqWydkYXRhJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuemlwVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLnppcCxvYmpbJ29wdElkJ10sb2JqWydzcmMnXSxvYmpbJ291dERpciddLG9ialsncGFzc3dvcmQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwRmlsZU1nci56aXBGaWxlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlTWdyLnppcEZpbGUsb2JqWydvcHRJZCddLG9ialsnc3JjJ10sb2JqWydvdXREaXInXSxvYmpbJ3Bhc3N3b3JkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVNZ3IuZ2V0RmlsZUJhc2U2NFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwRmlsZU1nci5nZXRGaWxlQmFzZTY0LG9ialsnZmlsZVBhdGgnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoKfQppZih3aW5kb3cuY2lwRmlsZVVwbG9hZGVyKXsKCWNpcEZpbGVVcGxvYWRlci5jbG9zZVVwbG9hZGVyVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGaWxlVXBsb2FkZXIuY2xvc2VVcGxvYWRlcixvYmpbJ29wdElkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEZpbGVVcGxvYWRlci51cGxvYWRWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEZpbGVVcGxvYWRlci51cGxvYWQsb2JqWydvcHRJZCddLG9ialsnZmlsZVBhdGgnXSxvYmpbJ3NlcnZlclVSTCddLG9ialsnc3RhcnRPZmZzZXQnXSxvYmpbJ2xlbmd0aCddLG9ialsnY2h1bmtlZCddLG9ialsnY2h1bmtTaXplJ10sb2JqWydjaHVua1JldHJ5J10sb2JqWydmb3JtRGF0YSddLG9ialsndGhyZWFkcyddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcEZsb2F0Vmlldyl7CgljaXBGbG9hdFZpZXcuc2V0RmxvYXRWaWV3VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBGbG9hdFZpZXcuc2V0RmxvYXRWaWV3LG9ialsnaWNvbiddLG9ialsnYWN0aW9uSWQnXSxvYmpbJ3VybCddLG9ialsnYXJncyddLG9ialsnZHJhd2VyJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwR2VzdHVyZVVubG9jayl7CgljaXBHZXN0dXJlVW5sb2NrLnNldEdlc3R1cmVDb2RlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBHZXN0dXJlVW5sb2NrLnNldEdlc3R1cmVDb2RlLG9ialsndHlwZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBHZXN0dXJlVW5sb2NrLnZlcmlmeVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwR2VzdHVyZVVubG9jay52ZXJpZnksb2JqWyd0ZXh0J10sb2JqWydsZWZ0VGV4dCddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcEhhbmRXcml0ZSl7Cn0KaWYod2luZG93LmNpcElKS1BsYXllcil7CgljaXBJSktQbGF5ZXIub3BlblBsYXllclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwSUpLUGxheWVyLm9wZW5QbGF5ZXIsb2JqWydpZCddLG9ialsndGl0bGUnXSxvYmpbJ3NvdXJjZXMnXSxvYmpbJ3Bvc2l0aW9uJ10sb2JqWydsb2NhbFByZWYnXSxvYmpbJ2Zhc3RQbGF5J10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwSW1hZ2UpewoJY2lwSW1hZ2UuZ2V0VGh1bWJuYWlsQmFzZTY0VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBJbWFnZS5nZXRUaHVtYm5haWxCYXNlNjQsb2JqWyd1cmwnXSxvYmpbJ25lZWRQcmVmaXgnXSxvYmpbJ3dpZHRoJ10sb2JqWydoaWdodCddLG9ialsncXVhbGl0eSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBJbWFnZS5vcGVuQnJvd3NlclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwSW1hZ2Uub3BlbkJyb3dzZXIsb2JqWydkYXRhJ10sb2JqWydzdGFydEluZGV4J10sb2JqWydkaXNwbGF5QWN0aW9uQnV0dG9uJ10sb2JqWydlbmFibGVHcmlkJ10sb2JqWydzdGFydE9uR3JpZCddLG9ialsnZGlzcGxheU5hdkFycm93cyddLG9ialsnc3VwcG9ydENhY2hlVG9BbGJ1bSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBJbWFnZS5vcGVuQ3JvcHBlclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwSW1hZ2Uub3BlbkNyb3BwZXIsb2JqWydzcmMnXSxvYmpbJ3F1YWxpdHknXSxvYmpbJ3VzZVBuZyddLG9ialsnbW9kZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBJbWFnZS5vcGVuUGlja2VyVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBJbWFnZS5vcGVuUGlja2VyLG9ialsnbWluJ10sb2JqWydtYXgnXSxvYmpbJ3F1YWxpdHknXSxvYmpbJ3VzZVBuZyddLG9ialsnZGV0YWlsZWRJbmZvJ10sb2JqWyd0aHVtYm5haWxCYXNlNjQnXSxvYmpbJ3RXaWR0aCddLG9ialsndEhlaWdodCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBJbWFnZS5vcGVuVmlkZW9QaWNrZXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEltYWdlLm9wZW5WaWRlb1BpY2tlcixvYmpbJ25lZWRCYXNlNjQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwSW1hZ2Uuc2F2ZVRvUGhvdG9BbGJ1bVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwSW1hZ2Uuc2F2ZVRvUGhvdG9BbGJ1bSxvYmpbJ2xvY2FsUGF0aCddLG9ialsnZXh0cmFJbmZvJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEltYWdlLnNldElwYWRQb3BFbmFibGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEltYWdlLnNldElwYWRQb3BFbmFibGUsb2JqWydmbGFnJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwSlB1c2gpewoJY2lwSlB1c2guYWRkTG9jYWxOb3RpZmljYXRpb25WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEpQdXNoLmFkZExvY2FsTm90aWZpY2F0aW9uLG9ialsnb2JqJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEpQdXNoLmNsZWFyTm90aWZpY2F0aW9uQnlJZFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwSlB1c2guY2xlYXJOb3RpZmljYXRpb25CeUlkLG9ialsnb2JqJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEpQdXNoLmRpc2FibGVMb2NhbE5vdGlmaWNhdGlvbkFsZXJ0Vmlld1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwSlB1c2guZGlzYWJsZUxvY2FsTm90aWZpY2F0aW9uQWxlcnRWaWV3LG9ialsnZmxhZyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBKUHVzaC5rZWVwUHVzaE9uUGF1c2VWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEpQdXNoLmtlZXBQdXNoT25QYXVzZSxvYmpbJ2ZsYWcnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwSlB1c2gucmVtb3ZlTG9jYWxOb3RpZmljYXRpb25WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEpQdXNoLnJlbW92ZUxvY2FsTm90aWZpY2F0aW9uLG9ialsnb2JqJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcEpQdXNoLnNldEFsaWFzVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBKUHVzaC5zZXRBbGlhcyxvYmpbJ29iaiddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBKUHVzaC5zZXRBbGlhc0FuZFRhZ3NWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcEpQdXNoLnNldEFsaWFzQW5kVGFncyxvYmpbJ29iaiddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBKUHVzaC5zZXRCYWRnZU51bWJlclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwSlB1c2guc2V0QmFkZ2VOdW1iZXIsb2JqWydiYWRnZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBKUHVzaC5zZXRUYWdzVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBKUHVzaC5zZXRUYWdzLG9ialsnb2JqJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwTG9jYWxOb3RpZmljYXRpb24pewoJY2lwTG9jYWxOb3RpZmljYXRpb24uYWRkVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBMb2NhbE5vdGlmaWNhdGlvbi5hZGQsb2JqWydvcHRJZCddLG9ialsndGltZSddLG9ialsnbW9kZSddLG9ialsnbWVzc2FnZSddLG9ialsnYnV0dG9uVGl0bGUnXSxvYmpbJ3JpbmdQYXRoJ10sb2JqWydjeWNsZSddLG9ialsnbm90aWZ5Q291bnQnXSxvYmpbJ2V4dHJhcyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBMb2NhbE5vdGlmaWNhdGlvbi5yZW1vdmVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcExvY2FsTm90aWZpY2F0aW9uLnJlbW92ZSxvYmpbJ29wdElkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwTG9jYWxTdG9yYWdlKXsKCWNpcExvY2FsU3RvcmFnZS5jbGVhclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwTG9jYWxTdG9yYWdlLmNsZWFyLG9ialsnZmlsZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBMb2NhbFN0b3JhZ2UuZ2V0VmFsdWVCeUtleVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwTG9jYWxTdG9yYWdlLmdldFZhbHVlQnlLZXksb2JqWydmaWxlJ10sb2JqWydrZXknXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwTG9jYWxTdG9yYWdlLnN0b3JlS2V5VmFsdWVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcExvY2FsU3RvcmFnZS5zdG9yZUtleVZhbHVlLG9ialsnZmlsZSddLG9ialsna2V5J10sb2JqWyd2YWx1ZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBMb2NhbFN0b3JhZ2Uuc2V0TG9nb3V0Q2xlYXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcExvY2FsU3RvcmFnZS5zZXRMb2dvdXRDbGVhcixvYmpbJ2ZpbGUnXSxvYmpbJ2ZsYWcnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBMb2NhdGlvbil7CgljaXBMb2NhdGlvbi5nZXRBZGRyZXNzVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBMb2NhdGlvbi5nZXRBZGRyZXNzLG9ialsnb3B0SWQnXSxvYmpbJ2luTGF0aXR1ZGUnXSxvYmpbJ2luTG9uZ2l0dWRlJ10sb2JqWydmbGFnJ10sb2JqWydhcGlrZXknXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwTG9jYXRpb24ubmF2aWdhdGlvbkJ5QXBwc1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwTG9jYXRpb24ubmF2aWdhdGlvbkJ5QXBwcyxvYmpbJ3N0YXJ0TmFtZSddLG9ialsnc3RhcnRMbmcnXSxvYmpbJ3N0YXJ0TGF0J10sb2JqWydlbmROYW1lJ10sb2JqWydlbmRMbmcnXSxvYmpbJ2VuZExhdCddLG9ialsnY29vclR5cGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwTG9jYXRpb24ub3BlbkxvY2F0aW9uVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBMb2NhdGlvbi5vcGVuTG9jYXRpb24sb2JqWydsb2NMZXZlbCddLG9ialsnZGlzdGFuY2VGaWx0ZXInXSxvYmpbJ2R1cmF0aW9uJ10sb2JqWydncHNGaXJzdCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBMb2NhdGlvbi5vcGVuTWFwTG9jYXRpb25WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcExvY2F0aW9uLm9wZW5NYXBMb2NhdGlvbixvYmpbJ29iaiddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcE1vYlNNUyl7CgljaXBNb2JTTVMuc2VuZFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwTW9iU01TLnNlbmQsb2JqWydwaG9uZSddLG9ialsnem9uZSddLG9ialsndGVtcGxhdGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwTW9iU01TLnZlcmlmeVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwTW9iU01TLnZlcmlmeSxvYmpbJ3Bob25lJ10sb2JqWydjb2RlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwTmV0RGF0YSl7CgljaXBOZXREYXRhLmdldExvY2FsRGF0YVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwTmV0RGF0YS5nZXRMb2NhbERhdGEsb2JqWyd1bmlxdWVJZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBOZXREYXRhLnJlcXVlc3RWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcE5ldERhdGEucmVxdWVzdCxvYmpbJ3VybCddLG9ialsndW5pcXVlSWQnXSxvYmpbJ2NhY2hlVHlwZSddLG9ialsnc2hvd2xvYWRpbmcnXSxvYmpbJ3JlcVR5cGUnXSxvYmpbJ3BhcmFtcyddLG9ialsnaGVhZGVycyddLG9ialsnZmlsZXMnXSxvYmpbJ2FwcFZlcmlmeSddLG9ialsndGltZW91dCddLG9ialsncGFyYW1zVHlwZSddLG9ialsncmVzcFR5cGUnXSxvYmpbJ3Jlc3BLZXlzJ10sb2JqWydpZ25vcmVkSHR0cFNlY3VyaXR5J10sb2JqWydpZ25vcmVkQ29va2llJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcE5ldERhdGEuc2V0TG9jYWxEYXRhVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBOZXREYXRhLnNldExvY2FsRGF0YSxvYmpbJ3VuaXF1ZUlkJ10sb2JqWydjb250ZW50J10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwT3JtQ291bnQpewoJY2lwT3JtQ291bnQub25FdmVudFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwT3JtQ291bnQub25FdmVudCxvYmpbJ25hbWUnXSxvYmpbJ2NvbnRlbnQnXSxvYmpbJ2xldmVsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcE9ybUNvdW50Lm9uRXZlbnREdXJhdGlvblYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwT3JtQ291bnQub25FdmVudER1cmF0aW9uLG9ialsnbmFtZSddLG9ialsnY29udGVudCddLG9ialsnZHVyYXRpb24nXSxvYmpbJ2xldmVsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcE9ybUNvdW50LnNldFVzZXJJZFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwT3JtQ291bnQuc2V0VXNlcklkLG9ialsndXNlcklkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwUGluZ0FuKXsKfQppZih3aW5kb3cuY2lwUVEpewoJY2lwUVEuaXNJbnN0YWxsZWRWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFFRLmlzSW5zdGFsbGVkLG9ialsnZGF0YSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBRUS5sb2dpblYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwUVEubG9naW4sb2JqWydkYXRhJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFFRLnNoYXJlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBRUS5zaGFyZSxvYmpbJ2RhdGEnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBTTVMpewoJY2lwU01TLm9wZW5WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFNNUy5vcGVuLG9ialsncGhvbmUnXSxvYmpbJ2NvbnRlbnQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBTY2FubmVyKXsKCWNpcFNjYW5uZXIuY3JlYXRlUVJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFNjYW5uZXIuY3JlYXRlUVIsb2JqWydjb250ZW50J10sb2JqWydzaXplJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFNjYW5uZXIucGFyc2VRUlYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwU2Nhbm5lci5wYXJzZVFSLG9ialsnaW1nJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwU2VjdXJpdHkpewoJY2lwU2VjdXJpdHkuY2hlY2tNRDVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFNlY3VyaXR5LmNoZWNrTUQ1LG9ialsnZGF0YSddLG9ialsnTUQ1ZGF0YSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBTZWN1cml0eS5kZWNyeXB0QnlSc2FWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFNlY3VyaXR5LmRlY3J5cHRCeVJzYSxvYmpbJ3ByaXZhdGVLZXknXSxvYmpbJ2VuY3J5cHREYXRhJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFNlY3VyaXR5LmVuY3J5cHRCeVJzYVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwU2VjdXJpdHkuZW5jcnlwdEJ5UnNhLG9ialsncHVibGljS2V5J10sb2JqWydkYXRhJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFNlY3VyaXR5LmdldE1ENVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwU2VjdXJpdHkuZ2V0TUQ1LG9ialsnZGF0YSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBTZWN1cml0eS5nZXRNZDVXaXRoU2FsdFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwU2VjdXJpdHkuZ2V0TWQ1V2l0aFNhbHQsb2JqWydvcHRJZCddLG9ialsnZGF0YSddLG9ialsna2V5J10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwU2VjdXJpdHlLZXlib2FyZCl7CgljaXBTZWN1cml0eUtleWJvYXJkLnNob3dWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFNlY3VyaXR5S2V5Ym9hcmQuc2hvdyxvYmpbJ3R5cGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBTZW5zb3IpewoJY2lwU2Vuc29yLmNsb3NlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBTZW5zb3IuY2xvc2Usb2JqWyd0eXBlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFNlbnNvci5vcGVuVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBTZW5zb3Iub3BlbixvYmpbJ3R5cGUnXSxvYmpbJ3JhdGUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBUb3VjaElEKXsKCWNpcFRvdWNoSUQuYXV0aGVudGljYXRlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBUb3VjaElELmF1dGhlbnRpY2F0ZSxvYmpbJ21zZyddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcFVuaW9uUGF5KXsKCWNpcFVuaW9uUGF5LnBheVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwVW5pb25QYXkucGF5LG9ialsnb3JkZXInXSxvYmpbJ21vZGVsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwVXBsb2FkZXJNZ3IpewoJY2lwVXBsb2FkZXJNZ3IuY2xvc2VVcGxvYWRlclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwVXBsb2FkZXJNZ3IuY2xvc2VVcGxvYWRlcixvYmpbJ29wdElkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFVwbG9hZGVyTWdyLmNyZWF0ZVVwbG9hZGVyVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBVcGxvYWRlck1nci5jcmVhdGVVcGxvYWRlcixvYmpbJ29wdElkJ10sb2JqWyd1cmwnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwVXBsb2FkZXJNZ3Iuc2V0SGVhZGVyc1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwVXBsb2FkZXJNZ3Iuc2V0SGVhZGVycyxvYmpbJ29wdElkJ10sb2JqWydkYXRhJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFVwbG9hZGVyTWdyLnVwbG9hZEZpbGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFVwbG9hZGVyTWdyLnVwbG9hZEZpbGUsb2JqWydvcHRJZCddLG9ialsncGF0aCddLG9ialsnbmFtZSddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcFZpZGVvKXsKCWNpcFZpZGVvLmdldENhY2hlUGxheVVybFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwVmlkZW8uZ2V0Q2FjaGVQbGF5VXJsLG9ialsndXJsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFZpZGVvLm9wZW5QbGF5ZXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFZpZGVvLm9wZW5QbGF5ZXIsb2JqWydwYXJhbSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBWaWRlby5yZWNvcmRWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFZpZGVvLnJlY29yZCxvYmpbJ3BhcmFtJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFZpZGVvLnJlY29yZE5hdGl2ZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwVmlkZW8ucmVjb3JkTmF0aXZlLG9ialsncGFyYW0nXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9CmlmKHdpbmRvdy5jaXBWaWRlb0NvbXByZXNzaW9uKXsKCWNpcFZpZGVvQ29tcHJlc3Npb24uY29tcHJlc3Npb25WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFZpZGVvQ29tcHJlc3Npb24uY29tcHJlc3Npb24sb2JqWydvcHRJZCddLG9ialsndXJsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwTWVldGluZyl7CgljaXBNZWV0aW5nLm9wZW5NZWV0aW5nVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBNZWV0aW5nLm9wZW5NZWV0aW5nLG9ialsnY2hhbm5lbCddLG9ialsndXNlckxpc3RzJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwVmlkZW9FeHQpewoJY2lwVmlkZW9FeHQub3Blbk9ybVBsYXllclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwVmlkZW9FeHQub3Blbk9ybVBsYXllcixvYmpbJ2lkJ10sb2JqWyd0aXRsZSddLG9ialsnc291cmNlcyddLG9ialsncG9zaXRpb24nXSxvYmpbJ2xvY2FsUHJlZiddLG9ialsnZmFzdFBsYXknXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwVmlkZW9FeHQub3BlblN5c3RlbVBsYXllclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwVmlkZW9FeHQub3BlblN5c3RlbVBsYXllcixvYmpbJ3VybCddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcFdQUyl7CgljaXBXUFMub3BlbkRhdGFWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdQUy5vcGVuRGF0YSxvYmpbJ29wdElkJ10sb2JqWydmaWxlTmFtZSddLG9ialsnZGF0YSddLG9ialsnZW5jb2RlJ10sb2JqWydyZXR1cm5UeXBlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdQUy5vcGVuRmlsZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV1BTLm9wZW5GaWxlLG9ialsnb3B0SWQnXSxvYmpbJ2ZpbGVQYXRoJ10sb2JqWydyZXR1cm5UeXBlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwV2VDaGF0KXsKCWNpcFdlQ2hhdC5sb2dpblYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2VDaGF0LmxvZ2luLG9ialsnZGF0YSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXZUNoYXQucGF5VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXZUNoYXQucGF5LG9ialsnYXBwaWQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwV2VDaGF0LnNoYXJlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXZUNoYXQuc2hhcmUsb2JqWydkYXRhJ10sb2JqWydjYWxsYmFjayddKTsgfTsKfQppZih3aW5kb3cuY2lwV2lkZ2V0KXsKCWNpcFdpZGdldC5iaW5kQnV0dG9uVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuYmluZEJ1dHRvbixvYmpbJ2tleU5hbWUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwV2lkZ2V0LmNhbk9wZW5WMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5jYW5PcGVuLG9ialsnc2NoZW1lVXJsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5jaGFuZ2VNdWx0aVBhZ2VWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5jaGFuZ2VNdWx0aVBhZ2Usb2JqWydwYWdlSWQnXSxvYmpbJ3VybCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuY2hlY2tVcGRhdGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5jaGVja1VwZGF0ZSxvYmpbJ25lZWRMb2FkaW5nJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5jbG9zZVBhZ2VWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5jbG9zZVBhZ2Usb2JqWydhcmdzJ10sb2JqWydjbG9zZUxldmVsJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5leGVjTXVsdGlQYWdlSlNWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5leGVjTXVsdGlQYWdlSlMsb2JqWydwYWdlSWQnXSxvYmpbJ2pzJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5mb3JiaWRXZWJWaWV3QXR0VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuZm9yYmlkV2ViVmlld0F0dCxvYmpbJ3Njcm9sbCddLG9ialsnYm91bmNlcyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuZ2V0R2xvYmFsQ29uZmlnVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuZ2V0R2xvYmFsQ29uZmlnLG9ialsna2V5J10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5nZXRLZXlWYWx1ZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LmdldEtleVZhbHVlLG9ialsna2V5J10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5nZXRMb2dpblN0YXR1c1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LmdldExvZ2luU3RhdHVzLG9ialsna2V5J10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5oaWRkZW5CYWNrQnRuVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuaGlkZGVuQmFja0J0bixvYmpbJ2lzU2hvdyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuaGlkZGVuVGl0bGVCYXJWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5oaWRkZW5UaXRsZUJhcixvYmpbJ2lzU2hvdyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuaW5zdGFsbEFwcFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0Lmluc3RhbGxBcHAsb2JqWydhcHBQYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5pc0FwcEluc3RhbGxlZFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LmlzQXBwSW5zdGFsbGVkLG9ialsncGFja2FnZW5hbWUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwV2lkZ2V0Lmp1bXBIb21lVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuanVtcEhvbWUsb2JqWydob21lQXJncyddLG9ialsnZHJhd2VycyddLG9ialsnaG9tZVR5cGUnXSxvYmpbJ2hvbWVUYWJCZyddLG9ialsnaG9tZVRhYkxvY2F0aW9uJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5qdW1wUGFnZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0Lmp1bXBQYWdlLG9ialsnYWN0aW9uSUQnXSxvYmpbJ3VybCddLG9ialsnYXJncyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuanVtcFdlbGNvbWVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5qdW1wV2VsY29tZSxvYmpbJ2Zyb21UeXBlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5sb2FkQXBwVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQubG9hZEFwcCxvYmpbJ3NjaGVtZVVybCddLG9ialsncm91dGVGYWlsVG9hc3QnXSxvYmpbJ3JvdXRlSW5zdGFsbFVybCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQubG9nb3V0VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQubG9nb3V0LG9ialsnZmluaXNoUGFnZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuc2V0QmFja0J0bkltZ1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnNldEJhY2tCdG5JbWcsb2JqWydpbWcnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwV2lkZ2V0LnNldEZsb2F0Vmlld1YyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnNldEZsb2F0VmlldyxvYmpbJ2ljb24nXSxvYmpbJ2FjdGlvbklkJ10sb2JqWyd1cmwnXSxvYmpbJ2FyZ3MnXSxvYmpbJ2RyYXdlciddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuc2V0S2V5VmFsdWVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5zZXRLZXlWYWx1ZSxvYmpbJ2tleSddLG9ialsndmFsdWUnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwV2lkZ2V0LnNldExvZ2luU3RhdHVzVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuc2V0TG9naW5TdGF0dXMsb2JqWydsb2dpblN0YXR1cyddLG9ialsncmVjb3JkTG9naW5TdGF0dXMnXSxvYmpbJ3VzZXJJZCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuc2V0TWVudVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnNldE1lbnUsb2JqWydtZW51J10sb2JqWydtZW51VGV4dENvbG9yJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5zZXROYXZCdXR0b25zVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuc2V0TmF2QnV0dG9ucyxvYmpbJ29wdGlvbnMnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwV2lkZ2V0LnNldFJlZnJlc2hNb2RlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuc2V0UmVmcmVzaE1vZGUsb2JqWydtb2RlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5zZXRTZWxlY3RlZFRhYlYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnNldFNlbGVjdGVkVGFiLG9ialsncGFnZUlkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5zZXRTZWxlY3RlZFRhYkluZGljYXRvclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnNldFNlbGVjdGVkVGFiSW5kaWNhdG9yLG9ialsncGFnZUlkJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5zZXRTaG9ydGN1dFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnNldFNob3J0Y3V0LG9ialsnb3B0aW9ucyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuc2V0U3RhdHVzQmFyQmdDb2xvclYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnNldFN0YXR1c0JhckJnQ29sb3Isb2JqWydjb2xvciddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuc2V0U3RhdHVzQmFyRXh0ZW5kVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuc2V0U3RhdHVzQmFyRXh0ZW5kLG9ialsndHlwZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuc2V0U3RhdHVzQmFyVHh0Q29sb3JUeXBlVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuc2V0U3RhdHVzQmFyVHh0Q29sb3JUeXBlLG9ialsndHlwZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuc2V0VGl0bGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5zZXRUaXRsZSxvYmpbJ3RpdGxlJ10sb2JqWyd0ZXh0Q29sb3InXSxvYmpbJ3RleHRTaXplJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5zZXRUaXRsZUJhckJnVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuc2V0VGl0bGVCYXJCZyxvYmpbJ2JnJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5zZXRXYXRlcm1hcmtWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5zZXRXYXRlcm1hcmssb2JqWyd0ZXh0J10sb2JqWyd3aWR0aCddLG9ialsnaGVpZ2h0J10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5zaG93TGVmdEJ0blYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnNob3dMZWZ0QnRuLG9ialsndGV4dCddLG9ialsndGV4dENvbG9yJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5zdGFydEFwcFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnN0YXJ0QXBwLG9ialsnc3RhcnRNb2RlJ10sb2JqWydtYWluSW5mbyddLG9ialsnYWRkSW5mbyddLG9ialsnb3B0SW5mbyddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQudGVzdE1vZGVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC50ZXN0TW9kZSxvYmpbJ3Jvb3RVcmwnXSxvYmpbJ2NoZWNrVXBkYXRlVXJsJ10sb2JqWydkZXZVc2VyJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC50b2FzdFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwV2lkZ2V0LnRvYXN0LG9ialsnbWVzc2FnZSddLG9ialsncG9zaXRpb24nXSxvYmpbJ2R1cmF0aW9uJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC51bmluc3RhbGxBcHBWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC51bmluc3RhbGxBcHAsb2JqWydwYWNrYWdlTmFtZSddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQudXBkYXRlQmFkZ2VkVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQudXBkYXRlQmFkZ2VkLG9ialsncGFnZUlkJ10sb2JqWydjb3VudCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBXaWRnZXQuc2hhcmVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFdpZGdldC5zaGFyZSxvYmpbJ3RleHQnXSxvYmpbJ2ltYWdlJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFdpZGdldC5jaGFuZ2VBcnJheUNJVjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBXaWRnZXQuY2hhbmdlQXJyYXlDSSxvYmpbJ3BhZ2VJZCddLG9ialsnY2FsbGJhY2snXSk7IH07Cn0KaWYod2luZG93LmNpcFh1bmZlaSl7CgljaXBYdW5mZWkuYWRkRmFjZVYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwWHVuZmVpLmFkZEZhY2Usb2JqWyd1c2VySWQnXSxvYmpbJ2ZpbGVQYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFh1bmZlaS5jb21tYW5kUmVjb2duaXplckluaXRWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFh1bmZlaS5jb21tYW5kUmVjb2duaXplckluaXQsb2JqWydibmZQYXRoJ10sb2JqWydjYWxsYmFjayddKTsgfTsKCWNpcFh1bmZlaS5yZW1vdmVWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFh1bmZlaS5yZW1vdmUsb2JqWyd1c2VySWQnXSxvYmpbJ2NhbGxiYWNrJ10pOyB9OwoJY2lwWHVuZmVpLnN0YXJ0U3BlYWtpbmdWMiA9IGZ1bmN0aW9uKG9iaikgeyAJb2JqPW9iaiB8fCB7fTsgcmV0dXJuIHYyYXBpKGNpcFh1bmZlaS5zdGFydFNwZWFraW5nLG9ialsndGV4dCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBYdW5mZWkudmVyaWZ5VjIgPSBmdW5jdGlvbihvYmopIHsgCW9iaj1vYmogfHwge307IHJldHVybiB2MmFwaShjaXBYdW5mZWkudmVyaWZ5LG9ialsndXNlcklkJ10sb2JqWydmaWxlUGF0aCddLG9ialsnY2FsbGJhY2snXSk7IH07CgljaXBYdW5mZWkueHVuZmVpSW5pdFYyID0gZnVuY3Rpb24ob2JqKSB7IAlvYmo9b2JqIHx8IHt9OyByZXR1cm4gdjJhcGkoY2lwWHVuZmVpLnh1bmZlaUluaXQsb2JqWydudW1iZXInXSxvYmpbJ2NhbGxiYWNrJ10pOyB9Owp9Cn0K

字符串列表

建议导出为TXT,方便查看。

活动列表

已显示 47 个activities
1、 com.css.orm.lib.ci.cic.ui.SchemeActivity
2、 com.css.orm.lib.ci.cic.ui.StartActivity
3、 com.baidu.ocr.ui.camera.CameraActivity
4、 com.css.orm.lib.ci.plugin.camera.CameraFragmentActivity
5、 com.css.orm.lib.ci.plugin.camera.ui.camera.CameraActivity
6、 com.css.orm.lib.ci.plugin.filemgr.FileExplorerActivity
7、 com.css.lib.zxing.activity.CaptureFragmentActivity
8、 com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry1
9、 com.css.orm.base.ui.page.NtFragActivity$NT1
10、 com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry2
11、 com.css.orm.base.ui.page.NtFragActivity$NT2
12、 com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry3
13、 com.css.orm.base.ui.page.NtFragActivity$NT3
14、 com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry4
15、 com.css.orm.base.ui.page.NtFragActivity$NT4
16、 com.css.orm.lib.cibase.mini.MiniEntryActivity$Entry5
17、 com.css.orm.base.ui.page.NtFragActivity$NT5
18、 com.css.orm.lib.ci.cic.ui.CITabActivity
19、 com.css.orm.lib.ci.cic.ui.CITabActivity$H5TabActivity
20、 com.css.orm.lib.ci.cic.ui.CIFragActivity
21、 com.css.orm.lib.ci.cic.ui.CIFragActivity$LandEntry
22、 com.css.orm.lib.ci.cic.ui.CIFragActivity$PortraitEntry
23、 com.css.orm.base.ui.page.NtFragActivity
24、 com.css.orm.lib.cibase.download.DownloadActivity
25、 com.css.orm.lib.ci.cic.ui.H5EntryActivity
26、 com.css.orm.lib.cibase.player.SysPlayerActivity
27、 com.css.orm.lib.cibase.checkupdate.UpdateActivity
28、 com.css.orm.lib.cibase.checkupdate.UpdatePermissionActivity
29、 com.css.orm.lib.ci.cic.ui.NotificationSettingActivity
30、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.RealPersonCertificationActivity
31、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.SecondCertificationActivity
32、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.EnterpriseLoginActivity
33、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.NaturalLoginActivity
34、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.AgencyLoginActivity
35、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.NaturalRegisterActivity
36、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.UseQrCodeSecondCertificationActivity
37、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.UseQrCodeElevateActivity
38、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.EnterpriseIdentityLoginActivity
39、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.NaturalIdentityLoginActivity
40、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.DependWebViewV1Activity
41、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.DependWebViewV2Activity
42、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.VerifyWithPictureTokenActivity
43、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.AppSecondCertificationActivity
44、 cn.gov.chinatax.gt4.bundle.tpass.depend.activity.VerifyWithPictureRequestActivity
45、 com.esandinfo.ifaa.activity.FingerPrintAuthActivity
46、 com.esandinfo.ifaa.activity.FaceAuthActivity
47、 com.hisign.ivs.easy.app.LiveDetectActivity

服务列表

已显示 11 个services
1、 com.css.orm.lib.cibase.mini.ipc.RemoteIPCService$IPC1
2、 com.css.orm.lib.cibase.mini.ipc.RemoteIPCService$IPC2
3、 com.css.orm.lib.cibase.mini.ipc.RemoteIPCService$IPC3
4、 com.css.orm.lib.cibase.mini.ipc.RemoteIPCService$IPC4
5、 com.css.orm.lib.cibase.mini.ipc.RemoteIPCService$IPC5
6、 com.css.orm.lib.cibase.upload.aidl.UploadService
7、 com.css.orm.open.filedownloader.services.FileDownloadService$SharedMainProcessService
8、 com.css.orm.open.filedownloader.services.FileDownloadService$SeparateProcessService
9、 com.css.orm.lib.cibase.download.DownloadService
10、 com.css.orm.lib.cibase.service.AppForegoundService
11、 com.css.orm.lib.cibase.checkupdate.BackgroundCheckUpdateService

广播接收者列表

内容提供者列表

已显示 5 个providers
1、 androidx.lifecycle.ProcessLifecycleOwnerInitializer
2、 com.css.orm.lib.ci.plugin.filepicker.model.EssFileProvider
3、 com.css.orm.base.db.CoreDBProvider
4、 com.css.orm.lib.cibase.service.OrmFileProvider
5、 com.esandinfo.ifaa.IFAAProvider

第三方SDK

SDK名称 开发者 描述信息
MSA SDK 移动安全联盟 移动智能终端补充设备标识体系统一调用 SDK 由中国信息通信研究院泰尔终端实验室、移动安全联盟整合提供,知识产权归中国信息通信研究院所有。
Bugly Tencent 腾讯 Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。
爱加密 北京智游网安科技有限公司 针对目前移动应用普遍存在的破解、篡改、劫持、盗版、数据窃取、钓鱼欺诈等各类安全风险,通过行业领先的第六代加固技术,爱加密为用户提供全面的移动应用加固加密技术和攻击防范服务。
Pdfium Google Pdfium Android binding.
MMKV Tencent MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。
AndroidP7zip hzy3774 An Android compress and extract library, P7Zip port for Android.
Jetpack Lifecycle Google 生命周期感知型组件可执行操作来响应另一个组件(如 Activity 和 Fragment)的生命周期状态的变化。这些组件有助于您写出更有条理且往往更精简的代码,这样的代码更易于维护。
File Provider Android FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。
Jetpack Media Google 与其他应用共享媒体内容和控件。已被 media2 取代。

文件列表

META-INF/AL2.0
META-INF/LGPL2.1
META-INF/android.support.design_material.version
META-INF/androidx.activity_activity.version
META-INF/androidx.annotation_annotation-experimental.version
META-INF/androidx.appcompat_appcompat.version
META-INF/androidx.arch.core_core-runtime.version
META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version
META-INF/androidx.cardview_cardview.version
META-INF/androidx.coordinatorlayout_coordinatorlayout.version
META-INF/androidx.core_core-ktx.version
META-INF/androidx.core_core.version
META-INF/androidx.cursoradapter_cursoradapter.version
META-INF/androidx.customview_customview.version
META-INF/androidx.documentfile_documentfile.version
META-INF/androidx.drawerlayout_drawerlayout.version
META-INF/androidx.exifinterface_exifinterface.version
META-INF/androidx.fragment_fragment.version
META-INF/androidx.interpolator_interpolator.version
META-INF/androidx.legacy_legacy-support-core-ui.version
META-INF/androidx.legacy_legacy-support-core-utils.version
META-INF/androidx.legacy_legacy-support-v4.version
META-INF/androidx.lifecycle_lifecycle-extensions.version
META-INF/androidx.lifecycle_lifecycle-livedata-core.version
META-INF/androidx.lifecycle_lifecycle-livedata.version
META-INF/androidx.lifecycle_lifecycle-process.version
META-INF/androidx.lifecycle_lifecycle-runtime.version
META-INF/androidx.lifecycle_lifecycle-service.version
META-INF/androidx.lifecycle_lifecycle-viewmodel-savedstate.version
META-INF/androidx.lifecycle_lifecycle-viewmodel.version
META-INF/androidx.loader_loader.version
META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version
META-INF/androidx.media_media.version
META-INF/androidx.print_print.version
META-INF/androidx.recyclerview_recyclerview.version
META-INF/androidx.savedstate_savedstate.version
META-INF/androidx.slidingpanelayout_slidingpanelayout.version
META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version
META-INF/androidx.tracing_tracing.version
META-INF/androidx.transition_transition.version
META-INF/androidx.vectordrawable_vectordrawable-animated.version
META-INF/androidx.vectordrawable_vectordrawable.version
META-INF/androidx.versionedparcelable_versionedparcelable.version
META-INF/androidx.viewpager_viewpager.version
META-INF/com.google.android.material_material.version
META-INF/core-ktx_release.kotlin_module
META-INF/fragment_release.kotlin_module
META-INF/kotlin-project-structure-metadata.json
META-INF/kotlin-stdlib-common.kotlin_module
META-INF/kotlin-stdlib-jdk7.kotlin_module
META-INF/kotlin-stdlib-jdk8.kotlin_module
META-INF/kotlin-stdlib.kotlin_module
META-INF/retrofit.kotlin_module
META-INF/services/java.security.Provider
META-INF/services/javax.ws.rs.ext.MessageBodyReader
META-INF/services/javax.ws.rs.ext.MessageBodyWriter
META-INF/services/javax.ws.rs.ext.Providers
META-INF/services/org.glassfish.jersey.internal.spi.AutoDiscoverable
androidsupportmultidexversion.txt
com/qq/jce/wup/wup.properties
kotlin/ArithmeticException.kotlin_metadata
kotlin/AssertionError.kotlin_metadata
kotlin/BuilderInference.kotlin_metadata
kotlin/CharCodeKt.kotlin_metadata
kotlin/ClassCastException.kotlin_metadata
kotlin/Comparator.kotlin_metadata
kotlin/CompareToKt.kotlin_metadata
kotlin/ConcurrentModificationException.kotlin_metadata
kotlin/DeepRecursiveFunction.kotlin_metadata
kotlin/DeepRecursiveKt.kotlin_metadata
kotlin/DeepRecursiveScope.kotlin_metadata
kotlin/DeepRecursiveScopeImpl.kotlin_metadata
kotlin/Error.kotlin_metadata
kotlin/Exception.kotlin_metadata
kotlin/ExceptionsHKt.kotlin_metadata
kotlin/ExperimentalMultiplatform.kotlin_metadata
kotlin/ExperimentalStdlibApi.kotlin_metadata
kotlin/ExperimentalSubclassOptIn.kotlin_metadata
kotlin/ExperimentalUnsignedTypes.kotlin_metadata
kotlin/FloorDivModKt.kotlin_metadata
kotlin/HashCodeKt.kotlin_metadata
kotlin/IllegalArgumentException.kotlin_metadata
kotlin/IllegalStateException.kotlin_metadata
kotlin/IndexOutOfBoundsException.kotlin_metadata
kotlin/InitializedLazyImpl.kotlin_metadata
kotlin/KotlinHKt.kotlin_metadata
kotlin/KotlinNothingValueException.kotlin_metadata
kotlin/KotlinVersion.kotlin_metadata
kotlin/KotlinVersionCurrentValue.kotlin_metadata
kotlin/LateinitKt.kotlin_metadata
kotlin/Lazy.kotlin_metadata
kotlin/LazyKt.kotlin_metadata
kotlin/LazyThreadSafetyMode.kotlin_metadata
kotlin/NoSuchElementException.kotlin_metadata
kotlin/NoWhenBranchMatchedException.kotlin_metadata
kotlin/NotImplementedError.kotlin_metadata
kotlin/NullPointerException.kotlin_metadata
kotlin/NumberFormatException.kotlin_metadata
kotlin/NumbersKt.kotlin_metadata
kotlin/OptIn.kotlin_metadata
kotlin/OptionalExpectation.kotlin_metadata
kotlin/OverloadResolutionByLambdaReturnType.kotlin_metadata
kotlin/Pair.kotlin_metadata
kotlin/PreconditionsKt.kotlin_metadata
kotlin/PropertyReferenceDelegatesKt.kotlin_metadata
kotlin/RequiresOptIn.kotlin_metadata
kotlin/Result.kotlin_metadata
kotlin/ResultKt.kotlin_metadata
kotlin/RuntimeException.kotlin_metadata
kotlin/StandardKt.kotlin_metadata
kotlin/SubclassOptInRequired.kotlin_metadata
kotlin/SuspendKt.kotlin_metadata
kotlin/Throws.kotlin_metadata
kotlin/Triple.kotlin_metadata
kotlin/TuplesKt.kotlin_metadata
kotlin/UByte.kotlin_metadata
kotlin/UByteArray.kotlin_metadata
kotlin/UByteArrayKt.kotlin_metadata
kotlin/UByteKt.kotlin_metadata
kotlin/UInt.kotlin_metadata
kotlin/UIntArray.kotlin_metadata
kotlin/UIntArrayKt.kotlin_metadata
kotlin/UIntKt.kotlin_metadata
kotlin/ULong.kotlin_metadata
kotlin/ULongArray.kotlin_metadata
kotlin/ULongArrayKt.kotlin_metadata
kotlin/ULongKt.kotlin_metadata
kotlin/UNINITIALIZED_VALUE.kotlin_metadata
kotlin/UNumbersKt.kotlin_metadata
kotlin/UShort.kotlin_metadata
kotlin/UShortArray.kotlin_metadata
kotlin/UShortArrayKt.kotlin_metadata
kotlin/UShortKt.kotlin_metadata
kotlin/UninitializedPropertyAccessException.kotlin_metadata
kotlin/UnsafeLazyImpl.kotlin_metadata
kotlin/UnsignedUtilsKt.kotlin_metadata
kotlin/UnsupportedOperationException.kotlin_metadata
kotlin/WasExperimental.kotlin_metadata
kotlin/annotation/annotation.kotlin_builtins
kotlin/collections/AbstractCollection.kotlin_metadata
kotlin/collections/AbstractIterator.kotlin_metadata
kotlin/collections/AbstractList.kotlin_metadata
kotlin/collections/AbstractMap.kotlin_metadata
kotlin/collections/AbstractMutableCollection.kotlin_metadata
kotlin/collections/AbstractMutableList.kotlin_metadata
kotlin/collections/AbstractMutableMap.kotlin_metadata
kotlin/collections/AbstractMutableSet.kotlin_metadata
kotlin/collections/AbstractSet.kotlin_metadata
kotlin/collections/ArrayAsCollection.kotlin_metadata
kotlin/collections/ArrayDeque.kotlin_metadata
kotlin/collections/ArrayList.kotlin_metadata
kotlin/collections/ArraysKt.kotlin_metadata
kotlin/collections/BooleanIterator.kotlin_metadata
kotlin/collections/ByteIterator.kotlin_metadata
kotlin/collections/CharIterator.kotlin_metadata
kotlin/collections/CollectionsHKt.kotlin_metadata
kotlin/collections/CollectionsKt.kotlin_metadata
kotlin/collections/DoubleIterator.kotlin_metadata
kotlin/collections/EmptyIterator.kotlin_metadata
kotlin/collections/EmptyList.kotlin_metadata
kotlin/collections/EmptyMap.kotlin_metadata
kotlin/collections/EmptySet.kotlin_metadata
kotlin/collections/FloatIterator.kotlin_metadata
kotlin/collections/Grouping.kotlin_metadata
kotlin/collections/GroupingKt.kotlin_metadata
kotlin/collections/HashMap.kotlin_metadata
kotlin/collections/HashSet.kotlin_metadata
kotlin/collections/IndexedValue.kotlin_metadata
kotlin/collections/IndexingIterable.kotlin_metadata
kotlin/collections/IndexingIterator.kotlin_metadata
kotlin/collections/IntIterator.kotlin_metadata
kotlin/collections/IterablesKt.kotlin_metadata
kotlin/collections/IteratorsKt.kotlin_metadata
kotlin/collections/LinkedHashMap.kotlin_metadata
kotlin/collections/LinkedHashSet.kotlin_metadata
kotlin/collections/LongIterator.kotlin_metadata
kotlin/collections/MapAccessorsKt.kotlin_metadata
kotlin/collections/MapWithDefault.kotlin_metadata
kotlin/collections/MapWithDefaultImpl.kotlin_metadata
kotlin/collections/MapWithDefaultKt.kotlin_metadata
kotlin/collections/MapsKt.kotlin_metadata
kotlin/collections/MovingSubList.kotlin_metadata
kotlin/collections/MutableCollectionsKt.kotlin_metadata
kotlin/collections/MutableMapWithDefault.kotlin_metadata
kotlin/collections/MutableMapWithDefaultImpl.kotlin_metadata
kotlin/collections/RandomAccess.kotlin_metadata
kotlin/collections/ReversedList.kotlin_metadata
kotlin/collections/ReversedListReadOnly.kotlin_metadata
kotlin/collections/ReversedViewsKt.kotlin_metadata
kotlin/collections/RingBuffer.kotlin_metadata
kotlin/collections/SetsKt.kotlin_metadata
kotlin/collections/ShortIterator.kotlin_metadata
kotlin/collections/SlidingWindowKt.kotlin_metadata
kotlin/collections/State.kotlin_metadata
kotlin/collections/UArraySortingKt.kotlin_metadata
kotlin/collections/collections.kotlin_builtins
kotlin/comparisons/ComparisonsKt.kotlin_metadata
kotlin/comparisons/NaturalOrderComparator.kotlin_metadata
kotlin/comparisons/ReverseOrderComparator.kotlin_metadata
kotlin/comparisons/ReversedComparator.kotlin_metadata
kotlin/contracts/CallsInPlace.kotlin_metadata
kotlin/contracts/ConditionalEffect.kotlin_metadata
kotlin/contracts/ContractBuilder.kotlin_metadata
kotlin/contracts/ContractBuilderKt.kotlin_metadata
kotlin/contracts/Effect.kotlin_metadata
kotlin/contracts/ExperimentalContracts.kotlin_metadata
kotlin/contracts/InvocationKind.kotlin_metadata
kotlin/contracts/Returns.kotlin_metadata
kotlin/contracts/ReturnsNotNull.kotlin_metadata
kotlin/contracts/SimpleEffect.kotlin_metadata
kotlin/coroutines/AbstractCoroutineContextElement.kotlin_metadata
kotlin/coroutines/AbstractCoroutineContextKey.kotlin_metadata
kotlin/coroutines/CombinedContext.kotlin_metadata
kotlin/coroutines/Continuation.kotlin_metadata
kotlin/coroutines/ContinuationInterceptor.kotlin_metadata
kotlin/coroutines/ContinuationKt.kotlin_metadata
kotlin/coroutines/CoroutineContext.kotlin_metadata
kotlin/coroutines/CoroutineContextImplKt.kotlin_metadata
kotlin/coroutines/EmptyCoroutineContext.kotlin_metadata
kotlin/coroutines/RestrictsSuspension.kotlin_metadata
kotlin/coroutines/SafeContinuation.kotlin_metadata
kotlin/coroutines/cancellation/CancellationException.kotlin_metadata
kotlin/coroutines/cancellation/CancellationExceptionHKt.kotlin_metadata
kotlin/coroutines/coroutines.kotlin_builtins
kotlin/coroutines/intrinsics/CoroutineSingletons.kotlin_metadata
kotlin/coroutines/intrinsics/CoroutinesIntrinsicsHKt.kotlin_metadata
kotlin/coroutines/intrinsics/IntrinsicsKt.kotlin_metadata
kotlin/enums/EnumEntries.kotlin_metadata
kotlin/enums/EnumEntriesKt.kotlin_metadata
kotlin/enums/EnumEntriesList.kotlin_metadata
kotlin/enums/EnumEntriesSerializationProxy.kotlin_metadata
kotlin/experimental/BitwiseOperationsKt.kotlin_metadata
kotlin/experimental/ExperimentalObjCName.kotlin_metadata
kotlin/experimental/ExperimentalObjCRefinement.kotlin_metadata
kotlin/experimental/ExperimentalTypeInference.kotlin_metadata
kotlin/internal/AccessibleLateinitPropertyLiteral.kotlin_metadata
kotlin/internal/ContractsDsl.kotlin_metadata
kotlin/internal/DynamicExtension.kotlin_metadata
kotlin/internal/Exact.kotlin_metadata
kotlin/internal/HidesMembers.kotlin_metadata
kotlin/internal/InlineOnly.kotlin_metadata
kotlin/internal/IntrinsicConstEvaluation.kotlin_metadata
kotlin/internal/LowPriorityInOverloadResolution.kotlin_metadata
kotlin/internal/NoInfer.kotlin_metadata
kotlin/internal/OnlyInputTypes.kotlin_metadata
kotlin/internal/PlatformDependent.kotlin_metadata
kotlin/internal/ProgressionUtilKt.kotlin_metadata
kotlin/internal/PureReifiable.kotlin_metadata
kotlin/internal/RequireKotlin.kotlin_metadata
kotlin/internal/RequireKotlinVersionKind.kotlin_metadata
kotlin/internal/UProgressionUtilKt.kotlin_metadata
kotlin/internal/internal.kotlin_builtins
kotlin/io/IoHKt.kotlin_metadata
kotlin/io/ReadAfterEOFException.kotlin_metadata
kotlin/io/Serializable.kotlin_metadata
kotlin/js/ExperimentalJsExport.kotlin_metadata
kotlin/js/JsExport.kotlin_metadata
kotlin/js/JsName.kotlin_metadata
kotlin/jvm/JvmField.kotlin_metadata
kotlin/jvm/JvmInline.kotlin_metadata
kotlin/jvm/JvmMultifileClass.kotlin_metadata
kotlin/jvm/JvmName.kotlin_metadata
kotlin/jvm/JvmOverloads.kotlin_metadata
kotlin/jvm/JvmPackageName.kotlin_metadata
kotlin/jvm/JvmRecord.kotlin_metadata
kotlin/jvm/JvmSerializableLambda.kotlin_metadata
kotlin/jvm/JvmStatic.kotlin_metadata
kotlin/jvm/JvmSuppressWildcards.kotlin_metadata
kotlin/jvm/JvmSynthetic.kotlin_metadata
kotlin/jvm/JvmWildcard.kotlin_metadata
kotlin/jvm/Strictfp.kotlin_metadata
kotlin/jvm/Synchronized.kotlin_metadata
kotlin/jvm/Transient.kotlin_metadata
kotlin/jvm/Volatile.kotlin_metadata
kotlin/kotlin.kotlin_builtins
kotlin/math/MathHKt.kotlin_metadata
kotlin/math/UMathKt.kotlin_metadata
kotlin/native/CName.kotlin_metadata
kotlin/native/FreezingIsDeprecated.kotlin_metadata
kotlin/native/HiddenFromObjC.kotlin_metadata
kotlin/native/HidesFromObjC.kotlin_metadata
kotlin/native/ObjCName.kotlin_metadata
kotlin/native/RefinesInSwift.kotlin_metadata
kotlin/native/ShouldRefineInSwift.kotlin_metadata
kotlin/native/concurrent/SharedImmutable.kotlin_metadata
kotlin/native/concurrent/ThreadLocal.kotlin_metadata
kotlin/properties/Delegates.kotlin_metadata
kotlin/properties/NotNullVar.kotlin_metadata
kotlin/properties/ObservableProperty.kotlin_metadata
kotlin/properties/PropertyDelegateProvider.kotlin_metadata
kotlin/properties/ReadOnlyProperty.kotlin_metadata
kotlin/properties/ReadWriteProperty.kotlin_metadata
kotlin/random/Random.kotlin_metadata
kotlin/random/RandomKt.kotlin_metadata
kotlin/random/URandomKt.kotlin_metadata
kotlin/random/XorWowRandom.kotlin_metadata
kotlin/ranges/CharProgression.kotlin_metadata
kotlin/ranges/CharProgressionIterator.kotlin_metadata
kotlin/ranges/CharRange.kotlin_metadata
kotlin/ranges/ClosedDoubleRange.kotlin_metadata
kotlin/ranges/ClosedFloatRange.kotlin_metadata
kotlin/ranges/ClosedFloatingPointRange.kotlin_metadata
kotlin/ranges/ClosedRange.kotlin_metadata
kotlin/ranges/ComparableOpenEndRange.kotlin_metadata
kotlin/ranges/ComparableRange.kotlin_metadata
kotlin/ranges/IntProgression.kotlin_metadata
kotlin/ranges/IntProgressionIterator.kotlin_metadata
kotlin/ranges/IntRange.kotlin_metadata
kotlin/ranges/LongProgression.kotlin_metadata
kotlin/ranges/LongProgressionIterator.kotlin_metadata
kotlin/ranges/LongRange.kotlin_metadata
kotlin/ranges/OpenEndDoubleRange.kotlin_metadata
kotlin/ranges/OpenEndFloatRange.kotlin_metadata
kotlin/ranges/OpenEndRange.kotlin_metadata
kotlin/ranges/RangesKt.kotlin_metadata
kotlin/ranges/UIntProgression.kotlin_metadata
kotlin/ranges/UIntProgressionIterator.kotlin_metadata
kotlin/ranges/UIntRange.kotlin_metadata
kotlin/ranges/ULongProgression.kotlin_metadata
kotlin/ranges/ULongProgressionIterator.kotlin_metadata
kotlin/ranges/ULongRange.kotlin_metadata
kotlin/ranges/ranges.kotlin_builtins
kotlin/reflect/KCallable.kotlin_metadata
kotlin/reflect/KClass.kotlin_metadata
kotlin/reflect/KClassesKt.kotlin_metadata
kotlin/reflect/KClassifier.kotlin_metadata
kotlin/reflect/KFunction.kotlin_metadata
kotlin/reflect/KMutableProperty.kotlin_metadata
kotlin/reflect/KMutableProperty0.kotlin_metadata
kotlin/reflect/KMutableProperty1.kotlin_metadata
kotlin/reflect/KMutableProperty2.kotlin_metadata
kotlin/reflect/KProperty.kotlin_metadata
kotlin/reflect/KProperty0.kotlin_metadata
kotlin/reflect/KProperty1.kotlin_metadata
kotlin/reflect/KProperty2.kotlin_metadata
kotlin/reflect/KType.kotlin_metadata
kotlin/reflect/KTypeParameter.kotlin_metadata
kotlin/reflect/KTypeProjection.kotlin_metadata
kotlin/reflect/KVariance.kotlin_metadata
kotlin/reflect/TypeOfKt.kotlin_metadata
kotlin/reflect/reflect.kotlin_builtins
kotlin/sequences/ConstrainedOnceSequence.kotlin_metadata
kotlin/sequences/DistinctIterator.kotlin_metadata
kotlin/sequences/DistinctSequence.kotlin_metadata
kotlin/sequences/DropSequence.kotlin_metadata
kotlin/sequences/DropTakeSequence.kotlin_metadata
kotlin/sequences/DropWhileSequence.kotlin_metadata
kotlin/sequences/EmptySequence.kotlin_metadata
kotlin/sequences/FilteringSequence.kotlin_metadata
kotlin/sequences/FlatteningSequence.kotlin_metadata
kotlin/sequences/GeneratorSequence.kotlin_metadata
kotlin/sequences/IndexingSequence.kotlin_metadata
kotlin/sequences/MergingSequence.kotlin_metadata
kotlin/sequences/Sequence.kotlin_metadata
kotlin/sequences/SequenceBuilderIterator.kotlin_metadata
kotlin/sequences/SequenceBuilderKt.kotlin_metadata
kotlin/sequences/SequenceScope.kotlin_metadata
kotlin/sequences/SequencesKt.kotlin_metadata
kotlin/sequences/SubSequence.kotlin_metadata
kotlin/sequences/TakeSequence.kotlin_metadata
kotlin/sequences/TakeWhileSequence.kotlin_metadata
kotlin/sequences/TransformingIndexedSequence.kotlin_metadata
kotlin/sequences/TransformingSequence.kotlin_metadata
kotlin/text/Appendable.kotlin_metadata
kotlin/text/AppendableKt.kotlin_metadata
kotlin/text/CharCategory.kotlin_metadata
kotlin/text/CharKt.kotlin_metadata
kotlin/text/CharacterCodingException.kotlin_metadata
kotlin/text/DelimitedRangesSequence.kotlin_metadata
kotlin/text/IndentKt.kotlin_metadata
kotlin/text/MatchGroup.kotlin_metadata
kotlin/text/MatchGroupCollection.kotlin_metadata
kotlin/text/MatchNamedGroupCollection.kotlin_metadata
kotlin/text/MatchResult.kotlin_metadata
kotlin/text/Regex.kotlin_metadata
kotlin/text/RegexExtensionsKt.kotlin_metadata
kotlin/text/RegexOption.kotlin_metadata
kotlin/text/StringBuilder.kotlin_metadata
kotlin/text/StringBuilderKt.kotlin_metadata
kotlin/text/StringNumberConversionsKt.kotlin_metadata
kotlin/text/StringsKt.kotlin_metadata
kotlin/text/TextHKt.kotlin_metadata
kotlin/text/Typography.kotlin_metadata
kotlin/text/UStringsKt.kotlin_metadata
kotlin/time/AbstractDoubleTimeSource.kotlin_metadata
kotlin/time/AbstractLongTimeSource.kotlin_metadata
kotlin/time/AdjustedTimeMark.kotlin_metadata
kotlin/time/ComparableTimeMark.kotlin_metadata
kotlin/time/Duration.kotlin_metadata
kotlin/time/DurationKt.kotlin_metadata
kotlin/time/DurationUnit.kotlin_metadata
kotlin/time/DurationUnitKt.kotlin_metadata
kotlin/time/ExperimentalTime.kotlin_metadata
kotlin/time/LongSaturatedMathKt.kotlin_metadata
kotlin/time/MeasureTimeKt.kotlin_metadata
kotlin/time/MonotonicTimeSource.kotlin_metadata
kotlin/time/TestTimeSource.kotlin_metadata
kotlin/time/TimeMark.kotlin_metadata
kotlin/time/TimeSource.kotlin_metadata
kotlin/time/TimedValue.kotlin_metadata
kotlin/time/ValueTimeMarkReading.kotlin_metadata
lib/arm64-v8a/libKXFaceProSDK.so
lib/arm64-v8a/libTHIDLiveDetect.so
lib/arm64-v8a/libidcard_quality.1.1.1.so
lib/arm64-v8a/libidl_license.so
lib/arm64-v8a/libjniPdfium.so
lib/arm64-v8a/libjnidispatch.so
lib/arm64-v8a/libmmkv.so
lib/arm64-v8a/libmodft2.so
lib/arm64-v8a/libmodpdfium.so
lib/arm64-v8a/libmodpng.so
lib/arm64-v8a/libocr-sdk.so
lib/arm64-v8a/libp7zip.so
lib/arm64-v8a/libsecsdk.so
lib/armeabi-v7a/libBugly_Native.so
lib/armeabi-v7a/libKXFaceProSDK.so
lib/armeabi-v7a/libTHIDLiveDetect.so
lib/armeabi-v7a/libidcard_quality.1.1.1.so
lib/armeabi-v7a/libidl_license.so
lib/armeabi-v7a/libjniPdfium.so
lib/armeabi-v7a/libjnidispatch.so
lib/armeabi-v7a/libmmkv.so
lib/armeabi-v7a/libmodft2.so
lib/armeabi-v7a/libmodpdfium.so
lib/armeabi-v7a/libmodpng.so
lib/armeabi-v7a/libocr-sdk.so
lib/armeabi-v7a/libp7zip.so
lib/armeabi-v7a/libsecsdk.so
lib/x86/libBugly_Native.so
lib/x86/libidcard_quality.1.1.1.so
lib/x86/libidl_license.so
lib/x86/libjniPdfium.so
lib/x86/libjnidispatch.so
lib/x86/libmmkv.so
lib/x86/libmodft2.so
lib/x86/libmodpdfium.so
lib/x86/libmodpng.so
lib/x86/libocr-sdk.so
lib/x86/libp7zip.so
lib/x86/libsecsdk.so
okhttp3/internal/publicsuffix/NOTICE
okhttp3/internal/publicsuffix/publicsuffixes.gz
org/bouncycastle/x509/CertPathReviewerMessages.properties
org/bouncycastle/x509/CertPathReviewerMessages_de.properties
res/anim-v21/design_bottom_sheet_slide_in.xml
res/anim-v21/design_bottom_sheet_slide_out.xml
res/anim-v21/fragment_fast_out_extra_slow_in.xml
res/anim/aa_orm_actionsheet_dialog_in.xml
res/anim/aa_orm_actionsheet_dialog_out.xml
res/anim/abc_fade_in.xml
res/anim/abc_fade_out.xml
res/anim/abc_grow_fade_in_from_bottom.xml
res/anim/abc_popup_enter.xml
res/anim/abc_popup_exit.xml
res/anim/abc_shrink_fade_out_from_bottom.xml
res/anim/abc_slide_in_bottom.xml
res/anim/abc_slide_in_top.xml
res/anim/abc_slide_out_bottom.xml
res/anim/abc_slide_out_top.xml
res/anim/abc_tooltip_enter.xml
res/anim/abc_tooltip_exit.xml
res/anim/anim_bottom_in.xml
res/anim/anim_bottom_out.xml
res/anim/anim_slide_in_left.xml
res/anim/anim_slide_in_right.xml
res/anim/anim_slide_out_left.xml
res/anim/anim_slide_out_right.xml
res/anim/cycle_7.xml
res/anim/design_snackbar_in.xml
res/anim/design_snackbar_out.xml
res/anim/face_auth_anim.xml
res/anim/orm_control_timepicker_anim_enter_bottom.xml
res/anim/orm_control_timepicker_anim_exit_bottom.xml
res/anim/orm_document_reader_anim.xml
res/anim/orm_widget_dialog_exit_anim.xml
res/anim/orm_widget_fade_in.xml
res/anim/orm_widget_hold_anim.xml
res/anim/orm_widget_settingswindow_in_anim.xml
res/anim/orm_widget_settingswindow_out_anim.xml
res/anim/orm_widget_zoom_enter.xml
res/anim/orm_widget_zoom_exit.xml
res/anim/plugin_image_fade_in.xml
res/anim/plugin_image_fade_out.xml
res/anim/plugin_image_hide_to_bottom.xml
res/anim/plugin_image_rotate_loading.xml
res/anim/plugin_image_show_from_bottom.xml
res/anim/plugin_image_top_in.xml
res/anim/plugin_image_top_out.xml
res/anim/push_bottom_in.xml
res/anim/push_bottom_out.xml
res/anim/shake.xml
res/animator-v21/design_appbar_state_list_animator.xml
res/animator/design_fab_hide_motion_spec.xml
res/animator/design_fab_show_motion_spec.xml
res/animator/fragment_close_enter.xml
res/animator/fragment_close_exit.xml
res/animator/fragment_fade_enter.xml
res/animator/fragment_fade_exit.xml
res/animator/fragment_open_enter.xml
res/animator/fragment_open_exit.xml
res/animator/mtrl_btn_state_list_anim.xml
res/animator/mtrl_btn_unelevated_state_list_anim.xml
res/animator/mtrl_chip_state_list_anim.xml
res/animator/mtrl_fab_hide_motion_spec.xml
res/animator/mtrl_fab_show_motion_spec.xml
res/animator/mtrl_fab_transformation_sheet_collapse_spec.xml
res/animator/mtrl_fab_transformation_sheet_expand_spec.xml
res/color-v21/abc_btn_colored_borderless_text_material.xml
res/color-v23/abc_btn_colored_borderless_text_material.xml
res/color-v23/abc_btn_colored_text_material.xml
res/color-v23/abc_color_highlight_material.xml
res/color-v23/abc_tint_btn_checkable.xml
res/color-v23/abc_tint_default.xml
res/color-v23/abc_tint_edittext.xml
res/color-v23/abc_tint_seek_thumb.xml
res/color-v23/abc_tint_spinner.xml
res/color-v23/abc_tint_switch_track.xml
res/color-v23/design_tint_password_toggle.xml
res/color/abc_background_cache_hint_selector_material_dark.xml
res/color/abc_background_cache_hint_selector_material_light.xml
res/color/abc_btn_colored_text_material.xml
res/color/abc_hint_foreground_material_dark.xml
res/color/abc_hint_foreground_material_light.xml
res/color/abc_primary_text_disable_only_material_dark.xml
res/color/abc_primary_text_disable_only_material_light.xml
res/color/abc_primary_text_material_dark.xml
res/color/abc_primary_text_material_light.xml
res/color/abc_search_url_text.xml
res/color/abc_secondary_text_material_dark.xml
res/color/abc_secondary_text_material_light.xml
res/color/abc_tint_btn_checkable.xml
res/color/abc_tint_default.xml
res/color/abc_tint_edittext.xml
res/color/abc_tint_seek_thumb.xml
res/color/abc_tint_spinner.xml
res/color/abc_tint_switch_track.xml
res/color/design_error.xml
res/color/design_tint_password_toggle.xml
res/color/mtrl_bottom_nav_colored_item_tint.xml
res/color/mtrl_bottom_nav_item_tint.xml
res/color/mtrl_btn_bg_color_selector.xml
res/color/mtrl_btn_ripple_color.xml
res/color/mtrl_btn_stroke_color_selector.xml
res/color/mtrl_btn_text_btn_ripple_color.xml
res/color/mtrl_btn_text_color_selector.xml
res/color/mtrl_chip_background_color.xml
res/color/mtrl_chip_close_icon_tint.xml
res/color/mtrl_chip_ripple_color.xml
res/color/mtrl_chip_text_color.xml
res/color/mtrl_fab_ripple_color.xml
res/color/mtrl_tabs_colored_ripple_color.xml
res/color/mtrl_tabs_icon_color_selector.xml
res/color/mtrl_tabs_icon_color_selector_colored.xml
res/color/mtrl_tabs_legacy_text_color_selector.xml
res/color/mtrl_tabs_ripple_color.xml
res/color/mtrl_text_btn_text_color_selector.xml
res/color/orm_widget_ba_text_color_select_camara_gallery.xml
res/color/orm_widget_tab_text_color.xml
res/color/switch_thumb_material_dark.xml
res/color/switch_thumb_material_light.xml
res/drawable-anydpi-v21/design_ic_visibility.xml
res/drawable-anydpi-v21/design_ic_visibility_off.xml
res/drawable-anydpi-v21/ic_close_black.xml
res/drawable-hdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_000.png
res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_015.png
res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_000.png
res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_015.png
res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png
res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png
res/drawable-hdpi-v4/abc_cab_background_top_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_share_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_star_black_16dp.png
res/drawable-hdpi-v4/abc_ic_star_black_36dp.png
res/drawable-hdpi-v4/abc_ic_star_black_48dp.png
res/drawable-hdpi-v4/abc_ic_star_half_black_16dp.png
res/drawable-hdpi-v4/abc_ic_star_half_black_36dp.png
res/drawable-hdpi-v4/abc_ic_star_half_black_48dp.png
res/drawable-hdpi-v4/abc_list_divider_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_list_focused_holo.9.png
res/drawable-hdpi-v4/abc_list_longpressed_holo.9.png
res/drawable-hdpi-v4/abc_list_pressed_holo_dark.9.png
res/drawable-hdpi-v4/abc_list_pressed_holo_light.9.png
res/drawable-hdpi-v4/abc_list_selector_disabled_holo_dark.9.png
res/drawable-hdpi-v4/abc_list_selector_disabled_holo_light.9.png
res/drawable-hdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png
res/drawable-hdpi-v4/abc_popup_background_mtrl_mult.9.png
res/drawable-hdpi-v4/abc_scrubber_control_off_mtrl_alpha.png
res/drawable-hdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png
res/drawable-hdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png
res/drawable-hdpi-v4/abc_scrubber_primary_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_scrubber_track_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-hdpi-v4/abc_switch_track_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_tab_indicator_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_text_select_handle_left_mtrl_dark.png
res/drawable-hdpi-v4/abc_text_select_handle_left_mtrl_light.png
res/drawable-hdpi-v4/abc_text_select_handle_middle_mtrl_dark.png
res/drawable-hdpi-v4/abc_text_select_handle_middle_mtrl_light.png
res/drawable-hdpi-v4/abc_text_select_handle_right_mtrl_dark.png
res/drawable-hdpi-v4/abc_text_select_handle_right_mtrl_light.png
res/drawable-hdpi-v4/abc_textfield_activated_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_textfield_default_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png
res/drawable-hdpi-v4/design_ic_visibility.png
res/drawable-hdpi-v4/design_ic_visibility_off.png
res/drawable-hdpi-v4/ic_arrow_drop_down_white_24dp.png
res/drawable-hdpi-v4/ic_check_white_18dp.png
res/drawable-hdpi-v4/ic_chevron_right_white_24dp.png
res/drawable-hdpi-v4/ic_close_black.png
res/drawable-hdpi-v4/ic_empty_dracula.png
res/drawable-hdpi-v4/ic_empty_elec.png
res/drawable-hdpi-v4/ic_gif.png
res/drawable-hdpi-v4/notification_bg_low_normal.9.png
res/drawable-hdpi-v4/notification_bg_low_pressed.9.png
res/drawable-hdpi-v4/notification_bg_normal.9.png
res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png
res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png
res/drawable-ldpi-v4/ic_close_black.png
res/drawable-ldrtl-hdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-hdpi-v17/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-hdpi-v17/abc_spinner_mtrl_am_alpha.9.png
res/drawable-ldrtl-mdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-mdpi-v17/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-mdpi-v17/abc_spinner_mtrl_am_alpha.9.png
res/drawable-ldrtl-xhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-xhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-xhdpi-v17/abc_spinner_mtrl_am_alpha.9.png
res/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-xxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png
res/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-xxxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png
res/drawable-mdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_000.png
res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_015.png
res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_000.png
res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_015.png
res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png
res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png
res/drawable-mdpi-v4/abc_cab_background_top_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_share_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_star_black_16dp.png
res/drawable-mdpi-v4/abc_ic_star_black_36dp.png
res/drawable-mdpi-v4/abc_ic_star_black_48dp.png
res/drawable-mdpi-v4/abc_ic_star_half_black_16dp.png
res/drawable-mdpi-v4/abc_ic_star_half_black_36dp.png
res/drawable-mdpi-v4/abc_ic_star_half_black_48dp.png
res/drawable-mdpi-v4/abc_list_divider_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_list_focused_holo.9.png
res/drawable-mdpi-v4/abc_list_longpressed_holo.9.png
res/drawable-mdpi-v4/abc_list_pressed_holo_dark.9.png
res/drawable-mdpi-v4/abc_list_pressed_holo_light.9.png
res/drawable-mdpi-v4/abc_list_selector_disabled_holo_dark.9.png
res/drawable-mdpi-v4/abc_list_selector_disabled_holo_light.9.png
res/drawable-mdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png
res/drawable-mdpi-v4/abc_popup_background_mtrl_mult.9.png
res/drawable-mdpi-v4/abc_scrubber_control_off_mtrl_alpha.png
res/drawable-mdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png
res/drawable-mdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png
res/drawable-mdpi-v4/abc_scrubber_primary_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_scrubber_track_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-mdpi-v4/abc_switch_track_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_tab_indicator_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_text_select_handle_left_mtrl_dark.png
res/drawable-mdpi-v4/abc_text_select_handle_left_mtrl_light.png
res/drawable-mdpi-v4/abc_text_select_handle_middle_mtrl_dark.png
res/drawable-mdpi-v4/abc_text_select_handle_middle_mtrl_light.png
res/drawable-mdpi-v4/abc_text_select_handle_right_mtrl_dark.png
res/drawable-mdpi-v4/abc_text_select_handle_right_mtrl_light.png
res/drawable-mdpi-v4/abc_textfield_activated_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_textfield_default_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png
res/drawable-mdpi-v4/design_ic_visibility.png
res/drawable-mdpi-v4/design_ic_visibility_off.png
res/drawable-mdpi-v4/ic_arrow_drop_down_white_24dp.png
res/drawable-mdpi-v4/ic_check_white_18dp.png
res/drawable-mdpi-v4/ic_chevron_right_white_24dp.png
res/drawable-mdpi-v4/ic_close_black.png
res/drawable-mdpi-v4/ic_empty_dracula.png
res/drawable-mdpi-v4/ic_empty_elec.png
res/drawable-mdpi-v4/ic_gif.png
res/drawable-mdpi-v4/notification_bg_low_normal.9.png
res/drawable-mdpi-v4/notification_bg_low_pressed.9.png
res/drawable-mdpi-v4/notification_bg_normal.9.png
res/drawable-mdpi-v4/notification_bg_normal_pressed.9.png
res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png
res/drawable-v21/$avd_hide_password__0.xml
res/drawable-v21/$avd_hide_password__1.xml
res/drawable-v21/$avd_hide_password__2.xml
res/drawable-v21/$avd_show_password__0.xml
res/drawable-v21/$avd_show_password__1.xml
res/drawable-v21/$avd_show_password__2.xml
res/drawable-v21/abc_action_bar_item_background_material.xml
res/drawable-v21/abc_btn_colored_material.xml
res/drawable-v21/abc_dialog_material_background.xml
res/drawable-v21/abc_edit_text_material.xml
res/drawable-v21/abc_list_divider_material.xml
res/drawable-v21/avd_hide_password.xml
res/drawable-v21/avd_show_password.xml
res/drawable-v21/design_bottom_navigation_item_background.xml
res/drawable-v21/design_password_eye.xml
res/drawable-v21/notification_action_background.xml
res/drawable-v23/abc_control_background_material.xml
res/drawable-watch-v20/abc_dialog_material_background.xml
res/drawable-xhdpi-v4/aa_dialog_loading_img.png
res/drawable-xhdpi-v4/aa_orm_above_timepicker_bg.png
res/drawable-xhdpi-v4/aa_orm_back_btn_img.png
res/drawable-xhdpi-v4/aa_orm_default_img.png
res/drawable-xhdpi-v4/aa_orm_line_timepicker_bg.png
res/drawable-xhdpi-v4/aa_orm_sao.png
res/drawable-xhdpi-v4/aa_orm_titlebar_menu_img.png
res/drawable-xhdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_000.png
res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_015.png
res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_000.png
res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_015.png
res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png
res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png
res/drawable-xhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_share_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_star_black_16dp.png
res/drawable-xhdpi-v4/abc_ic_star_black_36dp.png
res/drawable-xhdpi-v4/abc_ic_star_black_48dp.png
res/drawable-xhdpi-v4/abc_ic_star_half_black_16dp.png
res/drawable-xhdpi-v4/abc_ic_star_half_black_36dp.png
res/drawable-xhdpi-v4/abc_ic_star_half_black_48dp.png
res/drawable-xhdpi-v4/abc_list_divider_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_list_focused_holo.9.png
res/drawable-xhdpi-v4/abc_list_longpressed_holo.9.png
res/drawable-xhdpi-v4/abc_list_pressed_holo_dark.9.png
res/drawable-xhdpi-v4/abc_list_pressed_holo_light.9.png <