--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(factory-reset C)
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(EXEC_PREFIX "\${prefix}")
+SET(LIBDIR "\${prefix}/lib")
+SET(INCLUDEDIR "\${prefix}/include")
+SET(EDJDIR "\${prefix}/share/edje")
+SET(VERSION 0.1)
+
+SET(SRCS_RESET_CCMODE src/resetCCMode.c)
+SET(SRCS_RSTSMACK src/rstsmack.c)
+SET(SRCS_UTIL src/factory-reset-util.c)
+SET(SRCS src/factory-reset.c)
+SET(EDJ_SRCS ${CMAKE_SOURCE_DIR}/data/factory-reset-util.edc)
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+
+#IF("$ENV{CFLAGS}" MATCHES "-DTELEPHONY_DISABLE")
+# MESSAGE("add -DTELEPHONY_DISABLE")
+#ELSE()
+# SET(PKG_MODULES ${PKG_MODULES}
+# tapi modem
+# )
+#ENDIF()
+
+#IF("$ENV{CFLAGS}" MATCHES "-DCSC_DISABLE")
+# MESSAGE("add -DCSC_DISABLE")
+#ELSE()
+# SET(PKG_MODULES ${PKG_MODULES}
+# csc-manager
+# )
+#ENDIF()
+
+IF("${DISPLAY_RESOLUTION}" STREQUAL "320x320")
+ MESSAGE("font size is 22")
+ ADD_DEFINITIONS("-DFACTORY_RESET_FONT_SIZE=22")
+ SET(EDJ_SRCS ${CMAKE_SOURCE_DIR}/data/factory-reset-util-small-display.edc)
+ELSEIF("${DISPLAY_RESOLUTION}" STREQUAL "360x480")
+ MESSAGE("font size is 24")
+ ADD_DEFINITIONS("-DFACTORY_RESET_FONT_SIZE=24")
+ SET(EDJ_SRCS ${CMAKE_SOURCE_DIR}/data/factory-reset-util-small-display.edc)
+ELSEIF("${DISPLAY_RESOLUTION}" STREQUAL "480x800")
+ MESSAGE("font size is 24")
+ ADD_DEFINITIONS("-DFACTORY_RESET_FONT_SIZE=24")
+ENDIF()
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED appcore-efl evas edje elementary
+ libsmack dbus-1 dbus-glib-1 ${PKG_MODULES} )
+
+FOREACH(flag ${pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
+IF("${ARCH}" MATCHES "^arm.*")
+ ADD_DEFINITIONS("-DTARGET")
+ MESSAGE("add -DTARGET")
+ENDIF()
+
+ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
+ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
+ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
+ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
+
+ADD_EXECUTABLE(resetCCMode ${SRCS_RESET_CCMODE})
+ADD_EXECUTABLE(rstsmack ${SRCS_RSTSMACK})
+ADD_EXECUTABLE(factory-reset-util ${SRCS_UTIL})
+ADD_EXECUTABLE(factory-reset ${SRCS})
+TARGET_LINK_LIBRARIES(rstsmack ${pkgs_LDFLAGS})
+TARGET_LINK_LIBRARIES(factory-reset-util ${pkgs_LDFLAGS})
+TARGET_LINK_LIBRARIES(factory-reset ${pkgs_LDFLAGS})
+
+ADD_CUSTOM_TARGET(factory-reset-util.edj
+ COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
+ ${EDJ_SRCS} ${CMAKE_BINARY_DIR}/data/factory-reset-util.edj
+ DEPENDS ${EDJ_SRCS}
+)
+ADD_DEPENDENCIES(factory-reset-util factory-reset-util.edj)
+
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/script/run-factory-reset.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/factoryreset-verify.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/factoryreset-verify-result.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/build-backup-data.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/dump-frlog.sh DESTINATION /opt/etc/dump.d/module.d)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/factory-reset.rule DESTINATION /etc/smack/accesses2.d)
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/rstsmack DESTINATION bin)
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/factory-reset-util DESTINATION bin)
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/factory-reset DESTINATION bin)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/data/factory-reset-util.edj DESTINATION ${EDJDIR})
+
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_CC")
+ INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/resetCCMode DESTINATION bin)
+ENDIF()
+
+#add sub directory
+ADD_SUBDIRECTORY(po)
--- /dev/null
+Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. All rights reserved.\r
+\r
+ Apache License\r
+ Version 2.0, January 2004\r
+ http://www.apache.org/licenses/\r
+\r
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\r
+\r
+ 1. Definitions.\r
+\r
+ "License" shall mean the terms and conditions for use, reproduction,\r
+ and distribution as defined by Sections 1 through 9 of this document.\r
+\r
+ "Licensor" shall mean the copyright owner or entity authorized by\r
+ the copyright owner that is granting the License.\r
+\r
+ "Legal Entity" shall mean the union of the acting entity and all\r
+ other entities that control, are controlled by, or are under common\r
+ control with that entity. For the purposes of this definition,\r
+ "control" means (i) the power, direct or indirect, to cause the\r
+ direction or management of such entity, whether by contract or\r
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the\r
+ outstanding shares, or (iii) beneficial ownership of such entity.\r
+\r
+ "You" (or "Your") shall mean an individual or Legal Entity\r
+ exercising permissions granted by this License.\r
+\r
+ "Source" form shall mean the preferred form for making modifications,\r
+ including but not limited to software source code, documentation\r
+ source, and configuration files.\r
+\r
+ "Object" form shall mean any form resulting from mechanical\r
+ transformation or translation of a Source form, including but\r
+ not limited to compiled object code, generated documentation,\r
+ and conversions to other media types.\r
+\r
+ "Work" shall mean the work of authorship, whether in Source or\r
+ Object form, made available under the License, as indicated by a\r
+ copyright notice that is included in or attached to the work\r
+ (an example is provided in the Appendix below).\r
+\r
+ "Derivative Works" shall mean any work, whether in Source or Object\r
+ form, that is based on (or derived from) the Work and for which the\r
+ editorial revisions, annotations, elaborations, or other modifications\r
+ represent, as a whole, an original work of authorship. For the purposes\r
+ of this License, Derivative Works shall not include works that remain\r
+ separable from, or merely link (or bind by name) to the interfaces of,\r
+ the Work and Derivative Works thereof.\r
+\r
+ "Contribution" shall mean any work of authorship, including\r
+ the original version of the Work and any modifications or additions\r
+ to that Work or Derivative Works thereof, that is intentionally\r
+ submitted to Licensor for inclusion in the Work by the copyright owner\r
+ or by an individual or Legal Entity authorized to submit on behalf of\r
+ the copyright owner. For the purposes of this definition, "submitted"\r
+ means any form of electronic, verbal, or written communication sent\r
+ to the Licensor or its representatives, including but not limited to\r
+ communication on electronic mailing lists, source code control systems,\r
+ and issue tracking systems that are managed by, or on behalf of, the\r
+ Licensor for the purpose of discussing and improving the Work, but\r
+ excluding communication that is conspicuously marked or otherwise\r
+ designated in writing by the copyright owner as "Not a Contribution."\r
+\r
+ "Contributor" shall mean Licensor and any individual or Legal Entity\r
+ on behalf of whom a Contribution has been received by Licensor and\r
+ subsequently incorporated within the Work.\r
+\r
+ 2. Grant of Copyright License. Subject to the terms and conditions of\r
+ this License, each Contributor hereby grants to You a perpetual,\r
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+ copyright license to reproduce, prepare Derivative Works of,\r
+ publicly display, publicly perform, sublicense, and distribute the\r
+ Work and such Derivative Works in Source or Object form.\r
+\r
+ 3. Grant of Patent License. Subject to the terms and conditions of\r
+ this License, each Contributor hereby grants to You a perpetual,\r
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+ (except as stated in this section) patent license to make, have made,\r
+ use, offer to sell, sell, import, and otherwise transfer the Work,\r
+ where such license applies only to those patent claims licensable\r
+ by such Contributor that are necessarily infringed by their\r
+ Contribution(s) alone or by combination of their Contribution(s)\r
+ with the Work to which such Contribution(s) was submitted. If You\r
+ institute patent litigation against any entity (including a\r
+ cross-claim or counterclaim in a lawsuit) alleging that the Work\r
+ or a Contribution incorporated within the Work constitutes direct\r
+ or contributory patent infringement, then any patent licenses\r
+ granted to You under this License for that Work shall terminate\r
+ as of the date such litigation is filed.\r
+\r
+ 4. Redistribution. You may reproduce and distribute copies of the\r
+ Work or Derivative Works thereof in any medium, with or without\r
+ modifications, and in Source or Object form, provided that You\r
+ meet the following conditions:\r
+\r
+ (a) You must give any other recipients of the Work or\r
+ Derivative Works a copy of this License; and\r
+\r
+ (b) You must cause any modified files to carry prominent notices\r
+ stating that You changed the files; and\r
+\r
+ (c) You must retain, in the Source form of any Derivative Works\r
+ that You distribute, all copyright, patent, trademark, and\r
+ attribution notices from the Source form of the Work,\r
+ excluding those notices that do not pertain to any part of\r
+ the Derivative Works; and\r
+\r
+ (d) If the Work includes a "NOTICE" text file as part of its\r
+ distribution, then any Derivative Works that You distribute must\r
+ include a readable copy of the attribution notices contained\r
+ within such NOTICE file, excluding those notices that do not\r
+ pertain to any part of the Derivative Works, in at least one\r
+ of the following places: within a NOTICE text file distributed\r
+ as part of the Derivative Works; within the Source form or\r
+ documentation, if provided along with the Derivative Works; or,\r
+ within a display generated by the Derivative Works, if and\r
+ wherever such third-party notices normally appear. The contents\r
+ of the NOTICE file are for informational purposes only and\r
+ do not modify the License. You may add Your own attribution\r
+ notices within Derivative Works that You distribute, alongside\r
+ or as an addendum to the NOTICE text from the Work, provided\r
+ that such additional attribution notices cannot be construed\r
+ as modifying the License.\r
+\r
+ You may add Your own copyright statement to Your modifications and\r
+ may provide additional or different license terms and conditions\r
+ for use, reproduction, or distribution of Your modifications, or\r
+ for any such Derivative Works as a whole, provided Your use,\r
+ reproduction, and distribution of the Work otherwise complies with\r
+ the conditions stated in this License.\r
+\r
+ 5. Submission of Contributions. Unless You explicitly state otherwise,\r
+ any Contribution intentionally submitted for inclusion in the Work\r
+ by You to the Licensor shall be under the terms and conditions of\r
+ this License, without any additional terms or conditions.\r
+ Notwithstanding the above, nothing herein shall supersede or modify\r
+ the terms of any separate license agreement you may have executed\r
+ with Licensor regarding such Contributions.\r
+\r
+ 6. Trademarks. This License does not grant permission to use the trade\r
+ names, trademarks, service marks, or product names of the Licensor,\r
+ except as required for reasonable and customary use in describing the\r
+ origin of the Work and reproducing the content of the NOTICE file.\r
+\r
+ 7. Disclaimer of Warranty. Unless required by applicable law or\r
+ agreed to in writing, Licensor provides the Work (and each\r
+ Contributor provides its Contributions) on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\r
+ implied, including, without limitation, any warranties or conditions\r
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\r
+ PARTICULAR PURPOSE. You are solely responsible for determining the\r
+ appropriateness of using or redistributing the Work and assume any\r
+ risks associated with Your exercise of permissions under this License.\r
+\r
+ 8. Limitation of Liability. In no event and under no legal theory,\r
+ whether in tort (including negligence), contract, or otherwise,\r
+ unless required by applicable law (such as deliberate and grossly\r
+ negligent acts) or agreed to in writing, shall any Contributor be\r
+ liable to You for damages, including any direct, indirect, special,\r
+ incidental, or consequential damages of any character arising as a\r
+ result of this License or out of the use or inability to use the\r
+ Work (including but not limited to damages for loss of goodwill,\r
+ work stoppage, computer failure or malfunction, or any and all\r
+ other commercial damages or losses), even if such Contributor\r
+ has been advised of the possibility of such damages.\r
+\r
+ 9. Accepting Warranty or Additional Liability. While redistributing\r
+ the Work or Derivative Works thereof, You may choose to offer,\r
+ and charge a fee for, acceptance of support, warranty, indemnity,\r
+ or other liability obligations and/or rights consistent with this\r
+ License. However, in accepting such obligations, You may act only\r
+ on Your own behalf and on Your sole responsibility, not on behalf\r
+ of any other Contributor, and only if You agree to indemnify,\r
+ defend, and hold each Contributor harmless for any liability\r
+ incurred by, or claims asserted against, such Contributor by reason\r
+ of your accepting any such warranty or additional liability.\r
+\r
+ END OF TERMS AND CONDITIONS\r
+\r
+ APPENDIX: How to apply the Apache License to your work.\r
+\r
+ To apply the Apache License to your work, attach the following\r
+ boilerplate notice, with the fields enclosed by brackets "[]"\r
+ replaced with your own identifying information. (Don't include\r
+ the brackets!) The text should be enclosed in the appropriate\r
+ comment syntax for the file format. We also recommend that a\r
+ file or class name and description of purpose be included on the\r
+ same "printed page" as the copyright notice for easier\r
+ identification within third-party archives.\r
+\r
+ Copyright [yyyy] [name of copyright owner]\r
+\r
+ Licensed under the Apache License, Version 2.0 (the "License");\r
+ you may not use this file except in compliance with the License.\r
+ You may obtain a copy of the License at\r
+\r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+\r
--- /dev/null
+#define IMAGE_DIR "./data/images/"
+#define ICON_FILE IMAGE_DIR"A01-1_samsung_gear_s_logo.png"
+
+collections {
+ group {
+ name: "main";
+ images {
+ image: ICON_FILE COMP;
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "top_padding";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 10 10;
+ fixed: 0 0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_y: "bg";
+ rel2.relative: 1.0 100/480;
+ rel2.to_y: "bg";
+ align: 0.5 0.0;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "left_padding";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 5 0;
+ fixed: 1 0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_x: "bg";
+ rel2.relative: 0.02 1.0;
+ rel2.to_y: "bg";
+ align: 0.0 0.5;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "right_padding";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 5 0;
+ fixed: 1 0;
+ rel1.relative: 0.98 0.0;
+ rel1.to_x: "bg";
+ rel2.relative: 1.0 1.0;
+ align: 1.0 0.5;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "img_icon";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ max: 240 120;
+ min: 240 120;
+ fixed: 1 1;
+ rel1.relative: 1/3 1.0;
+ rel1.to_x: "bg";
+ rel1.to_y: "top_padding";
+ rel2.relative: 2/3 220/480;
+ image.normal: ICON_FILE;
+ align: 0.5 0.5;
+ }
+ }
+ part {
+ name: "mid_padding1";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 10 10;
+ fixed: 0 1;
+ rel1.relative: 0.0 1.0;
+ rel1.to_y: "img_icon";
+ rel2.relative: 1.0 150/320;
+ align: 0.5 0.0;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "txt_mesg_box";
+ type: RECT;
+ scale: 0;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 160 90;
+ fixed: 1 1;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "left_padding";
+ rel1.to_y: "mid_padding1";
+ rel2.relative: 0.0 260/320;
+ rel2.to_x: "right_padding";
+ align: 0.5 0.0;
+ color: 0 0 0 255;
+ }
+ }
+
+ part {
+ name: "txt_mesg";
+ type: SWALLOW;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 160 30;
+ fixed: 1 1;
+ rel1.relative: 1.0 0.5;
+ rel1.to_x: "left_padding";
+ rel1.to_y: "txt_mesg_box";
+ rel2.relative: 0.0 0.5;
+ rel2.to_x: "right_padding";
+ rel2.to_y: "txt_mesg_box";
+ align: 0.5 0.45;
+ }
+ }
+ part {
+ name: "mid_padding2";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 10 10;
+ fixed: 0 1;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "left_padding";
+ rel1.to_y: "txt_mesg_box";
+ rel2.relative: 0.0 268/320;
+ rel2.to_x: "right_padding";
+ align: 0.5 0.0;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "pending_pbar";
+ type: SWALLOW;
+ scale: 0;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 16;
+ fixed: 0 1;
+ rel1.relative: 3.0 1.0;
+ rel1.to_x: "left_padding";
+ rel1.to_y: "mid_padding2";
+ rel2.relative: -2.0 288/320;
+ rel2.to_x: "right_padding";
+ align: 0.5 0.0;
+ }
+ }
+
+ part {
+ name: "bottom_padding";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 10 10;
+ fixed: 1 1;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "left_padding";
+ rel1.to_y: "bg";
+ rel2.relative: 1.0 1.0;
+ align: 0.5 1.0;
+ color: 0 0 0 255;
+ }
+ }
+
+ }
+
+ }
+}
--- /dev/null
+#define IMAGE_DIR "./data/images/"
+#define ICON_FILE IMAGE_DIR"A01-1_icon_factoryreset.png"
+
+collections {
+ group {
+ name: "main";
+ images {
+ image: ICON_FILE COMP;
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "top_padding";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 10 10;
+ fixed: 0 0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_y: "bg";
+ rel2.relative: 1.0 290/1280;
+ rel2.to_y: "bg";
+ align: 0.5 0.0;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "left_padding";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 10 0;
+ fixed: 1 0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_x: "bg";
+ rel2.relative: 0.05 1.0;
+ rel2.to_y: "bg";
+ align: 0.0 0.5;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "right_padding";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 10 0;
+ fixed: 1 0;
+ rel1.relative: 0.95 0.0;
+ rel1.to_x: "bg";
+ rel2.relative: 1.0 1.0;
+ align: 1.0 0.5;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "img_icon";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 120 120;
+ fixed: 1 1;
+ rel1.relative: 1/3 1.0;
+ rel1.to_x: "bg";
+ rel1.to_y: "top_padding";
+ rel2.relative: 2/3 530/1280;
+ image.normal: ICON_FILE;
+ align: 0.5 0;
+ }
+ }
+ part {
+ name: "mid_padding1";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 10 10;
+ fixed: 0 1;
+ rel1.relative: 0.0 1.0;
+ rel1.to_y: "img_icon";
+ rel2.relative: 1.0 633/1280;
+ align: 0.5 0.0;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "pending_pbar";
+ type: SWALLOW;
+ scale: 0;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 16;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "left_padding";
+ to_y: "mid_padding1";
+ }
+ rel2 {
+ relative: 0.0 665/1280;
+ to_x: "right_padding";
+ }
+ align: 0.5 0.0;
+ }
+ }
+ part {
+ name: "mid_padding2";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 10 10;
+ fixed: 0 1;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "left_padding";
+ rel1.to_y: "pending_pbar";
+ rel2.relative: 0.0 699/1280;
+ rel2.to_x: "right_padding";
+ align: 0.5 0.0;
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "txt_mesg";
+ type: SWALLOW;
+ scale: 0;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 20 20;
+ max: 720 300;
+ fixed: 1 1;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "left_padding";
+ rel1.to_y: "mid_padding2";
+ rel2.relative: 0.0 799/1280;
+ rel2.to_x: "right_padding";
+ align: 0.5 0.0;
+ }
+ }
+ part {
+ name: "bottom_padding";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 1.0 1.0;
+ rel1.to_x: "left_padding";
+ rel1.to_y: "txt_mesg";
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ color: 0 0 0 255;
+ }
+ }
+
+ }
+
+ }
+}
--- /dev/null
+<manifest>
+ <define>
+ <domain name="factory-reset"/>
+ </define>
+
+ <assign>
+ <filesystem path="/opt/etc/dump.d/module.d/dump-frlog.sh" label="_" exec_label="none" />
+ <filesystem path="/usr/share/dbus-1/services/org.tizen.factory-reset.service" label="_" exec_label="none" />
+ <dbus name="org.tizen.factoryreset" own="factory-reset" bus="system">
+ <node name="/org/tizen/factoryreset">
+ <interface name="org.tizen.factoryreset.start">
+ <annotation name="com.tizen.smack" value="factory-reset" />
+ </interface>
+ </node>
+ </dbus>
+ </assign>
+
+ <request>
+ <domain name="factory-reset"/>
+ </request>
+</manifest>
--- /dev/null
+factory-reset telephony_framework::api_manager r
+factory-reset telephony_framework::api_modem x
+factory-reset telephony_framework::api_private rwx
+factory-reset security-server::api-privilege-by-pid w
+factory-reset e17::notification rw
--- /dev/null
+[Unit]
+Description=launching factory reset by dbus
+
+[Service]
+Type=dbus
+BusName=org.tizen.factoryreset
+ExecStart=/usr/bin/factory-reset
--- /dev/null
+[Unit]
+Description=factory reset on booting
+Before=tizen-boot.target
+
+ConditionPathExists=|/opt/.factoryreset
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/factory-reset
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null
+Name: factory-reset
+Summary: factory-reset scripts and uitls
+Version: 0.19.6
+Release: 2
+Group: Applications/Core Applications
+License: po/ms.po:3
+Source0: %{name}-%{version}.tar.gz
+Source1: factory-reset.service
+Source2: factory-reset-launch.service
+Source3: org.tizen.factory-reset.service
+ExclusiveArch: %{arm}
+BuildRequires: cmake
+BuildRequires: gettext-tools
+BuildRequires: edje-bin
+BuildRequires: embryo-bin
+BuildRequires: pkgconfig(appcore-efl)
+BuildRequires: pkgconfig(elementary)
+#BuildRequires: pkgconfig(ecore-x)
+#BuildRequires: pkgconfig(utilX)
+BuildRequires: pkgconfig(evas)
+BuildRequires: pkgconfig(edje)
+BuildRequires: pkgconfig(libsmack)
+BuildRequires: pkgconfig(dbus-1)
+BuildRequires: pkgconfig(dbus-glib-1)
+
+Requires: /bin/tar
+Requires: unzip >= 6.0
+Requires: /bin/ps
+Requires: /bin/grep
+Requires: /bin/sleep
+Requires: /bin/mount
+Requires: /bin/umount
+Requires: /usr/bin/md5sum
+Requires: /usr/bin/expr
+Requires: /usr/bin/tr
+Requires: /usr/bin/awk
+
+%description
+Factory-reset is for returning the phone to the initial state. This makes the
+data of the phone to the default state and (if required) writes default
+preconfiguration
+It would be not only called by testers after many kind of verification tests
+but it also be called by Manufacture Steps for all products.
+
+%prep
+%setup -q
+
+%build
+%if 0%{?sec_product_feature_telephony_disable}
+export CFLAGS+=" -DTELEPHONY_DISABLE"
+%endif
+
+%if 0%{?sec_product_feature_csc_disable}
+export CFLAGS+=" -DCSC_DISABLE"
+%endif
+
+%if 0%{?sec_build_binary_debug_enable}
+export CFLAGS+=" -DDEBUG_BINARY"
+%endif
+
+%if 0%{?sec_product_feature_security_mdfpp_enable}
+export CFLAGS+=" -DTIZEN_CC"
+%endif
+
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+-DDISPLAY_RESOLUTION=%{sec_product_feature_display_resolution}
+
+make %{?jobs:-j%jobs}
+
+
+%install
+rm -rf %{buildroot}
+%make_install
+
+mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/
+install -m 0644 %SOURCE1 %{buildroot}%{_libdir}/systemd/system/factory-reset.service
+install -m 0644 %SOURCE2 %{buildroot}%{_libdir}/systemd/system/factory-reset-launch.service
+ln -s ../factory-reset.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/factory-reset.service
+mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
+#install -m 0644 %SOURCE3 %{buildroot}%{_datadir}/dbus-1/services/org.tizen.factory-reset.service
+install -m 0644 %SOURCE3 %{buildroot}%{_datadir}/dbus-1/system-services/org.tizen.factory-reset.service
+
+%post
+
+%postun
+
+
+%files
+%{_libdir}/systemd/system/factory-reset.service
+%{_libdir}/systemd/system/factory-reset-launch.service
+%{_libdir}/systemd/system/multi-user.target.wants/factory-reset.service
+%license LICENSE
+/etc/smack/accesses2.d/%{name}.rule
+%attr(700,root,root) %{_bindir}/*.sh
+%attr(755,root,root) %{_bindir}/rstsmack
+%attr(700,root,root) %{_bindir}/factory-reset-util
+%attr(744,root,root) %{_bindir}/factory-reset
+%{_datadir}/edje/factory-reset-util.edj
+%{_datadir}/locale/*/*/*.mo
+#%{_datadir}/dbus-1/services/org.tizen.factory-reset.service
+%{_datadir}/dbus-1/system-services/org.tizen.factory-reset.service
+%manifest factory-reset.manifest
+%attr(110,root,root) /opt/etc/dump.d/module.d/dump-frlog.sh
+
+%if 0%{?sec_product_feature_security_mdfpp_enable}
+%attr(700,root,root) %{_bindir}/resetCCMode
+%endif
+
+
+
--- /dev/null
+[D-BUS Service]
+Name=org.tizen.factoryreset
+Exec=/bin/false
+SystemdService=factory-reset-launch.service
+User=root
--- /dev/null
+# for i18n
+
+SET(POFILES ar as az bg bn bn_BD ca cs da de el_GR en_PH en en_US es_ES es_US et eu fa fi fr_CA fr ga gl gu he hi hr hu hy id is it_IT ja_JP ka kk km kn ko_KR ky_KG lo lt lv mk ml mn_MN mr ms my nb ne nl or pa pl pt_BR pt_PT ro ru_RU si sk sl sq sr sv ta te tg_TJ th tk_TM tl tr_TR uk ur uz vi zh_CN zh_HK zh_TW)
+SET(MSGFMT "/usr/bin/msgfmt")
+
+FOREACH(pofile ${POFILES})
+ SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile}.po)
+ MESSAGE("PO: ${pofile}")
+ GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+ GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+ SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${moFile}
+ COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+ DEPENDS ${absPofile}
+ )
+ INSTALL(FILES ${moFile}
+ DESTINATION share/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+ SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
--- /dev/null
+# List of source files containing translatable strings.
+factory-reset-util.c
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "جار تنفيذ إعادة ضبط بيانات المصنع. الرجاء الانتظار..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ফেক্টৰী ডাটা পুনঃছেট সম্পন্ন কৰি আছে। অনুগ্ৰহ কৰি অপেক্ষা কৰক..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Zavod məlumatlarının bərpası aparılır. Lütfən gözləyin..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Извършва се нулиране с фабричните данни. Моля, изчакайте..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ফ্যাক্টরি তথ্য পুনরায় সেট করা হচ্ছে৷ দয়া করে অপেক্ষা করুন..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ফ্যাক্টরি তথ্য পুনঃনির্ধারণ করা হচ্ছে৷ অনুগ্রহপূর্বক অপেক্ষা করুন..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "S'estan restablint les dades de fàbrica. Esperi..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Obnovování výchozích nastavení.<br>Počkejte prosím..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Udfører nulstilling til fabriksstandard. Vent ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Auf Werkseinstellungen zurücksetzen. Bitte warten..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Γίνεται επαναφορά των εργοστασιακών δεδομένων. Περιμένετε..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Performing factory data reset.<br>Please wait..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Performing factory data reset.<br>Please wait..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Performing factory data reset.<br>Please wait..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Restableciendo datos de fábrica.<br>Espere..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Realizando restablecimiento de datos de fabrica. Espere..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Tehaseandmete lähtestamine.<br>Palun oodake..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Fabrikako datu berrezarpena egiten. Itxaron mesedez..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "در حال بازنشانی داده های کارخانه. لطفاً صبر کنید..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr ""
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Alkuperäisiä tietoja palautetaan. Odota..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Réinitialisation des données par défaut. Veuillez patienter..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Réinitialisation des données par défaut. Veuillez patienter..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Athshocrú sonraí monarchan á dhéanamh. Fan go fóill..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Realizando o restablecemento dos datos de fábrica. Agarda..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ફેકટરી ડેટાને ફરી ગોઠવી રહ્યું છે. કૃપયા પ્રતીક્ષા કરો..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "מבצע איפוס לנתוני היצרן. נא המתן..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "फैक्टरी डाटा रीसेट निष्पादित कर रहा है। कृपया प्रतीक्षा करें..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Vraćanje tvorničkih postavki.<br>Pričekajte..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Gyári adatok visszaállítása.<br>Kis türelmet..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Կատարվում է գործարանային տվյալների հետադարձում: Խնդրում ենք սպասել..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Melakukan reset data pabrik. Harap tunggu..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Framkvæmi gagnafrumstillingu.<br>Augnablik..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Esecuzione del ripristino dati di fabbrica in corso. Attendere..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "工場出荷状態に初期化中です。<br>しばらくお待ちください。"
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "სრულდება ქარხნული მონაცემების დაბრუნება. გთხოვთ, დაელოდოთ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Зауыттық деректер қалпына келтірілуде. Күте тұрыңыз..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "កំពុងធ្វើការកំណត់ទិន្នន័យពីរោងចក្រឡើងវិញ។ សូមរង់ចាំ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ಫ್ಯಾಕ್ಟರಿ ದತ್ತಾಂಶ ಮರುನಿಯೋಜನೆ ನಡೆಸುತ್ತಿದೆ. ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "[디바이스 전체 초기화] 실행 중입니다.<br>잠시 기다리세요..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Performing factory data reset.<br>Please wait..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ດໍາເນີນການຕັ້ງຄ່າຂໍ້ມູນໂຮງງານໃໝ່. ກະລຸນາ ລໍຖ້າ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Gamykliniai duomenys nustatomi iš naujo. Palaukite..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Veic sākotnējo datu atiestati.<br>Lūdzu, uzgaidiet..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Се врши фабричко ресетирање на податоците. Почекајте..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ഫാക്ടറി ഡാറ്റാ പുനസജ്ജീകരണം നിര്വഹിക്കുക. ദയവായി കാത്തിരിക്കുക..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-05-13 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Үйлдвэрийн өгөгдөл дахин тохируулж байна. Хүлээнэ үү..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "फॅक्टरी डेटा पुन्हा मांडणी करत आहे. कृपया प्रतीक्षा करा..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Menjalankan tetap semula data kilang. Sila tunggu..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "စက္ရံု ေဒတာ ျပန္ဆင္ျခင္း ေဆာင္ရြက္ျခင္း။ ေက်းဇူးျပဳ၍ ေစာင့္ပါ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Tilbakestilling til fabrikkstandard pågår. Vent litt..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "फ्याक्टोरी डाटा रिसेट कार्य हुँदैछ। कृपया पर्खनुहोस्..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Fabrieksinstellingen worden gereset. Even geduld..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ଫେକ୍ଟୋରୀ ଡାଟା ରିସେଟ୍ ସମ୍ପାଦନ କରୁଛି। ଦୟାକରି ଅପେକ୍ଷା କରନ୍ତୁ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ਫੈਕਟਰੀ ਡੈਟਾ ਰੀਸੈੱਟ ਹੋ ਰਿਹਾ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਉਡੀਕ ਕਰੋ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Przywracanie ustawień fabrycznych. Czekaj..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Realizando redefinição de dados de fábrica. Aguarde..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "A executar reposição de dados de fábrica. Aguarde por favor..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Se execută resetarea la datele din fabrică. Aşteptaţi..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Выполнение сброса данных. Подождите..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "කර්මාන්ත දත්ත නැවත සැකසීම සිදු කරමින් පවතී. කරුණාකර රැඳී සිටින්න..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Obnovuje sa nastavenie údajov od výrobcu. Počkajte, prosím..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Ponastavljanje na tovarniške podatke. Počakajte ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Duke kryer ricilësimin e të dhënave të fabrikës. Prit pak..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Obavlja se fabričko resetovanje. Sačekaj..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Genomför återställning till fabriksdata. Vänta..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ஃபேக்டரி தரவு ரீசெட் செய்கிறது. தயவுசெய்து காத்திருக்கவும்..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ఫ్యాక్టరీ డేటా రీసెట్ని అమలు చేస్తోంది. దయచేసి వేచి ఉండండి..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Иҷрокунии танзими дубораи иттилооти аслӣ. Интизор шавед..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "กำลังดำเนินการรีเซ็ทข้อมูลจากโรงงาน โปรดรอ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Asyl sazlamalara nol edilýär. Garaşyň..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Nagsasagawa ng pag-reset ng factory data. Mangyaring maghintay..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Fabrika veri sıfırlaması yapılıyor. Lütfen bekleyin..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Скидання даних до заводських значень. Зачекайте..."
--- /dev/null
+#!/bin/sh
+#
+# Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd All Rights Reserved
+#
+# This file is part of the native-installer
+# Written by Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>,
+# Jaeho Lee <jaeho81.lee@samsung.com>, Shobhit Srivastava <shobhit.s@samsung.com>
+#
+# PROPRIETARY/CONFIDENTIAL
+#
+# This software is the confidential and proprietary information of
+# SAMSUNG ELECTRONICS (Confidential Information).
+# You shall not disclose such Confidential Information and shall
+# use it only in accordance with the terms of the license agreement
+# you entered into with SAMSUNG ELECTRONICS. SAMSUNG make no
+# representations or warranties about the suitability
+# of the software, either express or implied, including but not
+# limited to the implied warranties of merchantability, fitness for a particular purpose, or non-
+# infringement. SAMSUNG shall not be liable for any damages suffered by licensee as
+# a result of using, modifying or distributing this software or its derivatives.
+#
+
+
+PACKAGE=factory-reset
+SRCROOT=../src
+POTFILES=POTFILES.in
+
+#ALL_LINGUAS="ar az bg ca cs da de_DE el_GR en_PH en en_US es_ES es_MX et eu fi fr_CA fr_FR ga gl hi hr hu hy is it_IT ja_JP ka kk ko_KR lt lv mk nb nl_NL pl pt_BR pt_PT ro ru_RU sk sl sr sv tr_TR uk uz zh_CN zh_HK zh_SG zh_TW"
+ALL_LINGUAS="as bn fa fil gu he id khmer kn lo ml mr ms my ne or pa sinhala sq ta te th ur vi"
+
+XGETTEXT=/usr/bin/xgettext
+MSGMERGE=/usr/bin/msgmerge
+
+echo -n "Make ${PACKAGE}.pot "
+if [ ! -e $POTFILES ] ; then
+ echo "$POTFILES not found"
+ exit 1
+fi
+
+$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
+ --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES
+if [ $? -ne 0 ]; then
+ echo "xgettext error"
+ exit 1
+fi
+
+if [ ! -f ${PACKAGE}.po ]; then
+ echo "No such file: ${PACKAGE}.po"
+ exit 1
+fi
+
+rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot
+echo "done"
+
+for LANG in $ALL_LINGUAS; do
+ echo "$LANG : "
+
+ if [ ! -e $LANG.po ] ; then
+ sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
+ echo "${LANG}.po created"
+ else
+ if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
+ if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
+ rm -f ${LANG}.new.po
+ else
+ if mv -f ${LANG}.new.po ${LANG}.po; then
+ echo ""
+ else
+ echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
+ rm -f ${LANG}.new.po
+ exit 1
+ fi
+ fi
+ else
+ echo "msgmerge for $LANG failed!"
+ rm -f ${LANG}.new.po
+ fi
+ fi
+ echo ""
+done
+
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "فیکٹری کوائف پھرسیٹ انجام دے رہا ہے۔ برائے مہربانی انتظار کریں..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Ishlab chiqaruvchi parametrlariga o‘tkazish. Iltimos, kuting..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Đang thực hiện khôi phục cài đặt gốc. Vui lòng chờ..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "正在进行出厂数据重置。请稍候…"
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "正在執行重設為原廠設定。請稍候..."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "正在執行原廠資料重設。請稍候..."
--- /dev/null
+#!/bin/bash
+#
+# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd.
+#
+# Contact: MyoungJune Park <mj2004.park@samsung.com>
+# Created by Wonil Choi <wonil22.choi@samsung.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
+
+## build backup data for factory reset
+
+
+[ $INSTALL_ROOT ] || INSTALL_ROOT="/"
+rdir=$INSTALL_ROOT/usr/system/RestoreDir
+optdir=$INSTALL_ROOT/opt
+CURDIR=`pwd`
+BACKUPLIST=`ls -1 $optdir`
+EXCLUDE_OPTION=
+# For removable preload app
+RESTORE_EXCEPTION_LIST=
+if [ -e $INSTALL_ROOT/usr/packages/restore_exception.list ]; then
+ xlist=$INSTALL_ROOT/usr/packages/restore_exception.list
+ RESTORE_EXCEPTION_LIST=`sed -e "s#^\/##g" $xlist`
+fi
+
+create_archive() {
+ echo "Create_Archive --------------------------------------------"
+ mkdir -p $rdir
+
+ BACKUP_FULLPATH=""
+ for i in $BACKUPLIST; do
+ BACKUP_FULLPATH="$BACKUP_FULLPATH opt/$i"
+ done
+
+ # create tar archives
+ echo "create archives... $BACKUP_FULLPATH"
+ cd $INSTALL_ROOT
+ bash -c "$BACKUPCMD $BACKUP_FULLPATH $EXCLUDE_OPTION"
+
+ # checksum
+ echo "calculate checksum..."
+ xpath="! \( -path \"opt/var/tmp/*\" \)"
+ for i in $RESTORE_EXCEPTION_LIST; do
+ xpath="$xpath ! \( -path \"$i/*\" \)"
+ done
+
+ for i in $BACKUP_FULLPATH; do
+ bash -c "find $i $xpath -type f -exec md5sum {} \; >> $rdir/checksum.md5"
+ bash -c "find $i $xpath -exec /usr/bin/chsmack {} \; >> $rdir/smack_label.txt"
+ done
+
+ chmod go-rwx $rdir/* $rdir $rdir/..
+}
+
+case "$1" in
+tar)
+#SCM use opt/var/tmp for temporal files, the files are removed before the binary creation
+ EXCLUDE_OPTION="--exclude=opt/var/tmp/*"
+ for i in $RESTORE_EXCEPTION_LIST; do
+ EXCLUDE_OPTION="$EXCLUDE_OPTION --exclude=$i"
+ done
+ BACKUPCMD="tar czf $rdir/opt.tar.gz"
+ create_archive
+ ;;
+""|zip)
+#SCM use opt/var/tmp for temporal files, the files are removed before the binary creation
+ EXCLUDE_OPTION="-x "opt/var/tmp/*""
+ for i in $RESTORE_EXCEPTION_LIST; do
+ EXCLUDE_OPTION="$EXCLUDE_OPTION \"$i/*\""
+ done
+ BACKUPCMD="zip -yrX- $rdir/opt.zip"
+ create_archive
+ ;;
+*)
+ echo "Usage: $0 {tar|zip}"
+ echo "zip is used by default"
+ cd $CURDIR
+ exit 2
+ ;;
+esac
+
+cd $CURDIR
+## end - building backup data
+
--- /dev/null
+#!/bin/sh
+
+#--------------------------------------
+# Factory-reset
+#--------------------------------------
+FACTORY_RESET_DEBUG=$1/factory-reset
+/bin/mkdir -p ${FACTORY_RESET_DEBUG}
+/bin/tar -cvf ${FACTORY_RESET_DEBUG}/factory-reset-log.tar /opt/.factoryreset*
+
--- /dev/null
+#!/bin/sh
+#
+# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd.
+#
+# Contact: MyoungJune Park <mj2004.park@samsung.com>
+# Created by Wonil Choi <wonil22.choi@samsung.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
+
+
+logfile="/opt/var/log/.verify.log"
+frlog="/opt/.factoryreset.log"
+
+if [ -e $frlog ]; then
+ logfile="$frlog"
+fi
+
+/bin/grep "NG," ${logfile}
+if [ $? -ne 0 ];then
+ exit 0;
+else
+ exit 1;
+fi
--- /dev/null
+#!/bin/sh
+#
+# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd.
+#
+# Contact: MyoungJune Park <mj2004.park@samsung.com>
+# Created by Wonil Choi <wonil22.choi@samsung.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+logfile="/tmp/.verify_fail.log"
+logchecksum="/tmp/verify_checksum.log"
+
+CURRENTPATH=`/bin/pwd`
+ROOTDIR=/
+
+OPT="opt/"
+rdir=usr/system/RestoreDir/
+
+cd ${ROOTDIR}
+
+check_verify () {
+# check checksums with target data(restored)
+ cd $ROOTDIR; /usr/bin/md5sum -c ${ROOTDIR}${rdir}checksum.md5 > $logchecksum
+
+ if [ $? -ne 0 ];then
+ echo "reset verify failed"
+ # RESERVED STRING for verification result
+ echo "FACTORYRESET VERIFICATION : FAIL"
+ /bin/grep FAIL $logchecksum
+ /bin/grep FAIL $logchecksum > $logfile
+ FACTORY_RESULT="NG,"
+# CALLS
+ CALLS_DB=`/bin/grep "phone-misc.db:" $logfile`
+# CALLS_APP=`/bin/grep "org.tizen.phone" $logfile`
+# contact db also has call logs
+ CONTACT_DB=`/bin/grep "contacts-svc.db:" $logfile`
+ if [[ "z$CALLS_DB" != "z" || "z$CALLS_APP" != "z" ||
+ "z$CONTACT_DB" != "z" ]]; then
+ FACTORY_RESULT="${FACTORY_RESULT}CALLS/"
+ fi
+# SMEMO
+ SMEMO_DB=`/bin/grep "smemo.db:" $logfile`
+# SMEMO_APP=`/bin/grep "org.tizen.smemo" $logfile`
+ if [[ "z$SMEMO_DB" != "z" || "z$SMEMO_APP" != "z" ]]; then
+ FACTORY_RESULT="${FACTORY_RESULT}SMEMO/"
+ fi
+# MEMO
+ MEMO_DB=`/bin/grep "\.memo.db:" $logfile`
+# MEMO_APP=`/bin/grep "org.tizen.memo" $logfile`
+ if [[ "z$MEMO_DB" != "z" || "z$MEMO_APP" != "z" ]]; then
+ FACTORY_RESULT="${FACTORY_RESULT}MEMO/"
+ fi
+# SMS/MMS
+ MSG_DB=`/bin/grep "msg_service.db:" $logfile`
+# MSG_APP=`/bin/grep "org.tizen.message" $logfile`
+# MSG_SVC=`/bin/grep "msg-service" $logfile`
+ if [[ "z$MSG_DB" != "z" || "z$MSG_APP" != "z" ||
+ "z$MSG_SVC" != "z" ]]; then
+ FACTORY_RESULT="${FACTORY_RESULT}SMS/MMS/"
+ fi
+# ALARM
+ ALARM_DB=`/bin/grep "alarm.db:" $logfile`
+# ALARM_APP=`/bin/grep "org.tizen.clock" $logfile`
+ ALARMMGR_DB=`/bin/grep "alarmmgr.db:" $logfile`
+ if [[ "z$ALARM_DB" != "z" || "z$ALARM_APP" != "z" ||
+ "z$ALARMMGR_DB" != "z" ]]; then
+ FACTORY_RESULT="${FACTORY_RESULT}ALARM/"
+ fi
+# CONTACT
+# CONTACT_APP=`/bin/grep "org.tizen.contacts" $logfile`
+# CONTACT_SVC=`/bin/grep "contacts-svc" $logfile`
+ if [[ "z$CONTACT_DB" != "z" || "z$CONTACT_APP" != "z" ||
+ "z$CONTACT_SVC" != "z" ]]; then
+ FACTORY_RESULT="${FACTORY_RESULT}CONTACT/"
+ fi
+
+## Report final results
+ if [ "$FACTORY_RESULT" != "NG," ]; then
+ echo $FACTORY_RESULT
+ fi
+ else
+ echo "factory reset verify success"
+ echo "FACTORYRESET VERIFICATION : OK"
+ fi
+
+ /bin/rm -f $logfile
+ /bin/rm -f $logchecksum
+}
+
+check_verify
--- /dev/null
+#!/bin/sh
+#
+# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd.
+#
+# Contact: MyoungJune Park <mj2004.park@samsung.com>
+# Created by Wonil Choi <wonil22.choi@samsung.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+logfile="/opt/.factoryreset.log"
+logfile1="/opt/.factoryreset.log.1"
+logchecksum="/tmp/factory_reset_checksum.log"
+
+CURRENTPATH=`/bin/pwd`
+ROOTDIR=/
+USRDATADIR=/opt/usr
+
+OPT="opt/"
+rdir=/usr/system/RestoreDir/
+FLAG_FTRRST_CP=
+FLAG_WITHOUT_CP=
+
+for arg in $@
+do
+ case "$arg" in
+ "--ftrrstcp")
+ FLAG_FTRRST_CP="yes"
+ ;;
+ "--withoutcp")
+ FLAG_WITHOUT_CP="yes"
+ ;;
+ esac
+done
+
+cd ${ROOTDIR}
+
+kill_normal_daemons () {
+ LIST=`/bin/ls /proc/`
+ for i in $LIST
+ do
+ if [[ `/usr/bin/expr match "$i" '[0-9]*'` != 0 && -f /proc/${i}/cmdline ]]; then
+ cmd=`/bin/cat /proc/${i}/cmdline | /usr/bin/tr '\000' ' ' | /usr/bin/awk '{print $1}'`
+ if [ `/usr/bin/expr match "$cmd" '[\/a-zA-Z\-]*'` != 0 ]; then
+ pname=`/bin/echo $cmd | /usr/bin/awk '{print $1}' | /usr/bin/awk -F '/' '{print $NF'}`
+ if [[ $pname != "factory-reset" &&
+ $pname != "rc.shutdown" &&
+ $pname != "run-factory-reset.sh" &&
+ $pname != "enlightenment" &&
+ $pname != "factory-reset-util" &&
+ $pname != "dbus-daemon" &&
+ $pname != "init" &&
+ $pname != "-sh" &&
+ $pname != "sh" &&
+ $pname != "agetty" &&
+ $pname != "Xorg" &&
+ $pname != "initnormal" &&
+ $pname != "system-recovery" &&
+ $pname != "systemd-logind" &&
+ $pname != "systemd-journald" &&
+ $pname != "systemd-udevd" &&
+ $pname != "mpdecision" &&
+ $pname != "thermal-engine" &&
+ $pname != "rmt_storage" &&
+ $pname != "systemd" ]]
+ then
+ echo $pname: kill $1 it.
+ /usr/bin/killall $1 $pname
+ else
+ echo $pname: ignore killing.
+ fi
+ fi
+ fi
+ done
+}
+
+kill_before_reset () {
+## disable systemd-releaseagent
+ echo /bin/true > /sys/fs/cgroup/vip/release_agent
+ /bin/umount -lf /sys/fs/cgroup
+
+## kill processes
+ /usr/bin/killall lockscreen
+# avoid crash popup
+ /usr/bin/killall -STOP deviced
+# kill all apps first.
+ /usr/bin/killall launchpad_preloading_preinitializing_daemon
+
+ kill_normal_daemons
+# some apps revive scim. so kill again.
+ /usr/bin/killall -9 scim-launcher isf-panel-efl
+ echo "Check and kill again."
+ kill_normal_daemons -9
+}
+
+check_fail() {
+ cur_result=`/bin/grep " : FAIL" ${logfile}`
+ old_result=`/bin/grep " : FAIL" ${logfile1}`
+ if [[ "z$cur_result" != "z" && "z$old_result" != "z$cur_result" ]]; then
+ # reboot and retry
+ /bin/sync
+ /sbin/reboot
+ fi
+}
+
+# mount and umount partitions
+fs_ready() {
+# data in microsd should be preserved.
+ /bin/umount -lf ${OPT}/storage/sdcard
+ #for encryption. If encrypted, it is mounted one more time as encryptfs.
+ /bin/umount -lf ${OPT}/storage/sdcard
+# modem binary images should be preserved.
+ /bin/umount -lf ${OPT}/modem
+# phone usr partition should be reset
+ /bin/mkdir -p $USRDATADIR
+ /bin/mount $USRDATADIR
+ mret=`/bin/grep "$USRDATADIR " /proc/mounts | /usr/bin/awk '{print $1}'`
+ device=`/bin/grep "$USRDATADIR" /etc/fstab | /usr/bin/awk '{print $1}'`
+ device=`/usr/bin/readlink -f $device`
+ if [[ "z$mret" != "z" && "$mret" != "$device" ]]; then
+ echo "$mret != $device" >> $logfile
+ echo "$USRDATADIR may be encrypted : FAIL" >> $logfile
+ check_fail
+ fi
+ if [[ "z$mret" = "z" && "z$device" != "z" ]]; then
+ # mount failed. format and remount
+ echo "$USRDATADIR mount failed. format and retry to mount again" >> $logfile
+ fstype=`/bin/grep "$USRDATADIR " /etc/fstab | /usr/bin/awk '{print $3}'`
+ /sbin/mkfs.$fstype $device -F
+ /bin/mount -t $fstype $device $USRDATADIR
+ fi
+ mret=`/bin/grep "$USRDATADIR " /proc/mounts | /usr/bin/awk '{print $2}'`
+ if [ "z$mret" = "z" ]; then
+ echo "$USRDATADIR MOUNT : FAIL" >> $logfile
+ # reboot and retry
+ /bin/sync
+ /sbin/reboot
+ fi
+ check_fail
+}
+
+disable_keys() {
+ key_dir=`/bin/ls -1d /sys/devices/gpio_keys*`
+ if [ "z$key_dir" != "z" ]; then
+ key_code=`/bin/cat $key_dir/keys`
+ echo $key_code > $key_dir/disabled_keys
+ fi
+ # If cannot disabled keys by sysfs, kill apps about key operations
+ # systemctl stop starter
+ # /usr/bin/killall volume
+ # /usr/bin/killall cluster-home
+}
+
+if [ -r ${rdir}opt.tar.gz ]; then
+ RSTCMD="/bin/tar xvzf ${rdir}opt.tar.gz -C /"
+elif [ -r ${rdir}opt.zip ]; then
+ RSTCMD="/usr/bin/unzip -n -X ${rdir}opt.zip"
+else
+ exit 1
+fi
+
+## display ui
+cnt=0
+while [[ ! -e /tmp/.wm_ready && $cnt -le 10 ]]
+do
+ echo "waiting window manager $cnt" >> $logfile
+ cnt=$(($cnt+1))
+ /bin/sleep 1
+done
+
+if [ -e /tmp/.wm_ready ]; then
+ /usr/bin/factory-reset-util --displayui &
+ disable_keys
+fi
+
+## start
+echo "Factory Resetting..."
+echo "*******************" >> $logfile
+echo "Start Factory Reset" >> $logfile
+/bin/date >> $logfile
+
+## stop lcd on-off and turn lcd on
+ss_ready=`/bin/ps -ef | /bin/grep -e "deviced\|system_server" | /bin/grep -v grep`
+if [ "z$ss_ready" != "z" ]; then
+ /usr/bin/dbus-send --system --type=method_call --print-reply --reply-timeout=10000 \
+ --dest=org.tizen.system.deviced /Org/Tizen/System/DeviceD/Display \
+ org.tizen.system.deviced.display.stop
+fi
+
+/bin/sync
+if [ "z$FLAG_WITHOUT_CP" == "zyes" ]; then
+ echo "whithout cp" >> $logfile
+else
+## shutdown modem
+ cp_ok=`/bin/ps -ef | /bin/grep telephony-daemon | /bin/grep -v grep`
+ if [[ "z$cp_ok" != "z" && "z$FLAG_FTRRST_CP" == "zyes" ]]; then
+ /usr/bin/factory-reset-util --ftrrstcp
+ echo "factory reset cp" >> $logfile
+ elif [ "z$cp_ok" != "z" ]; then
+ # cp service reset is default value.
+ /usr/bin/factory-reset-util --svcrstcp
+ echo "cp shutdown" >> $logfile
+ else
+ echo "There is no telephony-daemon" >> $logfile
+ fi
+fi
+
+# reset audio - If not, some targets make noise when rebooting.
+#/usr/bin/sound_server --soundreset
+
+##kill_before_reset
+
+fs_ready
+echo "file system ready for factory reset" >> $logfile
+
+# For "Find my mobile" feature, it should work after factory reset.
+# So backup its data.
+#if [ -r /usr/share/oma-dm-cfg/factory_reset/dm_backup.sh ]; then
+# echo "backup oma dm data"
+# /usr/share/oma-dm-cfg/factory_reset/dm_backup.sh
+#fi
+
+## Restore
+echo "Delete & Restore System Files..." >> $logfile
+
+#remove all files
+rmlist=`/bin/ls -1 ${OPT}`
+for i in $rmlist
+do
+ # except /opt/system. because there are csc configurations and they are
+ # updated after binary downloaded. And they should be preserved.
+ if [ "$i" != "system" ]; then
+ /bin/rm -rf ${OPT}$i
+ fi
+done
+
+# For Tizen CC (Mobile Device Fundamentals Protection Profile Common Criteria)
+if [ -r /usr/bin/resetCCMode ]; then
+ echo "MDFPP enabled" >> $logfile
+ /usr/bin/resetCCMode >> $logfile
+fi
+
+/sbin/fstrim -v $USRDATADIR >> $logfile
+
+# Delete finished. Restore starts here.
+cd /
+$RSTCMD
+echo "$RSTCMD return $?" >> $logfile
+
+mret=`/bin/grep "$USRDATADIR " /proc/mounts | /bin/grep rw | /usr/bin/awk '{print $2}'`
+if [ "z$mret" = "z" ]; then
+ echo "$USRDATADIR is not RW MOUNTED, RESTORATION : FAIL" >> $logfile
+ /bin/rm -rf $USRDATADIR
+ check_fail
+fi
+
+#check_verify
+/usr/bin/factoryreset-verify.sh >> ${logfile}
+check_fail
+
+/bin/mkdir -p /opt/var/log/
+/bin/touch /opt/var/log/Xorg.0.log
+
+/usr/bin/rstsmack ${rdir}smack_label.txt >> $logfile
+
+# Removable preload tpk apps will be installed by package manager
+if [ -e $INSTALL_ROOT/usr/packages/restore_exception.list ]; then
+ pkgcmd -f
+fi
+
+cd ${CURRENTPATH}
+/bin/date >> $logfile
+
+## Factory Reset Count
+cnt_file="/opt/system/factory-reset-cnt"
+if [ -r $cnt_file ]; then
+ reset_cnt=`/bin/cat $cnt_file`
+ reset_cnt=$(($reset_cnt+1))
+ echo $reset_cnt > $cnt_file
+else
+ echo 1 > $cnt_file
+ /usr/bin/chsmack -a "*" $cnt_file
+ /bin/chmod 644 $cnt_file
+fi
+
+/bin/sync
+
+echo "Finish FactoryReset..."
+
--- /dev/null
+#ifndef CC_ERROR_H
+#define CC_ERROR_H
+
+#define CC_ERROR_BASE 500
+#define CC_ERROR_FILE_BASE 100
+#define CC_ERROR_FUNCTION_BASE 20
+#define CC_ERROR_NONE 0
+
+#define CC_ERROR_UTIL_GETCCMODE CC_ERROR_BASE //500
+#define CC_ERROR_UTIL_RESETSBFCCM CC_ERROR_UTIL_GETCCMODE+CC_ERROR_FUNCTION_BASE
+#define CC_ERROR_ZEROISE CC_ERROR_UTIL_GETCCMODE+CC_ERROR_FILE_BASE
+#define CC_ERROR_VERIFY 100 //100
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ * Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <stdio.h>
+#include <getopt.h>
+
+#if 0
+#ifndef TELEPHONY_DISABLE
+#include <tapi_common.h>
+#include <TapiCommon.h>
+#include <ITapiModem.h>
+#include <ITapiCfg.h>
+#endif
+#endif
+
+//#include <Ecore_X.h>
+//#include <utilX.h>
+#include <appcore-efl.h>
+
+#include "factory-reset-util.h"
+
+#ifndef FACTORY_RESET_FONT_SIZE
+#define FACTORY_RESET_FONT_SIZE 34 /* default font size */
+#endif
+
+#define FACTORY_RESET_PROCESS_MSG dgettext("factory-reset",\
+ "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING")
+
+static void win_del(void *data, Evas_Object *obj, void *event)
+{
+ elm_exit();
+}
+
+static void main_quit_cb(void *data, Evas_Object *obj,
+ const char *emission, const char *source)
+{
+ elm_exit();
+}
+
+static Evas_Object* create_win(const char *name)
+{
+ Evas_Object *eo;
+ //Ecore_X_Window xwin;
+ int w, h;
+
+ w = 200;
+ h = 400;
+
+ eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+ if (!eo)
+ return NULL;
+
+ elm_win_title_set(eo, name);
+ elm_win_borderless_set(eo, EINA_TRUE);
+ evas_object_smart_callback_add(eo, "delete,request", win_del, NULL);
+ //ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
+ evas_object_resize(eo, w, h);
+
+ /* For default color */
+ //ea_theme_changeable_ui_enabled_set(EINA_TRUE);
+
+#if 0
+ /* Get x-window */
+ xwin = elm_win_xwindow_get(eo);
+ if (xwin == 0) {
+ FR_LOGD("elm_win_xwindow_get() failed\n");
+ return eo;
+ }
+#endif
+
+ /* set notification type */
+ //ecore_x_netwm_window_type_set(xwin, ECORE_X_WINDOW_TYPE_NOTIFICATION);
+
+ /* set notification's priority */
+ //utilx_set_system_notification_level(ecore_x_display_get(), xwin, UTILX_NOTIFICATION_LEVEL_NORMAL);
+
+ return eo;
+}
+
+static Evas_Object* load_edj(Evas_Object *parent, const char *file,
+ const char *group)
+{
+ Evas_Object *eo;
+ int r;
+
+ eo = elm_layout_add(parent);
+ if (eo) {
+ r = elm_layout_file_set(eo, file, group);
+ if (!r) {
+ evas_object_del(eo);
+ return NULL;
+ }
+
+ evas_object_size_hint_weight_set(eo,
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ }
+
+ return eo;
+}
+
+#if 0
+static Evas_Object* _create_progressbar(Evas_Object* parent)
+{
+ Evas_Object *progressbar;
+ Evas_Object *layout = parent;
+
+ /* pending_list style */
+ progressbar = elm_progressbar_add(layout);
+ elm_object_style_set(progressbar, "pending");
+ elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_pulse(progressbar, EINA_TRUE);
+ elm_object_part_content_set(layout,"pending_pbar", progressbar);
+ evas_object_show(progressbar);
+
+ return layout;
+}
+#endif
+
+static Evas_Object* _create_label(Evas_Object* parent)
+{
+ Evas_Object *label, *layout = parent;
+ char mesg[1024];
+
+ if (parent == NULL)
+ return NULL;
+
+ snprintf(mesg, sizeof(mesg),
+ "<align=center><font color=#C7C7C7><font_size=%d>%s",
+ FACTORY_RESET_FONT_SIZE, FACTORY_RESET_PROCESS_MSG);
+
+ label = elm_label_add(layout);
+ elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+ evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(layout, "txt_mesg", label);
+ elm_object_text_set(label, mesg);
+ evas_object_show(label);
+
+ return layout;
+}
+
+static int app_create(void *data)
+{
+ struct appdata *ad = data;
+ Evas_Object *win;
+ Evas_Object *ly;
+ int r;
+
+ /* create window */
+ win = create_win(PACKAGE);
+ if (win == NULL)
+ return -1;
+ ad->win = win;
+
+ elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_HIDE);
+ evas_object_show(win);
+
+ /* load edje */
+ ly = load_edj(win, EDJ_FILE, GRP_MAIN);
+ if (ly == NULL)
+ return -1;
+ elm_win_resize_object_add(win, ly);
+ edje_object_signal_callback_add(elm_layout_edje_get(ly),
+ "EXIT", "*", main_quit_cb, NULL);
+ ad->ly_main = ly;
+
+ /* init internationalization */
+ r = appcore_set_i18n(PACKAGE, LOCALEDIR);
+ if (r)
+ return -1;
+
+ //_create_progressbar(ly);
+ _create_label(ly);
+
+ evas_object_show(ly);
+ evas_object_show(win);
+
+ return 0;
+}
+
+static int app_terminate(void *data)
+{
+ struct appdata *ad = data;
+
+ if (ad->ly_main)
+ evas_object_del(ad->ly_main);
+
+ if (ad->win)
+ evas_object_del(ad->win);
+
+ return 0;
+}
+
+static int app_pause(void *data)
+{
+ return 0;
+}
+
+static int app_resume(void *data)
+{
+ return 0;
+}
+
+static int app_reset(bundle *b, void *data)
+{
+ struct appdata *ad = data;
+
+ if (ad->win)
+ elm_win_activate(ad->win);
+
+ return 0;
+}
+
+#if 0
+#ifndef TELEPHONY_DISABLE
+#define CP_OFF_TIMEOUT 15
+static Ecore_Timer *timer_id;
+
+static void cp_shutdown_exit(TapiHandle *handle, const char *noti_id,
+ void *data, void *user_data)
+{
+ tel_deinit(handle);
+ ecore_main_loop_quit();
+}
+
+static void tapi_response(TapiHandle *handle, int result,
+ void *data, void *user_data)
+{
+ if (result != TAPI_API_SUCCESS) {
+ tel_deinit(handle);
+ ecore_main_loop_quit();
+ }
+}
+
+static Eina_Bool timeout_exit(void *data)
+{
+ perror("no notification from telephony!!");
+ ecore_main_loop_quit();
+ return EINA_TRUE;
+}
+
+static int cp_shutdown(void)
+{
+ int ret = 0;
+ TapiHandle *tapi_handle = 0;
+
+ tapi_handle = tel_init(0);
+
+ if (tapi_handle == NULL)
+ return -1;
+
+ FR_LOGD("CP shutdown\n");
+
+ ret = tel_register_noti_event(tapi_handle, TAPI_NOTI_MODEM_POWER,
+ cp_shutdown_exit, NULL);
+ if (ret != TAPI_API_SUCCESS)
+ goto out;
+
+ ret = tel_process_power_command(tapi_handle, TAPI_PHONE_POWER_OFF,
+ tapi_response, NULL);
+ if (ret != TAPI_API_SUCCESS)
+ goto out;
+
+ timer_id = ecore_timer_add(CP_OFF_TIMEOUT, timeout_exit, NULL);
+ if (timer_id == NULL)
+ ret = -1;
+out:
+ if (ret < 0) {
+ tel_deinit(tapi_handle);
+ return -1;
+ }
+ return 0;
+}
+
+/* reset modem configs */
+static int cp_resetcfg(int reset_config)
+{
+ int ret = 0;
+
+ ret = tel_sec_init();
+ if (ret != TAPI_SEC_API_SUCCESS)
+ return -1;
+ /*
+ * Full reset: Initialize all configuration data.
+ * Factory reset (AT+FACTORST=0,0): except IMEI(or ESN, MEID), RF
+ * calibration date, MAC address.
+ * Service reset (Settings -> Back up and reset -> Factory data reset):
+ * except IMEI(or ESN, MEID), RF calibration date, MAC address, Life
+ * time.
+ * Custom reset: except IMEI(or ESN, MEID), RF calibration date, MAC
+ * address, Life time, connection settings, WAP settings.
+ */
+ /* we use the Service reset currently. (except verizon) */
+ ret = tel_set_cfg_default_configuration(reset_config);
+ FR_LOGD("request cp reset with the flag value: %d\n", reset_config);
+ tel_sec_deinit();
+ return ret;
+}
+#else /* TELEPHONY_DISABLE */
+static int cp_shutdown(void) { return -1;} /* in order to avoid main loop */
+static int cp_resetcfg(int reset_config) { return 0;}
+#endif /* TELEPHONY_DISABLE */
+
+#endif
+
+
+int main(int argc, char *argv[])
+{
+ struct appdata ad;
+ struct appcore_ops ops = {
+ .create = app_create,
+ .terminate = app_terminate,
+ .pause = app_pause,
+ .resume = app_resume,
+ .reset = app_reset,
+ };
+ int opt;
+ int index = -1;
+ struct option options[] = {
+ {"displayui", 0, 0, 0},
+ {"svcrstcp", 0, 0, 0}, /* modem service reset */
+ {"ftrrstcp", 0, 0, 0}, /* modem factory reset */
+ {"", 0, 0, 0},
+ {"", 0, 0, 0},
+ {0, 0, 0, 0}
+ };
+
+
+ opt = getopt_long(argc, argv, "", options, &index);
+ if(opt == -1)
+ return 0;
+
+ switch(index) {
+ case 0 :
+ memset(&ad, 0x0, sizeof(struct appdata));
+ ops.data = &ad;
+ return appcore_efl_main(PACKAGE, &argc, &argv, &ops);
+ case 1 :
+ ecore_init();
+ //cp_resetcfg(TAPI_CFG_DEFAULT_SERVICE);
+ //if ( cp_shutdown() == 0) ecore_main_loop_begin();
+ ecore_shutdown();
+ break;
+ case 2 :
+ ecore_init();
+ //cp_resetcfg(TAPI_CFG_DEFAULT_FACTORY);
+ //if ( cp_shutdown() == 0) ecore_main_loop_begin();
+ ecore_shutdown();
+ break;
+ break;
+ case 3 :
+
+ break;
+ case 4 :
+
+ break;
+ default :
+ ;
+ }
+
+ return 0;
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ * Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <Elementary.h>
+
+#if !defined(PACKAGE)
+# define PACKAGE "factory-reset-util"
+#endif
+#undef PACKAGE
+#define PACKAGE "factory-reset-util"
+#if !defined(LOCALEDIR)
+# define LOCALEDIR "/usr/share/locale"
+#endif
+
+#if !defined(EDJDIR)
+# define EDJDIR "/usr/share/edje"
+#endif
+
+#define EDJ_FILE "/usr/share/edje/factory-reset-util.edj"
+#define GRP_MAIN "main"
+
+struct appdata
+{
+ Evas_Object *win;
+ Evas_Object *ly_main;
+
+ /* add more variables here */
+};
+
+#ifdef DEBUG
+# define FR_LOGD(fmt, arg...) printf(fmt, ##arg)
+#else
+# define FR_LOGD(fmt, arg...)
+#endif
+
--- /dev/null
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ * Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <linux/reboot.h>
+#include <linux/limits.h>
+#include <sys/reboot.h>
+#include <sys/wait.h>
+#include <sys/types.h>
+#include <time.h>
+#include <getopt.h>
+#include <dbus/dbus.h>
+#include <glib.h>
+#include <dbus/dbus-glib-lowlevel.h>
+
+#define RESET_FLAG_FILE "/opt/.factoryreset"
+static const char RESET_BACKUP_FILE[2][40] = {
+ "/usr/system/RestoreDir/opt.tar.gz",
+ "/usr/system/RestoreDir/opt.zip"
+};
+
+static const char *RUN_SCRIPT_FILE = "/usr/bin/run-factory-reset.sh";
+static const char *LOG_FILE = "/opt/.factoryreset.log";
+static const char *LOG_OLD = "/opt/.factoryreset.log.1";
+
+static char *reset_flag;
+
+void usage()
+{
+ printf("Options: \n");
+ printf(" -b, --dbus Start with dbus signal message\n");
+ printf("\n");
+
+ exit(0);
+}
+
+//extern int csc_svc_config_set_pre_config_for_factory_reset( void );
+/*==================================================================================
+* CSC API Code (12/10/11 applied)
+ - Include header : #include "csc-dispatch.h"
+ - API : int csc_svc_config_set_pre_config_for_factory_reset( void );
+ - Return value : 1 (Success), 0 (Failure, 미리 저장해놓은 거래선 코드가 없을 경우 발생)
+====================================================================================*/
+int __system(const char *argv[])
+{
+ int status;
+ pid_t cpid;
+
+ cpid = fork();
+
+ if (cpid == -1) {
+ perror("fork");
+ return -1;
+ }
+
+ if (cpid == 0) {
+ execvp(argv[0], (char *const *)argv);
+ _exit(-1);
+ } else {
+ if (waitpid(cpid, &status, 0) == -1) {
+ perror("waitpid failed");
+ return -1;
+ }
+ if (WIFSIGNALED(status)) {
+ perror("exit by signal");
+ return -1;
+ }
+ if (!WIFEXITED(status)) {
+ perror("exit abnormally");
+ return -1;
+ }
+ if (WIFEXITED(status) && WEXITSTATUS(status)) {
+ perror("child return error");
+ return -1;
+ }
+ }
+ return 0;
+}
+
+
+#define RESET_DBUS_SERVICE "org.tizen.factoryreset"
+#define RESET_DBUS_INTERFACE RESET_DBUS_SERVICE".start"
+
+static const char granted_caller[6][16] = {
+ "setting",
+ "cscmgr",
+ "wms",
+ "bt", /* when the host device is changed */
+ "omadmagent",
+ "testmode"
+};
+
+static const char list_reset_flags[2][16] = {
+ "ftrrstcp",
+ "withoutcp"
+};
+
+
+static GMainLoop* loop;
+static DBusConnection *bus_conn = NULL;
+static const char *dbus_obj_path = "/org/tizen/factoryreset";
+
+static void unregistered_func (DBusConnection *connection, void *user_data)
+{
+ perror("factory-reset dbus unregistered\n");
+}
+
+static DBusHandlerResult message_func (DBusConnection *connection,
+ DBusMessage *message,
+ void *user_data)
+{
+ /* store the name of factory reset caller. */
+ char caller_name[NAME_MAX];
+ FILE *fp = NULL;
+ int i = 0;
+
+ if (dbus_message_get_type(message) != DBUS_MESSAGE_TYPE_SIGNAL) {
+ perror("Not a dbus-signal\n");
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+
+ if (strncmp(dbus_message_get_interface(message), RESET_DBUS_INTERFACE,
+ strlen(RESET_DBUS_INTERFACE)) != 0) {
+ printf("Not correct interface: \"%s\"\n",
+ dbus_message_get_interface (message));
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+
+ strncpy(caller_name, dbus_message_get_member(message),
+ sizeof(caller_name));
+ caller_name[NAME_MAX - 1] = '\0';
+
+ while (strncmp(granted_caller[i], caller_name,
+ strlen(granted_caller[i]))) {
+ if ((++i) >= sizeof(granted_caller) / sizeof(granted_caller[0])) {
+ printf("Not a granted caller, %s\n", caller_name);
+ /* XXX Warning: Comparing granted caller list cannot
+ * grant good caller or not. Security is and should be
+ * protected by the SMACK rule. This code is only for
+ * preventing that a new unknown caller use factory
+ * reset without confirmation of the factory reset
+ * developer.
+ */
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+ }
+ fp = fopen(LOG_FILE, "a");
+ if (fp != NULL) {
+ fprintf(fp, "Requested by %s, %s\n", caller_name,
+ dbus_message_get_sender(message));
+ fclose(fp);
+ }
+
+ /* member name of dbus signal message may contains reset flags */
+ for (i = 0; i < sizeof(list_reset_flags) / sizeof(list_reset_flags[0]);
+ i++) {
+ if (strstr(caller_name, list_reset_flags[i])) {
+ snprintf(caller_name, NAME_MAX, "--%s",
+ list_reset_flags[i]);
+ reset_flag = strdup(caller_name);
+ break;
+ }
+ }
+
+ g_main_loop_quit(loop);
+ return DBUS_HANDLER_RESULT_HANDLED;
+}
+
+
+static DBusHandlerResult filter_func (DBusConnection *connection,
+ DBusMessage *message, void *user_data)
+{
+ if (dbus_message_is_signal (message, DBUS_INTERFACE_LOCAL,
+ "Disconnected")) {
+ /* Exit cleanly. */
+ printf("Disconnected");
+ }
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+}
+
+static DBusObjectPathVTable dbus_vtable = {
+ unregistered_func,
+ message_func,
+ NULL,
+};
+
+static int process_dbus(void)
+{
+ int ret;
+ DBusError error;
+
+ loop = g_main_loop_new (NULL, FALSE);
+
+ dbus_error_init (&error);
+ bus_conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
+ if (!bus_conn) {
+ perror("failed to get dbus system bus");
+ dbus_error_free(&error);
+ return -1;
+ }
+ /* Add message filter to handle Disconnected. */
+ dbus_connection_add_filter(bus_conn, (DBusHandleMessageFunction) filter_func,
+ NULL, NULL);
+
+ ret = dbus_bus_request_name(bus_conn, RESET_DBUS_SERVICE, 0, &error);
+
+ /* Should be ret == -1, if error is set */
+ if (ret == -1 && dbus_error_is_set(&error)) {
+ dbus_error_free (&error);
+ return -1;
+ }
+
+ if (!dbus_connection_register_object_path(bus_conn, dbus_obj_path,
+ &dbus_vtable, NULL)) {
+ return -1;
+ }
+
+ dbus_connection_setup_with_g_main(bus_conn, NULL);
+ g_main_loop_run(loop);
+ return 0;
+}
+
+
+int main(int argc, char **argv)
+{
+ FILE *fp;
+ int ret, i = 0, c;
+ const char *reset_cmd[] = {RUN_SCRIPT_FILE, NULL, NULL};
+ time_t t = time(NULL);
+ struct tm tm2 = *localtime(&t);
+
+ static struct option long_options[] = {
+ {"dbus", no_argument, NULL, 'b'},
+ {0, 0, 0, 0}
+ };
+
+ ret = setuid(0);
+ if (ret < 0) {
+ perror("wrong permission");
+ return -1;
+ }
+
+ /* If there is no factory-reset backup file, don't try to reset. */
+ while (!(fp = fopen(RESET_BACKUP_FILE[i++], "r"))) {
+ if (i >= sizeof(RESET_BACKUP_FILE) /
+ sizeof(RESET_BACKUP_FILE[0])) {
+ perror("backup file is not exist");
+ return -1;
+ }
+ }
+ if (fp != NULL) fclose(fp);
+
+ if (rename(LOG_FILE, LOG_OLD) < 0)
+ perror("can't rename the old log file");
+
+ while (1) {
+
+ int option_index = -1;
+ c = getopt_long(argc, argv, "b", long_options, &option_index);
+ if (c == -1)
+ break;
+
+ switch (c) {
+ case 'b':
+
+ if (process_dbus() < 0) {
+ perror("dbus has some errors.");
+ return -1;
+ }
+ break;
+
+ default:
+ usage();
+ break;
+ }
+ }
+
+ if (optind < argc)
+ usage();
+
+#if 0
+ fp = fopen(RESET_FLAG_FILE, "w");
+ if (fp == NULL) {
+ perror("reset flg file open error");
+ return -1;
+ }
+ fclose(fp);
+#endif
+
+ // Factory Reset Run
+ reset_cmd[1] = reset_flag;
+ __system(reset_cmd);
+
+ // open log file (add local time)
+ fp = fopen(LOG_FILE, "a");
+ if (fp == NULL) {
+ perror("reset log file open error");
+ return -2;
+ }
+
+ // write finish log file
+ fprintf(fp, "End Factory Reset\n%d-%02d-%02d %02d:%02d:%02d\n",
+ tm2.tm_year + 1900, tm2.tm_mon + 1, tm2.tm_mday,
+ tm2.tm_hour, tm2.tm_min, tm2.tm_sec);
+ fclose(fp);
+
+ // remove reset flag file, sync and reboot
+#if 0
+ unlink(RESET_FLAG_FILE);
+#endif
+ sync();
+
+#ifdef DEBUG_BINARY
+ reboot(LINUX_REBOOT_CMD_RESTART);
+#else
+ const char *reboot_cmd[] = {"/usr/sbin/reboot", "debug0x4f4c", NULL};
+ __system(reboot_cmd);
+#endif
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ * Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <fcntl.h>
+#include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "ccerror.h"
+
+#define PARAM_CC_ENC_RAW_SIZE 64
+#define PARAM_CC_FLAG_OFFSET 0x800
+
+static const char dev_params[] = {
+ "/dev/disk/by-partlabel/param"
+};
+
+int resetSBFCCM(void)
+{
+ int ret, fd;
+ uint8_t eraw[PARAM_CC_ENC_RAW_SIZE];
+
+ memset(eraw, 0, PARAM_CC_ENC_RAW_SIZE);
+ if ((fd = open(dev_params, O_WRONLY)) == -1) {
+ ret = -CC_ERROR_UTIL_RESETSBFCCM;
+ goto open_fail;
+ }
+
+ if (lseek(fd, -(PARAM_CC_FLAG_OFFSET), SEEK_END) == -1) {
+ ret = -(CC_ERROR_UTIL_RESETSBFCCM + 2);
+ goto out;
+ }
+
+ if (write(fd, eraw, PARAM_CC_ENC_RAW_SIZE) != PARAM_CC_ENC_RAW_SIZE) {
+ ret = -(CC_ERROR_UTIL_RESETSBFCCM + 3);
+ goto out;
+ }
+
+ ret = CC_ERROR_NONE;
+out:
+ close(fd);
+open_fail:
+ return ret;
+}
+
+int main(void)
+{
+ int ret = resetSBFCCM();
+ printf("resetSBFCCM() returns %d\n", ret);
+ return ret;
+}
+
--- /dev/null
+/*
+ * rstsmack - Restore smack attributes on files
+ *
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ * Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <linux/limits.h>
+#include <sys/smack.h>
+
+#ifdef DEBUG
+# define LOGINFO(fmt, arg...) printf(fmt, ##arg)
+#else
+# define LOGINFO(fmt, arg...)
+#endif
+
+void print_help(const char *cmd)
+{
+ printf("Usage: %s <INPUT FILE>\n", cmd);
+ printf(" INPUT FILE should be same format as generated by"
+ " chsmack.\n\n");
+ printf(" Ex) # chsmack /usr/bin/* > /tmp/rstsmack_input.txt\n");
+}
+
+static inline int abandonqm(char *label)
+{
+ int ret = 0;
+ /* ignore last character which must be a quotation mark */
+ ret = (int) strlen(label);
+ ret--;
+ if (ret > SMACK_LABEL_LEN || ret <= 0)
+ return -1;
+ label[ret] = '\0';
+ return 0;
+}
+
+static void set_label(const char *pathname, char *label, int type)
+{
+ int ret = -1;
+
+ if (abandonqm(label) == 0) {
+ ret = smack_lsetlabel(pathname, label, type);
+ if (ret < 0)
+ perror(pathname);
+ } else
+ fprintf(stderr, "The input file has wrong format, %s\n",
+ pathname);
+}
+
+static int parse_and_set(const char *srcfile)
+{
+ /* We assume the text format of input file is same as chsmack output */
+ FILE *fp;
+ int ret = 0;
+ char linebuf[PATH_MAX + 5 * SMACK_LABEL_LEN], pathname[PATH_MAX];
+ char label[SMACK_LABEL_LEN + 1];
+ char *plabel; /* pointer of beginning smack label */
+ fp = fopen(srcfile, "r");
+ if (fp == NULL)
+ return -1;
+
+ while (fgets(linebuf, sizeof(linebuf), fp)) {
+ plabel = strstr(linebuf, " access=");
+ if (plabel && linebuf != plabel) {
+ *plabel = '\0';
+ strncpy(pathname, linebuf, sizeof(pathname));
+ pathname[sizeof(pathname) - 1] = '\0';
+ plabel++;
+ } else {
+ linebuf[strlen(linebuf) - 1] = '\0';
+ LOGINFO("no label, set label: %s, access=\"_\"(floor)\n", linebuf);
+ strncpy(label, "_\"", SMACK_LABEL_LEN);
+ set_label(linebuf, label, SMACK_LABEL_ACCESS);
+ /* TODO: If file name contains " access=" then it would
+ * not be processed */
+ continue;
+ }
+
+ LOGINFO("set label: %s,", pathname);
+
+ ret = sscanf(plabel, "access=\"%s", label);
+ if (ret > 0) {
+ LOGINFO(" access: \"%s", label);
+ set_label(pathname, label, SMACK_LABEL_ACCESS);
+ plabel = plabel + sizeof(" access=\"") + strlen(label);
+ }
+
+ ret = sscanf(plabel, "execute=\"%s", label);
+ if (ret > 0) {
+ LOGINFO(", exec: \"%s", label);
+ set_label(pathname, label, SMACK_LABEL_EXEC);
+ plabel = plabel + sizeof(" execute=\"") + strlen(label);
+ }
+
+ ret = sscanf(plabel, "mmap=\"%s", label);
+ if (ret > 0) {
+ LOGINFO(", mmap: \"%s", label);
+ set_label(pathname, label, SMACK_LABEL_MMAP);
+ plabel = plabel + sizeof(" mmap=\"") + strlen(label);
+ }
+
+ ret = sscanf(plabel, "transmute=\"%s", label);
+ if (ret > 0) {
+ LOGINFO(", transmute: \"%s", label);
+ strncpy(label, "1\"", SMACK_LABEL_LEN);
+ set_label(pathname, label, SMACK_LABEL_TRANSMUTE);
+ }
+ LOGINFO("\n");
+
+ }
+ fclose(fp);
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ if (argc < 2) {
+ print_help(argv[0]);
+ return -1;
+ }
+ if (parse_and_set(argv[1]) < 0) {
+ print_help(argv[0]);
+ return -1;
+ }
+ return 0;
+}